import time from alarmdecoder import AlarmDecoder from alarmdecoder.devices import SocketDevice # Configuration values HOSTNAME = 'localhost' PORT = 10000 SSL_KEY = 'cert.key' SSL_CERT = 'cert.pem' SSL_CA = 'ca.pem' def main(): """ Example application that opens a device that has been exposed to the network with ser2sock and SSL encryption and authentication. """ try: # Retrieve an AD2 device that has been exposed with ser2sock on localhost:10000. ssl_device = SocketDevice(interface=('localhost', 10000)) # Enable SSL and set the certificates to be used. # # The key/cert attributes can either be a filesystem path or an X509/PKey # object from pyopenssl. ssl_device.ssl = True ssl_device.ssl_ca = SSL_CA # CA certificate ssl_device.ssl_key = SSL_KEY # Client private key ssl_device.ssl_certificate = SSL_CERT # Client certificate device = AlarmDecoder(ssl_device) # Set up an event handler and open the device device.on_message += handle_message with device.open(): while True: time.sleep(1) except Exception as ex: print('Exception:', ex) def handle_message(sender, message): """ Handles message events from the AlarmDecoder. """ print(sender, message.raw) if __name__ == '__main__': main()