Sonos grouping shortcuts

This commit is contained in:
2022-05-28 15:45:26 +03:00
parent 3f3e89b5a9
commit a91f0bef9f
5 changed files with 74 additions and 3 deletions
+20
View File
@@ -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 %}
+36
View File
@@ -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: