Qolsys IQ Panel 2 and 3rd party integration

I did. The Qolsys panel made me change my code to 6 digit to enable 3rd party. I created a new user in my panel (so I would know when the panel was armed, disarmed via HA), created a six digit code, and then put that code in my yaml file.

I checked the logs in the Appdeamon add on and I don’t see any errors right now. When I push the disarm button it’s as if nothing happens at all in the app, panel, or logs.

Just out of curiosity did you try going into developers tools, states, alarm_control_panel.qolsys_panel_system and try setting the state to disarmed when it’s armed?

Ok so if I do that, it changes the state to disarmed in the app only. The panel remains armed.

Have you tried rebooting the panel? Also another idea is delete out the code in the yaml and see if entering the code in when you try to disarm it in HA works. Sorry just grasping here since there are no logs erroring out to point us in a good direction

I have a question, is it possible to have certain HA users only see the keypad and have to enter the code to disarm and others have the code in apps.yaml be passed through and not need to enter a code to arm/disarm? The reason I ask is because I was thinking of mounting a tablet and don’t want that one to disarm without a code while other devices(like phones) to be able to disarm without a code.

I am currently struggling with getting qolsysgw operating with my Home Assistant server. To be honest, while I am fairly familiar with Home Assistant, this is my first time interacting with AppDaemon4 and Qolsys Gateway. Looking at the documentation on the qolsysgw github page, the appdaemon4 addon documentation, and the appdaemon wiki, there seems to be some differences in install locations, so maybe this is where my error lies?

My setup is an x86 hass-os VM running on an esxi hypervisor. I’m currently running:
Home Assistant 2024.03.03
Supervisor 2024.03.1
Mosquitto broker 6.4.0 (HA addon)
HACS 1.34.0
Qolsys IQPanel2 running 2.7.1-ADCS 9.7.2

Steps to Reproduce

  1. Install AppDaemon 0.16.4 via HA add-on store. I enabled start on boot and watchdog.

  2. Launch HACS, go to Automation Tab, search for Qolsys Gateway, press Download to install v1.6.0.
    According to the dialog, When downloaded this will be located in ‘/config/appdaemon/apps/qolsysgw’

  3. Generate and SCP the following YAML to /config/appdaemon/appdaemon.yaml
    note: there’s no ha_url or token keys, since the HA addon takes care of that.

appdaemon:
  latitude: 0
  longitude: 0
  elevation: 2
  time_zone: America/New_York
  plugins:
    HASS:
      type: hass
    MQTT:
      type: hass
      namespace: mqtt
      client_host: 'core-mosquitto'
      client_port: 1883
      client_id: my-appdaemon     
      verbose: true

  1. Generate and SCP the following YAML to /config/appdaemon/apps/apps.yaml
qolsys_panel:
  module: gateway
  class: QolsysGateway
  panel_host: '192.168.6.99'      # pulled from my router
  panel_mac: 'aa:bb:cc:11:22:33'  # pulled from my router
  panel_token: 'abc123'           # retrieved from IQPanel2
  panel_user_code: '123456'
  arm_away_exit_delay: 15
  arm_away_bypass: false
  arm_stay_bypass: true
  panel_unique_id: 'da_alarm'

  1. Restart the AppDaemon addon. I noticed that a hello world app is running, and that isn’t found in /config/appdaemon/apps, nor is it listed in /config/appdaemon/apps/apps.yaml
    I dig around the system and notice that hello.py is located in /root/addon_configs/a07b954_appdaemon/apps
-----------------------------------------------------------
 Add-on: AppDaemon
 Python Apps and Dashboard using AppDaemon 4.x for Home Assistant
-----------------------------------------------------------
 Add-on version: 0.16.4
 You are running the latest version of this add-on.
 System: Home Assistant OS 12.1  (amd64 / qemux86-64)
 Home Assistant Core: 2024.3.3
 Home Assistant Supervisor: 2024.03.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-appdaemon: starting
