Sharing this in case it helps anyone else. Some of these projects I have shared in the past, but recently there were some changes to ZHA that caused my custom devices to stop working and as part of that cleanup I standardized the Zigbee logic between devices.
If you are starting from scratch, the esp32-H2 or esp32-C6 are going to be easier to work with, but if like me you have a bunch of Arduinos and various xbees, this works very well.
So far, I have implemented the following devices.
Quad Garage Door Controller:
- Example of Switched Outputs and Temperature endpoints.
prairiesnpr/QuadGarageDoorController: Zigbee Home Automation Garage Door Controller (github.com)
Legacy Doorbell Monitor:
- Example of Binary Input, Temperature, and Humidity endpoints.
prairiesnpr/xbee_door_bell (github.com)
Tank Style Water Heater Controller (On/Off only, no temp control):
- Example of Switched Output, Energy Monitoring, and Temperature endpoints.
prairiesnpr/zha_water_heater (github.com)
Safe Condition Monitoring and Light Controller:
- Example of Light, Level Control, Color Light, Temperature, Humidity, and IAS endpoints.
prairiesnpr/gun_safe (github.com)
These projects all rely on prairiesnpr/zha_arduino (github.com) for the ZHA logic.
As always, if you use it or improve on it, please share.