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

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

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?

Code: Alles auswählen

target:
      entity_id:
        - media_player.wohnzimmer_2_2

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?

Code: Alles auswählen

target:
      entity_id:
        - media_player.wohnzimmer_2_2
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?

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.

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:

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?