While browsing through AliExpress recently, I stumbled upon an intriguing find: a pre-built 12-Channel relay board used for multizone lightning or heating setups. The mention of “Zigbee” in it’s specs is what piqued my interest, prompting me to investigate further and ultimately order a sample.
In this article, I am examining this Zigbee 12-channel relay board from the Tuya ecosystem, testing it’s performance and Home Assistant integration. I got it for less than $15 on AliExpress without a plastic case and an RF remote, but you can also get those if you need to.
About the device
This specific relay board is available in versions with 4, 8, 12, 16, and 24 channels, each available in either Wi-Fi or Zigbee connectivity options. Whichever you choose, you will also be able to control it with a standard 433MHz remote, which you can also get from the seller.
It’s further differentiated by it’s power supply, being available in two versions: 5V USB-C with DC7-27V terminals or 5V USB-C with AC85-250V terminals.
The relays themselves are dry contact, meaning they supply no additional power to the output terminals. This is suitable for controlling a multizone heating system or a lightning setup where you would only need to close the circuit. There are also 3×4 pin headers with included JST connectors on the board for triggering the relays with external switches.
If you need these to work as wet contacts, you can simply daisy chain the common of the input terminal to each relay, being mindful of the maximum current rating per relay, which is 10A. These are labelled as model JQC-3FF [Datasheet] manufactured by Hongfa Relay in Xiamen, China.
The device is made for the Tuya ecosystem and it’s meant to be used with one of their hubs. This is of absolutely no interest to us here at SmartHomeScene, I intend to examine it’s functionality in Home Assistant via Zigbee2MQTT and ZHA.
Communication is enabled by the Tuya ZTU [Datasheet], a low-power 32-bit CPU, 1024-KB flash and 64-KB RAM embedded module. I’ve encountered this module in many Tuya devices of various types, most notably a bunch of Zigbee temperature sensors from this list.
The black coil in the photo is the RF antenna, used by the 433MHz receiver for a better reception. Each relay has its own red LED status light next to it, indicating the current state of the switch.
Home Assistant Integration
This Zigbee multichannel relay board can be used in Home Assistant with ZHA or Zigbee2MQTT. The device has a small pairing button labelled as “setup” which you need to press and hold for 10 seconds until it starts blinking fast, indicating pairing mode.
Single pressing the setup button will perform a health check and trigger all relays, one by one, so don’t be alarmed if that happens.
Zigbee2MQTT
In Zigbee2MQTT, it’s identified as model TS0601_switch_12 by manufacturer _TZE204_dqolcpcp. Under description, my seller is listed [ZXYH], which indeed appears to be the workshop making these boards. The device is also a router, capable of relaying traffic from adjacent Zigbee devices back to the coordinator. Once paired to my network, it exposes the following entities in Home Assistant over Zigbee2MQTT:
Essentially, a single switch entity is exposed per relay and nothing else. There is no additional setup entities like power-on-behavior or interlocking or inching mode settings, which the device seems to support natively.
ZHA
In order to make this 12 channel relay switch work with ZHA, a custom quirk needs to be applied. I edited the ts0601_switch.py from the main Zigpy repo and added all 12 channels. Here’s how you can apply my quirk:
- Create a new directory in the config folder of Home Assistant
- For example /config/custom_zha_quirks
- Add the following to your configuration.yaml file
#Enable ZHA Custom Quirks
zha:
custom_quirks_path: /config/custom_zha_quirks/
- Download this custom quirk [ts0601_switch.zip]
- Extract the zip file and place the file [ts0601_switch.py] in the /config/custom_zha_quirks directory
- Restart Home Assistant
- Pair the Tuya 12-Channel Relay Board to your coordinator
Once added in ZHA, it behaves and operates exactly the same like Zigbee2MQTT. Besides a single switch entity per relay, no other entities are available. This custom quirk can be adapted for the 16 or 24 version too, by editing the code slightly. All that you need to do is copy and paste the individual endpoints per relay, going up to 16/24.
Installation and Testing
Depending on what you intend to use it for, this relay board can be wired in several ways. If you intend to wire it as heating zones thermostat, you will most likely need to use dry contacts and ideally power the board by 5V USB-C. To make things clearer:
You would simply need to wire the 2 wires from a single heating zone to COM and NO, which would mean the circuit is normally open and there is no contact. When you toggle the switch, the COM and NO connect, closing the circuit and triggering the thermostat. Repeat for each zone.
If you need to turn these into wet contacts and you need to supply mains power, you can daisy chain the L-wire (+) from the input terminal to the COM of each relay terminal. Whenever you toggle the switch, the two connect closing the circuit and passing your input voltage to the controlled device/appliance. Simple.
The response time of this relay board when triggered from Zigbee2MQTT was instant. There were no delays, no latency, it performed perfectly fine in my mesh network. This didn’t surprise me at all, since the ZTU chip is well known to me, used in a bunch of devices I’ve tested from the Tuya ecosystem. I don’t have the RF remote to also test its performance, but I have no reason to believe it will not operate the same.
The important thing here was the quality of the relays, since ultimately, they need to be able to perform and withstand the load you are connecting. Googling around for the model yields useless results, information of this type is not exactly free floating around the internet. Especially since there are like a million electromechanical relay manufacturers in the world.
The rule of thumb is, the louder the click – the better the relay. And these are clicky, here’s a video:
Side note: In my future reviews, devices like these will be tested with the awesome Kaiweets KTI-W01 Thermal Camera, to get a sense of the heat levels they emit when under load. This will be especially useful for switch modules that need to be installed inside a switchbox, like the Shelly 1PM Mini or Sonoff MINIR4M.
Final thoughts
After tinkering with the Tuya 12 Channel relay board for a couple of days, I feel I’ve gathered enough information to form an opinion in terms of the quality and performance of this device. Even though I don’t have a multizone heating system and couldn’t wire it to one, I did connect a bunch of lights and other small devices (speakers, charging station) to the board and examined it’s behavior.
The device performed perfectly fine, without any issues whatsoever. Response time was instant, there were no miss triggers and it did not produce any excessive heat. The operation logic and things like inching mode or interlocking mode can be handled with Home Assistant. It’s important to note the power-on-behavior of this device is set to always off – which is something you can change if you have a Tuya hub.
To be perfectly clear, this is not an industrial grade device and you will not get a super high quality relay board, if that is something you are expecting. Considering its very attractive price tag, it’s more than worth it if you have a use case for it. Zigbee is a sell for me. Here are some links for the different versions available:
Zigbee/Wi-fi 4 Channels
Zigbee/Wi-fi 8 Channels
Zigbee/Wi-fi 12 Channels
Zigbee/Wi-fi 16 Channels
Zigbee/Wi-fi 24 Channels
*If links fail to open, try disabling your AdBlocker.
Does it Suport direct Linking (automation directly made in z2m)?
Does it somehow displays in HomeAssitant the status of the 4 water level sensors?
… what?
Have you tried using 12 external switches and 5V external sockets?
How I can use external switches ? it is 12 wired w/o com terminal !?
The JST headers on the board can be used to wire external switches and control each relay individually.
The JST pins along with 15cm long wires are included in the package.
Tried. PNP input.