s6-rc: info: service init-appdaemon successfully started
s6-rc: info: service appdaemon: starting
s6-rc: info: service appdaemon successfully started
s6-rc: info: service legacy-services: starting
[14:04:16] INFO: Starting AppDaemon...
s6-rc: info: service legacy-services successfully started
2024-03-27 19:04:17.743078 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2024-03-27 19:04:17.743255 INFO AppDaemon: Python version is 3.11.6
2024-03-27 19:04:17.743350 INFO AppDaemon: Configuration read from: /config/appdaemon.yaml
2024-03-27 19:04:17.743438 INFO AppDaemon: Added log: AppDaemon
2024-03-27 19:04:17.743534 INFO AppDaemon: Added log: Error
2024-03-27 19:04:17.743614 INFO AppDaemon: Added log: Access
2024-03-27 19:04:17.743692 INFO AppDaemon: Added log: Diag
2024-03-27 19:04:17.843152 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2024-03-27 19:04:17.941982 INFO HASS: HASS Plugin Initializing
2024-03-27 19:04:17.942147 WARNING HASS: ha_url not found in HASS configuration - module not initialized
2024-03-27 19:04:17.942248 INFO HASS: HASS Plugin initialization complete
2024-03-27 19:04:17.942447 INFO AppDaemon: Initializing HTTP
2024-03-27 19:04:17.942693 INFO AppDaemon: Using 'ws' for event stream
2024-03-27 19:04:17.944583 INFO AppDaemon: Starting API
2024-03-27 19:04:17.945631 INFO AppDaemon: Starting Admin Interface
2024-03-27 19:04:17.945818 INFO AppDaemon: Starting Dashboards
2024-03-27 19:04:17.967224 INFO HASS: Connected to Home Assistant 2024.3.3
2024-03-27 19:04:17.973277 INFO AppDaemon: App 'hello_world' added
2024-03-27 19:04:17.973766 INFO AppDaemon: Found 1 active apps
2024-03-27 19:04:17.973863 INFO AppDaemon: Found 0 inactive apps
2024-03-27 19:04:17.973946 INFO AppDaemon: Found 0 global libraries
2024-03-27 19:04:17.974036 INFO AppDaemon: Starting Apps with 1 workers and 1 pins
2024-03-27 19:04:17.975175 INFO AppDaemon: Running on port 5050
2024-03-27 19:04:17.995611 INFO HASS: Evaluating startup conditions
2024-03-27 19:04:18.001168 INFO HASS: Startup condition met: hass state=RUNNING
2024-03-27 19:04:18.001300 INFO HASS: All startup conditions met
2024-03-27 19:04:18.014710 INFO AppDaemon: Got initial state from namespace default
2024-03-27 19:04:19.978368 INFO AppDaemon: Scheduler running in realtime
2024-03-27 19:04:19.979450 INFO AppDaemon: Adding /config/apps to module import path
2024-03-27 19:04:19.980265 INFO AppDaemon: Loading App Module: /config/apps/hello.py
2024-03-27 19:04:19.996913 INFO AppDaemon: Loading app hello_world using class HelloWorld from module hello
2024-03-27 19:04:19.997898 INFO AppDaemon: Calling initialize() for hello_world
2024-03-27 19:04:20.023658 INFO hello_world: Hello from AppDaemon
2024-03-27 19:04:20.024276 INFO hello_world: You are now ready to run Apps!
2024-03-27 19:04:20.025447 INFO AppDaemon: App initialization complete

  1. I moved my apps.yaml and merged my appdaemon.yaml to this new appdaemon root. At this point, here are my 2 config files.

/root/addon_configs/a07b954_appdaemon/appdaemon.yaml

appdaemon:
  latitude: 0
  longitude: 0
  elevation: 2
  time_zone: America/New_York
  plugins:
    HASS:
      type: hass
    MQTT:
      type: hass
      namespace: mqtt
      client_host: 'core-mosquitto'
      client_port: 1883
      client_id: my-appdaemon     
      verbose: true
http:
  url: http://127.0.0.1:5050
admin:
api:
hadashboard:

/root/addon_configs/a07b954_appdaemon/apps.yaml

qolsys_panel:
  module: gateway
  class: QolsysGateway
  panel_host: '192.168.6.99'      # pulled from my router
  panel_mac: 'aa:bb:cc:11:22:33'  # pulled from my router
  panel_token: 'abc123'           # retrieved from IQPanel2
  panel_user_code: '123456'
  arm_away_exit_delay: 15
  arm_away_bypass: false
  arm_stay_bypass: true
  panel_unique_id: 'da_alarm'

  1. I restarted AppDaemon again, now that I moved these config files. It looks like ‘qolsys_panel’ is active but is not starting? I also noted that hello.py is no longer running, so the change I made to apps.yaml, removing hello world does seem to take place, but I don’t see any further logs for Qolsys Gateway.
-----------------------------------------------------------
 Add-on: AppDaemon
 Python Apps and Dashboard using AppDaemon 4.x for Home Assistant
-----------------------------------------------------------
 Add-on version: 0.16.4
 You are running the latest version of this add-on.
 System: Home Assistant OS 12.1  (amd64 / qemux86-64)
 Home Assistant Core: 2024.3.3
 Home Assistant Supervisor: 2024.03.1
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-appdaemon: starting
s6-rc: info: service init-appdaemon successfully started
s6-rc: info: service appdaemon: starting
s6-rc: info: service appdaemon successfully started
s6-rc: info: service legacy-services: starting
[14:24:03] INFO: Starting AppDaemon...
s6-rc: info: service legacy-services successfully started
2024-03-27 14:24:05.433714 INFO AppDaemon: AppDaemon Version 4.4.2 starting
2024-03-27 14:24:05.433822 INFO AppDaemon: Python version is 3.11.6
2024-03-27 14:24:05.433883 INFO AppDaemon: Configuration read from: /config/appdaemon.yaml
2024-03-27 14:24:05.433940 INFO AppDaemon: Added log: AppDaemon
2024-03-27 14:24:05.433997 INFO AppDaemon: Added log: Error
2024-03-27 14:24:05.434045 INFO AppDaemon: Added log: Access
2024-03-27 14:24:05.434108 INFO AppDaemon: Added log: Diag
2024-03-27 14:24:05.525507 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2024-03-27 14:24:05.624068 INFO HASS: HASS Plugin Initializing
2024-03-27 14:24:05.624182 WARNING HASS: ha_url not found in HASS configuration - module not initialized
2024-03-27 14:24:05.624246 INFO HASS: HASS Plugin initialization complete
2024-03-27 14:24:05.624367 INFO AppDaemon: Loading Plugin MQTT using class HassPlugin from module hassplugin
2024-03-27 14:24:05.624443 INFO MQTT: HASS Plugin Initializing
2024-03-27 14:24:05.624488 WARNING MQTT: ha_url not found in HASS configuration - module not initialized
2024-03-27 14:24:05.624534 INFO MQTT: HASS Plugin initialization complete
2024-03-27 14:24:05.624662 INFO AppDaemon: Initializing HTTP
2024-03-27 14:24:05.624789 INFO AppDaemon: Using 'ws' for event stream
2024-03-27 14:24:05.626537 INFO AppDaemon: Starting API
2024-03-27 14:24:05.627546 INFO AppDaemon: Starting Admin Interface
2024-03-27 14:24:05.627671 INFO AppDaemon: Starting Dashboards
2024-03-27 14:24:05.637977 INFO HASS: Connected to Home Assistant 2024.3.3
2024-03-27 14:24:05.638478 INFO MQTT: Connected to Home Assistant 2024.3.3
2024-03-27 14:24:05.654147 INFO AppDaemon: App 'qolsys_panel' added
2024-03-27 14:24:05.655364 INFO AppDaemon: Found 1 active apps
2024-03-27 14:24:05.655476 INFO AppDaemon: Found 0 inactive apps
2024-03-27 14:24:05.655552 INFO AppDaemon: Found 0 global libraries
2024-03-27 14:24:05.655637 INFO AppDaemon: Starting Apps with 1 workers and 1 pins
2024-03-27 14:24:05.655982 INFO AppDaemon: Running on port 5050
2024-03-27 14:24:05.674328 INFO MQTT: Evaluating startup conditions
2024-03-27 14:24:05.685394 INFO HASS: Evaluating startup conditions
2024-03-27 14:24:05.687592 INFO MQTT: Startup condition met: hass state=RUNNING
2024-03-27 14:24:05.687712 INFO MQTT: All startup conditions met
2024-03-27 14:24:05.691018 INFO HASS: Startup condition met: hass state=RUNNING
2024-03-27 14:24:05.691163 INFO HASS: All startup conditions met
2024-03-27 14:24:05.707532 INFO AppDaemon: Got initial state from namespace mqtt
2024-03-27 14:24:05.714045 INFO AppDaemon: Got initial state from namespace default
2024-03-27 14:24:07.661069 INFO AppDaemon: Scheduler running in realtime
2024-03-27 14:24:07.662992 INFO AppDaemon: Adding /config/apps to module import path
2024-03-27 14:24:07.664367 WARNING AppDaemon: No app description found for: /config/apps/hello.py - ignoring
2024-03-27 14:24:07.665373 INFO AppDaemon: App initialization complete

So it seems that HACS installed the actual qolsysgw app to /config/appdaemon/apps/qolsysgw but the configs being read are in /root/addon_configs/a07b954_appdaemon/

  1. I created a symlink for the qolsysgw folder to try and fix that.
cd /root/addon_configs/a07b954_appdaemon/apps
ln -s /config/appdaemon/apps/qolsysgw

This has me end up with this file tree.

➜  a0d7b954_appdaemon pwd
/root/addon_configs/a0d7b954_appdaemon
➜  a0d7b954_appdaemon tree
.
├── appdaemon.yaml
├── apps
│   ├── apps.yaml
│   ├── hello.py
│   └── qolsysgw -> /config/appdaemon/apps/qolsysgw
├── compiled
│   ├── css
│   └── javascript
├── dashboards
│   └── Hello.dash
├── namespaces
└── www

But I get the same exact log as above.

Any help would be greatly appreciated!

@bcre3306 wow good catch. If I delete the code in the yaml file, the panel pops back up on my dashboard (of course). When I enter the code, it will in fact disarm the alarm system. So something must be off when I enter the code in the yaml file. Something but Im not sure what. I have double checked the spacing, code, etc.

@bumpyj38 Are you by chance using the installer code instead of a normal code? I think I remember reading somewhere that this solution won’t work with the installer code. If not maybe just try creating another code on the panel and try using that in the yaml.

no I created a new code so that I would know whenever it was deactivated by Home Assistant.

you didn’t have any spaces before or after your code in the yaml did you? Sorry just grasping at straws right now!

Sorry for the late response. Yes I had one space but I thought that was required. So it says “panel_user_code:” then one space then my code.
But if I do it with no space there it gives me an error. With one space there there is no error. It just doesn’t do anything.

@bumpyj38 No that seems correct. I’m not sure what it could be at this point. Have you tried changing the log levels?

What do you mean changing the log levels? I have not done this.

Take a look at this

Hello All, As we are all usign the addon, I have a question. Do you know if other type of sensors is avialble with this integration. Garage Door, Door Lock, etc…?

Thank you in advance
T

Hi,

I just found this integration and I’ve been struggling to get it to work. I think I have HACS, appdaemon and the qolsysgw installed and configured correctly.

My problem seems to be that I cannot ping my Qolsys Panel 4. I’ve turned on the 6 digit pin, turn on the Control4, the panel reboots and I cannot remotely ping the device. I’ve assigned a static IP to the device, so I know exactly what the IP is.

I see above someone mention that regenerating the token to help, but for the life of me nothing works.

Any one experiencing something similiar?

1 Like

I think this is what saved me. I moved the qolsysgw folder and it finally worked. I didn’t do a link like yourself, but instead just copied it into the Appdaemon app’s folder.

1 Like

Same thing happened to me. Glad you got it working @boggie1688

1 Like

Weird that they suggest installing through HACS but it puts the folder in the wrong place. Hope the author will update the documentation.

2 Likes

thank you! was literally looking for this…