Files
sarah/config/packages/modules/media/sonos.yaml
T
2020-05-16 12:08:20 +03:00

135 lines
3.8 KiB
YAML

# Depends on:
# - https://www.home-assistant.io/integrations/sonos
group:
all_sonos:
name: All Sonos
entities:
- media_player.master_bedroom
- media_player.living_room
- media_player.kitchen
- media_player.bathroom
binary_sensor:
- platform: template
sensors:
sonos_recoverable:
friendly_name: Sonos recoverable
entity_id: media_player.master_bedroom
value_template: >-
{% set content_id = state_attr('media_player.master_bedroom', 'media_content_id') %}
{% if content_id == None
or content_id.startswith('x-sonos-spotify:spotify')
or content_id.startswith('x-sonosapi-hls-static') %}
True
{% else %}
False
{% endif %}
sonos_is_bedroom_master:
friendly_name: Sonos is Bedroom master
value_template: >-
{% set group = state_attr('media_player.master_bedroom', 'sonos_group') %}
{{ group|length > 1 and group[0] == 'media_player.master_bedroom' }}
sonos_is_living_room_master:
friendly_name: Sonos is Living room master
value_template: >-
{% set group = state_attr('media_player.master_bedroom', 'sonos_group') %}
{{ group|length > 1 and group[0] == 'media_player.living_room' }}
script:
sonos_join_bedroom:
alias: Sonos · Join to Bedroom
sequence:
- service: sonos.join
entity_id: group.all_sonos
data:
master: media_player.master_bedroom
sonos_join_tv:
alias: Sonos · Join to TV
sequence:
- service: sonos.join
entity_id: group.all_sonos
data:
master: media_player.living_room
sonos_bathroom_up:
alias: Sonos · Bathroom up
sequence:
- service: media_player.volume_set
entity_id: media_player.bathroom
data:
volume_level: 0.5
sonos_bathroom_down:
alias: Sonos · Bathroom down
sequence:
- service: media_player.volume_set
entity_id: media_player.bathroom
data:
volume_level: 0.2
automation:
- alias: Media · Sonos · Put Beam in night mode
trigger:
platform: time
at: "22:00:00"
action:
- service: sonos.set_option
entity_id: media_player.living_room
data:
night_sound: true
- service: logbook.log
data:
name: "🔊 Media Module · "
message: "Sonos Mode · Putting Beam in night mode"
domain: media_player
- alias: Media · Sonos · Put Beam in day mode
trigger:
platform: time
at: "08:00:00"
action:
- service: sonos.set_option
entity_id: media_player.living_room
data:
night_sound: false
- service: logbook.log
data:
name: "🔊 Media Module · "
message: "Sonos Mode · Putting Beam in day mode"
domain: media_player
- alias: Media · Sonos · Volume up on bathroom switch click
trigger:
platform: event
event_type: zha_event
event_data:
device_ieee: !secret bathroom_switch_ieee
command: single
action:
- service: media_player.volume_set
entity_id: media_player.bathroom
data_template:
volume_level: >-
{% if state_attr('media_player.bathroom', 'volume_level')|float > 0.5 %}
0.2
{% else %}
0.55
{% endif %}
homeassistant:
customize:
media_player.master_bedroom:
friendly_name: Bedroom Sonos
icon: mdi:speaker
media_player.living_room:
friendly_name: Living room Sonos
icon: mdi:speaker
media_player.kitchen:
friendly_name: Kitchen Sonos
icon: mdi:speaker
media_player.bathroom:
friendly_name: Bathroom Sonos
icon: mdi:speaker