[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