Feature-rich custom firmware for Telink-based Tuya Zigbee switches and switch-modules.
There are already 25+ supported_devices.md.
Tip
If your device contains a supported Tuya Zigbee module (ZTU, ZT2S, ZT3L), porting is relatively simple.
It consists of tracing (or guessing) the board pinout, adding an entry in device_db.yaml and rebuilding.
Further reading:
porting_to_new_device.md, device_db_explained.md,
recommended_devices.md, not_recommended_devices.md.
The main driver for this project was a frustrating bug in the factory firmware:
When you pressed one button, the device ignored input from the others for ~0.5 seconds. As a result, pressing two buttons simultaneously toggled a single relay.
Users also consider this the missing piece of a reliable smart home because it allows using a light switch as a Zigbee remote.
Most of the cheap switches on the market do not allow binding to other devices out-of-the-box.
- Super fast reaction time (compared to stock firmware)
- Outgoing binds (use switch to remotely control Zigbee lightbulbs - state & brightness)
- Configurable Long press for push-switches (custom action & duration)
- Custom switch action modes, allowing to synchonize switch position or binded devices with relay state
- Both Router & EndDevice modes for no-Neutral devices
- Detached mode (generate Zigbee events without triggering relays)
- Power-on behavior (on, off, previous, toggle)
- Wireless flashing and updating (OTA from original fw to custom fw, further OTA updates)
- Multiple reset options (10x switch press, on-board button)
If your device is already supported, the firmware can be installed and updated:
- wirelessly on Z2M / ZHA: updating.md
- by wire: flashing_via_wire.md
Otherwise, check porting_to_new_device.md.
Warning
Always check the changelog before updating!
Further versions could include breaking changes or require resetting the device!
Read the firmware release notes here: changelog_fw.md.
Stay up to date with the known_issues.md to prevent bricking your device!
Read the faq.md and feel free to ask more questions or suggest useful information.
Also read endpoints.md for information about groups and binding.
To switch between EndDevice and Router, follow change_device_type.md.
Join the discussion or just follow the news on:
Keep important topics on GitHub!
Welcome to the team! Please read:
- https://github.com/pvvx/ZigbeeTLc
(fw for Telink-based temperature & humidity sensors) - the base of this project - https://github.com/doctor64/tuyaZigbee
(fw for some other Tuya Zigbee devices) - helpful examples - https://medium.com/@omaslyuchenko
for the Hello Zigbee World series - very useful references on how to program a Zigbee device
