[Edge Driver] Halo Smoke and CO Detector

@johnconstantelo This is awesome. Granted Halo is long gone but I’m glad to get the remaining years out of the devices before they age out (or die prematurely which I have had several).

A couple of questions:

Concerning the lack of the “Hush” feature, without looking at the code I’m just wondering if that was due to complexity / features in the Edge interface or a liability thing as to why it’s not in this Edge version? (Also lost in the “ST new App” update a while back of course)

Do you think it is better to switch now (unjoin and then rejoin) or just wait until Oct. 15th? I’ve seen a few people making references to a default edge driver that all unsupported or custom DTHs would be switched to meaning it seems like you could avoid the rejoin effort by simply waiting and then just switching the driver from a default to this one.

Thanks @LLwarrenP , there are a lot of really good developers in this community trying to help people with this platform change, so I can’t take all the credit.

The reason why the Hush feature isn’t in this driver is because of complexity, but it is on my roadmap. This is a custom capability, which isn’t difficult to define, but it’s going to take some time to figure out Halo’s original code and “map” that back to this driver. There’s also an ongoing issue on the platform right now with custom capabilities and how they are displayed (labels) in the mobile app. ST keeps changing things on their end (undocumented and unplanned) that are breaking labels and causing them to be named “untitled”. I’m waiting for the dust to settle on that issue before doing any more work.

As for switching, I would do that now to be honest because this is not an ST driver and nobody knows if during the migration if ST will look in your custom installed drivers to make a match. I did all 10 of mine sitting on the couch without having to get up and touch any detector.

I also had a few die, usually because the battery stopped charging, but one did go belly up and could not be recovered. I was able to replace the battery in those, and there’s a post in the community about that. I also have a couple spares in the closet I found new on eBay, just in case.

1 Like

Thanks so much @johnconstantelo and @Mariano_Colmenarejo! This worked first time, has kept my Halo devices online and my house and family safer!

2 Likes

All three of mine are added using this driver and working as expected.

2 Likes

How exactly are you removing and adding? I assume not doing the exclusion? Just force deleting it?

Since these are Zigbee devices, the only option is to delete (technically it is an exclude process though). I literally sat on my couch and deleted one at a time, and once it was removed I listened for the Halo say it was ready, and then I kicked off the add new device process and selected scan nearby.

Since I only have these as part of Home Monitor, and that’s set up to automatically include all detectors, I didn’t have to change a thing.

1 Like

It worked for me as easy as you described. Thanks for the advice.

1 Like

This is so great! Thank you so much for this!!!

1 Like

I’ve noticed the my Power Source always shows as AC power supply even when power is disconnected. Is this a known issue with the edge driver or should I try excluding and pairing again?

Hi @qwertypo , it’s not a known issue. I’ve not personally experienced this, but if you could provide logs that would be great. You have to use the CLI to capture logs. When you do that, make sure it’s just for that one edge driver and when you unplug the device from AC power and it starts using battery power. The log should capture the event from the device for when it changes from AC to battery power.

Ok, I wont have access for several days, but I will look into providing those logs for you as soon as possible. Thank you

This is what popped up in the CLI after disconnect. Not sure if its what you need or if there is a better way to limit the list.

I used this command:

smartthings edge:drivers:logcat --hub-address=x.x.x.x --all

2023-04-20T00:24:37.183789275+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:24:37.184740608+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x02, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: OnOff >, lqi: 0xFF, rssi: -57, body_length: 0x0007, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x1F, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0000, DataType: Boolean, OnOff: false > > > >
2023-04-20T00:24:37.193828442+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:24:37.199277775+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: OnOff, attribute: OnOff
2023-04-20T00:24:37.200299150+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2023-04-20T00:24:37.202103692+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled
2023-04-20T00:24:37.574203900+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:24:37.575015358+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: IASZone >, lqi: 0xFF, rssi: -56, body_length: 0x0008, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x20, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0002, DataType: Bitmap16, ZoneStatus: 0x0000 > > > >
2023-04-20T00:24:37.636972192+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:24:37.637543400+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: IASZone, attribute: ZoneStatus
2023-04-20T00:24:37.638886525+00:00 PRINT My Halo Smoke and CO Detector  <<< ias_zone_status_attr_handler >>>>
2023-04-20T00:24:37.639738275+00:00 PRINT My Halo Smoke and CO Detector  <<< Smoke Detection handle >>>
2023-04-20T00:24:37.640434358+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"smoke","capability_id":"smokeDetector","component_id":"main","state":{"value":"clear"}}
2023-04-20T00:24:37.642281275+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled
2023-04-20T00:24:37.727152400+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:24:37.753777817+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x03, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: IASZone >, lqi: 0xFF, rssi: -57, body_length: 0x0008, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x21, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0002, DataType: Bitmap16, ZoneStatus: 0x0000 > > > >
2023-04-20T00:24:37.851344233+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:24:37.851917442+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: IASZone, attribute: ZoneStatus
2023-04-20T00:24:37.866482192+00:00 PRINT My Halo Smoke and CO Detector  <<< ias_zone_status_attr_handler >>>>
2023-04-20T00:24:37.867172233+00:00 PRINT My Halo Smoke and CO Detector  <<< CO Detection handle >>>
2023-04-20T00:24:37.867821025+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"carbonMonoxide","capability_id":"carbonMonoxideDetector","component_id":"main","state":{"value":"clear"}}
2023-04-20T00:24:37.920785608+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled

