Last active
August 8, 2025 22:10
-
-
Save SanderEik/c967e21630095df9d052a9049d9613af 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 - Ecodim, 4 Channel remote | |
| description: Nieuwe controle voor de ecodim 4 kanalen. | |
| ' | |
| domain: automation | |
| input: | |
| remote1: | |
| name: Remote controler | |
| description: Remote to use | |
| default: | |
| selector: | |
| device: | |
| integration: zha | |
| manufacturer: EcoDim | |
| model: ED-10014 | |
| # multiple: false | |
| lights: | |
| name: Lights | |
| description: Lights to control when using default light actions | |
| default: | |
| entity_id: none | |
| selector: | |
| target: | |
| entity: | |
| domain: light | |
| #1e RIJ KNOPPEN NAAM | |
| on_short_custom_1: | |
| name: Use custom action for short on-button press row 1 | |
| description: 'Specify custom actions to run using a short press of the on button row 1. | |
| If not specified, the controlled light will be turned on.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_on_short_1: | |
| name: On button press for row 1 | |
| description: Action to run on press of On button row 1 | |
| default: [] | |
| selector: | |
| action: {} | |
| off_short_custom_1: | |
| name: Use custom action for short off-button press row 1 | |
| description: 'Specify custom actions to run using a short press of the off button. | |
| If not specified, the controlled light will be turned off.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_off_short_1: | |
| name: Off button press for row 1 | |
| description: Action to run on press of Off button | |
| default: [] | |
| selector: | |
| action: {} | |
| on_long_custom_1: | |
| name: Use custom action for long on-button hold | |
| description: 'Specify custom actions to run using a long press of the on button. | |
| If not specified, the controlled light will be increased in brightness.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_on_long_1: | |
| name: On button hold for row 1 | |
| description: Action to run on long press of On button | |
| default: [] | |
| selector: | |
| action: {} | |
| off_long_custom_1: | |
| name: Use custom action for long off-button hold | |
| description: 'Specify custom actions to run using a long press of the off button. | |
| If not specified, the controlled light will be decreased in brightness.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_off_long_1: | |
| name: Off button hold for row 1 | |
| description: Action to run on long press of Off button | |
| default: [] | |
| selector: | |
| action: {} | |
| #2e RIJ KNOPPEN NAAM | |
| on_short_custom_2: | |
| name: Use custom action for short on-button press | |
| description: 'Specify custom actions to run using a short press of the on button. | |
| If not specified, the controlled light will be turned on.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_on_short_2: | |
| name: On button press for row 2 | |
| description: Action to run on press of On button | |
| default: [] | |
| selector: | |
| action: {} | |
| off_short_custom_2: | |
| name: Use custom action for short off-button press | |
| description: 'Specify custom actions to run using a short press of the off button. | |
| If not specified, the controlled light will be turned off.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_off_short_2: | |
| name: Off button press for row 2 | |
| description: Action to run on press of Off button | |
| default: [] | |
| selector: | |
| action: {} | |
| on_long_custom_2: | |
| name: Use custom action for long on-button hold | |
| description: 'Specify custom actions to run using a long press of the on button. | |
| If not specified, the controlled light will be increased in brightness.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_on_long_2: | |
| name: On button hold for row 2 | |
| description: Action to run on long press of On button | |
| default: [] | |
| selector: | |
| action: {} | |
| off_long_custom_2: | |
| name: Use custom action for long off-button hold | |
| description: 'Specify custom actions to run using a long press of the off button. | |
| If not specified, the controlled light will be decreased in brightness.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_off_long_2: | |
| name: Off button hold for row 2 | |
| description: Action to run on long press of Off button | |
| default: [] | |
| selector: | |
| action: {} | |
| #3e RIJ KNOPPEN NAAM | |
| on_short_custom_3: | |
| name: Use custom action for short on-button press | |
| description: 'Specify custom actions to run using a short press of the on button. | |
| If not specified, the controlled light will be turned on.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_on_short_3: | |
| name: On button press for row 3 | |
| description: Action to run on press of On button | |
| default: [] | |
| selector: | |
| action: {} | |
| off_short_custom_3: | |
| name: Use custom action for short off-button press | |
| description: 'Specify custom actions to run using a short press of the off button. | |
| If not specified, the controlled light will be turned off.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_off_short_3: | |
| name: Off button press for row 3 | |
| description: Action to run on press of Off button | |
| default: [] | |
| selector: | |
| action: {} | |
| on_long_custom_3: | |
| name: Use custom action for long on-button hold | |
| description: 'Specify custom actions to run using a long press of the on button. | |
| If not specified, the controlled light will be increased in brightness.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_on_long_3: | |
| name: On button hold for row 3 | |
| description: Action to run on long press of On button | |
| default: [] | |
| selector: | |
| action: {} | |
| off_long_custom_3: | |
| name: Use custom action for long off-button hold | |
| description: 'Specify custom actions to run using a long press of the off button. | |
| If not specified, the controlled light will be decreased in brightness.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_off_long_3: | |
| name: Off button hold for row 3 | |
| description: Action to run on long press of Off button | |
| default: [] | |
| selector: | |
| action: {} | |
| #4e RIJ KNOPPEN NAAM | |
| on_short_custom_4: | |
| name: Use custom action for short on-button press | |
| description: 'Specify custom actions to run using a short press of the on button. | |
| If not specified, the controlled light will be turned on.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_on_short_4: | |
| name: On button press for row 4 | |
| description: Action to run on press of On button | |
| default: [] | |
| selector: | |
| action: {} | |
| off_short_custom_4: | |
| name: Use custom action for short off-button | |
| description: 'Specify custom actions to run using a short press of the off button. | |
| If not specified, the controlled light will be turned off.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_off_short_4: | |
| name: Off button press for row 4 | |
| description: Action to run on press of Off button | |
| default: [] | |
| selector: | |
| action: {} | |
| on_long_custom_4: | |
| name: Use custom action for long on-button hold | |
| description: 'Specify custom actions to run using a long press of the on button. | |
| If not specified, the controlled light will be increased in brightness.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_on_long_4: | |
| name: On button hold for row 4 | |
| description: Action to run on long press of On button | |
| default: [] | |
| selector: | |
| action: {} | |
| off_long_custom_4: | |
| name: Use custom action for long off-button hold | |
| description: 'Specify custom actions to run using a long press of the off button. | |
| If not specified, the controlled light will be decreased in brightness.' | |
| default: false | |
| selector: | |
| boolean: {} | |
| button_off_long_4: | |
| name: Off button hold for row 1 | |
| description: Action to run on long press of Off button | |
| default: [] | |
| selector: | |
| action: {} | |
| source_url: https://community.home-assistant.io/t/zha-ikea-tradfri-wireless-dimmer-with-options-for-custom-actions/294350 | |
| trigger: | |
| - platform: event | |
| event_type: zha_event | |
| event_data: | |
| device_id: !input 'remote1' | |
| mode: restart | |
| action: | |
| - variables: | |
| command: '{{ trigger.event.data.command }}' | |
| cluster_id: '{{ trigger.event.data.cluster_id }}' | |
| endpoint_id: '{{ trigger.event.data.endpoint_id }}' | |
| args: '{{ trigger.event.data.args }}' | |
| #Knoppen rij 1 | |
| on_short_custom_1: !input 'on_short_custom_1' | |
| off_short_custom_1: !input 'off_short_custom_1' | |
| on_long_custom_1: !input 'on_long_custom_1' | |
| off_long_custom_1: !input 'off_long_custom_1' | |
| #Knoppen rij 2 | |
| on_short_custom_2: !input 'on_short_custom_2' | |
| off_short_custom_2: !input 'off_short_custom_2' | |
| on_long_custom_2: !input 'on_long_custom_2' | |
| off_long_custom_2: !input 'off_long_custom_2' | |
| #Knoppen rij 3 | |
| on_short_custom_3: !input 'on_short_custom_3' | |
| off_short_custom_3: !input 'off_short_custom_3' | |
| on_long_custom_3: !input 'on_long_custom_3' | |
| off_long_custom_3: !input 'off_long_custom_3' | |
| #Knoppen rij 4 | |
| on_short_custom_4: !input 'on_short_custom_4' | |
| off_short_custom_4: !input 'off_short_custom_4' | |
| on_long_custom_4: !input 'on_long_custom_4' | |
| off_long_custom_4: !input 'off_long_custom_4' | |
| lights_1: !input 'lights' | |
| #Acties rij 1 | |
| - choose: | |
| - conditions: | |
| - '{{ command == ''on'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| - '{{ endpoint_id == 1 }}' | |
| sequence: | |
| - choose: | |
| - conditions: '{{ on_short_custom_1 }}' | |
| sequence: !input 'button_on_short_1' | |
| - conditions: '{{ not on_short_custom_1 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| - conditions: | |
| - '{{ command == ''off'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| - '{{ endpoint_id == 1 }}' | |
| sequence: | |
| - choose: | |
| - conditions: '{{ off_short_custom_1 }}' | |
| sequence: !input 'button_off_short_1' | |
| - conditions: '{{ not off_short_custom_1 }}' | |
| sequence: | |
| - service: light.turn_off | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| - conditions: | |
| - '{{ command == ''move_with_on_off'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ endpoint_id == 1 }}' | |
| - "{{ trigger.event.data.args[0] == 0 }}" | |
| - "{{ trigger.event.data.args[1] == 50 }}" | |
| sequence: | |
| - choose: | |
| - conditions: '{{ on_long_custom_1 }}' | |
| sequence: !input 'button_on_long_1' | |
| - conditions: '{{ not on_long_custom_1 }}' | |
| sequence: | |
| repeat: | |
| while: | |
| - condition: template | |
| value_template: '{{ repeat.index < 10 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| brightness_step_pct: 10 | |
| - delay: 1 | |
| - conditions: | |
| - '{{ command == ''move_with_on_off'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ endpoint_id == 1 }}' | |
| - "{{ trigger.event.data.args[0] == 1 }}" | |
| - "{{ trigger.event.data.args[1] == 50 }}" | |
| sequence: | |
| - choose: | |
| - conditions: '{{ off_long_custom_1 }}' | |
| sequence: !input 'button_off_long_1' | |
| - conditions: '{{ not off_long_custom_1 }}' | |
| sequence: | |
| repeat: | |
| while: | |
| - condition: template | |
| value_template: '{{ repeat.index < 10 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| brightness_step_pct: -10 | |
| - delay: 1 | |
| #Acties rij 2 | |
| - choose: | |
| - conditions: | |
| - '{{ command == ''on'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| - '{{ endpoint_id == 2 }}' | |
| sequence: | |
| - choose: | |
| - conditions: '{{ on_short_custom_2 }}' | |
| sequence: !input 'button_on_short_2' | |
| - conditions: '{{ not on_short_custom_2 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| - conditions: | |
| - '{{ command == ''off'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| - '{{ endpoint_id == 2 }}' | |
| sequence: | |
| - choose: | |
| - conditions: '{{ off_short_custom_2 }}' | |
| sequence: !input 'button_off_short_2' | |
| - conditions: '{{ not off_short_custom_2 }}' | |
| sequence: | |
| - service: light.turn_off | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| - conditions: | |
| - '{{ command == ''move_with_on_off'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ endpoint_id == 2 }}' | |
| - "{{ trigger.event.data.args[0] == 0 }}" | |
| - "{{ trigger.event.data.args[1] == 50 }}" | |
| sequence: | |
| - choose: | |
| - conditions: '{{ on_long_custom_2 }}' | |
| sequence: !input 'button_on_long_2' | |
| - conditions: '{{ not on_long_custom_2 }}' | |
| sequence: | |
| repeat: | |
| while: | |
| - condition: template | |
| value_template: '{{ repeat.index < 10 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| brightness_step_pct: 10 | |
| - delay: 1 | |
| - conditions: | |
| - '{{ command == ''move_with_on_off'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ endpoint_id == 2 }}' | |
| - "{{ trigger.event.data.args[0] == 1 }}" | |
| - "{{ trigger.event.data.args[1] == 50 }}" | |
| sequence: | |
| - choose: | |
| - conditions: '{{ off_long_custom_2 }}' | |
| sequence: !input 'button_off_long_2' | |
| - conditions: '{{ not off_long_custom_2 }}' | |
| sequence: | |
| repeat: | |
| while: | |
| - condition: template | |
| value_template: '{{ repeat.index < 10 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| brightness_step_pct: -10 | |
| - delay: 1 | |
| #Acties rij 3 | |
| - choose: | |
| - conditions: | |
| - '{{ command == ''on'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| - '{{ endpoint_id == 3 }}' | |
| sequence: | |
| - choose: | |
| - conditions: '{{ on_short_custom_3 }}' | |
| sequence: !input 'button_on_short_3' | |
| - conditions: '{{ not on_short_custom_3 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| - conditions: | |
| - '{{ command == ''off'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| - '{{ endpoint_id == 3 }}' | |
| sequence: | |
| - choose: | |
| - conditions: '{{ off_short_custom_3 }}' | |
| sequence: !input 'button_off_short_3' | |
| - conditions: '{{ not off_short_custom_3 }}' | |
| sequence: | |
| - service: light.turn_off | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| - conditions: | |
| - '{{ command == ''move_with_on_off'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ endpoint_id == 3 }}' | |
| - "{{ trigger.event.data.args[0] == 0 }}" | |
| - "{{ trigger.event.data.args[1] == 50 }}" | |
| sequence: | |
| - choose: | |
| - conditions: '{{ on_long_custom_3 }}' | |
| sequence: !input 'button_on_long_3' | |
| - conditions: '{{ not on_long_custom_3 }}' | |
| sequence: | |
| repeat: | |
| while: | |
| - condition: template | |
| value_template: '{{ repeat.index < 10 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| brightness_step_pct: 10 | |
| - delay: 1 | |
| - conditions: | |
| - '{{ command == ''move_with_on_off'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ endpoint_id == 3 }}' | |
| - "{{ trigger.event.data.args[0] == 1 }}" | |
| - "{{ trigger.event.data.args[1] == 50 }}" | |
| sequence: | |
| - choose: | |
| - conditions: '{{ off_long_custom_3 }}' | |
| sequence: !input 'button_off_long_3' | |
| - conditions: '{{ not off_long_custom_3 }}' | |
| sequence: | |
| repeat: | |
| while: | |
| - condition: template | |
| value_template: '{{ repeat.index < 10 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| brightness_step_pct: -10 | |
| - delay: 1 | |
| #Acties rij 4 | |
| - choose: | |
| - conditions: | |
| - '{{ command == ''on'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| - '{{ endpoint_id == 4 }}' | |
| sequence: | |
| - choose: | |
| - conditions: '{{ on_short_custom_4 }}' | |
| sequence: !input 'button_on_short_4' | |
| - conditions: '{{ not on_short_custom_4 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| - conditions: | |
| - '{{ command == ''off'' }}' | |
| - '{{ cluster_id == 6 }}' | |
| - '{{ endpoint_id == 4 }}' | |
| sequence: | |
| - choose: | |
| - conditions: '{{ off_short_custom_4 }}' | |
| sequence: !input 'button_off_short_4' | |
| - conditions: '{{ not off_short_custom_4 }}' | |
| sequence: | |
| - service: light.turn_off | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| - conditions: | |
| - '{{ command == ''move_with_on_off'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ endpoint_id == 4 }}' | |
| - "{{ trigger.event.data.args[0] == 0 }}" | |
| - "{{ trigger.event.data.args[1] == 50 }}" | |
| sequence: | |
| - choose: | |
| - conditions: '{{ on_long_custom_4 }}' | |
| sequence: !input 'button_on_long_4' | |
| - conditions: '{{ not on_long_custom_4 }}' | |
| sequence: | |
| repeat: | |
| while: | |
| - condition: template | |
| value_template: '{{ repeat.index < 10 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| brightness_step_pct: 10 | |
| - delay: 1 | |
| - conditions: | |
| - '{{ command == ''move_with_on_off'' }}' | |
| - '{{ cluster_id == 8 }}' | |
| - '{{ endpoint_id == 4 }}' | |
| - "{{ trigger.event.data.args[0] == 1 }}" | |
| - "{{ trigger.event.data.args[1] == 50 }}" | |
| sequence: | |
| - choose: | |
| - conditions: '{{ off_long_custom_4 }}' | |
| sequence: !input 'button_off_long_4' | |
| - conditions: '{{ not off_long_custom_4 }}' | |
| sequence: | |
| repeat: | |
| while: | |
| - condition: template | |
| value_template: '{{ repeat.index < 10 }}' | |
| sequence: | |
| - service: light.turn_on | |
| target: !input 'lights' | |
| data: | |
| transition: 1 | |
| brightness_step_pct: -10 | |
| - delay: 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment