Ajax alarm system

As I get it from the docs, this is totally separated hardware and it was designed to organize Ajax devices into network but it does not work with Ajax software. So you buy uartBridge and can connect all ajax devices to it programm your own interactions with low level programming.

1 Like

Having the same issue :frowning:

@eavanvalkenburg hey, sorry for the direct link I’ve just managed to get this all installed using HACS however, I am very confused as to what should actually be populated within the config.yaml?

sia:
  port:  port
  hubs:
    - name: hubname
      account: account
      encryption_key: password
      zones:
        - zone: 1
          name: zonename
          sensors:
           - alarm
           - moisture
           - smoke

More specifically all of the variables, I am unsure how to populate these I have imagined it would be something like this?

sia:
  port:  port (what is this? some port for communication within ajax?)
  hubs:
    - name: Home (i guess, this is what the hub is called within my ajax environment?)
      account: account (no idea what this is? the email account setup on the ajax app?)
      encryption_key: (is this the one i set for encryption within the AJAX app?)
      zones:
        - zone: 1
          name: Upstairs (its what its called in ajax?)
          sensors: (do i remove the ones i dont have here)
           - alarm 
           - moisture
           - smoke
        - zone: 2
          name: Downstairs (its what its called in ajax?)
          sensors: (do i remove the ones i dont have here)
           - alarm 
           - moisture
           - smoke

Hi @Teshiburu, in general there are a couple of things that have to match between what you setup for Remote Monitoring in your Ajax app and here and does are the account, encryption key and port. This component creates a server that listens on that port, your alarm will send messages to that port to indicate status changes, the rest are more about naming etc, see all the details here: https://github.com/eavanvalkenburg/sia#configuration-options

Superb! It makes total sense now.

I have initially opted for the “minimum config”

Following on from the comment that other sensors will be added dynamically, I’m guessing this is when they check in with the hub, then your component will detect them?

Thanks @eavanvalkenburg so much for pointing me towards that readme lol!

1 Like

Hi all, I have created a pre-release for the new version which is much better (if I say so myself) and it is pretty much the code that also has been submitted to be included as a official component! It works with a config flow, so if you install the beta (which you can do by going into reinstall in HACS) you can then add the component and open the config flow from Integrations. The way it works is similar to the current setup with some notable differences (which is why I put it in as a beta), you set the port that it listens on, you add the first account, specifying account name, encryption_key (optional), ping_interval and the number of zones for that account, you can then add a checkbox to add additional accounts on that port, if you have two alarm systems for some reason. Per account/zone combination three entities are created 1 alarm_control_panel, 2 binary_sensors (smoke and moisture) and for each account a last heartbeat sensor is added. You can then rename and/or hide them as you see fit in the interface. In order to support this I had to change the naming of the entities so be careful when you move over that you also change any automations or scripts that use the state. I expect that the official version will keep the same names and settings so once you’re on this version it shouldn’t be jarring to move over! You can also create multiple instances that listen on different ports.

3 Likes

Thank you for your work. I have installed the beta 0.3.2b, but I cant find the component under Integrations?

Don’t know why that happens, I’ve sometimes had custom components immediately show up, as is expected (without a reboot) but also times when I had to reboot and force refresh a couple of times…

I managed to find the component. So far so good.
But my errorlog i filled with these;

2020-06-12 14:31:32 WARNING (MainThread) [pysiaalarm.base_sia_server] Last line:D02C0054"*NULL"0000L0#346EC[80A0860CF3623F2C505289ABE45A71118B3D7544D08FF1B32208564114D6AE98 could not be parsed as a SIAEvent.

That is a strange one, it doesn’t follow the exact SIA pattern, that should be 4 characters CRC, four characters length, and then either *SIA-DCS for a encrypted message or SIA-DCS for unencrypted, yours shows NULL instead of SIA-DCS which is why the parsing fails, what kind of system is it?

An Ajax Hub FW 2.8.2

Ok, tried with a different port and account and now it’s working

is there any news on compatibility with home assistant? thanks

That is great to hear @Mathias_Jensen, seems that was in a bug in or did you put your Ajax to Ajax Translator instead of SIA Protocol? Let me know, there might be more information through that channel, so I might want to investigate that one!

What do you mean with compatibility?

integrable in home assistant. With the possibility of arming / disarming, etc.

Well, the custom component integrates it, it is waiting for review before being merged into HA itself, the used protocol does not allow arming/disarming so that is not going to happen with the current method, maybe if ajax releases an API that might become possible.

Such an amazing component you have here - controlling things based on the alarm status is awesome. Thanks for your hard work on this!

I’m running v. 0.2.4 and everything is working perfectly. Should I remove this integration and re-configure it all once the integration can be found under Supervisor > Add-on store?

Hi Eduard.

This looks amazing, but I have a different brand Alarm system that im testing with your component. I use an ATS1000A-IP-SM Alarm. And it looks like it supports (?) SIA:

image

But i am not able to get any messages from the Alarm to Home Assistant. The only logging I get is:

2020-06-18 10:53:01 ERROR (Thread-3) [custom_components.sia] TCP: Handle: last line  gave error: [Errno 104] Connection reset by peer
2020-06-18 10:53:09 ERROR (Thread-3) [custom_components.sia] TCP: Handle: last line  gave error: [Errno 104] Connection reset by peer
2020-06-18 10:53:36 ERROR (Thread-3) [custom_components.sia] TCP: Handle: last line  gave error: [Errno 104] Connection reset by peer

There is another great piece of software developed here; https://github.com/tdeckers/utcar, (but this works via XSIA). I can get messages read from it:

Message:  01010052"SIA-DCS"0115R0001L0001[#006969|NUA011*'HA Hal'NM]2E1E7D6B0835AF0B|#000144
{{13813216801273768443 13032136593017 0xdd6220} 0115 0001 0001 006969 UA 011}

Can you tell me if these are messages your component should support?

Very cool that you’re testing it, it seems it works but the last step of the sia protocol is to send an acknowledgement back to the sending device (your alarm) and when that device does not wait for the response the connection reset message is usually given. Which version of the sia component are you using? and please turn on debug logging for the component (in your configuration.yaml add this

logger:
  default: warning
  logs:
    custom_components.sia: debug