Open n0way0ut opened 1 year ago
I have not been able to test that feature with a actual device because I don't have one. Taking this as an example: https://github.com/eavanvalkenburg/pysiaalarm/blob/master/tests/run_aio.py should get you going, with protocol = CommunicationsProtocol.UDP
in the initialization of the Client.
ok, I just added:
async with SIAClient(
config["host"], config["port"], account, function=func, protocol = CommunicationsProtocol.UDP
) as client
but I get these errors:
DEBUG:asyncio:Using selector: EpollSelector
DEBUG:pysiaalarm.aio.client:Starting SIA.
ERROR:asyncio:Exception in callback SIAServerUDP.connection_made(<_SelectorDat...e, bufsize=0>>)
handle: <Handle SIAServerUDP.connection_made(<_SelectorDat...e, bufsize=0>>)>
Traceback (most recent call last):
File "/usr/lib/python3.11/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/sia_alarm/lib/python3.11/site-packages/pysiaalarm/aio/server.py", line 86, in connection_made
assert isinstance(transport, asyncio.DatagramTransport)
AssertionError
--------------------------------------------------
Running for another 12000 seconds
and then I do not receive any events.
Hi, i'm also interested on this part. I'm developing for testing purpose a .NET udp client to receive event from Bentel Absoluta (SIA over FIBRO) but the problem is that Fibro protocol is not public and is so hard to reverse engineering it without specifications.
As far as I discoverd, Fibro works with UDP protocol and implements a manual handshake between the alarm panel and the receiver: AP => RC (handshake messagge) RC => AP (kissoff message)
at this point, AP starts to send events to the receiver but every event must be kissedoff: AP => RC (event with SIA information visible) RC => AP (kissoff - event received)
the difficult part is to understand which response the Alarm Panel accept, in order to estabilsh a correct communication.
hello, I have a Bentel Absoluta alarm system that runs as SIA client over FIBRO (UDP), so it needs a receiver to communicate. Do you know if this python module is compatible with it? Can you please share a simple code to run an UDP server and parse the client message with pysiaalarm lib?
thanks.