I have an idea for a new and useful piece of hardware that I want in my home and that I would build myself based on a Raspberry Pi, and am wondering which hardware protocol would be best to support. The device would have access to power and Ethernet access, need not be battery operated, so low power consumption is not an important factor. I'm leaning toward local Ethernet or WIFI since already available in the Raspberry Pi but would consider Z-wave or Zigbee since there are daughter boards or sticks available, but those would be an unnecessary expense if no great advantages as compared to WIFI or plain Ethernet. One problem I see with Z-wave or Zigbee is meeting the standards and payments to the organizations/standard bodies that control them, in order to get the documentation and testing etc.
Ethernet would be the most convenient and most familiar for me to create with and the device would not require a server so would be local control.
Does anyone have an argument that would favor using Z-wave or Zigbee rather than local Ethernet (or wireless) for a smart device?
And most important, for Ethernet or wireless, can anyone direct me to documentation on the communication requirements that allow Hubitat to pair and talk to the device? Hopefully something that also addressed IoT security.
If your device is for personal use then Enet/Wifi is the easiest way to go. Some of your questions imply a for profit device and that would be a much different set of issues. You integrate with HE via HTTP (Maker API) or MQTT using drivers and optionally an app written in groovy. There is plenty of free code to inspect about how to do that as well as the developer documentation. I'm the wrong person to advise you on security. My LAN has very little and my homegrown devices have none. If you break into my network through the router, the last thing I'm going to worry about is my home built iot devices.
Most daughterboards for Zigbee and Z-wave are controller or coordinator devices. They are meant to have end devices paired to them. The controller may issue commands, on/off, or receive data, current temperature, etc. An end device is the Zigbee or Z-wave switch, sensor etc. If what you are wanting to do is create a device that joins the HE hub as an end device, Zigbee and Z-wave are a lot more difficult, Z-wave especially.
You could go the Z-Uno route where all the Z-Wave side is taken care of, so you just deal with the Arduino side (coding for your sensors, buttons, switches, etc) - https://z-uno.z-wave.me/ - it's also fully certified already if using the official Arduino sketches, so potentially useful in a commercial context.
I was hoping Enet was a good answer since I could think of no strong reason to use Z-wave or Zigbee and many to use Enet. Yes, this is for me but if it works out well, maybe someone else might be interested in making it since I'm retired and am not interested in starting another company, which is a lot of work having helped do that once. Security is mostly something that just should be there and I have some ideas given the appropriate software API is via HTTP or MQTT. Thanks!
Thanks aaiyar! The Hubduino looks quite interesting. I have a couple Raspberry Pies leftover from a learning project so will probably use those since it has the full OS on it and I'm already some familiar with them. No doubt useful examples in the .cpp code though.
Good point zarthan as I naively assumed if a board had Zigbee or Z-wave it could function as either a controller or an end device. Since I can think of no compelling reason to use either of these I plan to pursue the Enet/wifi protocol. Thanks!