Texecom2mqtt: Texecom alarm panel and MQTT integration with HA support

Hi Daniel,

I’ve been trying to catch a failure this week, but have missed a couple (if I hit the arm or disarm buttons in HA without realising it’s locked up, the add-on then seems to realise it’s broken and restart itself - with me cursing for a lost opportunity!)

It’s just frozen now, sadly without debug on, which is annoying as I actually noticed this one in time. One of the zones has jammed in “detected”, suggesting that the failure happened in the relative short period between the sensor (a PIR in this case) going from active back to secure.

image

The log, unfortunately, shows nothing unusual and has simply stopped updating:

2022-01-06 18:02:27 - INFO: Kitchen status changed to Active
2022-01-06 18:02:29 - INFO: Kitchen status changed to Secure
2022-01-06 18:02:30 - INFO: Kitchen status changed to Active
2022-01-06 18:02:32 - INFO: Kitchen status changed to Secure
2022-01-06 18:02:34 - INFO: Hallway status changed to Active
2022-01-06 18:02:34 - INFO: Kitchen status changed to Active
2022-01-06 18:02:36 - INFO: Hallway status changed to Secure

When I did attempt to arm an area, the following was logged immediately after the entries above:

2022-01-06 18:15:38 - INFO: Remotely arming Garage Alarm to Full Arm
2022-01-06 18:15:38 - WARNING: Could not arm Garage Alarm
2022-01-06 18:15:38 - INFO: Panel disconnected, exiting now

…and this then triggered the add-on restart (presumably through the watchdog). This is the startup log, after the failure. Note the multiple timeouts, although it did eventually start cleanly:

