Forked from seamus65/zha_moes_smart_knob_lights.yaml
Last active
February 25, 2026 11:21
-
-
Save jaywick/229cc116f744d3257c40a5cf2c3f6e50 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| blueprint: | |
| name: ZHA Tuya Smart Knob for Lights | |
| description: 'Control lights with a Moes Smart Knob. | |
| You can set functions for a single press. This allows you to assign, | |
| e.g., a scene or anything else. | |
| Rotating left/right will change the brightness smoothly of the selected light. | |
| Not all functionality of the device is available at time of writing, e.g. double press, long press and press and rotate.' | |
| domain: automation | |
| input: | |
| remote: | |
| name: Remote | |
| description: Tuya Knob to use | |
| selector: | |
| device: | |
| integration: zha | |
| manufacturer: _TZ3000_abrsvsou | |
| model: TS004F | |
| light: | |
| name: Light(s) | |
| description: The light(s) to control | |
| selector: | |
| target: | |
| entity: | |
| domain: light | |
| single_press: | |
| name: Single press | |
| description: Action to run on single press | |
| default: [] | |
| selector: | |
| action: {} | |
| source_url: https://gist.github.com/jaywick/229cc116f744d3257c40a5cf2c3f6e50 | |
| 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 }}' | |
| cluster_id: '{{ trigger.event.data.cluster_id }}' | |
| args: '{% if trigger.event.data.args[0] == 0 %} 0 {% elif trigger.event.data.args[0] == 1 %} 1 {% elif trigger.event.data.args[0] == 3 %} 3 {% endif %}' | |
| - choose: | |
| - conditions: | |
| - '{{ command == ''toggle'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| sequence: !input 'single_press' | |
| - conditions: | |
| - '{{ command == ''step'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ args == 0 }}' | |
| sequence: | |
| - repeat: | |
| while: | |
| - condition: template | |
| value_template: "{{ repeat.index < 2 }}" | |
| sequence: | |
| - service_template: light.turn_on | |
| target: !input 'light' | |
| data_template: | |
| brightness_step_pct: 5 | |
| transition: 0.5 | |
| - conditions: | |
| - '{{ command == ''step'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ args == 1 }}' | |
| sequence: | |
| - repeat: | |
| while: | |
| - condition: template | |
| value_template: "{{ repeat.index < 2 }}" | |
| sequence: | |
| - service_template: light.turn_on | |
| target: !input 'light' | |
| data_template: | |
| brightness_step_pct: -5 | |
| transition: 0.5 | |
| - conditions: | |
| - '{{ command == ''step_color_temp'' }}' | |
| - '{{ cluster_id == 768 }}' | |
| - '{{ args == 1 }}' | |
| sequence: | |
| - repeat: | |
| while: | |
| - condition: template | |
| value_template: "{{ repeat.index < 2 }}" | |
| sequence: | |
| - service_template: light.turn_on | |
| target: !input 'light' | |
| data_template: | |
| brightness_step_pct: 20 | |
| transition: 0.5 | |
| - conditions: | |
| - '{{ command == ''step_color_temp'' }}' | |
| - '{{ cluster_id == 768 }}' | |
| - '{{ args == 3 }}' | |
| sequence: | |
| - repeat: | |
| while: | |
| - condition: template | |
| value_template: "{{ repeat.index < 2 }}" | |
| sequence: | |
| - service_template: light.turn_on | |
| target: !input 'light' | |
| data_template: | |
| brightness_step_pct: -20 | |
| transition: 0.5 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment