Hallo Olli/ User,
um die Musik durch mein gesamtes Haus zu „ziehen“ hab ich mir Durchgangsmelder an neuralgischen Punkten montiert, die mittels Automation die Musik zur nächsten Quelle (Alexa) schicken zu lassen. Das funktioniert wunderbar.
Nun gibt es Momente, da ich keine Musik will. Dafür hab ich mir nen Gruppenhelfer Mediaplayer erzeugt, den ich abfragen möchte, ob ich zuvor Musik eingeschaltet habe. Das funktioniert mit einer Entität wunderbar. Er gibt alle Zustände aus. Füge ich jedoch weitere Quellen hinzu zeigt er nur noch „Müll“ an.
was ist das für ein Gruppenhelfer? Wofür sollte man sowas nutzen. Und, viel wichtiger, wie bekomme ich hin, dass ich Musik nur in den nächsten Raum schicke, wenn ich zuvor schon Musik hörte!
lieben Dank
Sven
Um alle "spielenden" Media Player zu zählen reicht folgender Code:
{{ states.media_player | selectattr('state','eq','playing') | list | count }}
Um bei der Zählung nur ausgewählte Media Player zu berücksichtigen, erstellt man folgenden Sensor und ergänzt hierbei die Liste der zu berücksichtigenden Media Play mit "states.media_player.XYZ":
- platform: template sensors: active_media_players: friendly_name: "Aktive Media Player" value_template: > {% set media_players = [ states.media_player.wohnzimmer, states.media_player.buro ] %} {{ media_players | selectattr('state','eq','playing') | list | count }}
Dieser Sensor liefert dann die Anzahl als Zustand:
Das Problem dürfte sein, dass die Media-Player-Group folgende Logik implementiert hat:
(übernommen von https://www.home-assistant.io/integrations/group/#media-player-groups)
Ich finde das auch nicht wirklich vernünftig oder logisch.
Du gehst von Raum A zu Raum B und willst dann, dass die Musik in A ausgeht und in B angeht, oder?
@olli Hi Olli,
ja genau das möchte ich und hab es auch schon realisiert. Allerdings möchte ich das, wenn ich zuvor an irgendeiner Alexa die Musik eingeschaltet habe.
Ich hab schon daran gedacht, dass ich die Entität abfrage und dann nen einfachen Schalter aktiviere, wenn „Play“ in der Entität steht.
Verstehe dennoch die Mediaplayer-Gruppe nicht.
LG Sven
So ganz habe ich dein Ziel noch nicht verstanden, irgendwie fehlt da ein Nebensatz? 🤔
Ja, das Group-Verhalten ist anders, als bei Personen oder Lichter bspw.
@olli ich würde gern die Musik nur weiter schicken, wenn zuvor Musik lief. Im Moment ist es so, dass immer die Musik in den nächsten Raum geschickt wird. Dafür dachte ich den Mediaplyer-Gruppen-Helfer nutzen zu können. Dieser zeigt aber nur noch Müll an, wenn mehr, als ein Mediaplayer in der Gruppe ist
Schau mal, ob dir das hier hilft:
{{ states.media_player | selectattr('state','eq','playing') | list | count }}
Damit kannst du die Anzahl der spielenden Media Player dir ausgeben lassen. Das müsste dann in deiner Automation bspw. als Bedingung gesetzt werden (also wenn das Ergebnis >0, dann die Musik in den nächsten Raum starten.
@olli zunächst mal, vielen lieben Dank. einfach als Bedingung -Template einfügen?
oder soll ich hiermit einen Template-Helfer erzeugen, den ich dann abfrage? Ich versuch‘s einfach mal.
lieben Dank
sven
ich hab mir mit deinem Code nen Template-Binär-Sensor erstellt. Scheint zu funktionieren.
wow…du bist gut.
Beides kannst du machen! Also als Template-Sensor kannst du die Info persistieren, wobei ich dich so verstanden hatte, dass ein einfaches Abfragen des aktuellen Zustands als Template-Bedingung genügen dürfte.
Super, wenn es klappt! 🙂
@olli ich nutze diese Abfrage an drei Stellen im Haus.
Ich mag diese Durchgangssensoren vom EQ3, wenn auch heftig teuer mit fast 100,- so geben die Auskunft über Richtung und Anzahl.
Macht sich wunderbar für solche Anwendungen. Hab ich an neuralgischen Punkten
Vielen lieben Dank
Produktempfehlungen