Skip to content

Troubleshooting

Luca Mazzilli edited this page Nov 8, 2022 · 2 revisions

Troubleshooting

ialarm-mqtt is based on these components:

  • sends commands to the alarm panel and parses the responses using node-ialarm which is based on the TCP protocol reverse engineered by wildstray
  • send and receive data via mqtt
  • exposes alarm, sensors and switches to Home assistant using MQTT Discovery

mqtt

Make sure that you configured ialarm-mqtt to use the correct the ip, port, username and password (if required) of your mqtt broker. references:

node-ialarm

node-ialarm exposes a cli that can be used to check a single command and its response.

testing commands with meian-cli

Install nodejs LTS version: https://nodejs.org/en/ than run the following command in a terminal (please edit host, username and password):

npx meian-cli -c GetByWay  -c GetZone -s 192.168.1.81 -u MyUsername -p MyPassword 

You can add more commands using option -c followed by a command name, in the previous example we used GetByWay and GetZone.

Common commands are:

  • GetZone
  • GetLog
  • GetNet
  • GetByWay
  • SetByWay
  • GetAlarmStatus
  • SetAlarmStatus Some panel expose more "areas" (Focus FC-7688Plus) and can send and receive these commands:
  • GetArea
  • SetArea

For more info con commands see node-ialarm commands page.

For more cli options see node-ialarm cli page

dump responses

To check what data your alarm is exposing (encrypted messages, decoded xml, raw json and "formatted" json) you can execute meian-cli with -o option. This will save all the responses to a json file (please edit host, username and password):

npx meian-cli -c GetNet -c GetAlarmStatus -c GetZone -c GetByWay -c SetByWay(1,true) -c GetLogs -s 192.168.1.81 -u MyUsername -p MyPassword -o /MyFolder/dump.json

ialarm-mqtt

Configuration

If you have any doubt please check configuration page first than open an issue...

Here some commons issue

Zone numbers

Some panels exposes 40 zone, some other 128. Just make sure to configure the zones you need in your yaml. Check the configuration page.

Zone type

why home assistant sees my window is a door? It depends on how you configured it on the alarm: ialarm-mqtt reads the type of your sensor and maps it to a device_class You can override a device_class to a single sensor. Check the configuration page.

Sensors and "real time" data

All sensors states are fetched using GetByWay command defined in 'polling' property of ialarm-mqtt. The "real time" depends on how small is the polling. Keep in mind that a small polling means more requests to the panel: some panels under stress just stops responding to tcp requests, forcing you to reboot it via web interface.

DoorDetect

In order to obtain 'open' property for sensors (windows, doors, pir, etc) you must enable "DoorDetect" ("Ispezione sensori porta" on italian guard ip panel) in your alarm web panel options (http://192.168.1.x/Option.htm)

PIR sensor

Some Pir sensor just don't sends data in realtime and node-ialarm or ialarm-mqtt can't provide a fix for this. https://github.com/maxill1/ialarm-mqtt/issues/22

Push events

The alarm sends messages to the client connected via TCP when specific events occours:

  • arm/disarm
  • bypass on/of
  • trigger when alarm is armed
  • triggered by h24 sensor

Right now i never observed an "Alarm" message for opening a window/door when disarmed, but may be a way to enable it (it needs investigation).

These kind of "Alarm" messages expose zone name, zone number, "content", cid and date, but may differ from panel to panel and may be useful for identifing which Zone or Area is triggered (it needs investigation):

<Root>
  <Host>
    <Alarm>
      <Cid>STR,4|3441</Cid>
      <Content>STR,12|M. Partielle</Content>
      <Time>DTA|2018.09.02.01.12.01</Time>
      <Zone>S32,0,99|70</Zone>
      <ZoneName>STR,16|</ZoneName>
      <Name>STR,15|ORION IP2 </Name>
      <Err/>
    </Alarm>
  </Host>
</Root>