2022-01-06 18:18:59 - INFO: Starting texecom2mqtt v1.1.14 (Node v16.13.0)...
2022-01-06 18:18:59 - INFO: Connected to alarm, sleeping for 2 seconds...
2022-01-06 18:19:01 - DEBUG: Executing serial number command
2022-01-06 18:19:01 - INFO: Connection ready
2022-01-06 18:19:01 - INFO: Logging in to panel
2022-01-06 18:19:02 - INFO: Successfully logged in to panel
2022-01-06 18:19:02 - INFO: Connected to MQTT broker: 192.168.x.x:1883 (retain: true, clean: true, client_id: texecom2mqtt, qos: 0)
2022-01-06 18:19:02 - DEBUG: Publishing to texecom2mqtt/status: online
2022-01-06 18:19:02 - INFO: Serial number: xxxx
2022-01-06 18:19:05 - DEBUG: Command 22 timed out (attempt 1, id: 1).
2022-01-06 18:19:06 - INFO: Panel: Premier Elite 48 (V5.04.01LS1)
2022-01-06 18:19:06 - INFO: Fetched Area A: House Alarm
2022-01-06 18:19:06 - INFO: Fetched Area B: Garage Alarm
2022-01-06 18:19:06 - INFO: Fetched Area C: Area C
2022-01-06 18:19:06 - INFO: Fetched Area D: Area D
2022-01-06 18:19:06 - INFO: Fetched Zone 1: Front Door (Type: Entry/Exit 1; Areas: A)
2022-01-06 18:19:06 - INFO: Fetched Zone 2: Back Door (Type: Entry/Exit 1; Areas: A)
2022-01-06 18:19:07 - INFO: Fetched Zone 3: Patio Door (Type: Guard; Areas: A)
2022-01-06 18:19:07 - INFO: Fetched Zone 4: Landing (Type: Guard; Areas: A)
2022-01-06 18:19:07 - INFO: Fetched Zone 5: Dining Room (Type: Guard; Areas: A)
2022-01-06 18:19:11 - DEBUG: Command 3 timed out (attempt 1, id: 8).
2022-01-06 18:19:11 - INFO: Fetched Zone 6: Hallway (Type: Guard; Areas: A)
2022-01-06 18:19:15 - DEBUG: Command 3 timed out (attempt 1, id: 9).
2022-01-06 18:19:15 - INFO: Fetched Zone 7: Kitchen (Type: Guard; Areas: A)
2022-01-06 18:19:16 - INFO: Fetched Zone 9: Garage Door (Type: Guard; Areas: B)
2022-01-06 18:19:16 - INFO: Fetched Zone 10: Garage Side Door (Type: Entry/Exit 1; Areas: B)
2022-01-06 18:19:16 - INFO: Fetched Zone 11: Garage Front PIR (Type: Entry/Exit 1; Areas: B)
2022-01-06 18:19:20 - DEBUG: Command 3 timed out (attempt 1, id: 14).
2022-01-06 18:19:20 - INFO: Fetched Zone 12: Garage Rear PIR (Type: Entry/Exit 1; Areas: B)
2022-01-06 18:19:21 - INFO: Fetched Zone 13: Shed (Type: Guard; Areas: B)
2022-01-06 18:19:21 - INFO: Fetched Zone 14: Garage Fire (Type: Fire; Areas: B)
2022-01-06 18:19:24 - DEBUG: Command 3 timed out (attempt 1, id: 17).
2022-01-06 18:19:31 - DEBUG: Command 3 timed out (attempt 1, id: 28).
2022-01-06 18:19:38 - DEBUG: Command 3 timed out (attempt 1, id: 38).
2022-01-06 18:19:41 - DEBUG: Command 3 timed out (attempt 2, id: 38).
2022-01-06 18:19:45 - DEBUG: Command 3 timed out (attempt 3, id: 38).
2022-01-06 18:19:50 - DEBUG: Command 3 timed out (attempt 1, id: 44).
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/status: online
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":9,"battery_voltage":13.49,"panel_current":585,"panel_voltage":13.56}
2022-01-06 18:19:53 - INFO: Updating all zone states...
2022-01-06 18:19:53 - INFO: Updating all area states...
2022-01-06 18:19:53 - DEBUG: Received area flags: 000000000000000000000000000000000f00000000000000000f000000ff00000f000000000000030000000000000000000000000000000100000000000000000000000300000000
2022-01-06 18:19:53 - DEBUG: Received area flags for Area A (1): 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
2022-01-06 18:19:53 - DEBUG: Received area flags for Area B (2): 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/front_door: {"name":"Front Door","number":1,"areas":["A"],"status":0,"type":"Entry/Exit 1"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/back_door: {"name":"Back Door","number":2,"areas":["A"],"status":0,"type":"Entry/Exit 1"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/patio_door: {"name":"Patio Door","number":3,"areas":["A"],"status":0,"type":"Guard"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/landing: {"name":"Landing","number":4,"areas":["A"],"status":0,"type":"Guard"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/dining_room: {"name":"Dining Room","number":5,"areas":["A"],"status":0,"type":"Guard"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/hallway: {"name":"Hallway","number":6,"areas":["A"],"status":0,"type":"Guard"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":0,"type":"Guard"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/garage_door: {"name":"Garage Door","number":9,"areas":["B"],"status":0,"type":"Guard"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/garage_side_door: {"name":"Garage Side Door","number":10,"areas":["B"],"status":0,"type":"Entry/Exit 1"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/garage_front_pir: {"name":"Garage Front PIR","number":11,"areas":["B"],"status":0,"type":"Entry/Exit 1"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/garage_rear_pir: {"name":"Garage Rear PIR","number":12,"areas":["B"],"status":0,"type":"Entry/Exit 1"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/shed: {"name":"Shed","number":13,"areas":["B"],"status":0,"type":"Guard"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/zone/garage_fire: {"name":"Garage Fire","number":14,"areas":["B"],"status":0,"type":"Fire"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/area/house_alarm: {"id":"A","name":"House Alarm","number":1,"status":"disarmed"}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/area/garage_alarm: {"id":"B","name":"Garage Alarm","number":2,"status":"disarmed"}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/alarm_control_panel/texecom2mqtt/house_alarm/config: {"code":"2116","code_arm_required":false,"code_disarm_required":true,"name":"House Alarm","state_topic":"texecom2mqtt/area/house_alarm","command_topic":"texecom2mqtt/area/house_alarm/command","unique_id":"texecom2mqtt.area.house_alarm","value_template":"{% set values = {\"in_entry\":\"pending\",\"in_exit\":\"arming\",\"disarmed\":\"disarmed\",\"triggered\":\"triggered\",\"full_armed\":\"armed_away\",\"part_armed_1\":\"armed_night\",\"part_armed_2\":\"armed_home\"} %}{{ values[value_json.status] }}","payload_disarm":"disarm","json_attributes_topic":"texecom2mqtt/power","payload_arm_night":"part_arm_1","payload_arm_away":"full_arm","payload_arm_home":"part_arm_2","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/alarm_control_panel/texecom2mqtt/garage_alarm/config: {"code":"2116","code_arm_required":false,"code_disarm_required":true,"name":"Garage Alarm","state_topic":"texecom2mqtt/area/garage_alarm","command_topic":"texecom2mqtt/area/garage_alarm/command","unique_id":"texecom2mqtt.area.garage_alarm","value_template":"{% set values = {\"in_entry\":\"pending\",\"in_exit\":\"arming\",\"disarmed\":\"disarmed\",\"triggered\":\"triggered\",\"full_armed\":\"armed_away\",\"part_armed_1\":\"armed_night\",\"part_armed_2\":\"armed_home\"} %}{{ values[value_json.status] }}","payload_disarm":"disarm","json_attributes_topic":"texecom2mqtt/power","payload_arm_night":"part_arm_1","payload_arm_away":"full_arm","payload_arm_home":"part_arm_2","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/front_door/config: {"name":"Front Door","state_topic":"texecom2mqtt/zone/front_door","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"door","unique_id":"texecom2mqtt.zone.front_door","json_attributes_topic":"texecom2mqtt/zone/front_door","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/back_door/config: {"name":"Back Door","state_topic":"texecom2mqtt/zone/back_door","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"door","unique_id":"texecom2mqtt.zone.back_door","json_attributes_topic":"texecom2mqtt/zone/back_door","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/patio_door/config: {"name":"Patio Door","state_topic":"texecom2mqtt/zone/patio_door","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"door","unique_id":"texecom2mqtt.zone.patio_door","json_attributes_topic":"texecom2mqtt/zone/patio_door","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/landing/config: {"name":"Landing","state_topic":"texecom2mqtt/zone/landing","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"motion","unique_id":"texecom2mqtt.zone.landing","json_attributes_topic":"texecom2mqtt/zone/landing","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/dining_room/config: {"name":"Dining Room","state_topic":"texecom2mqtt/zone/dining_room","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"motion","unique_id":"texecom2mqtt.zone.dining_room","json_attributes_topic":"texecom2mqtt/zone/dining_room","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/hallway/config: {"name":"Hallway","state_topic":"texecom2mqtt/zone/hallway","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"motion","unique_id":"texecom2mqtt.zone.hallway","json_attributes_topic":"texecom2mqtt/zone/hallway","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/kitchen/config: {"name":"Kitchen","state_topic":"texecom2mqtt/zone/kitchen","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"motion","unique_id":"texecom2mqtt.zone.kitchen","json_attributes_topic":"texecom2mqtt/zone/kitchen","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/garage_door/config: {"name":"Garage Door","state_topic":"texecom2mqtt/zone/garage_door","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"door","unique_id":"texecom2mqtt.zone.garage_door","json_attributes_topic":"texecom2mqtt/zone/garage_door","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/garage_side_door/config: {"name":"Garage Side Door","state_topic":"texecom2mqtt/zone/garage_side_door","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"door","unique_id":"texecom2mqtt.zone.garage_side_door","json_attributes_topic":"texecom2mqtt/zone/garage_side_door","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/garage_front_pir/config: {"name":"Garage Front PIR","state_topic":"texecom2mqtt/zone/garage_front_pir","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"motion","unique_id":"texecom2mqtt.zone.garage_front_pir","json_attributes_topic":"texecom2mqtt/zone/garage_front_pir","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/garage_rear_pir/config: {"name":"Garage Rear PIR","state_topic":"texecom2mqtt/zone/garage_rear_pir","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"motion","unique_id":"texecom2mqtt.zone.garage_rear_pir","json_attributes_topic":"texecom2mqtt/zone/garage_rear_pir","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/shed/config: {"name":"Shed","state_topic":"texecom2mqtt/zone/shed","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"motion","unique_id":"texecom2mqtt.zone.shed","json_attributes_topic":"texecom2mqtt/zone/shed","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to homeassistant/binary_sensor/texecom2mqtt/garage_fire/config: {"name":"Garage Fire","state_topic":"texecom2mqtt/zone/garage_fire","payload_on":"1","payload_off":"0","value_template":"{{ value_json.status }}","device_class":"smoke","unique_id":"texecom2mqtt.zone.garage_fire","json_attributes_topic":"texecom2mqtt/zone/garage_fire","json_attributes_template":"{{ {'zone_number': value_json.number, 'zone_type': value_json.type, 'areas': value_json.areas} | tojson }}","availability_topic":"texecom2mqtt/status","qos":0,"device":{"name":"Texecom Premier Elite 48","identifiers":"xxxx","manufacturer":"Texecom","model":"Premier Elite 48","sw_version":"V5.04.01LS1"}}
2022-01-06 18:19:53 - DEBUG: Publishing to texecom2mqtt/config: {"version":"1.1.14","log_level":"debug","model":"Premier Elite 48","firmware_version":"V5.04.01LS1","serial_number":"xxxx"}
2022-01-06 18:19:53 - INFO: Application ready

I guess the positive thing about this is I now know that I won’t get more information without debug logging turned on, so I now need to try to catch a failure more quickly - in the 30 mins or so before the log rolls over!

Will keep you posted.

Daern

Well my joy was short lived, this is all I continually get now.

2022-01-07 16:36:19 - INFO: Starting texecom2mqtt v1.1.14 (Node v16.13.0)…
2022-01-07 16:36:19 - INFO: Connected to alarm, sleeping for 2 seconds…
2022-01-07 16:36:21 - DEBUG: Executing serial number command
2022-01-07 16:36:22 - INFO: Connection ready
2022-01-07 16:36:22 - INFO: Logging in to panel
2022-01-07 16:36:22 - ERROR: Could not log in to panel
2022-01-07 16:36:22 - DEBUG: Closing connection to panel
2022-01-07 16:36:22 - DEBUG: Closed connection to panel

Snap!!!..

2022-01-07 17:11:57 - INFO: Starting texecom2mqtt v1.1.14 (Node v16.13.0)…
2022-01-07 17:11:57 - INFO: Connected to alarm, sleeping for 2 seconds…
2022-01-07 17:11:59 - INFO: Connection ready
2022-01-07 17:11:59 - INFO: Logging in to panel
2022-01-07 17:12:00 - ERROR: Could not log in to panel

if you look at the Alarm Keypanel, do you have a UDL Lockout error? (this might only display when you set the alarm?)

This has been the status of my system for a few weeks now. i haven’t carved out the time to change the UDL code, and see if that helps.

I’m running an IPCom on Com 3 dedicated to HA (with SmartCom on Com 1&2).

I can log in to the panel via Wintex using the same UDL code without problem.

Hi, I’m completely new to this so please be gentle with me. :grinning: I’ve only been using Home Assistant for about a week.

I have managed to set up this excellent Texecom2mqtt integration and have it working correctly with my first alarm panel.

I have a second Texecom Elite panel with it’s own SmartCom and unique IP address. Is it possible to access two panels at the same time. If so how?

You may find this configuration useful:

variable:
  alarm_panel_json:
    value: '{ }'
    restore: true


- id: save_alarm_state
  alias: Save Alarm State
  description: ''
  trigger:
    platform: mqtt
    topic: "texecom2mqtt/power"
  condition: []
  action:
    - service: variable.set_variable
      data:
        variable: alarm_panel_json
        value: > 
          '{{ trigger.payload }}'

- id: alarm_state_not_changed
  alias: Alarm State Not Changed
  trigger:
  - platform: state
    entity_id: variable.alarm_panel_json
    for: "00:05:00"
  action:
    - service: notify.pushover
      data_template:
        title: Alarm integration has stalled
        message: 'The texecom add-on has stopped updating. You may wish to check this.
      
          This happened at: {{ now() }}
      
          '
        data:
          sound: siren
          priority: 0 

It uses the hass-variables component, and every time a new power status JSON payload is put on MQTT, it writes it to a variable (effectively, a pseudo-entity). The second part then monitors this and if it doesn’t change for 5 minutes, alerts accordingly - in my case using pushover. It could just as easily be used to restart the add-on, but for now my primary goal is to catch the failure log!

Dunno if it will work yet (kinda need to wait for an actual failure), but I suspect it’ll pick it up. In theory, it could false-trigger if the alarm panel stats really don’t change for 5 consecutive reports, but looking at mine there is enough jitter and it only needs any one of the four reported values to change to avoid firing. Perhaps it will help your investigations…

Yes, I have had the UDL lockout message (you can also check in Wintex via the Diagnostics, then under the system page).

I have tried changing the UDL several times and it has made no difference.

When I upgraded my firmware I also re-installed the ComWiFi that I had previously removed when I initially installed the SmartCom a few years ago, so that I could dedicate the ComWiFi to Home Assistant.
It has obviously not been successful yet but I can log into Wintex via the SmartCom and via the ComWiFI so I know both are working.

Hi Daniel,

I’ve now managed to catch my system failing:

2022-01-08 09:28:53 - INFO: Kitchen status changed to Active
2022-01-08 09:28:53 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":1,"type":"Guard"}
2022-01-08 09:28:55 - INFO: Kitchen status changed to Secure
2022-01-08 09:28:55 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":0,"type":"Guard"}
2022-01-08 09:28:58 - INFO: Kitchen status changed to Active
2022-01-08 09:28:58 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":1,"type":"Guard"}
2022-01-08 09:29:00 - DEBUG: Updating system power...
2022-01-08 09:29:00 - INFO: Kitchen status changed to Secure
2022-01-08 09:29:00 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":0,"type":"Guard"}
2022-01-08 09:29:01 - INFO: Kitchen status changed to Active
2022-01-08 09:29:01 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":1,"type":"Guard"}
2022-01-08 09:29:03 - DEBUG: Command 25 timed out (attempt 1, id: 58).
2022-01-08 09:29:03 - INFO: Kitchen status changed to Secure
2022-01-08 09:29:03 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":0,"type":"Guard"}
2022-01-08 09:29:07 - DEBUG: Command 25 timed out (attempt 2, id: 58).
2022-01-08 09:29:07 - INFO: Kitchen status changed to Active
2022-01-08 09:29:07 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":1,"type":"Guard"}
2022-01-08 09:29:08 - INFO: Kitchen status changed to Secure
2022-01-08 09:29:08 - DEBUG: Publishing to texecom2mqtt/zone/kitchen: {"name":"Kitchen","number":7,"areas":["A"],"status":0,"type":"Guard"}
2022-01-08 09:29:10 - DEBUG: Command 25 timed out (attempt 3, id: 58).
2022-01-08 09:29:10 - DEBUG: Publishing to texecom2mqtt/status: online
2022-01-08 09:29:10 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":9,"battery_voltage":13.49,"panel_current":594,"panel_voltage":13.56}
2022-01-08 09:29:50 - DEBUG: Updating system power...
2022-01-08 09:29:50 - DEBUG: Publishing to texecom2mqtt/status: online
2022-01-08 09:29:50 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":9,"battery_voltage":13.49,"panel_current":594,"panel_voltage":13.56}
2022-01-08 09:30:40 - DEBUG: Updating system power...
2022-01-08 09:30:40 - DEBUG: Publishing to texecom2mqtt/status: online
2022-01-08 09:30:40 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":9,"battery_voltage":13.49,"panel_current":594,"panel_voltage":13.56}
2022-01-08 09:31:30 - DEBUG: Updating system power...
2022-01-08 09:31:30 - DEBUG: Publishing to texecom2mqtt/status: online
2022-01-08 09:31:30 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":9,"battery_voltage":13.49,"panel_current":594,"panel_voltage":13.56}
2022-01-08 09:32:20 - DEBUG: Updating system power...
2022-01-08 09:32:20 - DEBUG: Publishing to texecom2mqtt/status: online
2022-01-08 09:32:20 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":9,"battery_voltage":13.49,"panel_current":594,"panel_voltage":13.56}

(snip)

2022-01-08 09:51:31 - DEBUG: Updating system power...
2022-01-08 09:51:31 - DEBUG: Publishing to texecom2mqtt/status: online
2022-01-08 09:51:31 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":9,"battery_voltage":13.49,"panel_current":594,"panel_voltage":13.56}
2022-01-08 09:51:36 - INFO: Remotely disarming Garage Alarm
2022-01-08 09:51:36 - WARNING: Could not disarm Garage Alarm
2022-01-08 09:51:36 - DEBUG: Closing connection to panel
2022-01-08 09:51:36 - DEBUG: Closed connection to panel
2022-01-08 09:51:36 - INFO: Panel disconnected, exiting now
2022-01-08 09:51:36 - DEBUG: Publishing to texecom2mqtt/status: offline
2022-01-08 09:51:36 - DEBUG: Closing connection to MQTT broker
2022-01-08 09:51:36 - DEBUG: Closed connection to MQTT broker

(this last long snippet was triggered by me manually attempting to disarm an area, knowing that this would cause the add-on to shutdown and restart, which it did).

Don’t normally see this, so perhaps it has some bearing:

2022-01-08 09:29:03 - DEBUG: Command 25 timed out (attempt 1, id: 58).
2022-01-08 09:29:07 - DEBUG: Command 25 timed out (attempt 2, id: 58).
2022-01-08 09:29:10 - DEBUG: Command 25 timed out (attempt 3, id: 58).

When it fails again (I can catch it more effectively now), I will confirm if the same command is timing out.

Hope this helps in some way.

Thanks for this, and Ponting out the power statuses are in the MQTT feed, I was going to read the vent log, but this is much better. I’ve done similar in NodeRed and have it so it will ping my phone if it hasn’t changed for 5 mins.

I can provide the NodeRed flow if anyone wants it to import.

This is really helpful thanks and I think I might know what the the problem is now.

I’ve just pushed an update which adds a bit more debug logging around the Command 25 timed out line. It should say something like Received system power: b0adac2f06. If my theory is right, I think that response is coming back empty indicating a disconnect but the app is carrying on as normal.

If you could update to the latest version, catch the issue again and send the log including that line I hope we can get this fixed finally :smiley:

Thanks Daniel, sounds good! Update applied and I can see the new debug messages so will report back the next time it goes belly up… :smiley:

interesting. thanks for the Wintex tip.
How did you manage to clear the UDL Lockout? I’ve tried the Master code, Engineer code… i can’t get it to clear!
thanks

I think it is enter master code twice, or engineer code twice. Or at least that clears other error statuses

Hi Daniel,

Would it be possible to add the ‘Group’ field which is received from the alarm panel to the MQTT log message? The Group field contains useful information for automations. For example the only difference in the log between an Open and a Close event is the value of the Group field.

This is a Remote Open event:
2022-01-09 09:10:42 - PANEL: Remote Open/Close (Areas: A, B; Parameter: 1; Group: 133)
2022-01-09 09:10:42 - DEBUG: Publishing to texecom2mqtt/log: {“type”:“RemoteOpenClose”,“description”:“Remote Open/Close”,“timestamp”:“2022-01-09T09:10:42Z”,“areas”:[“A”,“B”],“parameter”:1}

And this is a Remote Close event:
2022-01-09 09:20:18 - PANEL: Remote Open/Close (Areas: A, B; Parameter: 1; Group: 6)
2022-01-09 09:20:18 - DEBUG: Publishing to texecom2mqtt/log: {“type”:“RemoteOpenClose”,“description”:“Remote Open/Close”,“timestamp”:“2022-01-09T09:20:18Z”,“areas”:[“A”,“B”],“parameter”:1}

Currently the open and close events look identical in the MQTT log, adding the Group field would allow automations to differentiate between Open and Close.

Hi All,

A newbie in the world of home automation so please bear with me. Sorry for the long posts but I just have a few questions/clarifications. I have a Texecom Premier Elite 24 on version SW V5.04.01LS1 with SmartCom installed. I also have various other smart home devices, all which I am looking to integrate onto HA for which I am looking to buy a Raspberry Pi 4 to host on.

Scrolling through various forums and HA guides, I believe I need to complete the below steps to get myself up and running on HA:

  1. Deploy HA on Raspberry Pi using this guide: Raspberry Pi - Home Assistant
  2. Install the Texecom2mqtt add-on via Supervisor

I have a few questions around the Texecom2mqtt add-on:

A) Will I need any information from the Texecom Panel in order to successfully set up the add-on on HA? I have the engineer code and able to connect to Wintex. I can retrieve the IP address of the SmartCom - anything else?

B) Will I need to make any configuration changes to the Texecom Panel? I’ve seen on some posts the encryption needs to be disabled? If so, does anyone have the instructions on how to do this?

C) Once I have the add-on installed, will it automatically pull in the alarm’s configuration set up (ie. areas,zones, sensors configurations)? Or will I need to apply the same configuration in the add-on manually?

D) I have seen some posts stating that standard Texecom app will no longer send notifications. Is this true? Will I still be able to arm/disarm the alarm via the app, in case HA is down? And can I set up the notifications via HA?

Thanks in advance!

You’ll also need to install Mosquitto (MQTT broker) to handle the interchange of data between the add-on and HA. It’s also very useful for a hundred other purposes :slight_smile:

You need to get a UDL password, which is needed by the add-on to authenticate you to the panel, in the same way that you would for Texecom Cloud. Full details in the documentation.

I can’t actually remember for this, but I have encryption disabled on mine (this is ok - it never talks outside of my home network) so I suspect I’ll have do it as part of the setup. Otherwise, it’s mostly around configuring the UDL password, which is pretty straightforward.

You’ll automatically get your areas and zones exposed as entities in HA. No need for sensor configurations as, at the end of the day, the integration just reports them as “secure” or “active” and doesn’t really need to know how that’s determined. The only thing I had to configure was my areas, to map the Texecom part-arms to HA. e.g. "part_arm_1" : armed_night. Check the add-on documentation for more info.

Can’t comment on this as I do not use the stock Texecom app (not sure why I’d want to - the whole point of HA is to centralise all of this stuff!). Certainly, I can do everything I need (monitor, arm, disarm, set various part-arm programs etc.) through the HA app, as well as picking up notification of alarm states. One thing that is certainly true - the SmartCom (and ComIP) are really quite simple devices - effectively, serial-over-IP - and do not seem to like multiple applications talking to them at the same time. I would highly recommend dedicating it to the HA and, if you really, really want to keep using the stock Texecom app, install an additional ComIP module to allow you to dedicate a serial port to HA, while retaining the stock functionality. I do, now, have a SmartCom and ComIP, but prior to this, I just made sure I shut down the HA add-on before playing around with Texecom Cloud, or Wintex. In fact, Texecom Cloud is shut off on my alarm by default, and I only enable it when I need to firmware update.

Engineer code and then the ‘reset’ button should do it.

1 Like

Latest Crash Log
texecom2mqtt v1.1.15 (Node v16.13.0)…

2022-01-10 21:57:18 - INFO: LANDING Motion Sensor status changed to Secure

2022-01-10 21:57:18 - DEBUG: Publishing to texecom2mqtt/zone/landing_motion_sensor: {"name":"LANDING Motion Sensor","number":8,"areas":["A"],"status":0,"type":"Guard"}

2022-01-10 21:57:19 - DEBUG: Updating system power...

2022-01-10 21:57:19 - PANEL: Output state changed digi: 255

2022-01-10 21:57:20 - INFO: MASTER BEDROOM Motion Sensor status changed to Active

2022-01-10 21:57:20 - DEBUG: Publishing to texecom2mqtt/zone/master_bedroom_motion_sensor: {"name":"MASTER BEDROOM Motion Sensor","number":9,"areas":["A"],"status":1,"type":"Guard"}

2022-01-10 21:57:20 - PANEL: Output state changed expander: 254

2022-01-10 21:57:22 - INFO: MASTER BEDROOM Motion Sensor status changed to Secure

2022-01-10 21:57:22 - DEBUG: Publishing to texecom2mqtt/zone/master_bedroom_motion_sensor: {"name":"MASTER BEDROOM Motion Sensor","number":9,"areas":["A"],"status":0,"type":"Guard"}

2022-01-10 21:57:22 - PANEL: Output state changed expander: 255

2022-01-10 21:57:23 - DEBUG: Command 25 timed out (attempt 1, id: 139).

2022-01-10 21:57:23 - INFO: MASTER BEDROOM Motion Sensor status changed to Active

2022-01-10 21:57:23 - DEBUG: Publishing to texecom2mqtt/zone/master_bedroom_motion_sensor: {"name":"MASTER BEDROOM Motion Sensor","number":9,"areas":["A"],"status":1,"type":"Guard"}

2022-01-10 21:57:23 - PANEL: Output state changed expander: 254

2022-01-10 21:57:25 - INFO: MASTER BEDROOM Motion Sensor status changed to Secure

2022-01-10 21:57:25 - DEBUG: Publishing to texecom2mqtt/zone/master_bedroom_motion_sensor: {"name":"MASTER BEDROOM Motion Sensor","number":9,"areas":["A"],"status":0,"type":"Guard"}

2022-01-10 21:57:25 - PANEL: Output state changed expander: 255

2022-01-10 21:57:26 - DEBUG: Command 25 timed out (attempt 2, id: 139).

2022-01-10 21:57:26 - INFO: MASTER BEDROOM Motion Sensor status changed to Active

2022-01-10 21:57:26 - DEBUG: Publishing to texecom2mqtt/zone/master_bedroom_motion_sensor: {"name":"MASTER BEDROOM Motion Sensor","number":9,"areas":["A"],"status":1,"type":"Guard"}

2022-01-10 21:57:26 - PANEL: Output state changed expander: 254

2022-01-10 21:57:27 - INFO: LANDING Motion Sensor status changed to Active

2022-01-10 21:57:27 - DEBUG: Publishing to texecom2mqtt/zone/landing_motion_sensor: {"name":"LANDING Motion Sensor","number":8,"areas":["A"],"status":1,"type":"Guard"}

2022-01-10 21:57:27 - PANEL: Output state changed digi: 127

2022-01-10 21:57:29 - INFO: MASTER BEDROOM Motion Sensor status changed to Secure

2022-01-10 21:57:29 - DEBUG: Publishing to texecom2mqtt/zone/master_bedroom_motion_sensor: {"name":"MASTER BEDROOM Motion Sensor","number":9,"areas":["A"],"status":0,"type":"Guard"}

2022-01-10 21:57:29 - INFO: LANDING Motion Sensor status changed to Secure

2022-01-10 21:57:29 - DEBUG: Publishing to texecom2mqtt/zone/landing_motion_sensor: {"name":"LANDING Motion Sensor","number":8,"areas":["A"],"status":0,"type":"Guard"}

2022-01-10 21:57:30 - DEBUG: Command 25 timed out (attempt 3, id: 139).

2022-01-10 21:57:30 - DEBUG: Received system power: 15

2022-01-10 21:57:30 - DEBUG: Publishing to texecom2mqtt/status: online

2022-01-10 21:57:30 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":27,"battery_voltage":13.49,"panel_current":846,"panel_voltage":13.63}

2022-01-10 21:58:09 - DEBUG: Updating system power...

2022-01-10 21:58:09 - DEBUG: Received system power: 15

2022-01-10 21:58:09 - DEBUG: Publishing to texecom2mqtt/status: online

2022-01-10 21:58:09 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":27,"battery_voltage":13.49,"panel_current":846,"panel_voltage":13.63}

2022-01-10 21:58:59 - DEBUG: Updating system power...

2022-01-10 21:59:00 - DEBUG: Received system power: 15

2022-01-10 21:59:00 - DEBUG: Publishing to texecom2mqtt/status: online

2022-01-10 21:59:00 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":27,"battery_voltage":13.49,"panel_current":846,"panel_voltage":13.63}

2022-01-10 21:59:49 - DEBUG: Updating system power...

2022-01-10 21:59:50 - DEBUG: Received system power: 15

2022-01-10 21:59:50 - DEBUG: Publishing to texecom2mqtt/status: online

2022-01-10 21:59:50 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":27,"battery_voltage":13.49,"panel_current":846,"panel_voltage":13.63}

2022-01-10 22:00:39 - DEBUG: Updating system power...

2022-01-10 22:00:40 - DEBUG: Received system power: 15

2022-01-10 22:00:40 - DEBUG: Publishing to texecom2mqtt/status: online

2022-01-10 22:00:40 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":27,"battery_voltage":13.49,"panel_current":846,"panel_voltage":13.63}

2022-01-10 22:01:29 - DEBUG: Updating system power...

2022-01-10 22:01:30 - DEBUG: Received system power: 15

2022-01-10 22:01:30 - DEBUG: Publishing to texecom2mqtt/status: online

2022-01-10 22:01:30 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":27,"battery_voltage":13.49,"panel_current":846,"panel_voltage":13.63}

2022-01-10 22:02:19 - DEBUG: Updating system power...

2022-01-10 22:02:20 - DEBUG: Received system power: 15

2022-01-10 22:02:20 - DEBUG: Publishing to texecom2mqtt/status: online

2022-01-10 22:02:20 - DEBUG: Publishing to texecom2mqtt/power: {"battery_charging_current":27,"battery_voltage":13.49,"panel_current":846,"panel_voltage":13.63}

2022-01-10 22:03:09 - DEBUG: Updating system power...
1 Like

Thanks! I’ve pushed an update (1.2.0) to finally fix the issue with the app hanging :slight_smile: thanks everyone for your help and patience debugging this!

The bug, for those that are interested… basically the app has to send a command to the panel at least once every 60 seconds to ensure the connection stays alive. Therefore the app is configured to send a command if it hasn’t sent one in the past 50 seconds to fetch the system power. However, if the panel is busy (e.g. sensors are updating) the command can fail. It will retry but if the command doesn’t succeed within 10 seconds, the 60 seconds passes and the panel will no longer send status updates.

The fix is two-fold. I’ve changed the app to send the command every 30 seconds instead of 50 to make the timeout less likely. I’ve also updated the app to handle the response from the panel if the timeout does happen, instead of continuing on as before.

2 Likes

Hi Paul, thanks for the suggestion, this has been added in the latest version (1.2.0)

2 Likes

Thanks Daniel, that’s superb. The updated version isn’t appearing for me yet, but as soon as it does I’ll update and watch to see what happens. Top stuff :+1: