Added zigbee blueprints.
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
blueprint:
|
||||
source_url: https://github.com/niro1987/homeassistant-config/blob/main/blueprints/automation/niro1987/zha_ikea_tradfri_styrbar_color.yaml
|
||||
name: ZHA - IKEA TRADFRI - STYRBAR - Color Lights
|
||||
description: This automation simulates the use of the IKEA TRADFRI STYRBAR remote
|
||||
control connected through ZHA.
|
||||
domain: automation
|
||||
input:
|
||||
remote:
|
||||
name: IKEA TRADFRI remote control
|
||||
description: Select the remote control you wish to use.
|
||||
selector:
|
||||
device:
|
||||
filter:
|
||||
- integration: zha
|
||||
manufacturer: IKEA of Sweden
|
||||
model: Remote Control N2
|
||||
multiple: false
|
||||
light:
|
||||
name: Light
|
||||
description: Select the light entity you wish to control.
|
||||
selector:
|
||||
entity:
|
||||
filter:
|
||||
- domain:
|
||||
- light
|
||||
multiple: false
|
||||
speed:
|
||||
name: Speed
|
||||
description: The speed in which to update the light when the button is held.
|
||||
selector:
|
||||
number:
|
||||
min: 100.0
|
||||
max: 1000.0
|
||||
step: 100.0
|
||||
unit_of_measurement: milliseconds
|
||||
mode: slider
|
||||
default: 500
|
||||
mode: restart
|
||||
max_exceeded: silent
|
||||
variables:
|
||||
var_light: !input light
|
||||
var_speed: !input speed
|
||||
trigger:
|
||||
- platform: event
|
||||
event_type: zha_event
|
||||
event_data:
|
||||
device_id: !input remote
|
||||
action:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.command == "on" }}'
|
||||
- condition: state
|
||||
entity_id: !input light
|
||||
state: 'off'
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: !input light
|
||||
data:
|
||||
brightness: 254
|
||||
hs_color:
|
||||
- 38.222
|
||||
- 52.941
|
||||
transition: '{{ (var_speed / 1000)|float }}'
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.command == "move_with_on_off" }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: []
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: !input light
|
||||
data:
|
||||
brightness_step_pct: 10
|
||||
transition: '{{ (var_speed / 1000)|float }}'
|
||||
- delay:
|
||||
milliseconds: !input speed
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.command == "off" }}'
|
||||
sequence:
|
||||
- service: light.turn_off
|
||||
target:
|
||||
entity_id: !input light
|
||||
data:
|
||||
transition: '{{ (var_speed / 1000)|float }}'
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.command == "move" }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: []
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: !input light
|
||||
data:
|
||||
brightness_step_pct: -10
|
||||
transition: '{{ (var_speed / 1000)|float }}'
|
||||
- delay:
|
||||
milliseconds: !input speed
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.command == "press" }}'
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.args == [257,13,0] }}'
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: !input light
|
||||
data:
|
||||
hs_color:
|
||||
- '{{ state_attr(var_light, "hs_color")[0] }}'
|
||||
- "{% if state_attr(var_light, \"hs_color\")[1] - 20 < 0 %}\n {{ state_attr(var_light,
|
||||
\"hs_color\")[1] - 20 + 100 }}\n{% else %}\n {{ state_attr(var_light, \"hs_color\")[1]
|
||||
- 20 }}\n{% endif %}"
|
||||
transition: '{{ (var_speed / 1000)|float }}'
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.command == "hold" }}'
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.args == [3329,0] }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: []
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: !input light
|
||||
data:
|
||||
hs_color:
|
||||
- '{{ state_attr(var_light, "hs_color")[0] }}'
|
||||
- "{% if state_attr(var_light, \"hs_color\")[1] - 10 < 0 %}\n {{ state_attr(var_light,
|
||||
\"hs_color\")[1] - 10 + 100 }}\n{% else %}\n {{ state_attr(var_light,
|
||||
\"hs_color\")[1] - 10 }}\n{% endif %}"
|
||||
transition: '{{ (var_speed / 1000)|float }}'
|
||||
- delay:
|
||||
milliseconds: !input speed
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.command == "press" }}'
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.args == [256,13,0] }}'
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: !input light
|
||||
data:
|
||||
hs_color:
|
||||
- "{% if state_attr(var_light, \"hs_color\")[0] + 18 > 360 %}\n {{ state_attr(var_light,
|
||||
\"hs_color\")[0] + 18 - 360 }}\n{% else %}\n {{ state_attr(var_light, \"hs_color\")[0]
|
||||
+ 18 }}\n{% endif %}"
|
||||
- '{{ state_attr(var_light, "hs_color")[1] }}'
|
||||
transition: '{{ (var_speed / 1000)|float }}'
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.command == "hold" }}'
|
||||
- condition: template
|
||||
value_template: '{{ trigger.event.data.args == [3328,0] }}'
|
||||
sequence:
|
||||
- repeat:
|
||||
while: []
|
||||
sequence:
|
||||
- service: light.turn_on
|
||||
target:
|
||||
entity_id: !input light
|
||||
data:
|
||||
hs_color:
|
||||
- "{% if state_attr(var_light, \"hs_color\")[0] + 18 > 360 %}\n {{ state_attr(var_light,
|
||||
\"hs_color\")[0] + 18 - 360 }}\n{% else %}\n {{ state_attr(var_light,
|
||||
\"hs_color\")[0] + 18 }}\n{% endif %}"
|
||||
- '{{ state_attr(var_light, "hs_color")[1] }}'
|
||||
transition: '{{ (var_speed / 1000)|float }}'
|
||||
- delay:
|
||||
milliseconds: !input speed
|
||||
default: []
|
Reference in New Issue
Block a user