A community-driven Homey app that brings local control to Tuya Zigbee devices — no cloud, no internet needed. Covers switches, sensors, lights, thermostats, covers, locks, and more across 145 drivers and 4,491+ device fingerprints.
Key features:
- Local-only — everything runs on your Homey, nothing goes to the cloud
- Hybrid mode — auto-detects whether a device speaks Tuya DP or standard ZCL
- Smart battery — voltage-based fallback when devices don't report percentage
- 1,857+ flow cards — triggers, conditions & actions in EN, FR, NL, DE
- SDK3 — built on the latest Homey platform
| Method | Link |
|---|---|
| Homey App Store | Install from Homey App Store |
| Test Version | Install Test Version |
| GitHub Releases | View Releases |
| Metric | Value |
|---|---|
| App Version | v5.11.103 |
| Device Fingerprints | 4,491+ |
| Unique Product IDs | 547 |
| Drivers | 145 (118 Zigbee + 27 WiFi) |
| Flow Cards | 1,857 |
| Unique Capabilities | 116 |
| SVG Icons | 274 |
| Languages | EN, FR, NL, DE |
| SDK Version | 3 |
| Homey Compatibility | >=12.2.0 |
| Last Updated | 2026-03-11 |
| # | Driver | Fingerprints |
|---|---|---|
| 1 | climate_sensor |
1,277 |
| 2 | switch_1gang |
345 |
| 3 | generic_tuya |
260 |
| 4 | radiator_valve |
206 |
| 5 | plug_energy_monitor |
147 |
| 6 | dimmer_wall_1gang |
132 |
| 7 | curtain_motor |
129 |
| 8 | bulb_rgbw |
118 |
| 9 | presence_sensor_radar |
106 |
| 10 | diy_custom_zigbee |
103 |
| 11 | motion_sensor |
98 |
| 12 | contact_sensor |
97 |
| 13 | switch_2gang |
91 |
| 14 | thermostat_tuya_dp |
82 |
| 15 | switch_4gang |
76 |
| 16 | switch_3gang |
64 |
| 17 | water_leak_sensor |
60 |
| 18 | bulb_rgb |
48 |
| 19 | bulb_tunable_white |
46 |
| 20 | universal_fallback |
46 |
| Class | Count |
|---|---|
| sensor | 42 |
| socket | 31 |
| light | 18 |
| other | 14 |
| fan | 9 |
| thermostat | 7 |
| lock | 4 |
| remote | 4 |
| heater | 4 |
| windowcoverings | 3 |
| button | 2 |
| doorbell | 2 |
| garagedoor | 2 |
| curtain | 1 |
| vacuumcleaner | 1 |
| speaker | 1 |
| Version | Changes |
|---|---|
| v5.11.103 | v5.11.102: Added new device variants., Fixed issues related to driver functionality and fingerprint recognition., Upd... |
| v5.11.102 | Universal Tuya Zigbee app v5.11.102 adds new device variants and updates 145 drivers with 4032 fingerprints. |
| v5.11.101 | Universal Tuya Zigbee app v5.11.101 adds new device variants, updates 145 drivers, and enhances fingerprint database ... |
| v5.11.100 | Universal Tuya Zigbee app v5.11.100 adds . |
| v5.11.99 | Universal Tuya Zigbee app v5.11.99: Regenerated driver images and fixed various draft detection issues. |
| v5.11.98 | Universal Tuya Zigbee app v5.11.98 fixes IAS issues and improves draft detection. |
| v5.11.97 | Fixed draft detection logic and improved build pipeline. |
| v5.11.96 | Universal Tuya Zigbee app v5.11.96: Fixed draft detection and updated screenshots. |
| v5.11.95 | Universal Tuya Zigbee app v5.11.95: Fixed navigation issue and updated drivers and fingerprints. |
| v5.11.94 | Improved device compatibility and updated fingerprints. |
| v5.11.93 | Added new device fingerprints and driver improvements. |
| v5.11.92 | Universal Tuya Zigbee app v5.11.92 adds new drivers and fingerprints, improving device compatibility. |
| v5.11.91 | Universal Tuya Zigbee app v5.11.91 adds new drivers and fingerprints, improving device compatibility. |
| v5.11.90 | Security hardening and added 20 new device fingerprints. |
| v5.11.89 | Universal Tuya Zigbee app v5.11.89 adds 2 new fingerprints, fixes TS0726 virtual button regression, and enriches flow... |
- Tuya DP Protocol (Cluster 0xEF00) - For Tuya-specific devices
- Standard ZCL - For native Zigbee 3.0 devices
- Auto-Detection - Observes device for 15 min, then picks the best protocol
- 8 battery chemistries supported
- 4 calculation algorithms
- Voltage-based fallback when percentage unavailable
- Full kWh, W, V, A support
- Configurable ZCL energy divisors
- Auto-removal of unused energy capabilities after 15 min
- 2000ms timeout-based detection
- Flow triggers for physical button presses per gang
- Deduplication to prevent duplicate triggers
| Category | Examples | Protocol |
|---|---|---|
| Switches (1-8 gang) | Wall switches, smart relays, BSEED, Zemismart | ZCL + Tuya DP |
| Dimmers | Wall dimmers, LED dimmers, rotary knobs | ZCL + Tuya DP |
| Lights | RGB, RGBW, CCT bulbs, LED strips | ZCL |
| Plugs & Sockets | Smart plugs, energy monitors, power strips | ZCL + Tuya DP |
| Sensors | Temp/humidity, motion, contact, water leak, smoke, air quality | ZCL + Tuya DP |
| Presence Radars | mmWave, PIR+radar hybrid, HOBEIAN ZG-204ZM | ZCL + Tuya DP |
| Thermostats & TRVs | Radiator valves, floor heating, AVATTO, Moes | Tuya DP |
| Covers | Curtain motors, roller blinds, garage doors | Tuya DP + ZCL |
| Buttons & Remotes | Scene switches (1-4 button), SOS buttons, rotary | ZCL |
| Locks | Smart door locks, fingerprint locks | Tuya DP |
| Climate | Air purifiers, fans, IR blasters, humidifiers | Tuya DP |
| Water | Valves, tank monitors, garden timers | Tuya DP |
| WiFi Devices | Tuya WiFi switches, plugs, sensors (via cloud API) | WiFi/Cloud |
BSEED, Zemismart, Moes, AVATTO, Lonsonho, HOBEIAN, Lidl/Silvercrest, eWeLink/SONOFF, Girier, Benexmart, Owon, and hundreds more via Tuya OEM fingerprints.
Homey Pro
└─ Universal Tuya Zigbee App (SDK3)
├─ Hybrid Protocol Engine
│ ├─ Tuya DP (Cluster 0xEF00) ─ DP1-DP255 data points
│ └─ Standard ZCL ─ onOff, levelControl, colorControl, etc.
├─ DeviceProfileRegistry (149 profiles)
│ └─ Per-fingerprint: DP mappings, quirks, timing
├─ BatteryManager (8 chemistries, voltage fallback)
├─ PhysicalButtonMixin (2000ms detection)
└─ 145 Drivers ─ 4,491+ fingerprints
| Source | Usage |
|---|---|
| Zigbee2MQTT | Device discovery, DP mappings, manufacturer names |
| Blakadder | Cross-checking rebranded Tuya devices |
| ZHA / zigpy | Device signatures, custom quirks |
| deCONZ | REST plugin device data |
| CSA | Zigbee 3.0 certified products |
| Homey Community Forum | User reports, device interviews |
| JohanBendz Fork | Community contributions |
| Workflow | Schedule | Description |
|---|---|---|
| Daily Everything | Daily 2 AM UTC | Forum + GitHub auto-response with AI |
| Forum Responder | Every 6h | Monitors topics 140352, 26439 |
| GitHub Scanner | Mon/Thu | Issues, PRs, forks analysis |
| Enrichment Scanner | Mon/Thu | Z2M, ZHA, deCONZ, Blakadder sync |
| Sunday Master | Sunday 7 AM | Full triage, fork scan, forum scan |
| Monthly Comprehensive | 1st of month | Deep scan all sources |
| Issue | Affected Devices | Status |
|---|---|---|
| TS0601 Time Sync | LCD climate sensors (TZE284*) | Some firmwares ignore Zigbee time responses |
| Battery 0% | TS0044 buttons (_TZ3000_wkai4ga5) | Reports 0% always - firmware bug |
| Cloud-only devices | Some TS0601 variants | MCU ignores local Zigbee commands |
Re-pairing required after driver updates to apply new mappings.
- Node.js 18+
- Homey CLI:
npm install -g homey
git clone https://github.com/dlnraja/com.tuya.zigbee.git
cd com.tuya.zigbee
npm install
homey app runhomey app build
homey app validate --level publish
homey app run| App Store | Universal Tuya Zigbee |
| Test Version | Install Test |
| Forum | Community Thread |
| Device Finder | Smart Device Finder |
| GitHub | github.com/dlnraja/com.tuya.zigbee |
| Issues | Report a Bug |
My device shows as "unknown Zigbee device"
Your device's fingerprint (manufacturerName + productId) is not yet in the app. Open a GitHub issue with your device interview from Homey Developer Tools.
Device paired but doesn't respond to commands
- Try re-pairing the device (remove and add again)
- Check if it's a Tuya DP device (TS0601) — these need specific DP mappings
- For BSEED/Zemismart: these are ZCL-only, ensure explicit binding is working
Battery always shows 0%
Some devices (e.g., TS0044 _TZ3000_wkai4ga5) have a firmware bug that always reports 0%. The app uses voltage-based fallback when available, but some devices don't report voltage either.
Temperature/humidity values are wrong (divided by 10 or 100)
This is usually a double-division bug. The app auto-detects divisors from Tuya DP values. If values are still wrong after re-pairing, open an issue with your exact manufacturerName.
How to get the test version?
Install from: Test Version — this is auto-promoted from draft builds daily.
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-device) - Validate:
homey app validate --level publish - Submit a pull request with description
- Get a device interview from Homey Developer Tools
- Check Zigbee2MQTT for DP mappings
- Check Blakadder for cross-references
- Open an issue with: manufacturerName, modelId, and interview data
- Go to Settings > Apps > Universal Tuya Zigbee > Send Diagnostics
- Open a bug report with: device model, error messages, and diagnostics code
This app is developed in my free time, powered by passion and coffee!
| Method | Link |
|---|---|
| PayPal | @dlnraja |
| Revolut | Revolut.Me |
100% optional - Your feedback and bug reports are equally valuable!
A massive thank you to the maintainers and contributors of:
- Koenkk and all contributors to Zigbee2MQTT
- blakadder and the Zigbee Device Compatibility Repository
- The zigpy / ZHA / zha-device-handlers maintainers
- The CSA (Connectivity Standards Alliance) for the Zigbee specifications
- All developers and testers who share device logs, diagnostics, and fingerprints
GPL-3.0 - See LICENSE file
| Project | License |
|---|---|
| Zigbee2MQTT | GPL-3.0 |
| ZHA | Apache-2.0 |
| Blakadder | MIT |
| deCONZ | BSD-3-Clause |
Made with love by Dylan Rajasekaram & the Zigbee community
Last updated: 2026-03-11