This guide compares the MOES ZM-102-M, QS-Zigbee-S10-C03 and Tuya TS0603 to domotiser swing/sliding gates or garage doors with Zigbee2MQTT and Home Assistant.
![]() |
![]() |
![]() |
πͺ Why these modules dominate gate/garage home automation
These affordable modules (12 to 25β¬) transform wired gate or garage door automation into home automation equipment without work: precise pulse 500 ms for opening/closing and real state feedback.
π Have I tested these three pieces of equipment in detail and the others?
This comparison concludes the tests of each of the equipment, for more details on how to connect, here are the links to the 3 pages concerning these modules:
- I domotise my portal with a MOES ZM-102-M Zigbee
- I domotise my portal with a QS-Zigbee-S10-C03
- I am testing the Garage Door/Portal module TS0603 (Yellow)
Other modules?
I did not voluntarily include the Zigbee multifunction module from Nodon ref: SIN-4-1-20Β because it does not have an entrance to tell us whether the portal is open or closed. It is multifunctional but to want to do too much, we can not do everything.
Without closing information of the gate (or garage), theΒ SIN-4-1-20 can do the trick, it is always very good Nodon products.

The garage door or gate could also be equipped with the Frient IO ModuleΒ 20204700 . It is an archi-polyvalent product with 4 dry contact inputs + 2 NO/NC outputs (ON/OFF or pulse) so everything can be done with it.
Beware of the power supply, it is not 220v but 6-28VDC but it is possible to have this in gate control panels, otherwise you need a transfo. It can also be powered with a micro USB connector (well thought out).

β Detailed technical characteristics of selected models
| Criterion | MOES ZM-102-M | QS-Zigbee-S10-C03 | Tuya TS0603 |
|---|---|---|---|
| Model Z2M | TS0601 |
TS0603 |
TS0603 |
| Terminals | L/N (230V), S1-S2 output, S4-S5 input | L/N, L1/L2 output, S1/S2 input | Similar, state/entry |
| Z2M presentations | trigger (binary toggle intelligent), _door _contact Garage, countdown (0-43200s), run_time (0-120s alarm) |
state, _door _contact Garage |
state, _door _contact Garage |
π Terminal architecture: the 6 connectors explained
![]() |
![]() |
![]() |
- Input AC : Phase/neutral 230V AC β power module (as standard socket).
- Signal Cable : Relay outlet dry contact open or closed.
- Sensor Cable : Dry contact input β magnetic contact bed or external relay (galvanic insulation).

