Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bentel Absoluta compatible #53

Open
n0way0ut opened this issue Sep 10, 2023 · 3 comments
Open

Bentel Absoluta compatible #53

n0way0ut opened this issue Sep 10, 2023 · 3 comments

Comments

@n0way0ut
Copy link

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.

@eavanvalkenburg
Copy link
Owner

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.

@n0way0ut
Copy link
Author

n0way0ut commented Sep 13, 2023

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.

@manu89padovani
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants