eavanvalkenburg / pysiaalarm

A python package to connect to a SIA DC-09 based alarm system.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Sia "v3" will not parse correctly

jamesarbrown opened this issue · comments

I am using a Scantronic (Eaton/Cooper) alarm and am getting the following error in HA generated by pssialarm

2020-09-29 20:44:45 DEBUG (MainThread) [pysiaalarm.aio.sia_server] Incoming line: 1908002B"SIA-DCS"0000L0#3080[#3080|Nti19:44/id1/RP] 2020-09-29 20:44:45 DEBUG (MainThread) [pysiaalarm.base_sia_server] Parsed event: Content: #3080|Nti19:44/id1/RP], Zone: , Code: Nt, Message: i19:44/id1/RP, Concerns: None, Type: None, Description: None, Account: 3080, Receiver: None, Prefix: L0, Timestamp: None, Length: 002B, Sequence: 0000, CRC: 1908, Calc CRC: 1908, Message type: None, Encrypted Content: None, Full Message: "SIA-DCS"0000L0#3080[#3080|Nti19:44/id1/RP].. 2020-09-29 20:44:45 WARNING (MainThread) [pysiaalarm.base_sia_server] Code not found, replying with DUH to account: 3080

As described in HA forum here
https://community.home-assistant.io/t/unknown-event-code-handling-with-sia-integration/230885/3?u=jamesarbrown

The alarm has direct ARC reporting as follows

The report types available are: Fast Format, Contact ID, SIA 1, SIA 2, Scancom SIA 3, Extended SIA 3 and Extended SIA3 v2.

Where SIA2 does work with pysialarm, but the issue for me is to enable the Secureconnect Eaton cloud, the cloud takes over the ARC reporting and that only offers the SIA3, ex SIA 3 and SIA 3. The above is with SC SIA3. Later I will try others.

I dont know if it helps but here is the Excerpt from the Eaton engineering guide about the SIA types

SIA 1, SIA 2, SIA 3 and Extended SIA 3
When using the SIA formats the control unit transmits data from the event log to the ARC.
The four SIA formats differ in the amount of data transmitted with each message:
Type Format
SIA1: #AAAAAA|NCCcc
SIA2: #AAAAAA|Nidnnn/rinn/CCcc
SIA3: #AAAAAA|Ntihh:mm/idnnn/rinn/CCcc
#AAAAAA|AS
Extended SIA
3:
#AAAAAA|Ntihh:mm/idnnn/rinn/CCcc/AS

Where:
AAAAAA 6-digit programmable account code (e.g. 123456).
“N” New Event (always N).
“ti”hh:mm/ time (e.g. ti10:23/).
“id”nnn/ user number, if applicable; otherwise not sent (e.g.
id123/ or id6/).
“ri”nn/ partition no. (e.g. ri12/ or ri3).
CC event code (e.g. FA = Fire Alarm).
cc zone number, if applicable; otherwise not sent
(e.g. 23 or 5).
“A”S text description of event, usually the log event
description.
(The control unit sends those characters shown between “ and “ above literally as they
appear in the text.)
For example, if there is a fire alarm on zone 2 of partition 4 at 10:15 (partition 4 account
number is 10), the message would be:
SIA1: #10|NFA2
SIA2: #10|N/ri4/FA2
SIA3: #10|Nti10:15/ri4/FA2 #10|AFire Zone 2
Extended SIA3: #10|Nti10:15/ri4/FA2/AFire Zone 2
Extended SIA3 V2
Some versions of the software that works in SIA receivers do not always recognise the “/”
text delimiter. This can cause problems with spurious “Mains Fail” messages appearing to
the ARC when the control unit sets, unsets or goes into or out or installer mode.
In version 2 of Extended SIA3 the “/” delimiter has been replaced by a “|”. So, for example,
the string:
#10|Nti10:15/ri4/FA2/AFire Zone 2
becomes:
#10|Nti10:15|ri4|FA2|AFire Zone 2
If you have experienced problems with spurious “Mains Fail” messages try using this
Extended SIA3 V2

Hi @jamesarbrown thanks for this, I didn't know there were already multiple extended versions of the format, what we could do is make that configurable in the underlying package and then a setting in the HA component, would just mean using a different parsing REGEX here. So should be doable, but requires some testing and fiddling!

Hi @eavanvalkenburg, if you wanted to put that in a testing branch I can try, test and tweak as necessary. I may try and mess with the regex, but at the moment have many projects on the go

I Have the same problem with SIA3 with textblock, my SIA looks like this"SIA-DCS"1994R000001L010000#123455[#123455|Nri1/id1/OP^Skalskyddsdetektorer Ben^][MA4580F942489]_18:24:42,11-09-2020

Have @eavanvalkenburg some solution?

I've created a new pre-release that should be able to do all this, please have a look! It's version 2.0.9b2

Hey @benilsson and @jamesarbrown have you guys had a chance to look at the latest pre-release?

I seem to be unable to recall how i installed SIA the first time... memory says it was a community integration, but can no longer find.
Running a ha docker image
Will keep trying

Yeah its in the HACS store!

Sorry, had to update HA, seems HACS had gone semi offline. But not seeing the beta you refer
image

I was referring to the version of the underlying package, but that is included in the beta you see there

I have it running, just not had chance to trigger an alarm to test. Ultimately would like to add more codes, such as armed and unarmed and these would make testing much easier

@jamesarbrown I've just released a new version of the component which works very differently, it uses the eventbus in HA to tell the built-in component that a message has arrived, each of the components then checks if it should respond to that message, which is really nice, because it also allow you to create automations with triggers from those same events!

Presume this is 4beta1

Sorry, I cant get it to work. Eaton seem to have gone for either no encryption or 128bits, whether that is the issue not sure. but what ever, their server connects and complains there is an issue, so its not getting an expected response.

from HA

2021-02-14 20:02:15 DEBUG (MainThread) [pysiaalarm.aio.sia_server] Incoming line: 1AB000B5"*SIA-DCS"0000L0#123[72217fb5939734a6195309fc60a94be1f9ce5df9ddcd1372ebd5be1930415850a05aeb5417f10756e
ef165d7acbce2fdbf49b82c5edfea164285eb69b255a987b89ce90c90ea2e38d46d528886d4878b                                                                                                                 
2021-02-14 20:02:15 DEBUG (MainThread) [pysiaalarm.base_sia_server] Parsed event: Content: None, Zone (ri): None, Code: None, Message: , Concerns: None, Type: None, Description: None, Account:
 123, Receiver: None, Prefix: L0, Timestamp: None, Length: 00B5, Sequence: 0000, CRC: 1AB0, Calc CRC: 1AB0, Message type: None, Encrypted Content: 72217fb5939734a6195309fc60a94be1f9ce5df9ddcd1
372ebd5be1930415850a05aeb5417f10756eef165d7acbce2fdbf49b82c5edfea164285eb69b255a987b89ce90c90ea2e38d46d528886d4878b, Full Message: "*SIA-DCS"0000L0#123[72217fb5939734a6195309fc60a94be1f9ce5df9
ddcd1372ebd5be1930415850a05aeb5417f10756eef165d7acbce2fdbf49b82c5edfea164285eb69b255a987b89ce90c90ea2e38d46d528886d4878b..                                                                      
2021-02-14 20:02:15 WARNING (MainThread) [pysiaalarm.base_sia_server] Code not found, replying with DUH to account: 123   

@jamesarbrown just published a new beta (3.0.0b1) which has many improvements, please give it a try!

To bad i cant get it to work i would love to see events of my alaam panel.

Logger: pysiaalarm.base_server
Source: /usr/local/lib/python3.8/site-packages/pysiaalarm/base_server.py:100
First occurred: 16:18:41 (47 occurrences)
Last logged: 16:18:46

Last line could not be parsed as a SIAEvent or OHEvent, line was: F#123456

tried different SIA levels but same problem

yeah, that is a much to short message for anything SIA (including other versions) so not sure what happens with that @bjkoole

yeah, that is a much to short message for anything SIA (including other versions) so not sure what happens with that @bjkoole

II’m a installer of alarmsystems and connect these systems almost daily and able to see the messages in the reciever at the ARC and pretty sure its a complete SIA3. I had my panel set up with a ARC and it works fine so dont know what could be wrong but pretty sure the SIA code is good.

So you're saying you get more than just F#123456 when using another system?

So you're saying you get more than just F#123456 when using another system?
When im connecting my panel to a ARC they get a complete SIA string from my panel. I will try it with a different ethernet module later this week to see how that goes. Im also looking for a complete solution to integrate my panel in HA so i can also see output states but there is not that much to find.

So you're saying you get more than just F#123456 when using another system?

btw I think its a poll message cause when I change the IP adres in my alarm panel The systems gives a connection fail. When i change it back to my HA ip the connection fail message restores.

@eavanvalkenburg how do I change in SIA integration where it read the code? It says I must change in the pysiaalarm but where I find it?

@eavanvalkenburg how do I change in SIA integration where it read the code? It says I must change in the pysiaalarm but where I find it?

@benilsson I'm not sure what you mean?

@eavanvalkenburg
my sia looks like this
"SIA-DCS"1994R000001L010000#123455[#123455|Nri1/id1/OP^Skalskyddsdetektorer Ben^][MA4580F942489]_18:24:42,11-09-2020
It means that the integration reads that the code is "id" and not "OP".

@jamesarbrown @benilsson @bjkoole are you guys still having issues? The latest HA version has the latest version of the package so please test with that and let me know, otherwise lets close this issue!

Haven't heard back, so closing this one.