β‘ Impulse Output Operation (Signal Cable)
The impulse output modules are based on a Internal Relay Dry Contact which simulates a pusher to control the card automatism.
All operate identically on the basic principle, but differ in intelligence and reliability.
β Points common to the 3 modules
Universal step-by-step mechanism :
- Triggering : Order via HA dashboard, Alexa ("opens the portal") or Z2M MQTT via a state:true or trigger.
- Precise impulse : The relay closes the contact for exactly 500 ms (0.5 s) β standard duration required by 99% gate/garage cards.
- Self-extinguishing : The relay opens automatically after 500ms.
- Cooldown protection : Minimum break β₯500 ms before new control to protect the motors.
Common security : Dry contact 0V (galvanic insulation), no short-circuit risk on 24V board.
Key differences between modules
| Functionality | MOES ZM-102-M | QS-Zigbee-S10-C03 | Tuya TS0603 |
|---|---|---|---|
| Exit terminals | S1-S2 | L1-L2 | S1-S2 |
| Anti-spam intelligence | ο§ markedly Yes : Ignore the pulse if the portal is already in the requested state. | β No : Always send | β Partial : Depends on firmware |
| Safety break between two consecutive pulses (Cooldown) | ο§ markedly Completerun_time 0-120s cooldown + countdown 0-43200s force |
viously Basic 500ms fixed anti-spam only |
οΈ Non-native Managed by HA script (500ms delay) |
| Error alarms | ο§ markedly Complete : RunTimeAlarm (>120s movement), OpenTimeAlarm (>24h open) | β None | οΈ Basic (timeout only) |
| Pulse reliability | β marked markedly marked Perfect (0% failed) | viously Frequent disconnection network β missed impulses | ο§ markedly Good, but spam can saturate |
All send the same pulse 500 ms, but MOES alone protects intelligently your installation against errors and network failures.
π‘ State Input Operation (Sensor Cable)
This entrance is a ultra-simple on/off circuit : either closed (electrical continuity), i.e. open (cut). The module reads this state to find out if your portal is closed or open.
πΆ Beginner analogy
Like a light switch β pressed = ON = closed, released = OFF = open.
π Entry on/off principle: open/closed circuit
The module sends :
_door _contact garage: true β Portal CLOSED
_door _contact garage: false β Portal OPEN
π 3 methods to know the real state
π― Method 1: Magnet + Blade switch supplied with the module
Often called Reed, it is a soft blade switch (ILS in French)
It is a small glass bulb (~1cm) containing 2 metal blades that touch only when a magnet is close:
π΄ WITHOUT magnet β separate blades = OPEN CIRCUIT = OFF
π§² WITH magnet β glued blades = CLOSED CIRCUIT = ON
Benefits : Reliable 10 years, IP67 waterproof, zero maintenance.
β Method 2: Relay IEC255 on mapΒ
When the automation card supplies two terminals with 220v, 24v or other, it is sufficient to connect the input of a relay to these terminals.
Choosing a relay adapted to theΒ Coil Voltage (220V or 24V, β¦) and common type (AC/DC) of your automation card.
Open : Current voltage β relay engaged β false
Closed : 0V β relay deactivates β true
Benefits : Use signal official card, ultra-reliable. No interview.
π Method 3: Card auxiliary input (rare)
Some modern maps (Nice, Benross) offer aΒ native dry contact
Nothing more to do.
No relay needed!
π Differences by Module
| Module | Entrance | Boolean logic | Z2M Exhibition |
|---|---|---|---|
| MOES ZM-102-M | S4-S5 | true=closed, false=open |
_door _contact Garage |
| QS-Zigbee-S10-C03 | S1-S2 | true=closed, false=open |
_door _contact Garage |
| Tuya TS0603 Yellow | S1-S2 | true=closed, false=open |
_door _contact Garage |
π Comparison Zigbee models: Identifiers and Support
| Module | Model Z2M | Fab ID Exact | Support Z2M |
|---|---|---|---|
| MOES ZM-102-M | TS0601 | _TZE204 _jktmrpoj | β markedly marked native complete |
| Tuya TS0603 Yellow | TS0603 | _TZE608 _fmemczv1 | β« marked marked Native basic |
| QS-Zigbee-S10-C03 | TS0603 | _TZE608 _xkr8gep3 | β checked Native bugged |
π Complete Summary Table
| Criterion | MOES ZM-102-M | QS-Zigbee-S10-C03 | Tuya TS0603 |
|---|---|---|---|
| Model Z2M | TS0601 | TS0603 | TS0603 |
| Fab ID Exact | _TZE204 _jktmrpoj |
_TZE608 _xkr8gep3 |
_TZE608 _fmemczv1 |
| Support Z2M | β markedly marked native complete | β checked Native bugged | β« marked marked Native basic |
| Bornes (General) | L/N (230V), S1-S2 output, S4-S5 input | L/N, L1/L2 output, S1/S2 input | Similar, state/entry (S1-S2 output/input) |
| Output Terminals Pulse | S1-S2 | L1-L2 | S1-S2 |
| State Entrance Terminals | S4-S5 | S1-S2 | S1-S2 |
| Z2M presentations | trigger (binary toggle intelligent), _door _contact Garage, countdown (0-43200s), run_time (0-120s alarm) |
state, _door _contact Garage |
state, _door _contact Garage |
| Boolean Logic Entrance | true=closed, false=open |
true=closed, false=open |
true=closed, false=open |
| Anti-Spam Intelligence | ο§ markedly Yes : Ignore if state already requested (garage_door_contact match) | β No : Always send | β Partial : Depends on firmware |
| Cooldown/Security | Total: run_time 0-120s + countdown 0-43200s force |
ο£ Basic: 500 ms fixed anti-spam | Non-native: Managed by HA script (500ms delay) |
| Alarms Error | β« markedly Complete: RunTimeAlarm (>120s movement), OpenTimeAlarm (>24h open) | β None | Basic (timeout only) |
| Reliability Pulse | β markedly marked Perfect (0% failed) | β frequently disconnected network β missed impulses | Very good, but spam can saturate |
| Real State Methods | Magnet + reed (ILS IP67), IEC255 relay (220V/24V AC/DC), auxiliary input card | Magnet + reed (ILS IP67), IEC255 relay (220V/24V AC/DC), auxiliary input card | Magnet + reed (ILS IP67), IEC255 relay (220V/24V AC/DC), auxiliary input card |
| Common points | Accurate 500 ms pulse, self-extinguishing, cooldown protection β₯500 ms, dry contact galvanic insulation, simple on/off input (true=closed/false=open via _door_contact garage) | ||
π― Benefits for Domotics
The MOES ZM-102-M dominates by its full Z2M support, advanced alarms and intelligent anti-spam, ideal for Home Assistant and Zigbee2MQTT without additional scripts.
The QS-Zigbee-S10-C03 suffers from network disconnections making pulses unreliable, while the Tuya TS0603 offers a good basic compromise but requires management in HA for cooldown and avoid spam.
π Recommendation





