Signal-R ======== The GuardPoint Server can be set to broadcast events via a protocl called Signal-R. Below is a script which demonstrates how to capture these events. >>> import logging >>> from typing import List, Dict, Any >>> >>> from pyGuardPoint import GuardPoint, GuardPointError >>> from pysignalr.exceptions import AuthorizationError >>> from pysignalr.messages import CompletionMessage >>> >>> # GuardPoint Connection Parameters >>> GP_HOST = 'https://sensoraccess.duckdns.org' >>> GP_USER = 'admin' >>> GP_PASS = 'admin' >>> TLS_P12 = "/Users/johnowen/Downloads/MobileGuardDefault.p12" >>> TLS_P12_PWD = "test" >>> >>> logging.basicConfig(level=logging.DEBUG) >>> >>> >>> async def on_open() -> None: >>> print('Connected to the server') >>> >>> >>> async def on_close() -> None: >>> print('Disconnected from the server') >>> >>> >>> async def on_message(message: List[Dict[str, Any]]) -> None: >>> print(f'Received message: {message}') >>> >>> >>> async def on_error(message: CompletionMessage) -> None: >>> print(f'Received error: {message.error}') >>> >>> >>> if __name__ == "__main__": >>> try: >>> gp = GuardPoint(host=GP_HOST, >>> username=GP_USER, >>> pwd=GP_PASS, >>> p12_file=TLS_P12, >>> p12_pwd=TLS_P12_PWD) >>> >>> signal_client = gp.get_signal_client() >>> >>> # Set up your signal_client callbacks >>> signal_client.on_open(on_open) >>> signal_client.on_close(on_close) >>> signal_client.on_error(on_error) >>> signal_client.on('AccessEventArrived', on_message) >>> signal_client.on("AlarmEventArrived", on_message) >>> signal_client.on("AuditEventArrived", on_message) >>> signal_client.on("CommEventArrived", on_message) >>> signal_client.on("GeneralEventArrived", on_message) >>> signal_client.on("IOEventArrived", on_message) >>> signal_client.on("StatusUpdate", on_message) >>> signal_client.on("TechnicalEventArrived", on_message) >>> >>> gp.start_listening(signal_client) >>> >>> except GuardPointError as e: >>> print(f"GuardPointError: {e}") >>> except AuthorizationError as e: >>> print(f"SignalR AuthorizationError") >>> except Exception as e: >>> print(f"Exception: {str(e)}")