Zigbee2MQTTZigbee2MQTT
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)
  • Getting started
  • Supported Adapters
  • Supported Devices
  • Installation
  • Configuration
  • Usage
  • FAQ
Devices
  • Zigbee

    • Zigbee network
    • Improve network range and stability
    • Secure your Zigbee network
    • Sniff Zigbee traffic
    • Create a CC2530 router
  • Support new devices

    • Support new devices
    • Support new Tuya devices
    • Find Tuya Data Points
  • Remote Adapter

    • Connect to a remote adapter
    • Connect to a remote Sonoff ZBBridge
  • More

    • 3D cases
    • External converters
    • External extensions
    • Switch to the dev branch
    • Get Tuya and Xiaomi OTA url
  • Forum
  • Discord
  • Issues
  • Donate
GitHub
GitHub (docs)

Lonsonho QS-Zigbee-C03

ModelQS-Zigbee-C03
VendorLonsonho
DescriptionCurtain/blind motor controller
Exposescover (state, position), moving, calibration, motor_reversal, calibration_time
PictureLonsonho QS-Zigbee-C03

Notes

Note, that some devices are marked as "CP03" instead of "C03", althoug identical.

How to reset

  • Press the reset key (upper right in hole) 5 times until the indicator LED inside the module flashes quickly.
  • Alternatively turn on/off the wired switch for 5 times until the indicator LED inside the module flashes quickly.

How to use calibration

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

Options

How to use device type specific configuration

  • invert_cover: Inverts the cover position, false: open=100,close=0, true: open=0,close=100 (default false). The value must be true or false

  • cover_position_tilt_disable_report: Do not publish set cover target position as a normal 'position' value (default false). The value must be true or false

Exposes

Cover

The current state of this cover is in the published state under the state property (value is OPEN or CLOSE). To control this cover publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"state": "OPEN"}, {"state": "CLOSE"}, {"state": "STOP"}. It's not possible to read (/get) this value. To change the position publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"position": VALUE} where VALUE is a number between 0 and 100.

Moving (enum)

Value can be found in the published state on the moving property. It's not possible to read (/get) or write (/set) this value. The possible values are: UP, STOP, DOWN.

Calibration (binary)

Value can be found in the published state on the calibration property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"calibration": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"calibration": NEW_VALUE}. If value equals ON calibration is ON, if OFF OFF.

Motor reversal (binary)

Value can be found in the published state on the motor_reversal property. To read (/get) the value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/get with payload {"motor_reversal": ""}. To write (/set) a value publish a message to topic zigbee2mqtt/FRIENDLY_NAME/set with payload {"motor_reversal": NEW_VALUE}. If value equals ON motor reversal is ON, if OFF OFF.

Calibration time (numeric)

Calibration time. Value can be found in the published state on the calibration_time property. It's not possible to read (/get) or write (/set) this value. The unit of this value is s.

Help to make the docu better and edit this page on Github ✌
Last Updated:: 6/18/25, 7:45 PM