This was a second attempt:

? Select a driver. 5
connecting... connected
2023-04-20T00:35:43.252568646+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:36:13.296238212+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:36:37.913641834+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:36:37.914584584+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: IASZone >, lqi: 0xFF, rssi: -62, body_length: 0x0008, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x2E, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0002, DataType: Bitmap16, ZoneStatus: 0x0000 > > > >
2023-04-20T00:36:37.939514250+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:36:37.940083459+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: IASZone, attribute: ZoneStatus
2023-04-20T00:36:37.976544834+00:00 PRINT My Halo Smoke and CO Detector  <<< ias_zone_status_attr_handler >>>>
2023-04-20T00:36:37.977234209+00:00 PRINT My Halo Smoke and CO Detector  <<< Smoke Detection handle >>>
2023-04-20T00:36:37.977891334+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"smoke","capability_id":"smokeDetector","component_id":"main","state":{"value":"clear"}}
2023-04-20T00:36:37.979088667+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled
2023-04-20T00:36:38.007284334+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:36:38.008098750+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x03, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: IASZone >, lqi: 0xFF, rssi: -62, body_length: 0x0008, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x2F, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0002, DataType: Bitmap16, ZoneStatus: 0x0000 > > > >
2023-04-20T00:36:38.062692584+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:36:38.071170500+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: IASZone, attribute: ZoneStatus
2023-04-20T00:36:38.076494209+00:00 PRINT My Halo Smoke and CO Detector  <<< ias_zone_status_attr_handler >>>>
2023-04-20T00:36:38.078639+00:00 PRINT My Halo Smoke and CO Detector  <<< CO Detection handle >>>
2023-04-20T00:36:38.079096292+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"carbonMonoxide","capability_id":"carbonMonoxideDetector","component_id":"main","state":{"value":"clear"}}
2023-04-20T00:36:38.113716042+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled
2023-04-20T00:36:43.247972501+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:36:46.565304251+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:36:46.566295876+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: TemperatureMeasurement >, lqi: 0xFF, rssi: -56, body_length: 0x0008, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x30, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0000, DataType: Int16, MeasuredValue: 2640 > > > >
2023-04-20T00:36:46.582773960+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:36:46.583503918+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: TemperatureMeasurement, attribute: MeasuredValue
2023-04-20T00:36:46.584479293+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"temperature","capability_id":"temperatureMeasurement","component_id":"main","state":{"unit":"C","value":26.4}}
2023-04-20T00:36:46.585453293+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled
2023-04-20T00:37:13.289136630+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:37:43.266141050+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:38:13.266189137+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:38:43.276438557+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:39:13.283728727+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:39:37.584144438+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:39:37.585536063+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x02, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: OnOff >, lqi: 0xFF, rssi: -64, body_length: 0x0007, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x32, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0000, DataType: Boolean, OnOff: false > > > >
2023-04-20T00:39:37.596490022+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:39:37.596934147+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: OnOff, attribute: OnOff
2023-04-20T00:39:37.601420980+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"switch","capability_id":"switch","component_id":"main","state":{"value":"off"}}
2023-04-20T00:39:37.604492355+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled
2023-04-20T00:39:37.984355563+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:39:37.985173480+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x01, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: IASZone >, lqi: 0xFF, rssi: -64, body_length: 0x0008, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x33, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0002, DataType: Bitmap16, ZoneStatus: 0x0000 > > > >
2023-04-20T00:39:38.007834230+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:39:38.008294813+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: IASZone, attribute: ZoneStatus
2023-04-20T00:39:38.009619022+00:00 PRINT My Halo Smoke and CO Detector  <<< ias_zone_status_attr_handler >>>>
2023-04-20T00:39:38.010418272+00:00 PRINT My Halo Smoke and CO Detector  <<< Smoke Detection handle >>>
2023-04-20T00:39:38.011087688+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"smoke","capability_id":"smokeDetector","component_id":"main","state":{"value":"clear"}}
2023-04-20T00:39:38.014332897+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled
2023-04-20T00:39:38.026597480+00:00 TRACE My Halo Smoke and CO Detector  Received event with handler zigbee
2023-04-20T00:39:38.027294605+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> received Zigbee message: < ZigbeeMessageRx || type: 0x00, < AddressHeader || src_addr: 0xACF9, src_endpoint: 0x03, dest_addr: 0x0000, dest_endpoint: 0x01, profile: 0x0104, cluster: IASZone >, lqi: 0xFF, rssi: -64, body_length: 0x0008, < ZCLMessageBody || < ZCLHeader || frame_ctrl: 0x08, seqno: 0x34, ZCLCommandId: 0x0A >, < ReportAttribute || < AttributeRecord || AttributeId: 0x0002, DataType: Bitmap16, ZoneStatus: 0x0000 > > > >
2023-04-20T00:39:38.083945813+00:00 TRACE My Halo Smoke and CO Detector  Found ZigbeeMessageDispatcher handler in my-halo-smoke-and-co-detector
2023-04-20T00:39:38.096334313+00:00 INFO My Halo Smoke and CO Detector  Executing ZclClusterAttributeValueHandler: cluster: IASZone, attribute: ZoneStatus
2023-04-20T00:39:38.126487147+00:00 PRINT My Halo Smoke and CO Detector  <<< ias_zone_status_attr_handler >>>>
2023-04-20T00:39:38.127168147+00:00 PRINT My Halo Smoke and CO Detector  <<< CO Detection handle >>>
2023-04-20T00:39:38.127808272+00:00 INFO My Halo Smoke and CO Detector  <ZigbeeDevice: 9bc6dd69-1180-4ae5-8e34-dfd9f4ac9372 [0xACF9] (Halo Smoke and CO Detector)> emitting event: {"attribute_id":"carbonMonoxide","capability_id":"carbonMonoxideDetector","component_id":"main","state":{"value":"clear"}}
2023-04-20T00:39:38.143072188+00:00 DEBUG My Halo Smoke and CO Detector  Halo Smoke and CO Detector device thread event handled
2023-04-20T00:39:43.317055189+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:40:13.296203351+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled
2023-04-20T00:40:43.296158600+00:00 DEBUG My Halo Smoke and CO Detector  driver device thread event handled

I am afraid it seems the only thing popping up related to actually disconnecting and reconnecting is

DEBUG My Halo Smoke and CO Detector driver device thread event handled

Do I need to edit my log levels?

Huge thank you! Hope you have been well, man.

2 Likes

Hey man, what’s up! Glad this came in handy for you and hope all is well on your end.

1 Like

Sorry new to Edge Drivers, trying to get my Halo+ to work, can someone help me get to the Halo+ driver? Not sure how to get to this part “After clicking on Enroll you should have seen a button titled Available Drivers.”, thanks!

Did you click on the link in the very first post for the driver channel? I’ll also post it below:

https://account.smartthings.com/?redirect=https%3A%2F%2Fbestow-regional.api.smartthings.com%2Finvite%2FBoj0zX05kJ2A%3F

Perfect! Missed the link above :wink: Thanks for the quick response! Quick follow-up question, i have the driver installed, but when i scan for nearby devices it doesn’t find my Halo+ smoke detectors. I don’t think they were ever remived from my old Iris hub. Do I have to reset the smoke detectors to get them back into discovery mode? Then onceci find them, how to I tie the new driver to them?

Thanks again

You have to reset the device. Just press and hold the center button for 30 seconds until you hear it say it’s ready to join the halo app. When that happens, make sure you’re in the ST app and then start the new device process by selecting “Scan Nearby”.

Thanks for all your help! I’ll give it a try!

1 Like