feat(ikea-rodret): init with existing gists
This commit is contained in:
222
ikea-rodret_E2201_ZHA-Z2M_control-light.yaml
Normal file
222
ikea-rodret_E2201_ZHA-Z2M_control-light.yaml
Normal file
@@ -0,0 +1,222 @@
|
||||
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
|
||||
Reference in New Issue
Block a user