|
- import time
- from alarmdecoder import AlarmDecoder
- from alarmdecoder.devices import SerialDevice
-
- RF_DEVICE_SERIAL_NUMBER = '0252254'
-
- SERIAL_DEVICE = '/dev/ttyUSB0'
- BAUDRATE = 115200
-
- def main():
- """
- Example application that watches for an event from a specific RF device.
-
- This feature allows you to watch for events from RF devices if you have
- an RF receiver. This is useful in the case of internal sensors, which
- don't emit a FAULT if the sensor is tripped and the panel is armed STAY.
- It also will monitor sensors that aren't configured.
-
- NOTE: You must have an RF receiver installed and enabled in your panel
- for RFX messages to be seen.
- """
- try:
- # Retrieve the first USB device
- device = AlarmDecoder(SerialDevice(interface=SERIAL_DEVICE))
-
- # Set up an event handler and open the device
- device.on_rfx_message += handle_rfx
- with device.open(baudrate=BAUDRATE):
- while True:
- time.sleep(1)
-
- except Exception as ex:
- print('Exception:', ex)
-
- def handle_rfx(sender, message):
- """
- Handles RF message events from the AlarmDecoder.
- """
- # Check for our target serial number and loop
- if message.serial_number == RF_DEVICE_SERIAL_NUMBER and message.loop[0] == True:
- print(message.serial_number, 'triggered loop #1')
-
- if __name__ == '__main__':
- main()
|