Seite 1 von 1
Button für Sonos-Favoriten-Sender
Verfasst: Mo 6. Sep 2021, 21:45
von Markus
Mein Frauchen hätte gerne auf der Lovelace-Oberfläche einen großen Button mit dem Ihr Sonos-Radio-Lieblingssender auf einer definierten Anzahl von Sonos-Boxen gestartet/gestoppt wird.
Habt ihr eine Idee wie ich das umsetzen könnte?
Re: Button für Sonos-Favoriten-Sender
Verfasst: Mi 8. Sep 2021, 20:01
von Osorkon
Hast Du dir schon mal den
mini-media-player Karte (HACS) angeschaut?
Oder muss es ein fetter Button sein.
Wenn Es um ein Button geht, dann vielleicht die
Button Karte
Gruß
Osorkon
Re: Button für Sonos-Favoriten-Sender
Verfasst: Fr 10. Sep 2021, 21:49
von Markus
Das läuft, nur ist die Ausgabe auf den beiden Lautsprechern versetzt?
Code: Alles auswählen
type: custom:button-card
color_type: label-card
color: rgb(223, 255, 97)
icon: mdi:speaker
name: ROCK
tap_action:
action: call-service
service: media_player.select_source
service_data:
source: ROCK ANTENNE
entity_id:
- media_player.sonos_buero
- media_player.sonos_roam
Re: Button für Sonos-Favoriten-Sender
Verfasst: Fr 10. Sep 2021, 22:16
von Markus
Ja, nur wie bring ich mehrere Sonos Lautsprecher da rein auf die ausgegeben werden soll?
Re: Button für Sonos-Favoriten-Sender
Verfasst: Fr 10. Sep 2021, 22:20
von Osorkon
Markus hat geschrieben: ↑Fr 10. Sep 2021, 21:49
Das läuft, nur ist die Ausgabe auf den beiden Lautsprechern versetzt?
Liegt daran, dass diese komplett unabhängig von einander laufen.
Du musst die Lautsprecher zuerst gruppieren.
Code: Alles auswählen
service: media_player.join
target:
entity_id: media_player.sonos_buero
data:
group_members: media_player.sonos_roam
In dem Bsp. wird media_player.sonos_buero zum Master
Und media_player.sonos_roam wird der Gruppe hinzugefügt.
Jetzt kannst Du mit dem service media_player.select_source Rock Antenne auf dem Master abspielen.
Code: Alles auswählen
service: media_player.select_source
service_data:
source: ROCK ANTENNE
entity_id:
- media_player.sonos_buero
Jetzt sollten die beiden schön synchron laufen.
Gruß
Osorkon
Re: Button für Sonos-Favoriten-Sender
Verfasst: Fr 10. Sep 2021, 22:25
von Markus
Danke, aber an welcher Stelle gruppiere ich diese Dinger?
Code: Alles auswählen
type: vertical-stack
cards:
- type: custom:button-card
color_type: label-card
color: rgb(223, 255, 97)
name: SONOS
- type: horizontal-stack
cards:
- type: custom:button-card
color_type: label-card
color: rgb(223, 255, 97)
icon: mdi:speaker
name: ROCK
tap_action:
action: call-service
service: media_player.select_source
service_data:
source: ROCK ANTENNE
entity_id:
- media_player.sonos_buero
- media_player.sonos_roam
- type: custom:button-card
color_type: label-card
color: rgb(223, 255, 97)
icon: mdi:volume-plus
name: .
tap_action:
action: call-service
service: media_player.volume_up
service_data:
entity_id:
- media_player.sonos_buero
- media_player.sonos_roam
- type: custom:button-card
color_type: label-card
color: rgb(223, 255, 97)
icon: mdi:volume-minus
name: .
tap_action:
action: call-service
service: media_player.volume_down
service_data:
entity_id:
- media_player.sonos_buero
- media_player.sonos_roam
- type: custom:button-card
color_type: label-card
color: rgb(223, 255, 97)
icon: mdi:pause
name: Pause
tap_action:
action: call-service
service: media_player.media_play_pause
service_data:
entity_id:
- media_player.sonos_buero
- media_player.sonos_roam
Re: Button für Sonos-Favoriten-Sender
Verfasst: Fr 10. Sep 2021, 22:37
von Osorkon
Ich würde mir ein Script anlegen.
Code: Alles auswählen
alias: lets_rock
sequence:
- service: media_player.join
target:
entity_id: media_player.sonos_buero
data:
group_members: media_player.sonos_roam
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- service: media_player.select_source
target:
entity_id: media_player.sonos_buero
data:
source: ROCK ANTENNE
mode: single
und dann in deiner Button Karte als Tap Aktion das Script aufrufen
Ob Du die Verzögerung von 2s brauchst, musst mal testen.
Code: Alles auswählen
tap_action:
action: call-service
service: script.lets_rock
Macht das ganze ein wenig übersichtlicher und Du kannst das Script auch anderweitig verwenden.
Gruß
Osorkon
Re: Button für Sonos-Favoriten-Sender
Verfasst: Mo 13. Sep 2021, 09:35
von Markus
Danke, nur meldet das Script beim Aufruf...
required key not provided @ data['source]
Re: Button für Sonos-Favoriten-Sender
Verfasst: Mo 13. Sep 2021, 18:33
von Osorkon
Da bei Uns nach Einzug der HomePod Mini's nur noch ein Sonos Lautsprecher übrig geblieben ist.
Kann ich die Gruppierung leider nicht testen.
Aber selbst wenn ich meinen Onkyo Receiver in die Gruppe aufnehme, läuft das Script ohne Fehler durch und auf den Master (Sonos Bad) wird der gewählte Favorit abgespielt.
Hier nochmals mein Original Code, den ich zum testen erstellt habe.
Code: Alles auswählen
alias: lets_rock
sequence:
- service: media_player.join
target:
entity_id: media_player.sonos_bad
data:
group_members: media_player.receiver
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- service: media_player.select_source
target:
entity_id: media_player.bad
data:
source: ROCK ANTENNE
mode: single
Gruß
Osorkon
Re: Button für Sonos-Favoriten-Sender
Verfasst: Fr 8. Okt 2021, 15:05
von DirkHH
@Osorkon Sehr genial, gleich umgesetzt und den Weltfrieden hier zu Hause wieder hergestellt
Re: Button für Sonos-Favoriten-Sender
Verfasst: Mi 22. Dez 2021, 17:39
von Markus
@@DirkHH könntest du die gesamte Konfig bitte hier mal zeigen?
Re: Button für Sonos-Favoriten-Sender
Verfasst: So 26. Dez 2021, 11:03
von Markus
irgendwie bekomme ich das nicht hin....entweder ist der Radiosender falsche oder die Lautsprecher.
Hat vl. jemand noch wer einen Tipp wie man das hinbekommt? Danke
Re: Button für Sonos-Favoriten-Sender
Verfasst: Di 28. Dez 2021, 08:24
von DirkHH
Markus hat geschrieben: ↑So 26. Dez 2021, 11:03
irgendwie bekomme ich das nicht hin....entweder ist der Radiosender falsche oder die Lautsprecher.
Hat vl. jemand noch wer einen Tipp wie man das hinbekommt? Danke
Also mein Script sieht so aus :
Code: Alles auswählen
alias: 80s80s
sequence:
- service: media_player.join
data:
group_members: media_player.wohnzimmer
target:
entity_id: media_player.wohnzimmer
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 0
- service: media_player.select_source
data:
source: 80s80s Radio
target:
entity_id:
- media_player.wohnzimmer_2_2
mode: single
Re: Button für Sonos-Favoriten-Sender
Verfasst: Di 28. Dez 2021, 08:26
von DirkHH
Und meine Karte sieht zur Zeit so aus (ich nutze die Swipecard, da ich mehrere Sender dort als Button drin habe) :
Code: Alles auswählen
type: custom:swipe-card
title: Lieblingssender
aspect_ratio: 1
show_title: false
parameters:
effect: coverflow
grabCursor: true
centeredSlides: true
slidesPerView: auto
coverflowEffect:
rotate: 50
stretch: 0
depth: 100
modifier: 1
slideShadows: true
pagination:
type: none
cards:
- type: custom:button-card
entity: script.1633693084602
entity_picture: \local\img\icon_512-80s.png
aspect_ratio: 1/1
tap_action:
action: call-service
service: script.1633693084602
name: 80s80s
color_type: card
show_state: false
show_name: false
show_entity_picture: true
styles:
card:
- font-family: Sf Display
- border-radius: var(--custom-button-card-border-radius)
- '-webkit-tap-highlight-color': rgba(0,0,0,0)
- transition: none
- padding: 10%
grid:
- grid-template-areas: '"i" "n" "s"'
- grid-template-columns: 1fr
- grid-template-rows: 1fr min-content min-content
name:
- justify-self: start
- padding-left: 7px
- font-weight: bold
- padding-bottom: 25px
- font-family: SF Display
- font-size: 14px
img_cell:
- justify-content: start
- padding-left: 0px
- padding-top: 0px
- align-items: start
- margin: none
state:
- justify-self: start
- font-color: red
- padding-left: 0px
- padding-bottom: 0px
- text-transform: capitalize
- font-family: SF Display
- font-size: 10px
icon:
- width: 100%
- border-radius: var(--custom-button-card-border-radius)
Re: Button für Sonos-Favoriten-Sender
Verfasst: Di 28. Dez 2021, 21:08
von Markus
Danke, bzgl. Script, was bedeutet dieses Ziel? Kann ich hier fix mehrere Lautsprecher festlegen?
Re: Button für Sonos-Favoriten-Sender
Verfasst: Mi 29. Dez 2021, 08:30
von DirkHH
Markus hat geschrieben: ↑Di 28. Dez 2021, 21:08
Danke, bzgl. Script, was bedeutet dieses Ziel? Kann ich hier fix mehrere Lautsprecher festlegen?
Ja genau, ich habe 2 Lautsprecher die ich gruppiere.
Re: Button für Sonos-Favoriten-Sender
Verfasst: Mi 29. Dez 2021, 09:10
von Markus
Sorry, aber ich steig hier echt nicht durch...wie gruppiere ich die gewünschten Lautsprecher?
Re: Button für Sonos-Favoriten-Sender
Verfasst: Mi 29. Dez 2021, 09:22
von DirkHH
Markus hat geschrieben: ↑Mi 29. Dez 2021, 09:10
Sorry, aber ich steig hier echt nicht durch...wie gruppiere ich die gewünschten Lautsprecher?
Damit gruppierst Du die Lautsprecher, sonst schau dir das Script doch noch mal an welches ich oben gepostet habe.
Du musst ja nur Deine Lautsprecher einbinden und mal testen.
Re: Button für Sonos-Favoriten-Sender
Verfasst: Mi 29. Dez 2021, 21:15
von Markus
Sorry, muss nochmals fragen:
a) wie muss ich das Skript ändern das die Musik auch auf einem weiteren Sonos Lautsprecher (zB media_player.sonos_kueche) läuft?
b) ich kann ich die Musik mit dem tap_action wieder stoppen?
Mein Skript:
Code: Alles auswählen
thewave:
alias: thewave
sequence:
- service: media_player.join
data:
group_members: media_player.sonos_buero
target:
entity_id: media_player.sonos_buero
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 0
- service: media_player.select_source
data:
source: The Wave
target:
entity_id:
- media_player.sonos_buero
mode: single
Re: Button für Sonos-Favoriten-Sender
Verfasst: Fr 31. Dez 2021, 10:45
von Markus
Ein Gruppieren von mehreren Lautsprechern hab ich zwar noch nicht geschafft, aber zumindest läufts es mit einer einfachen GUI schon mal so:
Neben der Gruppierung hätte ich noch folgende Frage:
- wie könnte man den Lautsprecher-Pegel noch anzeigen?
- bis der Sender startet dauert es immer ein wenig, damit der Benutzer nicht nervös wird, kann man hier eine Art Kontrollelampe aktiviert das der Sender startet?