So, there are at least three inspirations for this post. @ogiewon 's HubDuino project, @iharyadi and his home-grown zigbee environment and arrival sensors, and the Zooz ZEN 16 & 17.
The ZEN16/17 are great devices. Multiple inputs capable of monitoring switch states, multiple relay outputs provide the basis for controlling garage doors, sprinkler systems, HVAC accessories, etc. The "problem?" It's Z-Wave. That's not really a deal breaker, but my first choice is Zigbee if I can get it.
The HubDuino project is also amazing. Almost anything you can do with an Arduino/ESP-board you can bring into Hubitat. As long as you're willing to put in the effort, the sky is the limit. The "problem" with HubDuino? It's Wifi. Again, not a deal breaker, but relies on a secondary WiFi router/network to work.
And last, but not least, are Iman's custom devices and drivers. Custom Zigbee devices that exceed the performance of similar mass produced products from well-established manufacturers. The problem here? Well, there is none, really. I mean, he built them from scratch to address some very specific uses. But if I were capable of doing it, I'd build a zigbee device that could match (or exceed) the capabilities of the ZEN17 and perhaps even add in an analog input/output.
My device would be something like this...
Zigbee device, most likely powered via a USB-C charger or similar.
Screw terminals or a pin header capable of connecting to up to 4 external 5V relays (or one of those pre-made arduino relay boards).
Screw terminals or a pin header capable of connecting up to 4 external dry contact switches.
Firmware and driver that creates a separate child device for each of the available relay outputs and switch inputs.
And to really stretch the capabilities....
Alternate power source terminals for 24VAC power. This would allow the device to be easily used with HVAC and other systems that commonly use 24VAC power.
...and finally the Unicorn...
Pre-assembled, mass-produced, and listed to UL standards (basically a 4-channel, zigbee, ZEN17!)
Would it be too much at this point to ask for an analog input and output? I know that all of these features in one device is unlikely, but I can dream I suppose.
I ordered one of those. Hoping to replace my Zen with it. Waiting for it to get here (ordered April 9th, hopefully get it within the next couple weeks).
That project looks promising, but I'm not really clear on what hardware one would need in order to use that firmware. And then there is the obvious driver issue. Do you have any other info on this project? Perhaps the "...for Dummies" version would be more up my alley.
There is really no all in one concise guide. I started with zigbee2mqtt and learned to flash the ti chips using the resources I list below.
Basically you flash a nodemcu with ccloader (acts a flashing tool connecting a windows pc to the nodemcu to the cc2530), then create your zigbee configurable firmware ".bin" file, then flash it to the cc2530 using the nodemcu/ccloader interface.
You will also need a nodemcu with firmware from this site to flash the ti based board (using ccloader) with the Zigbee configurable firmware. It talks about the cc2540 chip (bluetooth) but the procedure is the same for the cc2530/cc2591 (cc2591 is an amp for the cc2530 zigbee chip)
This kind of gives you the steps to flash a cc2530 to function as a zigbee router, but the steps are essentially the same. In this guide he uses the TI CCDebugger product. Just substitute nodemcu/ccloader in place of TI CC Debugger.