Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
sh.Sonos.Badezimmer.play_tunein(sh.Vorgabe.Radiosender. Badezimmer())
sh.Sonos.Badezimmer.volume(10) # startet die Sonos in Lautstärke 10
sh.Sonos.Badezimmer.play(1)
und zuletzt noch das passende Item:
Code:
Vorgabe:
Radiosender:
Badezimmer:
name: Auswahl Radio Bad
type: str
visu_acl: rw
enforce_updates: 'true'
cache: 'true'
visu: 'yes
Habe ein weiteres Problem, bekomme alle 2 Minuten folgende Meldung im logfile:
Code:
2020-04-19 12:32:51 WARNING plugins.sonos.soco.events_base Event contains illegal metadatafor 'av_transport_uri_meta_data'.
Error message: 'Unknown UPnP class: object.item.audioItem.linein'
The result will be a SoCoFault.
Ich bekomme die Meldung einfach nicht weg. Hat jemand eine Idee?
Ziemlich altes Thema. Das wird durch die unterschiedlichen DIDL-subclasses hervorgerufen, die vom SoCo controller nicht richtig kategorisiert werden. Habe den Fehler auch schon seit Monaten, aber nun scheint es auf Github seit einigen Tagen einen SoCo - Branch zu geben der das Problem löst: https://github.com/KennethNielsen/So...L-Lite-classes . Bin noch eher skeptisch da ich den neuen SoCo - Branch erst seit heute morgen einsetze, aber bis jetzt keine Fehlermeldungen mehr....
Update: Ich hab den oben genannten SoCo - Branch 'autogenerate-wild-DIDL-Lite-classes' jetzt ein paar Stunden laufen.
Der Fehler
Code:
2020-04-19 12:32:51 WARNING plugins.sonos.soco.events_base Event contains illegal metadatafor 'av_transport_uri_meta_data'.
Error message: 'Unknown UPnP class: object.item.audioItem.linein'
The result will be a SoCoFault.
ist zwar weg, dafür kommt jetzt aber eine andere Fehlermeldung alle 20 Minuten:
Code:
2020-04-26 09:36:13 WARNING plugins.sonos Sonos: : speaker is not initialized.
2020-04-26 09:36:13 WARNING plugins.sonos Sonos: : speaker is not initialized.
2020-04-26 09:36:13 WARNING plugins.sonos Sonos: : speaker is not initialized.
2020-04-26 09:36:13 WARNING plugins.sonos Sonos: : speaker is not initialized.
2020-04-26 09:36:13 ERROR plugins.sonos ''
2020-04-26 09:56:12 WARNING plugins.sonos Sonos: : speaker is not initialized.
2020-04-26 09:56:12 WARNING plugins.sonos Sonos: : speaker is not initialized.
2020-04-26 09:56:12 WARNING plugins.sonos Sonos: : speaker is not initialized.
2020-04-26 09:56:12 WARNING plugins.sonos Sonos: : speaker is not initialized.
2020-04-26 09:56:12 ERROR plugins.sonos ''
Funktionieren tun meine 4 Sonos aber nach wie vor.
EDIT: das UPnP Error701 Problem war wohl ein seltsamer Fehler. Hatte die UIDs vertauscht... Bleibt also noch Frage 1... Wie verbinde ich Taster mit dem Plugin?
Hallo zusammen,
ich wollte mir gerade mal die Zeit nehmen und das Sonos Plugin testen.
Der Finale Stand sollte eigtl sowas sein (habe noch 2 Taster frei in der Küche):
Taste 1 kurz: Spiele das was gerade im Wohnzimmer (Playbar) läuft auch in der Küche (2 Play 1) mit Lautstärke A
Taste 1 lang: Wohnzimmer + Küche Stopp
Taste 2 kurz: Spiele Playlist 1 in Küche und Wohnzimmer auf Lautstärke X
Taste 2 lang: Spiele Playlist 2 in Küche und Wohnzimmer auf Lautstärke Y
Ich hab kA wie ich das umsetzen soll? Ich schätze ich leg jeweils eine Gruppenadresse für die 4 Funktionen an und verbinde die 2 Taster (jeweils kurz lang mit jeweils einer dieser GA). Aber wie bekomm icht jetzt das Sonos Plugin dazu dann die jeweiligen Befehle an die Sonos Lautsprecher zu senden? Brauch ich dafür eine Art Middleware / Logik?
Aber jetzt mal zum wesentlichen, es scheitert leider schon viel früher... ich hab erfolgreich die UID von den Sonos Lautsprechern ausgelesen (rincon_5caa...).
Ich habe mal testweise nur die UID von der Küche in die sample yaml eingetragen. SmarthomeNG neu gestartet, Sonos Plugin startet, ich sehe die Items in der Items Konfiguration. TOP, dachte ich! Falsch gedacht. Hab mal manuell die Items getestet: Play stop pause next usw... bei allen Items sehe ich danach im log folgende Fehlermeldung: Item MySonos.Kueche.stop: problem running <bound method Sonos.update_item of <plugins.sonos.Sonos object at 0x67974990>>: UPnP Error 701 received: Transition not available from 192.168.XXX.XXX (in den X steht die IP vom Sonos Lautsprecher).
Googlen hat mich dorthin gebracht: https://github.com/SoCo/SoCo/issues/454 die sagen das hätte was mit Pause zu tun, aber das kann nicht sein weil es passiert auch bei Stop und Play...
Ein kurzer Tipp, der mich in die richtige Richtung bringt, wäre super.
Viele Grüße
Zuletzt geändert von Misanthrop; 26.04.2020, 17:36.
Gatzman : Ja, das Speicherproblem im Sonos plugin existiert noch. Die Kollegen aus der Soco Community haben auf mein Betreiben netterweise im Soco projekt auf dem das Plugin basiert nach einem Speicherleck gesucht, konnten das Verhalten aber nie reproduzieren. Ich gehe davon aus, dass das Problem aus dem smarthomNG sonos plugin direkt kommt. Ich kenne aber kein Tool, um in Python nach einem Speicherleck zu suchen. Außerdem hat der plugin Auto damals diverse Sonos threads und services aufgesetzt. Ich konnte das Problem auch nie weiter eingrenzen.
und so sieht meine Logik aus, die auf dieses Item zugreift:
Code:
if sh.MySonos.Kueche.function() == 0:
sh.MySonos.Kueche.volume(8)
sh.MySonos.Kueche.join("rincon_ANONYM") #ANONYM mit dem korrekten wert ersetzt
if sh.MySonos.Kueche.function() == 1:
sh.MySonos.Kueche.unjoin(1)
sh.MySonos.Kueche.play(0)
if sh.MySonos.Kueche.function() == 2:
sh.MySonos.Kueche.unjoin(1)
sh.MySonos.Kueche.play(0) #habe festgestellt, dass das alles wesentlich besser funktioniert, wenn man erst auf pause geht
sh.MySonos.Kueche.load_sonos_playlist.clear_queue(1) #habe festgestellt, dass das alles wesentlich besser funktioniert, wenn man die queue aufräumt
sh.MySonos.Kueche.volume(8)
sh.MySonos.Kueche.load_sonos_playlist("MeineListe1")
sh.MySonos.Kueche.play_mode("SHUFFLE")
sh.MySonos.Kueche.play(1)
if sh.MySonos.Kueche.function() == 3:
sh.MySonos.Kueche.unjoin(1)
sh.MySonos.Kueche.play(0)
sh.MySonos.Kueche.volume(8)
sh.MySonos.Kueche.load_sonos_playlist.clear_queue( 1)
sh.MySonos.Kueche.play_tunein("RadioStation1") #wenn ich RadioStation2 hören möchte, funktioniert das seltsamerweise nur, wenn ich vorher eine andere Station starte... das macht den Start allerdings auch recht langsam, aber anders funktioniert es seltsamerweise nicht...
sh.MySonos.Kueche.play_tunein("RadioStation2")
Ja, das Speicherproblem im Sonos plugin existiert noch. Die Kollegen aus der Soco Community haben auf mein Betreiben netterweise im Soco projekt auf dem das Plugin basiert nach einem Speicherleck gesucht, konnten das Verhalten aber nie reproduzieren. Ich gehe davon aus, dass das Problem aus dem smarthomNG sonos plugin direkt kommt. Ich kenne aber kein Tool, um in Python nach einem Speicherleck zu suchen. Außerdem hat der plugin Auto damals diverse Sonos threads und services aufgesetzt. Ich konnte das Problem auch nie weiter eingrenzen.
Gibt es einen Grund bzw wie ist er, warum bei dem Plugin das SoCo noch wie PIP installiert wird und dann importiert, um die Methoden und Funktionen zu nutzen?
Sisamiwe : Der Pluginautor pfischi ist leider nicht mehr aktiv. Sein Sonos plugin baut auf den Funktionen des SoCo auf. Per PIP wird meines Wissens nichts installiert oder importiert. Die SoCo Sources werden einfach in das plugin mit eingebunden.
Grüße
kann mir jemand sagen wie ich das mit der "Türklingel" lösen kann damit alle Gruppen nach Klingeln wieder ihren alten Wert bekommen? Sprich Gruppen sind wie vohrer, Radiosender sind wie vorher und Play oder Stop wie vorher. Hier meine bisherige Logic.
Code:
if trigger['value'] == 1:
#Join alle Lautsprecher zu einer Gruppe
sh.mysonos.kueche2.join('rincon_000e58f752a801400')
sh.mysonos.bad.join( 'rincon_000e58f752a801400')
sh.mysonos.terasse.join( 'rincon_000e58f752a801400')
#Klingeln lassen
sh.mysonos.kueche1.play_snippet.group_command(1)
sh.mysonos.kueche1.play_snippet.snippet_volume(50)
sh.mysonos.kueche1.play_snippet('oldtimer2.mp3')
#Zustand vor dem Klingel wiederherstellen aber wie?
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar