Starting a new thread due to substantial amount of cross-talk on the original Zigbee 3.0 button controller $8.88 USD at home Depot, includes cct bulb - #106 by mbafford
Since there's likely not going to be direct support for these remotes as they use group messaging to the Hub and Hubitat has no plans at this time of supporting that, we have to fall back to zigbee2mqtt or possibly SmartThings or Home Assistant to support this device in Hubitat. This release supports zigbee2mqtt.
Getting off the ground with zigbee2mqtt is out of the scope of this document, but following the instructions on the zigbee2mqtt website should get you started. Read the first three Getting Started links to make sure setting up zigbee2mqtt is something you're comfortable with.
To get support for the EcoSmart remotes on Hubitat:
- [Linux/Windows/etc] Get zigbee2mqtt up and running
-
[Linux/Windows/etc] Patch zigbee2mqtt with the driver code - there are two accepted pull requests for this - so depending on when you read this you may need to apply these PRs manually or you may have support out of the box:
https://github.com/Koenkk/zigbee-herdsman/pull/109
https://github.com/Koenkk/zigbee-herdsman-converters/pull/822 -
[Linux/Windows/etc] Install my device driver code to monitor mqtt and translate the zigbee2mqtt messgaes into Hubitat events:
https://github.com/mbafford/hubitat-integration-code/blob/master/Drivers/EcoSmart_Remote_Zigbee2MQTT/ecosmart_remote_from_zigbee2mqtt.groovy -
[Hubitat] Install the device handler with the above driver by creating a Virtual Device and selecting this device handler as the Type:
-
[Hubitat] Configure the device with your mqtt details:
-
[Hubitat] Test the device and monitor events:
-
[Hubitat] Configure rules (e.g. Hubitat Simple Lighting)
I've only tested this integration for the last couple of days, but at this point it seems very viable and very responsive when connected. Long term stability is an unknown - it does look like I'll need to add reconnect logic for mqtt - the built-in driver doesn't seem to reconnect, putting the driver in limbo if connection is lost. Hopefully someone else has a pointer to a stable mqtt driver that survives disconnects to pull this all together.
Like everything with Hubitat, documentation for the mqtt driver is minimal and mainly relies on community code. So what I pieced together is heavily inspired by others kind enough to share on github. Also, this thread: MQTT Client - Beta - #43 by kevin