TS004F Config (TZ3000_402vrq2i) - misconfigured?

I have a Zigbee TS004F (called ‘Smart Knob Dimmer’ on the box), simple unit from Aliexpress.
I paired it with ZigbeeHA and it was recognised, only shows Configuration: Firmware unknown. Battery and Identity are available.

If I press the button I get:

Zigbee_Button Toggle event was fired

17:01:57 - In 1 second

If I rotate it, I get:
Zigbee_Button Step event was fired with parameters: {‘step_mode’: 1, ‘step_size’: 37, ‘transition_time’: 2, ‘options_mask’: None, ‘options_override’: None}

16:45:31 - 16 minutes ago

If I try and setup an automation, the options do not appear to match what the activity shows. So nothing ever works.

This is very new to me, so could do with some guidance on getting it working. It feels like its almost there and I have just missed something.

You only missed 2 things and they were genuine rookie mistakes which are easily fixed:

  • Battery powered devices send events, so you need to listen to zha_events in Developer tools in order to build automations for your button.
  • You can skip the whole "listening to events and building automations from scratch and use a ready made blueprint.
    This one seems to be your same mode with a different manufacturer. You just need to import it and then select Take Control. All you need to change is one line, from manufacturer: _TZ3000_4fjiwweb to manufacturer: _TZ3000_402vrq2i
1 Like

That’s great, it works - thank you!

Can you have multiple buttons, each with a different Moes Smart setting?
Are there other actions, double click etc?
I tried using toggle option for a light, but that didn’t work. Changed to press for off and that worked. Turn button brinks light on and makes it brighter, press to turn off.
Could not see a way to activate a scene either.

Are you aware if there is a way to use it for other things, such as pressing button performs an action - such as making a TTS announcement on an Alexa? I already have the TTS bit setup.

Looking to use a button as a emergency alert for our Daughter who has Epilepsy, keep it next to her bed and she can alert us if a seizure is imminent.

All the above should be possible to achieve using that blueprint. All you have to do is configure the correct action based on what you want it to do.

I don’t own that knob so can’t help you with specific behaviours, however that thread is quite long & some of your questions (like double click) have already been asked there. I suggest you give it a read & play around, now that you can control it.

Id also appreciate if you could tag my previous post with the solution tag, given that it answers the original issue. That way, people with your same issue will be able to find the answer immediately.

1 Like

I recently picked up a similar smart knob from AliExpress and while the linked posts did help get basic functions working, they didn’t utilize all “features” of the device/knob. Using ZHA debug, and the linked blueprints I created this blueprint that so far has allowed all inputs from the smart knob to be used.

blueprint:
  name: ZHA - Tuya Smart Knob for lights - v1.1
  description: 'Control lights with a Tuya Smart Knob from "_TZ3000_402vrq2i".
    Tapping activates toggle event and will toggle the selected light.
    Rotating left/right will change the brightness smoothly of the selected light.
    Adjusted for generic Tuya Smart Knob, with functionality added for remote mode.
    Device is switched to remote mode by rapidly tapping 3 times.

    Once in remote mode the following functions are available
    - Short Press
    - Double Press
    - Long Press
    - Rotate Right
    - Rotate Left

    Based on
    - Original blueprint by seamus65 (https://gist.github.com/seamus65/939a147634942dd885c8704334627f93).

    - Improved by GonzaloAlbito (https://gist.github.com/gonzaloalbito/3dc06702e941e08298ea9bfade731731).

    Version 2026-01-30.'
  domain: automation
  input:
    remote:
      name: Remote
      description: Tuya Knob to use
      selector:
        device:
          integration: zha
          manufacturer: _TZ3000_402vrq2i
          model: TS004F
          multiple: false

    light:
      name: Light(s)
      description: The light(s) to control
      selector:
        target:
          entity:
            domain: light

    step_percent:
      name: Light step
      description: Light percent change for each knob step
      selector:
        number:
          mode: slider
          min: 0
          max: 100
          unit_of_measurement: "%"
      default: 20

    short_press:
      name: Remote Mode - Short Press
      description: Action to run on single press
      default: []
      selector:
        action: {}

    double_press:
      name: Remote Mode - Double Press
      description: Action to run on double press
      default: []
      selector:
        action: {}

    long_press:
      name: Remote Mode - Long Press
      description: Action to run on long press
      default: []
      selector:
        action: {}

    remote_right:
      name: Remote mode - Spin Right
      description: Action to run on "right spin" in remote mode
      default: []
      selector:
        action: {}

    remote_left:
      name: Remote mode - Spin Left
      description: Action to run on "left spin" in remote mode
      default: []
      selector:
        action: {}

mode: restart
max_exceeded: silent
trigger:
- platform: event
  event_type: zha_event
  event_data:
    device_id: !input remote

action:
- variables:
    command: '{{ trigger.event.data.command }}'
    mode: '{% if command == ''step'' %} {{ trigger.event.data.args[0] }} {% endif %}'
    steps: '{% if command == ''step'' %} {{ (trigger.event.data.args[1] / 12.5 ) | int }} {% endif %}'
    step_percent: !input step_percent

- choose:
  - conditions:
    - '{{ command == ''toggle'' }}'
    sequence:
    - service_template: light.toggle
      target: !input light

  - conditions:
    - '{{ command == ''step'' }}'
    - '{{ mode == ''StepMode.Up'' }}'
    sequence:
    - service_template: light.turn_on
      target: !input light
      data_template:
        brightness_step_pct: '{{ step_percent * steps }}'
        transition: 0.5

  - conditions:
    - '{{ command == ''step'' }}'
    - '{{ mode == ''StepMode.Down'' }}'
    sequence:
    - service_template: light.turn_on
      target: !input light
      data_template:
        brightness_step_pct: '-{{ step_percent * steps }}'
        transition: 0.5

  - conditions:
    - '{{ command == ''remote_button_short_press'' }}'
    sequence: !input short_press

  - conditions:
    - '{{ command == ''remote_button_double_press'' }}'
    sequence: !input double_press

  - conditions:
    - '{{ command == ''remote_button_long_press'' }}'
    sequence: !input long_press

  - conditions:
    - '{{ command == ''right'' }}'
    sequence: !input remote_right

  - conditions:
    - '{{ command == ''left'' }}'
    sequence: !input remote_left