[RELEASE] Abode Alarm system driver 2024

OK.. Updated HPM to version 2.0.3 I added a Multi Sensor driver as well. You'll need to update, then probably modify package to add in the new child Multi Sensor.

I do not have the "LM" sensor type. I believe it should work, however, if it does not, please send trace/debug output so I can check into it. Thank you.

1 Like

Added the multisensor. At first it did not show an available device when crafting a condition. After editing the syntax of the Abode Alarm 2024 line 168 from "illuminance" to the ' form as was the tempeture above it, the multisensor was able to be seen when making a contition using illuminance. However its value can not be read and returns as (null) when the debug log shows lux=4.

IF (Illuminance of Abode: Garage MultiSensor(null) is = 0(F) [FALSE])

dev:52024-09-09 13:09:08.275debugHTTPS GET /api/v1/devices/RF:03b2d530 results: 200

dev:52024-09-09 13:08:44.516errorjava.lang.ClassCastException: null (method parse)

dev:52024-09-09 13:08:44.502debugHTTPS GET /api/v1/devices/RF:03b2d580 results: 200

dev:52024-09-09 13:08:17.459debuggateway.timeline -Door Contact Garage House Door Closed

dev:52024-09-09 13:08:17.452debugHTTPS GET /api/v1/devices/RF:0bc43110 results: 200

dev:52024-09-09 13:08:10.107debugHTTPS GET /api/v1/devices/RF:03b2d530 results: 200

dev:52024-09-09 13:08:05.632debuggateway.timeline -Door Contact Garage House Door Opened

dev:52024-09-09 13:08:05.621debugHTTPS GET /api/v1/devices/RF:0bc43110 results: 200

dev:52024-09-09 13:08:01.827debugHTTPS GET /api/v1/devices/9152f2fb2a1f12298a068b11aa85b114 results: 200

dev:52024-09-09 13:12:54.636tracewebSocket Pong received

dev:52024-09-09 13:12:54.633tracewebSocket event raw: 3

dev:52024-09-09 13:12:54.566traceSending webSocket ping

dev:52024-09-09 13:12:44.618errorjava.lang.ClassCastException: null (method parse)

dev:52024-09-09 13:12:44.616tracehumidity: 26 %

dev:52024-09-09 13:12:44.614tracereply: [[actions:[[label:High Humidity Alarm, value:a=1&z=26&trigger=HMH;], [label:Low Humidity Alarm, value:a=1&z=26&trigger=HML;], [label:High Temperature Alarm, value:a=1&z=26&trigger=TSH;], [label:Low Temperature Alarm, value:a=1&z=26&trigger=TSL;]], area:1, bypass:0, control_url:, deep_link:null, default_group_id:1, faults:[jammed:0, low_battery:0, no_response:0, out_of_order:0, supervision:0, tempered:0, zwave_fault:0], group_id:1170489, group_name:Sensors and Controls, has_subscription:null, icon:assets/icons/occupancy-sensor.svg, id:RF:03b2d580, is_window:, name:Garage MultiSensor, onboard:0, origin:abode, s2_dsk:, s2_grnt_keys:, s2_keys_valid:, s2_propty:, schar_24hr:0, sort_id:3, sort_order:, sresp_24hr:0, sresp_entry_0:0, sresp_entry_1:0, sresp_entry_2:0, sresp_entry_3:0, sresp_entry_4:0, sresp_exit_0:0, sresp_exit_1:0, sresp_exit_2:0, sresp_exit_3:0, sresp_exit_4:0, sresp_mode_0:0, sresp_mode_1:0, sresp_mode_2:0, sresp_mode_3:0, sresp_mode_4:0, status:85 °F, statusEx:4, status_color:#5cb85c, status_display:Online, status_ex:, status_icons:, statuses:[humidity:26 %, lux:4 lx, temp:29.3, temperature:85 °F], type:LM, type_tag:device_type.lm, uuid:ea5ab2e7d0890f8fdcc3610ce483b2a9, version:, zone:26, zwave_secure_protocol:]]

dev:52024-09-09 13:12:44.609debugHTTPS GET /api/v1/devices/RF:03b2d580 results: 200

dev:52024-09-09 13:12:44.607trace[[actions:[[label:High Humidity Alarm, value:a=1&z=26&trigger=HMH;], [label:Low Humidity Alarm, value:a=1&z=26&trigger=HML;], [label:High Temperature Alarm, value:a=1&z=26&trigger=TSH;], [label:Low Temperature Alarm, value:a=1&z=26&trigger=TSL;]], area:1, bypass:0, control_url:, deep_link:null, default_group_id:1, faults:[jammed:0, low_battery:0, no_response:0, out_of_order:0, supervision:0, tempered:0, zwave_fault:0], group_id:1170489, group_name:Sensors and Controls, has_subscription:null, icon:assets/icons/occupancy-sensor.svg, id:RF:03b2d580, is_window:, name:Garage MultiSensor, onboard:0, origin:abode, s2_dsk:, s2_grnt_keys:, s2_keys_valid:, s2_propty:, schar_24hr:0, sort_id:3, sort_order:, sresp_24hr:0, sresp_entry_0:0, sresp_entry_1:0, sresp_entry_2:0, sresp_entry_3:0, sresp_entry_4:0, sresp_exit_0:0, sresp_exit_1:0, sresp_exit_2:0, sresp_exit_3:0, sresp_exit_4:0, sresp_mode_0:0, sresp_mode_1:0, sresp_mode_2:0, sresp_mode_3:0, sresp_mode_4:0, status:85 °F, statusEx:4, status_color:#5cb85c, status_display:Online, status_ex:, status_icons:, statuses:[humidity:26 %, lux:4 lx, temp:29.3, temperature:85 °F], type:LM, type_tag:device_type.lm, uuid:ea5ab2e7d0890f8fdcc3610ce483b2a9, version:, zone:26, zwave_secure_protocol:]]

Hope this helps

1 Like

I will take a look. Might need to add more debug lines to see more output.

1 Like

So line 167/168 were left over and should not have been in there...opps.

Added some other debug statements. Something is "null":

dev:52024-09-09 13:12:44.618errorjava.lang.ClassCastException: null (method parse)

It found and processed the humidity.... there should be a similar line for "temp :" and "lux :" but they do not appear.
dev:52024-09-09 13:12:44.616tracehumidity: 26 %

Added a new version, and more debug...

Should say something like "a = " + a + " AND b = " + b

Just need to see if I am doing something wrong with it or not..... Thanks.

1 Like

dev:52024-09-09 14:54:11.503tracewebSocket event raw: 42["com.goabode.device.update","SR:PIR"]

dev:52024-09-09 14:54:03.802tracewebSocket Pong received

dev:52024-09-09 14:54:03.800tracewebSocket event raw: 3

dev:52024-09-09 14:54:03.736traceSending webSocket ping

dev:52024-09-09 14:53:44.439errorjava.lang.ClassCastException: null (method parse)

dev:52024-09-09 14:53:44.437debuga = 19 AND b = %

dev:52024-09-09 14:53:44.435tracehumidity: 19 %

dev:52024-09-09 14:53:44.433tracereply: [[actions:[[label:High Humidity Alarm, value:a=1&z=26&trigger=HMH;], [label:Low Humidity Alarm, value:a=1&z=26&trigger=HML;], [label:High Temperature Alarm, value:a=1&z=26&trigger=TSH;], [label:Low Temperature Alarm, value:a=1&z=26&trigger=TSL;]], area:1, bypass:0, control_url:, deep_link:null, default_group_id:1, faults:[jammed:0, low_battery:0, no_response:0, out_of_order:0, supervision:0, tempered:0, zwave_fault:0], group_id:1170489, group_name:Sensors and Controls, has_subscription:null, icon:assets/icons/occupancy-sensor.svg, id:RF:03b2d580, is_window:, name:Garage MultiSensor, onboard:0, origin:abode, s2_dsk:, s2_grnt_keys:, s2_keys_valid:, s2_propty:, schar_24hr:0, sort_id:3, sort_order:, sresp_24hr:0, sresp_entry_0:0, sresp_entry_1:0, sresp_entry_2:0, sresp_entry_3:0, sresp_entry_4:0, sresp_exit_0:0, sresp_exit_1:0, sresp_exit_2:0, sresp_exit_3:0, sresp_exit_4:0, sresp_mode_0:0, sresp_mode_1:0, sresp_mode_2:0, sresp_mode_3:0, sresp_mode_4:0, status:87 °F, statusEx:0, status_color:#5cb85c, status_display:Online, status_ex:, status_icons:, statuses:[humidity:19 %, lux:0 lx, temp:30.7, temperature:87 °F], type:LM, type_tag:device_type.lm, uuid:ea5ab2e7d0890f8fdcc3610ce483b2a9, version:, zone:26, zwave_secure_protocol:]]

dev:52024-09-09 14:53:44.430debugHTTPS GET /api/v1/devices/RF:03b2d580 results: 200

dev:52024-09-09 14:53:44.428trace[[actions:[[label:High Humidity Alarm, value:a=1&z=26&trigger=HMH;], [label:Low Humidity Alarm, value:a=1&z=26&trigger=HML;], [label:High Temperature Alarm, value:a=1&z=26&trigger=TSH;], [label:Low Temperature Alarm, value:a=1&z=26&trigger=TSL;]], area:1, bypass:0, control_url:, deep_link:null, default_group_id:1, faults:[jammed:0, low_battery:0, no_response:0, out_of_order:0, supervision:0, tempered:0, zwave_fault:0], group_id:1170489, group_name:Sensors and Controls, has_subscription:null, icon:assets/icons/occupancy-sensor.svg, id:RF:03b2d580, is_window:, name:Garage MultiSensor, onboard:0, origin:abode, s2_dsk:, s2_grnt_keys:, s2_keys_valid:, s2_propty:, schar_24hr:0, sort_id:3, sort_order:, sresp_24hr:0, sresp_entry_0:0, sresp_entry_1:0, sresp_entry_2:0, sresp_entry_3:0, sresp_entry_4:0, sresp_exit_0:0, sresp_exit_1:0, sresp_exit_2:0, sresp_exit_3:0, sresp_exit_4:0, sresp_mode_0:0, sresp_mode_1:0, sresp_mode_2:0, sresp_mode_3:0, sresp_mode_4:0, status:87 °F, statusEx:0, status_color:#5cb85c, status_display:Online, status_ex:, status_icons:, statuses:[humidity:19 %, lux:0 lx, temp:30.7, temperature:87 °F], type:LM, type_tag:device_type.lm, uuid:ea5ab2e7d0890f8fdcc3610ce483b2a9, version:, zone:26, zwave_secure_protocol:]]

1 Like

I matched the child drivers to the parent, then I tried to update, but get the following:

Any ideas?

Ok... pushed a new update. Added MORE debugging. Also attempted to fix the ClassCastException issue that is being flagged.

Is the humidity being set properly? (I would think yes, but want to make sure). The Cast issue comes with the "temp" reading, so attempting to resolve that.

Also started to add code to detect an "Alarm" event. (will add child device for it later too)

2 Likes

Thanks for the update. The humidity readings are plausable is I am in the Arizona High Country. I will go get the updates and try them now.

1 Like

dev:52024-09-10 11:42:04.914tracewebSocket Pong received

dev:52024-09-10 11:42:04.912tracewebSocket event raw: 3

dev:52024-09-10 11:42:04.856traceSending webSocket ping

dev:52024-09-10 11:41:47.014errorjava.lang.ClassCastException: null (method parse)

dev:52024-09-10 11:41:47.013debuga = 23 AND b = %

dev:52024-09-10 11:41:47.011tracehumidity: 23 %

dev:52024-09-10 11:41:47.009tracex86cpu DEBUG: lux: 4 lx

dev:52024-09-10 11:41:47.007tracex86cpu DEBUG: temp: 28.7

dev:52024-09-10 11:41:47.004tracex86cpu DEBUG: humidity: 23 %

dev:52024-09-10 11:41:47.001tracereply: [[actions:[[label:High Humidity Alarm, value:a=1&z=26&trigger=HMH;], [label:Low Humidity Alarm, value:a=1&z=26&trigger=HML;], [label:High Temperature Alarm, value:a=1&z=26&trigger=TSH;], [label:Low Temperature Alarm, value:a=1&z=26&trigger=TSL;]], area:1, bypass:0, control_url:, deep_link:null, default_group_id:1, faults:[jammed:0, low_battery:0, no_response:0, out_of_order:0, supervision:0, tempered:0, zwave_fault:0], group_id:1170489, group_name:Sensors and Controls, has_subscription:null, icon:assets/icons/occupancy-sensor.svg, id:RF:03b2d580, is_window:, name:Garage MultiSensor, onboard:0, origin:abode, s2_dsk:, s2_grnt_keys:, s2_keys_valid:, s2_propty:, schar_24hr:0, sort_id:3, sort_order:, sresp_24hr:0, sresp_entry_0:0, sresp_entry_1:0, sresp_entry_2:0, sresp_entry_3:0, sresp_entry_4:0, sresp_exit_0:0, sresp_exit_1:0, sresp_exit_2:0, sresp_exit_3:0, sresp_exit_4:0, sresp_mode_0:0, sresp_mode_1:0, sresp_mode_2:0, sresp_mode_3:0, sresp_mode_4:0, status:84 °F, statusEx:4, status_color:#5cb85c, status_display:Online, status_ex:, status_icons:, statuses:[humidity:23 %, lux:4 lx, temp:28.7, temperature:84 °F], type:LM, type_tag:device_type.lm, uuid:ea5ab2e7d0890f8fdcc3610ce483b2a9, version:, zone:26, zwave_secure_protocol:]]

dev:52024-09-10 11:41:46.997debugHTTPS GET /api/v1/devices/RF:03b2d580 results: 200

dev:52024-09-10 11:41:46.994trace[[actions:[[label:High Humidity Alarm, value:a=1&z=26&trigger=HMH;], [label:Low Humidity Alarm, value:a=1&z=26&trigger=HML;], [label:High Temperature Alarm, value:a=1&z=26&trigger=TSH;], [label:Low Temperature Alarm, value:a=1&z=26&trigger=TSL;]], area:1, bypass:0, control_url:, deep_link:null, default_group_id:1, faults:[jammed:0, low_battery:0, no_response:0, out_of_order:0, supervision:0, tempered:0, zwave_fault:0], group_id:1170489, group_name:Sensors and Controls, has_subscription:null, icon:assets/icons/occupancy-sensor.svg, id:RF:03b2d580, is_window:, name:Garage MultiSensor, onboard:0, origin:abode, s2_dsk:, s2_grnt_keys:, s2_keys_valid:, s2_propty:, schar_24hr:0, sort_id:3, sort_order:, sresp_24hr:0, sresp_entry_0:0, sresp_entry_1:0, sresp_entry_2:0, sresp_entry_3:0, sresp_entry_4:0, sresp_exit_0:0, sresp_exit_1:0, sresp_exit_2:0, sresp_exit_3:0, sresp_exit_4:0, sresp_mode_0:0, sresp_mode_1:0, sresp_mode_2:0, sresp_mode_3:0, sresp_mode_4:0, status:84 °F, statusEx:4, status_color:#5cb85c, status_display:Online, status_ex:, status_icons:, statuses:[humidity:23 %, lux:4 lx, temp:28.7, temperature:84 °F], type:LM, type_tag:device_type.lm, uuid:ea5ab2e7d0890f8fdcc3610ce483b2a9, version:, zone:26, zwave_secure_protocol:]]

1 Like

Well... the Cast issue is still there. It gives an error and will stop processing it at that point, which seems to be in the temperature area. Not sure how to replicate this to fix it any quicker.

1 Like

I have motion and multi-sensor on order now.

1 Like

Ok... Just a minor update. I got a motion and multi-sensor, so I'll need to get those registered and linked and then can test with those.

I also had an issue that was getting a bad SSL cert name mismatch last night. I just needed to reboot hubitat as something was cached with my.goabode.com

3 Likes

Was working until last night. Could have been caused by my ISP going down for about 45 minutes around 3:30am. Got logged out.

Today attempting to login returns
groovyx.net.http.HttpResponseException: status code: 403, reason phrase: Forbidden

Credentials work when browsing to my.goabode.com.

Update: Installing the original Abode IOTA driver allowed logging in. Then installing the 2024 version of the driver kept the login status. Its working again. Seems to not like something with the MFA on line 262 and 229.

dev:52024-09-22 19:54:02.642errorjava.lang.NullPointerException: Cannot invoke method isEmpty() on null object on line 262 (method refresh)
dev:52024-09-22 19:54:02.638errorgroovyx.net.http.HttpResponseException: status code: 403, reason phrase: Forbidden
dev:52024-09-22 19:54:00.115errorjava.lang.NullPointerException: Cannot invoke method isEmpty() on null object on line 229 (method login)

1 Like

I just tested this morning. I used the logout and then login and it all worked ok. Maybe was temporary? If anything about a SSL invalid host, etc,. I had to reboot my hubitat to get that working. Unsure really.,. I use MFA and it seems to be working ok for me still.

1 Like

Ok..both of those are attempting to use "mfa_seed" which is null and not defined, so it cannot check if it "isEmpty" on it. Unless you "save" preferences after changing the driver to the 2024 you may get that error as "mfa_seed" is not saved.

Update: If you go back to the non-2024 version, then upgrade, you may loose your mfa private key seed that Abode uses. So if you used it, you will have to reenter/save it again.

1 Like

Thank you for the insights. I didn't have access to the abode secret any more so I just using my login name, password and one time code to log in. I have since reissued my MFA on abode to get a new secret which I added to the driver. What I was doing before was enter the one time code, save, then login which got me the error. Returned to the original, entered credentials including the one time code, save the preferences then hit login before the code expired of course. I discovered I could swap drivers back to the 2024 version, hit save without entering anything as it is a force of habbit, and refresh would report status as logged in.

1 Like

I'm a little bit lost in the discussion here. But I started experiencing a failure to log in due to 2FA a couple of days ago. I just disabled 2FA in the Abode dashboard and now I'm getting "javax.net.ssl.SSLPeerUnverifiedException: Certificate for doesn't match any of the subject alternative names: [*.gomercatus.com, *.portal.gomercatus.com]" in the Logs.

Can someone explain the steps I need to take to get back online? I'm willing to live without 2FA for a while if that's what it takes.

1 Like

Reboot hubitat. I had that issue as well. SSL peer mismatch, but mine was a different name. I am also running BETA habitat and some changes have to do with DNS TTL, etc... so the Beta firmware may be some of the issue. Rebooting Hubitat seemed to clear out the DNS cache on the hubitat.

1 Like

Eric, I appreciate your patience. Would you (or anyone else out there) be willing to dumb it down for me? I now have the old original driver (device 82) and the new 2024 driver installed (device 113) and I'm getting the following errors. I've rebooted the hub (fwiw, I only have remote access to the hub which is 500 miles away), and I've diabled and reenabled 2FA on Abode. I don't know where to get the "Current MFA Seed" mentioned above.

1 Like

OK I found a reference to where to find the Current MFA Seed in another discussion, and I plugged that into your driver but I'm still getting the same results on Device 113 (screenshot above). At least that's one variable removed...

1 Like