mirror of
https://github.com/GeorgeSG/sarah.git
synced 2026-05-09 10:14:41 +00:00
135 lines
3.8 KiB
YAML
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
|