diff --git a/ikea-rodret_E2201_ZHA-Z2M_control-anything.yaml.yaml b/ikea-rodret_E2201_ZHA-Z2M_control-anything.yaml.yaml deleted file mode 100644 index 889892e..0000000 --- a/ikea-rodret_E2201_ZHA-Z2M_control-anything.yaml.yaml +++ /dev/null @@ -1,412 +0,0 @@ -blueprint: - name: IKEA Rodret Dimmer Controls (ZHA/Z2M) - description: "## Control anything with IKEA RODRET Dimmer remote (v1.2) - - - Only for use with [ZHA](https://www.home-assistant.io/integrations/zha/) - or Zigbee2MQTT (cf [MQTT](https://www.home-assistant.io/integrations/mqtt) - + [Z2M addon](https://www.zigbee2mqtt.io/guide/installation/03_ha_addon.html)). - - - Available controls: - - - Press the **on** or **off** buttons - - - Double press the **on** or **off** buttons (optional) in **Helper - Double press delay** interval. When disabled, there will be no delay for the simple press actions - - - Press and hold the **on**/**off** buttons. Actions will be executed every **Helper - Hold delay**, but maximum **Helper - Max number of loops** times. - " - domain: automation - input: - remote_device: - name: (ZHA) Remote - description: IKEA remote to use. **_Choose if you are using ZHA._** - default: "" - selector: - device: - filter: - integration: zha - manufacturer: IKEA of Sweden - model: RODRET Dimmer - multiple: false - remote_name: - name: (Zigbee2MQTT) Remote Name - description: The name of the controller (e.g. IKEA Rodret). **_Choose if you are using Zigbee2MQTT._** - default: "" - base_topic: - name: (Zigbee2MQTT) Base mqtt topic - description: The topic configured in [Z2M addon](https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html). - default: zigbee2mqtt - on_press_action: - name: On - Single press action - description: Choose action(s) to run when **on** button is pressed. - default: [] - selector: - action: {} - off_press_action: - name: Off - Single press action - description: Choose action(s) to run when **off** button is **pressed**. - default: [] - selector: - action: {} - on_hold_action: - name: On - Hold action - description: Choose action(s) to run when **on** button is **pressed and hold**. - default: [] - selector: - action: {} - off_hold_action: - name: Off - Hold action - description: Choose action(s) to run when **off** button is **pressed and hold**. - default: [] - selector: - action: {} - on_double_press: - name: On - Double press event - description: - Choose whether or not to expose the virtual **double press** event - for the **on** button. Turn this on if you are providing an action for the **on** - button double press event. - default: false - selector: - boolean: {} - on_double_press_action: - name: On - Double press action - description: - Choose action(s) to run when pressing the **on** button twice in **Helper - Double press - delay** interval. **On - Double press event** must be exposed. - default: [] - selector: - action: {} - off_double_press: - name: Off - Double press event - description: - Choose whether or not to expose the virtual **double press** event - for the **off** button. Turn this on if you are providing an action for the **off** - button double press event. - default: false - selector: - boolean: {} - off_double_press_action: - name: Off - Double press action - description: - Choose action(s) to run when pressing the **off** button twice in **Helper - Double press - delay** interval. **Off - Double press event** must be exposed. - default: [] - selector: - action: {} - helper_double_press_delay: - name: Helper - Double press delay - description: - Max delay between the first and the second button press for the - **Double press events**. Provide a value only if you are using a double press action. - Increase this value if you notice that the double press action is not triggered - properly. - default: 250 - selector: - number: - unit_of_measurement: milliseconds - min: 100.0 - max: 5000.0 - step: 10.0 - mode: slider - helper_hold_delay: - name: Helper - Hold delay - description: Delay between the execution of the **Hold** action(s). - default: 250 - selector: - number: - unit_of_measurement: milliseconds - min: 100.0 - max: 5000.0 - step: 10.0 - mode: slider - helper_max_loops: - name: Helper - Max number of loops - description: Maximum number of loops when holding down a button. - default: 20 - selector: - number: - min: 1.0 - max: 1000.0 - step: 1.0 - mode: slider -mode: single -max_exceeded: silent -trigger_variables: - z2m_base_topic: !input base_topic - z2m_controller: !input remote_name - zha_remote: !input remote_device -trigger: - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - command: "on" - cluster_id: 6 - endpoint_id: 1 - id: press-on-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "on" - id: press-on-z2m - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - command: "off" - cluster_id: 6 - endpoint_id: 1 - id: press-off-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "off" - id: press-off-z2m - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - command: "move_with_on_off" - cluster_id: 8 - endpoint_id: 1 - args: [0, 83] - id: hold-on-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "brightness_move_up" - id: hold-on-z2m - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - command: "move" - cluster_id: 8 - endpoint_id: 1 - args: [1, 83, 0, 0] - id: hold-off-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "brightness_move_down" - id: hold-off-z2m - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - endpoint_id: 1 - cluster_id: 8 - command: stop_with_on_off - id: release-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "brightness_stop" - id: release-z2m -action: - - variables: - on_double_press: !input on_double_press - off_double_press: !input off_double_press - zha_remote: !input remote_device - z2m_base_topic: !input base_topic - z2m_controller: !input remote_name - - choose: - - conditions: - - condition: trigger - id: - - press-on-zha - - press-on-z2m - sequence: - - if: - - condition: template - value_template: "{{ on_double_press }}" - then: - - choose: - - conditions: - - condition: trigger - id: - - press-on-zha - sequence: - - wait_for_trigger: - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - command: "on" - cluster_id: 6 - endpoint_id: 1 - timeout: - milliseconds: !input helper_double_press_delay - continue_on_timeout: true - - if: - - condition: template - value_template: "{{ wait.trigger.idx is defined }}" - then: !input on_double_press_action - else: !input on_press_action - - conditions: - - condition: trigger - id: - - press-on-z2m - sequence: - - wait_for_trigger: - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "on" - timeout: - milliseconds: !input helper_double_press_delay - continue_on_timeout: true - - if: - - condition: template - value_template: "{{ wait.trigger.idx is defined }}" - then: !input on_double_press_action - else: !input on_press_action - else: !input on_press_action - - conditions: - - condition: trigger - id: - - press-off-zha - - press-off-z2m - sequence: - - if: - - condition: template - value_template: "{{ off_double_press }}" - then: - - choose: - - conditions: - - condition: trigger - id: - - press-off-zha - sequence: - - wait_for_trigger: - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - command: "off" - cluster_id: 6 - endpoint_id: 1 - timeout: - milliseconds: !input helper_double_press_delay - continue_on_timeout: true - - if: - - condition: template - value_template: "{{ wait.trigger.idx is defined }}" - then: !input off_double_press_action - else: !input off_press_action - - conditions: - - condition: trigger - id: - - press-off-z2m - sequence: - - wait_for_trigger: - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "off" - timeout: - milliseconds: !input helper_double_press_delay - continue_on_timeout: true - - if: - - condition: template - value_template: "{{ wait.trigger.idx is defined }}" - then: !input off_double_press_action - else: !input off_press_action - else: !input off_press_action - - conditions: - - condition: trigger - id: - - hold-on-zha - - hold-on-z2m - sequence: - - repeat: - count: !input helper_max_loops - sequence: - - parallel: - - sequence: !input on_hold_action - - sequence: - - choose: - - conditions: - - condition: trigger - id: - - hold-on-zha - sequence: - - wait_for_trigger: - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - command: "stop_with_on_off" - cluster_id: 8 - endpoint_id: 1 - timeout: - milliseconds: !input helper_hold_delay - continue_on_timeout: true - - if: - - condition: template - value_template: "{{ wait.trigger.idx is defined }}" - then: - - stop: button released - - conditions: - - condition: trigger - id: - - hold-on-z2m - sequence: - - wait_for_trigger: - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "brightness_stop" - timeout: - milliseconds: !input helper_hold_delay - continue_on_timeout: true - - if: - - condition: template - value_template: "{{ wait.trigger.idx is defined }}" - then: - - stop: button released - - conditions: - - condition: trigger - id: - - hold-off-zha - - hold-off-z2m - sequence: - - repeat: - count: !input helper_max_loops - sequence: - - parallel: - - sequence: !input off_hold_action - - sequence: - - choose: - - conditions: - - condition: trigger - id: - - hold-off-zha - sequence: - - wait_for_trigger: - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_remote }}" - command: "stop_with_on_off" - cluster_id: 8 - endpoint_id: 1 - timeout: - milliseconds: !input helper_hold_delay - continue_on_timeout: true - - if: - - condition: template - value_template: "{{ wait.trigger.idx is defined }}" - then: - - stop: button released - - conditions: - - condition: trigger - id: - - hold-off-z2m - sequence: - - wait_for_trigger: - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "brightness_stop" - timeout: - milliseconds: !input helper_hold_delay - continue_on_timeout: true - - if: - - condition: template - value_template: "{{ wait.trigger.idx is defined }}" - then: - - stop: button released \ No newline at end of file diff --git a/ikea-rodret_E2201_ZHA-Z2M_control-light.yaml.yaml b/ikea-rodret_E2201_ZHA-Z2M_control-light.yaml.yaml deleted file mode 100644 index 284e08d..0000000 --- a/ikea-rodret_E2201_ZHA-Z2M_control-light.yaml.yaml +++ /dev/null @@ -1,222 +0,0 @@ -blueprint: - name: IKEA Rodret Dimmer Light Control (ZHA/Z2M) - description: "## Control Light with IKEA RODRET Dimmer remote (v1.0) - - - Only for use with [ZHA](https://www.home-assistant.io/integrations/zha/) - or Zigbee2MQTT (cf [MQTT](https://www.home-assistant.io/integrations/mqtt) - + [Z2M addon](https://www.zigbee2mqtt.io/guide/installation/03_ha_addon.html)). - - - Available controls: - - - Press the **on** button to turn on the light (Optional: set the target brightness - by enabling **Helper - Force Brightness** and setting a **Helper - Brightness** value) - - - Press the **off** button to turn off the light - - - Press and hold the **on** button to increase the brightness - - - Press and hold the **off** button to decrease the brightness down to 1% - " - domain: automation - input: - remote_device: - name: (ZHA) Remote - description: IKEA remote to use. **_Choose if you are using ZHA._** - default: "" - selector: - device: - filter: - integration: zha - manufacturer: IKEA of Sweden - model: RODRET Dimmer - multiple: false - remote_name: - name: (Zigbee2MQTT) Remote Name - description: The name of the controller (e.g. IKEA Rodret). **_Choose if you are using Zigbee2MQTT._** - default: "" - base_topic: - name: (Zigbee2MQTT) Base mqtt topic - description: The topic configured in [Z2M addon](https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html). - default: zigbee2mqtt - light: - name: Light - description: Light to control - selector: - entity: - filter: - domain: light - multiple: false - helper_force_brightness: - name: Helper - Force brightness - description: Force the brightness to value below when light turns on. - default: false - selector: - boolean: {} - helper_brightness: - name: Helper - Brightness - description: - Target light brightness when turning on. Requires **Helper - Force brightness** - to be enabled. - default: 50 - selector: - number: - unit_of_measurement: "%" - min: 1.0 - max: 100.0 - step: 1.0 - mode: slider -mode: restart -max_exceeded: silent -trigger_variables: - z2m_base_topic: !input base_topic - z2m_controller: !input remote_name - zha_controller: !input remote_device -trigger: - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_controller }}" - command: "on" - cluster_id: 6 - endpoint_id: 1 - id: press-on-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "on" - id: press-on-z2m - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_controller }}" - command: "off" - cluster_id: 6 - endpoint_id: 1 - id: press-off-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "off" - id: press-off-z2m - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_controller }}" - command: "move_with_on_off" - cluster_id: 8 - endpoint_id: 1 - args: [0, 83] - id: hold-on-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "brightness_move_up" - id: hold-on-z2m - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_controller }}" - command: "move" - cluster_id: 8 - endpoint_id: 1 - args: [1, 83, 0, 0] - id: hold-off-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "brightness_move_down" - id: hold-off-z2m - - platform: event - event_type: zha_event - event_data: - device_id: "{{ zha_controller }}" - command: stop_with_on_off - endpoint_id: 1 - cluster_id: 8 - id: release-zha - - platform: mqtt - topic: "{{ z2m_base_topic ~ '/' ~ z2m_controller ~ '/action' }}" - payload: "brightness_stop" - id: release-z2m -action: - - variables: - helper_force_brightness: !input helper_force_brightness - helper_hold_delay: 0.05 - helper_hold_dim_step: 5 - light: !input light - - choose: - - conditions: - - condition: trigger - id: - - press-on-zha - - press-on-z2m - sequence: - - choose: - - conditions: "{{ helper_force_brightness }}" - sequence: - - service: light.turn_on - target: - entity_id: !input light - data: - transition: 1 - brightness_pct: !input helper_brightness - default: - - service: light.turn_on - target: - entity_id: !input light - data: - transition: 1 - - conditions: - - condition: trigger - id: - - press-off-zha - - press-off-z2m - sequence: - - service: light.turn_off - target: - entity_id: !input light - data: - transition: 1 - - conditions: - - condition: trigger - id: - - hold-on-zha - - hold-on-z2m - sequence: - - repeat: - while: - - condition: trigger - id: - - hold-on-zha - - hold-on-z2m - sequence: - - parallel: - - service: light.turn_on - target: - entity_id: !input light - data: - brightness_step_pct: "{{ helper_hold_dim_step }}" - - delay: "{{ helper_hold_delay }}" - - conditions: - - condition: trigger - id: - - hold-off-zha - - hold-off-z2m - sequence: - - repeat: - while: - - condition: template - value_template: - "{{ state_attr(light, 'brightness') | int / 255 > helper_hold_dim_step/100 - }}" - sequence: - - parallel: - - service: light.turn_on - data: - brightness_step_pct: "{{ helper_hold_dim_step | int * -1 }}" - target: - entity_id: !input light - - delay: "{{ helper_hold_delay }}" - - service: light.turn_on - data: - brightness_pct: 1 - target: - entity_id: !input light \ No newline at end of file