Hi,
I have been working on integrating my Texecom Premier 832 (non-Elite) panel with Home Assistant for a while. The problem is that the non-Elite panels don’t support the friendlier automating protocols that the Elite panels do, so most of the integrations do not support the non-Elite panels.
I built a custom ComIP replacement using an ESP32 and ESPHome, which supports two serial ports on the Texecom panel, and spent some time reverse engineering the Wintex protocol as used by the Wintex app to communicate with the panel.
In doing so, I figured out that there are some memory locations which are read to return the state of each zone (active or inactive). I modified my ESPHome build to include a very simple periodic poll (every 1s) of these memory locations, and export those locations as ESPHome BinarySensor entities. Basically, I can see when the motion sensors trigger, or when a door is left open, etc.
The code for that is available here: https://github.com/RoganDawes/ESPHome_Wintex. It is very rough, and only does the zone active poll at the moment, but the basics are there to implement the rest as well. It probably needs to be rewritten from scratch, though, as it was very early days in my ESPHome journey! It is very likely that Premier panels other than the 832 will have different memory address ranges, and some digging will be required to support them.
Ideally, I’d love to include more features of the panel, including controls to bypass or unbypass zones, or activate or deactivate partitions. I’m honestly not sure how best to represent that in either Home Assistant or ESPHome - well, HA has the Template Alarm Panel, which probably gets me most of the way there, I suppose.
An ESPHome-based alarm implementation I saw used a numeric sensor and text sensor per zone to provide a multi-valued state, but I suspect that multiple BinarySensor’s per zone could also work fairly well. One for Bypass state, one for Tampered state, one for Active state, etc. And perhaps a TextSensor for the zone name, since the panel has that configured, one might as well expose it. And the BinarySensor approach should make it a bit easier to do automation things, too.
Feedback and comments are welcome.