Zigbee2mqtt Curtain Module: QS-Zigbee-C01

this is exactly what I need! Except that I don’t use zigbee2mqtt, but the Home-Assistant ZHA integration. Does anyone know an easy way to do this calibration in ZHA?

Apparently I destroyed two of the devices when I accidentally pressed the up and down button at the same time. Does anybody else experienced something similar?

I have this module with Zigbee2mqtt. everything works well excepted the wall switch. For the down movement I need to click two times (click down click up click down) to have response (movement) in my shutter. Anyone with this issue?

Mine does the same… and yesterday I needed to restart HA virtualbox and now the curtain expose is unavailable. Anyone can help me understand why?

Is it possible to delete it and pair again without accessing the module (with the physical buttons)?

[quote=“ruidalves2, post:14, topic:265239, full:true”]
Mine does the same… and yesterday I needed to restart HA virtualbox and now the curtain expose is unavailable. Anyone can help me understand why?

Is it possible to delete it and pair again without accessing the module (with the physical buttons)?

I have the same problem :frowning:


  • Exception in async_discover when dispatching ‘mqtt_discovery_new_cover_mqtt’: ({‘availability’: [{‘topic’: ‘zigbee2mqtt/bridge/state’}], ‘command_topic’: ‘zigbee2mqtt/Curtain kitchen/set’, ‘device’: {‘identifiers’: [‘zigbee2mqtt_0x804b50fffe4a088c’], ‘manufacturer’: ‘Lonsonho’, ‘model’: ‘Curtain/blind motor controller (QS-Zigbee-C01)’, ‘name’: ‘Curtain kitchen’, ‘sw_version’: ‘Zigbee2MQTT 1.18.1’}, ‘json_attributes_topic’: ‘zigbee2mqtt/Curtain kitchen’, ‘name’: ‘Curtain kitchen’, ‘position_topic’: ‘zigbee2mqtt/Curtain kitchen’, ‘set_position_template’: ‘{ “position”: {{ position }} }’, ‘set_position_topic’: ‘zigbee2mqtt/Curtain kitchen/set’, ‘unique_id’: ‘0x804b50fffe4a088c_cover_zigbee2mqtt’, ‘value_template’: ‘{{ value_json.position }}’, ‘platform’: ‘mqtt’},) Traceback (most recent call last): File “/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py”, line 272, in call return self._compiled([], data) File “/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py”, line 817, in validate_callable return schema(data) File “/usr/src/homeassistant/homeassistant/components/mqtt/cover.py”, line 118, in validate_options raise vol.Invalid( voluptuous.error.Invalid: ‘value_template’ must be set together with ‘state_topic’. During handling of the above exception, another exception occurred: Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py”, line 160, in async_discover config = schema(discovery_payload) File “/usr/local/lib/python3.8/site-packages/voluptuous/validators.py”, line 218, in call return self._exec((Schema(val) for val in self.validators), v) File “/usr/local/lib/python3.8/site-packages/voluptuous/validators.py”, line 341, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File “/usr/local/lib/python3.8/site-packages/voluptuous/validators.py”, line 337, in _exec v = func(v) File “/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py”, line 276, in call raise er.MultipleInvalid([e]) voluptuous.error.MultipleInvalid: ‘value_template’ must be set together with ‘state_topic’.

Same problem here with my curtain COVER entity. It broke after updating to 2021.06.
If you revert back to 2021.05 it will work again.
I still haven’t figured out why the Cover entity is not working anymore.

I just created a post for help

Hey guys, i was able to fix the Cover problem by updating to Zigbee2mqtt version 1.19.

If you are unable to see a new version showing up in your HomeAssistant (so you are stuck on 1.18 or prior), you can follow my instructions here - Cover entities stopped working with 2021.6 update - #5 by Renan_Az


It happens to me too, I have 3 modules and in all 3 it happens to me

Probably “It’s Not a Bug, It’s a Feature” ahahah. I will not buy more of these… Anyone could recommend another zigbee module for roller shutter?

I’m using 2021.6 and successfully managed to install several QS-Zigbee-C01 curtain modules. However, I’m having this issue with the close button of the switch that needs to be activated two times to trigger the cover. The open button is working like expected.
Anybody found a solution to it?

One question about this module… can it be used with physical switch that remain in the position? I don’t know exactly the vocabulary…
I want to say, there are switch that when you press it and release, they return to the initial position. Others remain fixed.
In the videos that I’ve seen testing this, all of them use switch that return to the initial position. Can be used with the others too?


I think you’re looking for the word “latching”, i.e. a button that latches / stays in the position.
Else the ones which are only press and release are called “momentary”.

Thank you! I was freaking out with mqtt commands and came up with his comment. i did these steps:

  1. Activate calibration mode
  2. Open the shutter completely and press stop
  3. Set the number to 100 and press the refresh button
  4. Close the shutter completely and when it comes to an end, press STOP.
  5. Set the position to 0, press the refresh button and deactivate the calibration.

I had to add an extra 3 seconds because the motor takes 3 more seconds to fully climb due to the weight. So when it goes down it stays on for an extra 3 seconds but goes up all the way.

(There is no problem because the start and end of travel are configured in the motor).


My Zigbee2mqtt module QS-Zigbee-C01 is wrongly detected as Tuya TS130F. Is there any way that I can fix this? I have tried repair but result is the same.


just to report my HA tests. So with ZHA, I’ve tried in “cluster” mode in the entity to set calibration mode and set the shutter time to more than 10 seconds (default value). But nothing good with ZHA, if anyone had succeeded, let me know.

Then I’ve removed ZHA and installed Z2M and then it’s ok with the webUI : set calibration mode ON, open the shutter to the max, Stop, close completely and stop again, then set calibration mode OFF.
And voilà !

Thanks for the community :wink:

Did you found a solution for that? Mine still needs to be “waken” before it starts moving when using the physical buttons.


I’m trying to replace Nice TT2N that currently control my rolling shutters. The problem is that I have only one physical push button which does up-stop-down-stop. Here is the schematic for TT2N:


So I have only one wire going from the push button to the controller.

Anyone knows if QS-Zigbee-C01-LN supports that mode?

I create a request for features for calibrtion via ZHA.

You can vote for it, to have it faster :wink:

This is very simple. Open the calibration mode to “ON”. And then position 100, wait the blind up to stop. Then position 0, wait the blind down to stop. Then close the calibration mode “OFF”. You will find your module has remembered what you set. Good luck!

If you have more query, email me.

[email protected]

I placed a contribution how to get the QS-Zigbee-C01 properly working in a ZHA integration here: