Fantastic thread! Unfortunately I’ve no reason to expect Z-Wave node dropping out issues to go away - not with current chipsets, not in the future. Just my opinion based on interactions with SiliconLabs, Zooz, Lutron, and HA Z-Wave devs. Specifics below.
-
My context: On the larger of the only two HAOS Z-Wave integration deployments of mine (a NYC restaurant, landmark bldg thick walls 3 floors - a few dozen all-S2 700 series - stick, one fan controller, the rest are light dimmers, mostly Zooz incl stick, firmware kept up to date, stick on USB ext cable, over-spec’d host CPU 1%, etc) - a LOT of grief. Nodes going dead, Z-Wave renaming nodes, etc. On the smaller deployment (same client lol - he must have sinned in past life & his punishment is me) identical but fewer Z-wave devices in a high-rise apt, hardly any problems. NYC electrical codes stipulate metal electrical boxes; walls tend to attenuate RF; there’s a LOT of RF interference, so Z-wave may work great in a hobbyist deployment in a 2-bedroom apartment or smaller; anything bigger or more serious is asking for trouble.
-
My Zooz and SiliconLabs interaction was on the topic of programmatically changing the color of lights in Zooz ZEN32 Scene Controller – ZOOZ to communicate the status of various things related to those LED’s respective buttons. The change itself is trivial (for instance in HA UI script you can Set value of a given zen32 controller’s config parameter 7 to Red to make the Button 1 LED glow red). My question to the support (eventually escalated to devs & engineers), since it wasn’t device state like on/off but part of the non-volatile configuration, what was the endurance of the EEPROM where this was being stored. Because I wanted to know, if I change that LED color value say 50 times a day, this’ll brick the device in 1.5yrs or closer to 15yrs? (Or they’re clever and upon reaching endurance limit the value is cast in stone but the device continues to function). Without revealing too much, “smart guys in some other lab” are putting “silicon” in SiliconLabs - who are more about protocol, ecosystem husbandry, marketing, and occasionally even talking to schmucks like me. That’s the bad news. The good news is, the answer is “closer to 15yrs” which after asking around separately I was telling them not hearing from them. And by the way, if your device’s power-on state is configured to be “same as before power outage”, that current state goes into EEPROM also, whenever it’s changed.
-
My interaction with HA devs is limited to a few issues e.g. https://github.com/home-assistant/core/issues/80398 and one lowly pull request, and my impression is, those guys are puled in a million different directions, any meaningful change to the code sometimes results in opposing or mutually exclusive suggestions or requests from the stakeholders for the change to go in, so other than fixing a trivial bug, coding the solution to some architectural issue is actually peanuts compared to you then having to build a friggin consensus around that being the right way forward. And you’re doing this free - like stepping on a turd on a NYC sidewalk is free. From the above ticket you can glean that there’s a strong priority on legacy device support (cough, architectural baggage cough), so certain fundamental improvements in the newer generations of hardware may not be carried over to HA.
-
Meshes are potential trouble, inherently. Self-healing wireless meshes in a congested spectrum, doubly so. You can tell if a given mesh ecosystem is on top of this trouble if:
- There’s a mature, useful “mesh dash” and mesh interrogation, testing and health monitoring tools making the otherwise opaque thing transparent and delivering actionable answers.
- There are ways to optionally partially or fully “nail down” a mesh, such as specifying 2-3 parents for each child and letting those parents know which children they might be responsible for.
I don’t see this tooling in Z-Wave or HA to this day at any degree of useful maturity other than a feeble Z-Wave JS UI connection graph.
2 + 3 + 4, to me, amount to not expecting radical improvements from Z-Wave anytime soon. Small installations in rural homes with RF-transparent walls may work without a hitch simply because they side-step the more complicated mesh comms edge cases surfacing in the more challenging environments that trip up the Z-Wave protocol or its implementation or integration. And a hobbyist in a rural sheet-rock home may be all the user base which this ecosystem targets, because taking on anything more would require an entirely different level of cadres, processes, and ultimately investment of money and time. They’ll simply limp along fixing these issues eventually, but not at a rate that outpaces new issues being introduced or the RF environment becoming ever more congested with each passing day.
So
On new deployments I’ve been using Shelly Plus Wall Dimmer and while the device feel is cheep and cheerful, functionally it’s been like a breath of fresh air. The HA integration is rock-solid, there’s NO reliance on a vendor cloud and NO need for an app - you can configure purely via a web browser. (Note: their tiny Shelly Dimmer 2 is good also, but with LED bulbs only due to its limited power handling beyond 50-60 watts it may intermittently thermally shut down, plus I’d stripped its dainty connection screws on one of the units). Shelly is an excellent vendor from EU as well, extremely responsive, know their stuff, and their heart is in the right place re privacy, open source, and many other things,
The other mesh I tested and got fantastic results was Insteon. It was struggling financially a few years back but came back strong. The devices have a premium feel, communicate in two redundant ways (wired PLC through their AC power wires plus wireless). This amounts to it working fine for me with HA straight out of the box. You can actually even program the individual devices to control each other directly to make the scenes completely serverless via a bunch of key presses, but I prefer the flexibility of HA via the USB insteon modem with no scenes “baked into” devices.
Back to this thread’s topic, it’d be great to put together maybe an HA blueprint of “occasionally either X min after death or at a particular time(s) of day, activate press of the Ping button of any Z-ave devices that are showing dead” (as much implemented in vanilla HA UI as possible, no reliance on NodeRed or anything non-HAOS / minimal code if unavoidable). Because, I’ve a feeling, people will have good use for it for quite some time.
Alex