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)}")