Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Misanthrop
    antwortet
    Zitat von danny Beitrag anzeigen
    Hallo,

    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?
    Danke und Gruß,

    Danny
    Hi Danny,

    ich habe es selbst noch nicht getestet, aber ich denke du musst die ganzen Werte in neuen Items zwischenspeichern, bevor du die klingel aktivierst. Nachdem deine Klingelzeit abgelaufen ist, setzt du dann die Werte einfach alle wieder auf die vorherigen Werte.

    Viele Grüße
    David

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Zitat von danny Beitrag anzeigen
    Hallo,

    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.



    Danny

    Ich habe meine Sonos so als Türklingel definiert:

    Code:
    Gong:
        name: gong
        type: bool
        knx_dpt: 1
        knx_listen: 0/3/0
        on_update:
             - MySonos.Kueche.play_snippet = '1.mp3'
             - MySonos.Arbeitszimmer.play_snippet = '1.mp3'
    PHP-Code:

    Sonos
    :
    Arbeitszimmer:
    ....
         
    sonos_sendplay_snippet
         enforce_updates
    true
         
    eval: "'1.mp3' if value else None"
         
    eval_triggerEG.Gang.Gong
         snippet_volume
    :
              
    typenum
              value
    50
              sonos_attrib
    snippet_volume
         snippet_fade_in
    :
              
    typebool
              value
    true
              sonos_attrib
    snippet_fade_in 


    Zuletzt geändert von jonny7792; 07.06.2020, 08:21.

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    Zitat von Gatzman Beitrag anzeigen
    und die passende Logik sieht dann so aus:
    Code:

    sh.Sonos.Badezimmer.play_tunein(sh.Vorgabe.Radiose nder. Badezimmer()) sh.Sonos.Badezimmer.volume(10) # startet die Sonos in Lautstärke 10 sh.Sonos.Badezimmer.play(1)
    Wie schaut es mit Sonderzeichen wie z.B Ü aus - habe einen Sender Energy Zürich den muss ich so angeben
    SWR3 möchte ebenfalls nicht funktionieren da es noch den Sender SWR3 Rock gibt und dieser oberhalb von SWR3 steht
    Zuletzt geändert von jonny7792; 07.06.2020, 08:51.

    Einen Kommentar schreiben:


  • danny
    antwortet
    Hallo,

    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?
    Danke und Gruß,

    Danny

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    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

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von aschwith Beitrag anzeigen
    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?

    Einen Kommentar schreiben:


  • Misanthrop
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Lässt Du uns dran teilhaben?
    Ich glaub nicht, dass das jemandem eine große Hilfe sein wird (sonst hätte ich es direkt gepostet), aber bitte:

    habe mir folgendes item in die sonos yaml gebaut:
    Code:
    function:
       type: num
       knx_init: 0/6/0
       knx_send: 0/6/0
       knx_dpt: 5
       enforce_updates: true
    die taster senden die werte 0-3 an die GA 0/6/0


    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")
    PS: ich mag python nicht

    Einen Kommentar schreiben:


  • aschwith
    antwortet
    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.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Zitat von Misanthrop Beitrag anzeigen
    UPDATE: Habe alles gelöst (logiken funktionieren diesbzgl. dann doch super straight forward.
    Lässt Du uns dran teilhaben?

    Einen Kommentar schreiben:


  • Gatzman
    antwortet
    Gibt es auch eine Lösung zum dem Speicher Problem?

    Speicher.JPG

    Vielen Dank

    Einen Kommentar schreiben:


  • Misanthrop
    antwortet
    UPDATE: Habe alles gelöst (logiken funktionieren diesbzgl. dann doch super straight forward.

    Einen Kommentar schreiben:


  • Misanthrop
    antwortet
    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.

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    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.

    Einen Kommentar schreiben:


  • SMarcus
    antwortet
    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....

    Einen Kommentar schreiben:


  • Gatzman
    antwortet
    Also bei mir klappt das nicht.

    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?

    Vielen Dank und viele Grüße

    Einen Kommentar schreiben:

Lädt...
X