Button für Sonos-Favoriten-Sender

Zeigt mal her eure gelungenen Dasboards.
Welche Sind eure Lieblings Karten.
Und natürlich Rat und Tat zum Thema Dashboard.


Antworten
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Button für Sonos-Favoriten-Sender

Beitrag 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?
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Button für Sonos-Favoriten-Sender

Beitrag 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
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag von Markus »

Osorkon hat geschrieben: Mi 8. Sep 2021, 20:01 Hast Du dir schon mal den mini-media-player Karte (HACS) angeschaut?
Ja, nur wie bring ich mehrere Sonos Lautsprecher da rein auf die ausgegeben werden soll?
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Button für Sonos-Favoriten-Sender

Beitrag 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
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Button für Sonos-Favoriten-Sender

Beitrag 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
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag von Markus »

Danke, nur meldet das Script beim Aufruf...
required key not provided @ data['source]
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: Button für Sonos-Favoriten-Sender

Beitrag 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
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
DirkHH
Beiträge: 34
Registriert: Fr 8. Okt 2021, 07:45
2
Wohnort: Hamburg
Has thanked: 8 times
Been thanked: 11 times

Re: Button für Sonos-Favoriten-Sender

Beitrag von DirkHH »

@Osorkon Sehr genial, gleich umgesetzt und den Weltfrieden hier zu Hause wieder hergestellt :D
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag von Markus »

@@DirkHH könntest du die gesamte Konfig bitte hier mal zeigen?
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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
Benutzeravatar
DirkHH
Beiträge: 34
Registriert: Fr 8. Okt 2021, 07:45
2
Wohnort: Hamburg
Has thanked: 8 times
Been thanked: 11 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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
Benutzeravatar
DirkHH
Beiträge: 34
Registriert: Fr 8. Okt 2021, 07:45
2
Wohnort: Hamburg
Has thanked: 8 times
Been thanked: 11 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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)
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag von Markus »

Danke, bzgl. Script, was bedeutet dieses Ziel? Kann ich hier fix mehrere Lautsprecher festlegen?

Code: Alles auswählen

target:
      entity_id:
        - media_player.wohnzimmer_2_2
Benutzeravatar
DirkHH
Beiträge: 34
Registriert: Fr 8. Okt 2021, 07:45
2
Wohnort: Hamburg
Has thanked: 8 times
Been thanked: 11 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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?

Code: Alles auswählen

target:
      entity_id:
        - media_player.wohnzimmer_2_2
Ja genau, ich habe 2 Lautsprecher die ich gruppiere.
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag von Markus »

Sorry, aber ich steig hier echt nicht durch...wie gruppiere ich die gewünschten Lautsprecher?
Benutzeravatar
DirkHH
Beiträge: 34
Registriert: Fr 8. Okt 2021, 07:45
2
Wohnort: Hamburg
Has thanked: 8 times
Been thanked: 11 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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?

Code: Alles auswählen

 - service: media_player.join
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.
Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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


Benutzeravatar
Markus
Beiträge: 434
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Button für Sonos-Favoriten-Sender

Beitrag 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:

Bild

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?
Antworten