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

I’m new to Github
my submission is here - Downloading those two files into your blueprints directory and re-starting will do the trick

GitHub commit

thanks, not necessary, a guy changed the only thing requested and now your branch is merged to master, in next release will be available for everyone!

Not working for me.
At blueprint has this error: String does not match the pattern of "DEPRECATED


- id: "1680983583560"
  description: ""
  alias: Zigbee2MQTT - Tuya Moes Smart Knob (Operation Mode = event)
  use_blueprint:
    path: rdeangel/zigbee2mqtt-tuya-moes-smart-knob-ers-10tzbvk-aa.yaml
    input:
      button_short_press:
        - service: notify.persistent_notification
          data:
            message: Knock triggered to Single action
            title: Knock
      switch: sensor.dimmer_bedroom_action
      button_double_press:
        - service: notify.persistent_notification
          data:
            message: "Knock triggered to Single double "
            title: Knock
      button_rotate_right:
        - service: notify.persistent_notification
          data:
            message: Knock triggered to Rotate right action
            title: Knock

Automation not triggered. operation mode is event.

You need to switch the mode (triple-press the button)

Same here. It worked for some month w/o issues, and now it‘s completely erratic. Just about 1 out of 5 operations are picked up by the automation. In all other cases it detects the Tuya events, but decides to do nothing. Mode is set correctly to „event“, and nothing changed with the setup of the Tuya or the automation derived from the blueprint.

The according logs from MQTT device overview are identical to the ones above (in German….sorry…)

Maybe something changed in the way these three events are forwarded to the automation? Tried debouncing, but couldn‘t find any setting that would help. Only rarely the actual first „single“ event is executed upon, and it mostly is overshadowed by the two following ones…

1 Like

I’m using the blueprint from the top of this thread since quite some time, so in event mode.
Everything was OK until some weeks ago where the single press on the button is not triggering the action (light.toggle). All other actions are working fine (double press, rotate, long press).
The strangest thing is that if I go to this automation and run manually the action for single press (click click “run” from the 3 dots menu next to the action, it executes properly.

Any idea ?

Is the device now set to command mode instead of event mode?

I checked and it’s still in event mode. Switched it to command then back to event and it remains the same

I had the same problem with “Empty string(”“)” actions when using z2m. After I switched to ZHA the problem seems to be gone. Maybe a problem in the z2m converter?

Hm, probably related to:

  • Fix duplicate actions for TuYa ERS-10TZBVK-AA and ERS-10TZBVB-AA (#6326) (d69dc7a)

After searching a bit more:

alanmgomes means, that this behaviour is “a feature”

Z2M create two entity “Action step size” & “Action” that are not syncrhone giving wrong results when getting the value after a trigger.
Using directly the MQTT root topic bypass this prob because with one query you have the two value at the same time

alias: Knob - LED Bureau
description: ""
trigger:
  - platform: mqtt
    topic: zigbee2mqtt/Knob1
condition: []
action:
  - variables:
      command: "{{ trigger.payload_json.action  }}"
      step_size: "{{ trigger.payload_json.action_step_size }}"
      step_percent: >-
        {% if is_number(step_size) %} {{ (step_size / 2 ) | int }} {% else %} {{
        0 }} {% endif %}
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ command== 'toggle' }}"
        sequence:
          - service: light.toggle
            target:
              entity_id: light.wled_pc
            data: {}
      - conditions:
          - condition: template
            value_template: "{{ command == 'brightness_step_down' }}"
        sequence:
          - service: light.turn_on
            data_template:
              brightness_step_pct: "-{{ step_percent }}"
              transition: 0.5
            target:
              entity_id: light.wled_pc
      - conditions:
          - condition: template
            value_template: "{{ command == 'brightness_step_up' }}"
        sequence:
          - service: light.turn_on
            data_template:
              brightness_step_pct: "{{ step_percent }}"
              transition: 0.5
            target:
              entity_id: light.wled_pc
mode: single

1 Like

Hi there,
for me this doesn’t work, it triggers the automation but won’t run one of the three actions it has to choose.
any idea on what might be the problem?

Z2M 1.33.2-1
HA is updated

Hello;

Just chiming in to say this device is useless and never works. It’s been months and every single time I try it nothing happens. Sometimes I can click it a bunch and get the mapped light to come on, but I’ve never gotten it to turn off.

I guess I have to replace this since nobody seems to believe there is serious issues induced through zigbee2mqtt or through home assistant.

Before this trouble started it was working absolutely perfectly.

1 Like

Check Z2M log tab, you will see what’s in the mqtt event that is triggered
condition & action have to match (maybe it spell different between version)

Exemple of my log
{"action":"brightness_step_up", "action_rate":null,"action_step_size":37,"action_transition_time":0.02,"battery":100,"linkquality":124,"operation_mode":"command","voltage":3000}

Hello,

For me, it was not working.
Error: UndefinedError: ‘dict object’ has no attribute ‘to_state’

My scenario was easy to code so i did it with an easy automation
Here is the code if you have same issue than me

description: ""
alias: Knob - Bureau Yoann
trigger:
  - platform: mqtt
    topic: zigbee2mqtt/entity_name/action
condition: []
action:
  - variables:
      command: "{{ trigger.payload.strip() }}"
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ command == 'single' }}"
        sequence:
          - type: turn_on
            device_id: 123456hd
            entity_id: 123456hd
            domain: light
        alias: Single Action
      - conditions:
          - condition: template
            value_template: "{{ command == 'double' }}"
        sequence:
          - type: turn_off
            device_id: 123456hd
            entity_id: 123456hd
            domain: light
        alias: Double Action
      - conditions:
          - condition: template
            value_template: "{{ command == 'hold' }}"
        sequence: []
        alias: Hold Action
      - conditions:
          - condition: template
            value_template: "{{ command == 'rotate_left' }}"
        sequence:
          - device_id: 123456hd
            domain: light
            entity_id: 123456hd
            type: brightness_decrease
        alias: Rotate Left Action
      - conditions:
          - condition: template
            value_template: "{{ command == 'rotate_right' }}"
        sequence:
          - device_id: 123456hd
            domain: light
            entity_id: 123456hd
            type: brightness_increase
        alias: Rotate Right Action
mode: single

Works like a charm

Couldn’t get this blueprint to work so i created one that works with both command and event mode (and switching operations).

For anybody interested the blue print can be found here

2 Likes

Hello.
This blueprint its very interesting because inify the 2 modes.
But dont work for me, can you explan exactly what i need to fill in the blueprint?

Name: its the name as apears in the zigbee2mqtt (default name is 0x… but i rename. its correct?)

State: I dont know what i need to put in the “state”

thanks a lot!

Hello,

For mqtt_entity you should the friendly name as it is defined in the zigebee2mqtt

This can be also a 0x… name when you don`t have a friendly name defined.

Base topic should only be changed when this is changed in your “zigbee2mqtt - home assistant” config and is default zigbee2mqtt so if you don`t have changed that you can leave that for what it is.

The state entity should be the entity which can be used to get/set the current state.

The name you can find by pressing on the icon and you should be able to pick that one out of the select list.

This is used to create a change trigger which i have used to blink the light which i control because i control different light groups on the different modes.

Hope this clarifies it a bit more.

Cheer

2 Likes