I have a couple of LED strips, and I want to have them take a variety of actions based on a wide variety of conditions. Flash red when the doorbell is rung, announce when my wife or myself come home, light up for special holidays, when the PS/4 is connected to the TV, or as a night light.
Some of these are very short acting, and should take precedence over other options. If it’s Christmas, the lights should be flashing Red and Green, but should just flash red for a few seconds if the doorbell is run, then go back to Red and Green.
This means if I have individual automations for each display, they will stomp on each other.
A rule based engine would be perfect, but isn’t available, so I’m trying to figure out how to do this with templates.
Here is what I’d like to do, is this possible?
- id: shelf_light
alias: Self Light
trigger:
platform: state
entity_id:
- sensor.front_door_ringing
- switch.harmony_hub_play_ps4
to: 'on'
action: >
{% if is_state(''sensor.front_door_ringing'', ''on'') %}
service: homeassistant.turn_on
entity_id: light.shelf_light
data:
brightness: 255
effect: 'Strobe'
rgb_color: [255,0,0]
{% elif is_state(''switch.harmony_hub_play_ps4'', ''on'') %)
service: homeassistant.turn_on
entity_id: light.shelf_light
data:
brightness: 255
effect: 'PS 4'
rgb_color: [255,255,255]
{% else %}
service: homeassistant.turn_off
entity_id: light.shelf_light
{% endif %}
Super bonus points if I can create a central status for “house lights” that specifies on/off, brightness, color, and effect, which all of the light strips use + local overrides for some individual strips (only change the ones under the TV based on TV status, etc).