eavanvalkenburg / sia

SIA alarm systems integration into Home Assistant
MIT License
48 stars 11 forks source link

Compatibility with Hikvision Alarm Hub (mostly an ajax hub) #17

Closed Reverz3 closed 3 years ago

Reverz3 commented 4 years ago

Hello,

I'm using your component with a Hikvision Alarm Hub alarm. With the old release, I had to change the REGEX used to decode the incoming message because Hikvision doesn't put SIA-DCS or SIA-DCS in the message but NULL or NULL when crypted.

[pysiaalarm.base_sia_server] Last line: 821F003A"NULL"0000R0L0#AAAB[#0000|0000 00 000]_18:25:49,07-05-2020 could not be parsed as a SIAEvent.

[pysiaalarm.base_sia_server] Last line: 76D80055"*NULL"0000R0L0#AAAB[B4BC8B40D0E6D959D6BEA78E88CC0B2155741A3C44FBB96D476A3E557CAD64D9 could not be parsed as a SIAEvent.

With the new release, I cannot find the pysiaalarm file in the SIA directory and thus cannot change it. Would it be possible to bypass this check by mean of a checkbox? or even better for maybe other systems also, to allow us to tell what string should that part be tested against ?

Side-note, on Hikvision, the password must be entered in HEX (32 char HEX, so 16 CHAR ASCII), is it possible to add an function to enter this one both way's?

Oh and thank you for that component...

(Sorry for my english) Stéphane

eavanvalkenburg commented 4 years ago

Thanks for looking at this, that seems like a bug on their end, but I also heard from someone else that their alarm system doesn't fully follow the pattern, so I will look at a fix for both, would you be able to test a new version (this is not handled inside the pysiaalarm package instead of the component, so will just have to update that package, but would be good to test it against your system!

Reverz3 commented 4 years ago

I think that they use the "supervision message" as a rule... That one should always be send with a NULL or a *NULL . see : https://www.yumpu.com/en/document/read/15778259/sia-digital-communication-standard-internet-protocol-event- page 15.

I would be very happy to make some testing for you !

Stéphane

eavanvalkenburg commented 4 years ago

hmm interesting, let me investigate, I'll let you know if I have something to test!

eavanvalkenburg commented 4 years ago

@Reverz3 what would the encryption key look like for your system, the AJAX systems all use 16 characters HEX (so a string with 16 characters [0-9ABCDEF])?

eavanvalkenburg commented 4 years ago

@Reverz3 I created an updated version of the underlying package, if you change the manifest in your HA (in the custom components folder), to this: ["pysiaalarm==2.0.4b0"], and then reboot it should pull in this version which is capable of handling the NULL messages. Let me know how it goes!

Reverz3 commented 4 years ago

In the Hikvision Alarm, they ask for a Hex string also but on 32 char. I think, but i'm not sure, that use thoses as ASCII Code in Hex format. Giving 16 Bytes. I was not able to check because the messages were rejected at the 'NULL' check ;-) By the way, I had to disconnect the alarm for 1 week, I'll report back next week.

eavanvalkenburg commented 4 years ago

Hi, just created a new release which should be better able to handle differences in strings, including the NULL. Just let me know what your key would look like in its native format!

eavanvalkenburg commented 3 years ago

haven't heard back how it is going, so closing this one.