I’ve released a Docker image which integrates with Texecom and MQTT including remote arming/part arming/disarming as well as full zone updates: https://hub.docker.com/r/dchesterton/texecom2mqtt . It has Home Assistant auto-discovery built-in too.
Texecom won’t allow me to publish the source code unfortunately. I’ve signed an NDA so the GitHub repo is private therefore if you have any feedback, questions or issues, please post on here and I’ll try to help. I have a Elite 24 panel and ComIP but it should work with other Premier Elite panels and the SmartCom.
I haven’t tested arming / disarming yet, but reporting the sensor status works well.
I have a few suggestions:
- Turn the Docker container into a Home Assistant Addon - it’s easy to use Docker Compose if you know what you’re doing and already have it set up, but an addon would pretty much be a 1-click install (and the config.yml could be set from with Home Assistant)
- Implement Texecom command 14 to set the LCD display - I like the idea of using the LCD from the alarm as an mqtt notify target
Installed the container and connected it to MQTT, now I can see in MQTT Explorer my sensors, alarm state etc. To integrate it in HA do I need to use the MQTT alarm panel? Any
I’m running HA Core so add-ons will be a no go for me.
You can integrate with HA manually via the MQTT Alarm Panel and MQTT Binary Sensor integrations, or the much easier way is to use MQTT Discovery and everything will automatically get set up for you inside Home Assistant.
I really like this idea and could see how it would be useful. I’ll look at adding it, thanks! I’ve not used Home Assistant Addons yet but I’ll take a look at that too.
Great contribution Daniel … thanks
I’ve added support for this. If you publish a string to
texecom-XXX/text it should now update the keypad display
I pulled the latest image and that works, I can set a message which appears instantly on the screen
Annoyingly the Texecom side of it doesn’t as I expected it to, I assumed that this message would replace the text on the LCD and the clock would still show, but the message is permanently on the screen (with no clock) until a master / engineer logs in (I checked the docs and point 4.14.4 does say this, but I hadn’t read it before)
EDIT: Fixed the previous issue, now have another one.
Getting an error saying that it can’t log in, but I’m sure that my code is correct. Can you please clarify if the UDL code is the same as the code used to arm/disarm the alarm?
Thanks. I’ve done this and got all my zones and areas now visible in HA. Question, should I use retain true in my MQTT config? Initially the sensors showed Unavailable and they only display the correct status after I restarted the texecom2mqtt container.
Another question around arming. Even do I’ve configured the mapping when I try to arm an area using HA, this doesn’t work and the below warning show in the logs. Any ideas?
WARNING: Unknown command ARM_NIGHT for area Entry doors,
No, the UDL code is not the same that you use for arming/disarming. The UDL code is used for remote connections. I think you need the engineer code to be able to read the UDL password, that’s if you didn’t set it up yourself.
Thanks. It’s actually my wife’s parent’s alarm. I’ll ask them if they know!
Looking on the texecom website, there are instruction to find this out anyway.
I haven’t tested this as I know mine so don’t need to, but I’m pretty sure that it would be possible to brute-force it. The Texecom kit doesn’t have any protections against this (e.g. exponential backoff)
Does it work if you lowercase arm_night?
The factory default is 1234, it probably won’t have been changed unless you’ve set up a SmartCom or similar before.
This is what I have as mappings in my config file.
When I try the Arm Away nothing happens and can see below in docker logs:
2020-08-19 15:14:24 - WARNING: Unknown command ARM_AWAY for area Entry doors,
Disarming is working fine. Maybe is the way I have setup my alarm?
It has been changed by the engineer, but not shared with the owner!
Don’t even know where to begin with a brute force ‘attack’, will just wait until the next service and get it from the engineer.
It should be
I’ll look at adding some clearer error messages.
I know, I changed it for testing because I noticed below entry in HA logs and thought it might be spelled differently.
2020-08-19 16:58:39 WARNING (MainThread) [homeassistant.components.mqtt.alarm_control_panel] Received unexpected payload: full_armed
So does it work? Your config should look something like this:
Be sure to replace
house in the above config with whatever you’ve called the area (lowercased with the spaces changed to underscores), or you can use the area number.
To answer your previous question which I missed, you should set
retain: true unless you have a specific reason not to.