[twitch] Add a twitch on-the-air notification light
This commit is contained in:
parent
44ce991b2b
commit
045fa343a6
|
@ -0,0 +1,80 @@
|
|||
group:
|
||||
Twitch:
|
||||
view: yes
|
||||
icon: mdi:twitch
|
||||
entities:
|
||||
- binary_sensor.twitch_stream_active
|
||||
- group.twitch_channels
|
||||
twitch_channels:
|
||||
name: Twitch Channels
|
||||
entities:
|
||||
- sensor.correlr
|
||||
- sensor.onedeadgod
|
||||
sensor:
|
||||
- platform: twitch
|
||||
client_id: !secret twitch_client_id
|
||||
channels:
|
||||
- correlr
|
||||
- onedeadgod
|
||||
- platform: template
|
||||
sensors:
|
||||
active_twitch_streams:
|
||||
friendly_name: Active Twitch streams
|
||||
value_template: >-
|
||||
{% if is_state('binary_sensor.twitch_stream_active', 'on') %}
|
||||
{{ states
|
||||
| selectattr("entity_id", "in",
|
||||
states.group.twitch_channels.attributes.entity_id)
|
||||
| selectattr('state', 'eq', 'streaming')
|
||||
| map(attribute='attributes.friendly_name')
|
||||
| join(', ')
|
||||
}}
|
||||
{% endif %}
|
||||
|
||||
binary_sensor:
|
||||
- platform: template
|
||||
sensors:
|
||||
twitch_stream_active:
|
||||
friendly_name: Twitch stream is active
|
||||
value_template: >-
|
||||
{{ is_state('sensor.correlr', 'streaming')
|
||||
or is_state('sensor.onedeadgod', 'streaming')
|
||||
}}
|
||||
automation:
|
||||
- alias: Turn on Twitch OTA indicator light
|
||||
action:
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: light.candle
|
||||
transition: 1.0
|
||||
color_name: >-
|
||||
{% if is_state('sensor.correlr', 'streaming') %}
|
||||
purple
|
||||
{% else %}
|
||||
red
|
||||
{% endif %}
|
||||
brightness: 255
|
||||
- service: light.turn_on
|
||||
data_template:
|
||||
entity_id: light.candle
|
||||
flash: long
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.active_twitch_streams
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: binary_sensor.twitch_stream_active
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: binary_sensor.occupied
|
||||
state: 'on'
|
||||
- alias: Turn off Twitch OTA indicator light
|
||||
action:
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: light.candle
|
||||
transition: 1.0
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.twitch_stream_active
|
||||
to: 'off'
|
Loading…
Reference in New Issue