Files
sarah/config/packages/modules/media/music.yaml
T

102 lines
2.8 KiB
YAML

# https://www.home-assistant.io/integrations/sonos
sonos:
media_player:
hosts: !secret sonos_hosts
# https://www.home-assistant.io/integrations/spotify
spotify:
client_id: !secret spotify_client_id
client_secret: !secret spotify_client_secret
group:
all_sonos:
name: All Sonos
entities:
- media_player.master_bedroom
- media_player.living_room
- media_player.kitchen
- media_player.bathroom
input_select:
sonos_leader:
name: Sonos Leader
icon: mdi:speaker
options:
- media_player.master_bedroom
- media_player.living_room
- media_player.kitchen
binary_sensor:
- platform: template
sensors:
sonos_leader_paused:
value_template: "{{ is_state(states.input_select.sonos_leader.state, 'paused') }}"
entity_id:
- input_select.sonos_leader
- media_player.master_bedroom
- media_player.kitchen
- media_player.living_room
script:
music_play:
alias: Music · Play
sequence:
- service: script.music_join_sonoses
- service: media_player.volume_set
entity_id: group.all_sonos
data_template:
volume_level: "{{ volume_level | default(0.3) }}"
- service: media_player.shuffle_set
data_template:
entity_id: "{{ states('input_select.sonos_leader') }}"
shuffle: "{{ shuffle | default(true) }}"
- service: media_player.select_source
data_template:
entity_id: "{{ states('input_select.sonos_leader') }}"
source: "{{ playlist | default('Evening Chill') }}"
music_join_sonoses:
alias: Music · Join Sonoses
sequence:
- service: sonos.join
entity_id: group.all_sonos
data_template:
master: "{{ states('input_select.sonos_leader') }}"
automation:
- alias: Music · Play/Pause on Magic Cube Knock
trigger:
platform: event
event_type: zha_event
event_data:
device_ieee: !secret magic_cube_ieee
command: knock
action:
- service: media_player.media_play_pause
data_template:
entity_id: "{{ states('input_select.sonos_leader') }}"
- alias: Music · Volume down on Magic Cube rotate left
trigger:
platform: event
event_type: zha_event
event_data:
device_ieee: !secret magic_cube_ieee
command: rotate_left
action:
- service: media_player.volume_down
data_template:
entity_id: "{{ states('input_select.sonos_leader') }}"
- alias: Music · Volume up on Magic Cube rotate right
trigger:
platform: event
event_type: zha_event
event_data:
device_ieee: !secret magic_cube_ieee
command: rotate_right
action:
- service: media_player.volume_up
data_template:
entity_id: "{{ states('input_select.sonos_leader') }}"