Zigbee2MQTT Tuya Moes Smart Knob (ERS-10TZBVK-AA)

This is a blueprint for the Moes Smart Knob (operation_mode event) using zigbee2mqtt

Supported actions:

  1. Short press
  2. Double press
  3. Long press (4 seconds)
  4. Rotate Right
  5. Rotate Left

Get started

Click the badge to import this Blueprint: (needs Home Assistant Core 2021.3 or higher)

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Or import this Blueprint using the forum topic URL:

  name: Zigbee2MQTT - Tuya Moes Smart Knob (Operation Mode = event)
  description: Automate your Tuya Smart Knob - ERS-10TZBVK-AA
  domain: automation
      name: Tuya Smart Knob
      description: Tuya Smart Knob used as Button
          integration: mqtt
          domain: sensor
          multiple: false
      name: Single Press
      description: Action to run on single press (careful not to turn knob instead)
      default: []
        action: {}
      name: Double Press
      description: Action to run on double press (careful not to turn knob instead)
      default: []
        action: {}
      name: Long Press
      description: Action to run on long press (at least 4 seconds - careful not to turn knob instead)
      default: []
        action: {}
      name: Rotate Right
      description: Action to run when Smart Knob is rotated right
      default: []
        action: {}
      name: Rotate Left
      description: Action to run when Smart Knob is rotated left
      default: []
        action: {}
  source_url: https://community.home-assistant.io/t/zigbee2mqtt-tuya-moes-smart-knob-ers-10tzbvk-aa/419989
mode: restart
max_exceeded: silent
- platform: state
  entity_id: !input 'switch'
  attribute: action
- variables:
    command: '{{ trigger.to_state.state }}'
- choose:
  - conditions:
    - '{{ command == ''single'' }}'
    sequence: !input 'button_short_press'
  - conditions:
    - '{{ command == ''double'' }}'
    sequence: !input 'button_double_press'
  - conditions:
    - '{{ command == ''hold'' }}'
    sequence: !input 'button_long_press'
  - conditions:
    - '{{ command == ''rotate_right'' }}'
    sequence: !input 'button_rotate_right'
  - conditions:
    - '{{ command == ''rotate_left'' }}'
    sequence: !input 'button_rotate_left'

This blueprint was rewrote/adapted from Zigbee2MQTT - Tuya 4-button Scene Switch (TS0044)


Hi, thanks for this
My zibgee coordinator firmware was from a february build, I noticed i was able to get additional actions like ‘color_temperature_step_up’, ‘color_temperature_step_down’, ‘hue_stop’
but after I updated to may build i was no longer getting those actions.
I’m just wondering if you had similar issues with that?

there are two operation modes this button can work in “event” and “command”:

from zigbee2mqtt webinterface you can forexample easily change this, and this changes how the button operates and the type of actions received.

This blueprint is for “event” mode and only reacts to the following actions:
single, double, hold, rotate_right and rotate_left.

another blueprint should be written for the command mode (the one you would use for light controls).

You can also change the operation mode by sending an mqtt-message from mqtt-explorer or homeassistant integration for example.

If the name of your device is “Smart Knob” (please note I’ve renamed it) then you can publish the following mqtt message to topic:
zigbee2mqtt/Smart Knob/set
with payload: {“operation_mode”: “command”}
and when rotaing_right you get “brightness_step_up” for example

or with payload: {“operation_mode”: “event”}
and when rotating right you get “rotate_right”

Ultimately it’s all documented here:

I hope this helps.

1 Like

Has anyone adapted this yet to also include the the other actions like press+rotate? Also, some consideration for how far it is turned at once? There was a pretty good ZHA blueprint but I switched to Z2M and could not find a similar one.


I get the
" Invalid blueprint: extra keys not allowed @ data[‘blueprint’][‘input’][‘switch’][‘selector’][‘multiple’].
Got None"
when adding to my hassio instance. What’s wrong? Any help would be greatly appreciated.

So this device (Moes Knob) is supported by Zigbee2MQTT?
I just received it, and it states that it’s “Not Supported”

Zigbee Model: TS004F
Zigbee Manufacturer: _TZ3000_qja6nq5z

Is this a newer version?

I am using Zigbee2MQTT and are experiencing a similar issue.

Resolved: I updated the Zigbee2MQTT version to the latest 1.26.0, and the smart knob appeared and is functioning as expected.

Hello! Could you please share that blueprint for ZHA? I have been trying to find it a couple of times without luck. Thanks!

ZHA BP: Moes Smart Knob Lights Control - #45 by jory

Thanks! Much appreciated.

Has anyone gotten this blueprint to work on Z2M? It auto joins but nothing is working via the blueprint

1 Like

Trying to use this on a hue but brigthness change is not smooth and very clunky. Can it be made smooth like a fade effect.

Has anyone written it for command mode (lights)???

not written it for comand mode, but have wrote two automations/scripts so you can choose it to work with either temprature, or us it for cycling scenes (push and rotate) under non push and rotate its is just brightness.

I had same issue and followed Zigbee2MQTT - Tuya 4-button Scene Switch (TS0044) - #54 by just.bondarenko

Seemed to resolve it for me.

Trying to use this on a hue but brigthness change is not smooth and very clunky. Can it be made smooth like a fade effect.

I’ve integrated the smart knob to Z2M as command mode and I’ve created a simple action on node red (one click to on or off). This action is working fine.
The intention here is this button controls a Sonoff D1 dimmer.
To my surprise the rotation is working as well for the dimmer, despite I haven’t any action/programming on node red for the rotation.
It should be ok with less work, but the problem is that the brightness value is wrong… the system (I don’t know if the Z2M or Node Red) gets the rotation value as the new brightness, so let’s suppose I’m with 150 as brightness and I want to increase a little more and rotate it 30, for instance, the new brightness value is 30 and not 180 (150 + 30). This is hard because I have to discover the right “size” of rotation for the perfect brightness I want for that, and it should work as a volume button, where you rotate a small part of it and the volume increase or decrease that small part for the present volume.
In the Z2M logs I can see both values (example below), and as I’ve described above the new brightness comes from the value of action_step_size and not from the brightness.

Info 2022-09-07 22:38:58MQTT publish: topic 'zigbee2mqtt/Botao_Dimmer_Casal', payload '{"action":"brightness_step_up","action_rate":null,"action_step_size":25,"action_transition_time":0.01,"battery":100,"brightness":240,"linkquality":69,"operation_mode":"command","voltage":3000}'

Does anyone know how could I change it? I’d like to work with the brightness value, which changes perfectly (increasing or decreasing from the previous value).
Thanks a lot.

Thanks. This is rather exciting. I have the knob linked to my dimmable light.
I see 1 turn changes 10%. But if I turn fast (feel many clicks), it still does 10%. It doesn’t feel like it’s doing sth.
How can this be made to change more?

It also doesn’t respond sometimes. Eg today the bp triggered but none of the actions did.


It only saves 5 traces, so I can’t find older ones where it worked.

It can’t. It’s a largely useless device.