Qolsys IQ Panel 2 and 3rd party integration

I have a Qolsys and Interlogix motion sensor paired to the panel as a security sensors. They both use the 319.5MHz frequency.

When I was looking through the documentation for the Qolsys motion sensor I just got, it mentioned the 70min heartbeat. But this was something I was already seeing previously with the Interlogix sensor.

I am still using the NodeRed Integration since it has been relatively stable. When looking at the JSON I was not able to distinguish a heartbeat from an actual event.

I don’t know if they are present on the ad-Qolsys or qolsysgw, that’s what I was wondering. If they aren’t then I’m wondering how they are being identified as heartbeat and not normal events from the JSON?

I haven’t tried your integration yet. I was being complacent since NodeRed was doing the job. But if that motion sensor heartbeat issue is not occuring, they will have to find some time to give it a try.

The motion sensors I’ve tried things with are PowerG, so that might be slightly different behavior than with 319.15MHz. Would love to have more information about what contains the JSON being sent. From what I’ve seen working with the panel, a motion will send a notification indicating the sensor is open (“something detected”), and send another notification indicating the sensor is closed (“end of detection”). There is thus not a lot of logic needed to handle “is that a detection or not”, and I would expect the heartbeat to be something just reminding of the current state of the sensor, which shouldn’t do anything weird in home assistant (at least with how qolsysgw works).
That being said, all of what I’m saying here is very theoritical, and the easiest way would be to see those JSON messages, and even better if you can try the automation out!

1 Like

From what I remember the heartbeat event appears as a motion open event (identical to a real motion event), and then close event 20s later. This happen every 80min based looking at my HA logs (even though manual says 70min).

I’ll need some time to setup your integration. I have about 20 sensors / entities I already created, some involved in automations. I just need to make sure I can migrate them to your integration for the least amount of work. Then I can give some more useful details.

I would love to see those events, but yeah if they’re exactly the same, the effect might be similar and difficult to avoid without risk of losing valuable information. One way might be to consider the 70mn on the Qolsys Gateway side too, but would love to see those messages, maybe there’s an information somewhere in there that we could help to avoid “hacking” our way in there, but adding a “hack-ish” option wouldn’t be something I’d be opposed too if we’re able to make it work. I might require assistance for that though, since I don’t have any radio frequency support in my home system :slight_smile:

I have a IQ2+ driver for Hubitat, which is based off of the great work some of the people here did.

Don’t know if the code would be useful for anyone here, but it’s at Hubitat/QolSysIQPanel at main · dcaton/Hubitat · GitHub and the main file of interest would be Hubitat/QolSysIQ-Panel.groovy at main · dcaton/Hubitat · GitHub.

I’ve only recently released the drivers, but they’ve been rock solid for me for almost a year now.

Anyhow, regarding the IQ4, a Hubitat user recently tried to use my drivers on his IQ4 and it doesn’t work. Apparently they’ve changed the port from 12345 to 9200, but he can’t get past the ssl handshake, at least with Curl. Thread is here: [RELEASE] QolSys IQ Alarm Panel Drivers - #7 by grinch72 - Custom Drivers - Hubitat

I don’t have a IQ4 so no way for me to test, but if I find out anything I’ll post it here.

Great work! I’ve been using it for a few days now and no timeouts so far! Glad to see many more people interested in getting this all working. It would be really nice if we could one day get an official Home Assistant integration but that may take some time as it would have to be rock solid.

1 Like

Happy to know it’s being stable for you too! I actually started looking at writing it to include in Home Assistant as a direct integration. Since I already wrote my automation to exploit an async approach, that should be something doable. But I’m not entirely certain this would be a net gain as at the moment, in case of issue, restarting appdaemon allows to reset the automation, while with home assistant it would require a full reset.

Would disabling and re-enabling the Add-on have the same effect?

I’ve also been testing your integration over the past week or so and it’s been very stable. Thanks for sharing this with the community!

Hi, I had some time to setup AppDaemon and Your Gateway integration.

It looks like most things are working. I am seeing an issue with my motions sensors.

With the gateway Integration no motion events are detected. Looking at your interactions documentation on GitHub, I’m assuming that you look for Status: “Open” and and “Closed” for the motion sensors too?

When I was setting up the NodeRed integration of the panel, I noticed that the motion sensor status never changed in the JSON. It was either always open or closed, I forget. So instead of using status i defined Zone Active as Open and Zone Update as Closed. This worked fine, except that the heartbeat also triggered an open event.

Is there a way to view or log the JSON from the panel with the Gateway integration? It’s been about a year since I looked at what’s coming in. I could pass you a sample.

Assuming other people have motion sensors that work fine, I’m wondering what type are they? Z-wave?

PS is there an equivalent of “arm_away_exit_delay” for Arm Stay / Arm Home? I’d like to be able to adjust that timing as well.

I’m noticing that the Gateway is reconnecting to the IQ panel every 65-70min. I have a feeling this is related to the motion sensor heartbeat. Maybe due to the fact that the sensor doesn’t output both open and close status, the gateway app is resetting the connection because the motion sensor ‘appears’ unresponsive?

I can take the batteries out of the motion sensors later today to see if the heartbeat is connected to the regular reconnects.

So let me know if I miss some of your questions, I’ll try to answer to everything :smiley:

Looking at your interactions documentation on GitHub, I’m assuming that you look for Status: “Open” and and “Closed” for the motion sensors too? […] So instead of using status i defined Zone Active as Open and Zone Update as Closed. This worked fine, except that the heartbeat also triggered an open event.

Yes, I check the actual status of the sensor reported by the events. ZONE_ACTIVE events are related to a change happening, while ZONE_UPDATE events seemed to be related to the regular heartbeat of the whole system that’s happening regularly to inform of the current status of sensors that haven’t changed recently, and inform they’re still around and working.

Is there a way to view or log the JSON from the panel with the Gateway integration? It’s been about a year since I looked at what’s coming in. I could pass you a sample.

Yes, you can set the AppDaemon flag for debug with log_level: DEBUG in your apps.yaml. This will automatically enable all the debug logs, which include whatever information is received from the panel itself, and the full path (panel → qolsysgw → mqtt event → qolsysgw → [whatever happens from that]). That will give you (and me from what you’ll share!) all the needed information to figure things out :slight_smile:

Assuming other people have motion sensors that work fine, I’m wondering what type are they? Z-wave?

Can’t talk for others, my motion sensors are PowerG.

PS is there an equivalent of “arm_away_exit_delay” for Arm Stay / Arm Home? I’d like to be able to adjust that timing as well.

Haven’t built it in as I didn’t realize this was something that was supported for arm stay also. I can add a new arm_stay_exit_delay parameter that would be use in such case. Created Add `arm_stay_exit_delay` parameter to change the delay to use when arming in stay / home mode · Issue #5 · XaF/qolsysgw · GitHub to track.

I’m noticing that the Gateway is reconnecting to the IQ panel every 65-70min. I have a feeling this is related to the motion sensor heartbeat.

A full reset might mean that some event received by the panel is not handled properly by qolsysgw. To avoid a full crash and a desync, qolsysgw would restart in such case so it resets the maintained state. With the DEBUG logs, we should be able to know more about this. That being said, even without the full debug logs, you should already be able to see what are the last events that trigger a full restart ?

1 Like

Would disabling and re-enabling the Add-on have the same effect?

Not entirely sure it would. I didn’t observe that for other integrations in Home Assistant.

I’ve also been testing your integration over the past week or so and it’s been very stable. Thanks for sharing this with the community!

My pleasure! Happy it’s being stable for others!!

A public service announcement. There is a change in the IQ2 Panel firmware sometime after v2.4.2 that affects how the Panel reports motion sensor events to HA in the JSON. If you are having issue seeing your motion events in HA, you may want to update your panel firmware.

OTA Firmware updates don’t appear to be automatic. My panel was on the same version from 14months ago when I got it. Firmware upgrades do not affect your settings or sensors, so the process is painless. Because all security companies are relying on Alarm.com to communicate with these panels, I think we are all using the same firmware line.

Here is a link on how to update via WiFi:
https://www.alarmgrid.com/downloads/qolsys-iqpanel2plus-firmware-updates

This is for the IQ2 Panel Plus, but I think it also applies to the standard IQ2 Panel. Make sure to read the the instructions, specifically this "making sure your panel is on version 2.0.1 or higher, or if the panel is on 2.5.0 or 2.5.1, that the user first updates to 2.5.3 before running the update for 2.6.0"

In my case:
Started Firmware v2.4.2
Upgaded to Firmware v2.5.3
Upgraded to Firmware v2.6.0

Upgraded to Firmware v2.6.2 (This release requires 6-digit user code to arm/disarm the panel from HA)

Don’t do a direct upgrade to v2.6.2

Thanks again, your Gateway integration seems to be working solidly the last week. Motion sensors are working too.

I just wish I hadn’t upgraded my panel firmware to 2.6.2, that 6digit user code is anonying and apparently incompatible with the Alexa alarm panel integration for disarming.

1 Like

Are you able to downgrade to 2.6.1 ? In 2.6.1, the 6-digit code is only an option, not mandatory!

That’s a great question, I don’t know if you can flash an earlier version? I’m afraid I might brick the panel.

EDIT: doing some googling, I’ve seen posts from earlier IQ2 panel firmware versions where users wanted to downgrade, and they all concluded downgrading was not possible.

Out of curiosity, does anyone know what happens if you repeatedly enter incorrect user pass codes through the websocket? Does the alarm go off, websocket connection get dropped, IP get banned, third party integration get switched off? I was wondering what sort of protection there is against a brute force pass code discovery.

Just switched from ad-qolsys to qolsysgw and most things are looking good so far.

The only odd thing is that I can’t get my Lovelace alarm panel card working. I have a device for my panel but I don’t have an entity for the panel. Am I just missing something obvious? It is late at night here so maybe taking a break and looking at it with a fresh set of eyes tomorrow will help.

@takeshi
My panel entity name is alarm_control_panel.partition1

Configuration / Devices & Services / MQTT / Qolsys Panel / Controls (Alarm Panel entity here)

When adding a card to Lovelace, add by entity and put in alarm_control_panel.partition1. This will retrieve the alarm panel card.

Thanks for the info! The problem is that the integration didn’t create a panel entity. It did create entities for all the sensors and a device for the panel. I’ve cleared out the retained MQTT messages but still no luck. Guess I’ll keep looking into it…