A personal/unofficial Homey Pro app focused on device availability and power-cut recovery for Zigbee devices I physically own and test. It’s not a universal Tuya app or a replacement for other apps — I’m sharing it mainly so others can use it, fork it, improve it, or take it over.
Supported (tested on my own hardware):
- Zemismart / NovaDigital switches 1–6 gang (+ 2-gang+outlet) & 1CH relay
- Tuya smart plugs & power strip (TS011F)
- MOES 3-gang dimmer + wireless scene remotes
- Temp/humidity sensors (Tuya LCD + Sonoff SNZB-02)
- HEIMAN combustible gas detector (plug-in)
- Sonoff ZBMINIR2 / BASICZBR3 relays
- Zigbee repeater / USB dongle (router firmware)
(Full list with manufacturer IDs is in the README.)
Easy to extend. Many of these differ only by manufacturer ID — if your device shares the same clusters, adding it is often just editing the matching driver’s driver.compose.json (add your manufacturer ID, no code change), or forking to go further. The GIRIER 1CH relay was added this way: it reuses the switch driver with its own manufacturer ID.
Main features
- Availability — detects when a mains device loses power or drops off the network, instead of silently looking “online”.
- Reconnect-after-power-cut trigger — fires on the device’s boot/rejoin, even for short outages.
- Connected-devices info — for multi-gang devices, shows the group and which sub-device is the main.
- Smart polling — exponential backoff (no hammering offline devices) + jittered timing so devices don’t all report at the same instant.
- No dead settings — firmware options the hardware doesn’t actually have (relay LED, gas-detector tamper) are hidden, not shown as non-functional.
- Device-specific — native inching, toggle/momentary switch mode, per-gang power-on, persistent backlight, working Sonoff ZBMINIR2 turbo mode.
Availability strategy
Homey exposes little operational Zigbee state, so this layer is heuristic (probabilistic, not deterministic):
- passive heartbeat monitoring
- adaptive timeout windows
- exponential-backoff polling
- reconnect detection after power restore
I also opened an upstream issue requesting proper availability primitives in Homey’s Zigbee stack: Feature request: expose node.lastSeen timestamp in the ZigBee node object · Issue #180 · athombv/node-homey-zigbeedriver · GitHub
How it was built
Zigbee packet captures (Wireshark + network keys), Tuya/Sonoff traffic analysis, comparisons against Hubitat / ZHA / zigbee2mqtt behaviour, and live debugging with homey app run --remote.
Limitations
- Experimental / personal project, tested on Homey Pro (2023).
- Tuya firmware/manufacturer IDs change — behaviour may break after updates.
- Availability is heuristic — “online on the network” ≠ “fully operational”.
- Best-effort only — and I’m explicitly open to others picking it up.
GitHub
GitHub - gpmachado/com.gpm.homesuite: Homey app for Zigbee/Tuya devices — switches, sensors, plugs and more · GitHub — GPL-3.0, fork / improve / reuse freely.
Credits: JohanBendz (Tuya/Sonoff base) · StyraHem / s-dimaio (Sonoff).

