mirror of
https://github.com/GeorgeSG/sarah.git
synced 2026-06-15 17:12:59 +00:00
Sonos grouping shortcuts
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
blueprint:
|
||||
name: Sonos · Join to master
|
||||
domain: script
|
||||
input:
|
||||
join_player:
|
||||
name: Sonos player to join to master
|
||||
selector:
|
||||
device:
|
||||
integration: media_player
|
||||
|
||||
sequence:
|
||||
- service: sonos.join
|
||||
entity_id: !input join_player
|
||||
data_template:
|
||||
master: >-
|
||||
{% if is_state('binary_sensor.sonos_is_living_room_master', 'on') %}
|
||||
media_player.living_room
|
||||
{% else %}
|
||||
media_player.master_bedroom
|
||||
{% endif %}
|
||||
@@ -46,3 +46,11 @@
|
||||
template: v3_button
|
||||
entity: media_player.bathroom
|
||||
name: Sonos
|
||||
|
||||
- type: custom:button-card
|
||||
template: v3_button
|
||||
entity: binary_sensor.sonos_is_bathroom_grouped
|
||||
name: Sonos Grouped
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: "[[[ return entity.state == 'on' ? 'script.sonos_bathroom_unjoin' : 'script.sonos_bathroom_join' ]]]"
|
||||
|
||||
@@ -56,16 +56,24 @@ cards:
|
||||
template: v3_button
|
||||
entity: media_player.kitchen
|
||||
name: Sonos
|
||||
- type: custom:button-card
|
||||
template: v3_button
|
||||
entity: binary_sensor.sonos_is_kitchen_grouped
|
||||
name: Sonos Grouped
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: "[[[ return entity.state == 'on' ? 'script.sonos_kitchen_unjoin' : 'script.sonos_kitchen_join' ]]]"
|
||||
- type: custom:button-card
|
||||
template: v3_button_radiator
|
||||
entity: climate.kitchen_radiator_mode
|
||||
name: Radiator
|
||||
|
||||
- type: horizontal-stack
|
||||
cards:
|
||||
- type: custom:button-card
|
||||
template: v3_button
|
||||
entity: vacuum.vacuum
|
||||
name: Vacuum
|
||||
- type: horizontal-stack
|
||||
cards:
|
||||
- type: custom:button-card
|
||||
template: v3_button_brita_water
|
||||
- type: custom:button-card
|
||||
|
||||
@@ -34,7 +34,6 @@ automation:
|
||||
entity_id: media_player.bathroom
|
||||
data_template:
|
||||
volume_level: >-
|
||||
|
||||
{% if state_attr('media_player.bathroom', 'volume_level')|float > (states('input_number.bathroom_high_volume')|float - 0.05) %}
|
||||
0.25
|
||||
{% else %}
|
||||
|
||||
@@ -24,17 +24,27 @@ binary_sensor:
|
||||
{% else %}
|
||||
False
|
||||
{% endif %}
|
||||
|
||||
sonos_is_bedroom_master:
|
||||
friendly_name: Sonos is Bedroom master
|
||||
value_template: >-
|
||||
{% set group = state_attr('media_player.master_bedroom', 'group_members') %}
|
||||
{{ 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', 'group_members') %}
|
||||
{{ group|length > 1 and group[0] == 'media_player.living_room' }}
|
||||
|
||||
sonos_is_kitchen_grouped:
|
||||
friendly_name: Sonos Kitchen is grouped
|
||||
value_template: "{{ state_attr('media_player.kitchen', 'group_members')|length > 1 }}"
|
||||
|
||||
sonos_is_bathroom_grouped:
|
||||
friendly_name: Sonos Bathroom is grouped
|
||||
value_template: "{{ state_attr('media_player.bathroom', 'group_members')|length > 1 }}"
|
||||
|
||||
script:
|
||||
sonos_join_bedroom:
|
||||
alias: Sonos · Join to Bedroom
|
||||
@@ -59,6 +69,32 @@ script:
|
||||
data:
|
||||
source: TV
|
||||
|
||||
sonos_kitchen_unjoin:
|
||||
alias: Sonos · Kitchen · Unjoin
|
||||
sequence:
|
||||
- service: sonos.unjoin
|
||||
entity_id: media_player.kitchen
|
||||
|
||||
sonos_kitchen_join:
|
||||
alias: Sonos · Kitchen · Join to master
|
||||
use_blueprint:
|
||||
path: sonos_join.yaml
|
||||
input:
|
||||
join_player: media_player.kitchen
|
||||
|
||||
sonos_bathroom_unjoin:
|
||||
alias: Sonos · Bathroom · Unjoin
|
||||
sequence:
|
||||
- service: sonos.unjoin
|
||||
entity_id: media_player.bathroom
|
||||
|
||||
sonos_bathroom_join:
|
||||
alias: Sonos · Bathroom · Join to master
|
||||
use_blueprint:
|
||||
path: sonos_join.yaml
|
||||
input:
|
||||
join_player: media_player.bathroom
|
||||
|
||||
sonos_bathroom_up:
|
||||
alias: Sonos · Bathroom up
|
||||
sequence:
|
||||
|
||||
Reference in New Issue
Block a user