Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

Sonos Anbindung

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

    Wenn Du mehrere Speaker gekoppelt hast, werden die Befehle immer über den Coordinator gesteuert. Wenn also der Coordinator im TV Modus ist, dürfte TTS auch bei den gekoppelten Slaves auch nicht funktionieren, oder?
    Ich versuche mal zu vermeiden das wir aneinander vorbeireden. Hoffe die Infos helfen:

    1 - Sobald Geräte in einer 'TV Gruppe' konfiguriert werden, ist nur die IP der Playbar ansprechbar (search_uids.py). Alle anderen Geräte ('Slaves') in dieser 'TV Gruppe' werden anscheinend über die Playbar direkt angesteuert und sind von aussen generell nicht ansprechbar.

    2 - Wenn diese 'TV Gruppe' im TV Moduls läuft (bei mir mittels optischem toslink input), dann sind andere Geräte ausserhalb dieser 'TV Gruppe' trotzdem TTS fähig. Bei mir sind das meist einzelne Play:1 oder ONE Geräte.

    3 - Die 'current_transport_actions' in den verschiedenen Szenarien habe ich mal tabellarisch gelistet. Insofern kann ich bestätigen, das im aktive TV Modus die jeweilige Gruppe (und nur diese) kein Stop() in den 'current_transport_actions' gelistet hat. Geräte außerhalb der 'TV-Gruppe' können TTS wiedergeben auch wenn die 'TV Gruppe' im TV Modus läuft:
    table.JPG








    Gruß
    Marcus

    Kommentar


      Alles klar. So hatte ich es auch verstanden. Dann probiere mal die neue Version des Plugins im Develop aus. Hier werden alle Speaker, die aktuell sop() nicht unterstützen übersprungen. Dabei ist es unerheblich, aus welchem Grund stop() gerade nicht verfügbar ist (TV Mode etc.)

      Kommentar


        So, jetzt muss ich mich mal wieder als Amateur outen...
        Ich hätte jetzt das Develop Pluginverzeichnis rüberkopiert, aber ich denke da im Delevlop noch mehrere Änderungen sind (Änderung auf Pythonlib gtts) .... sollte ich wahrscheinlich mit 'git checkout develop' arbeiten?

        Bin noch auf SHNG 1.7.1. Werden die fehlenden libs automatisch beim Neustart installiert? Kann ich das 'git checkout develop' auf das Sonos Plugin beschränken?

        Gruß
        Marcus

        Kommentar


          Ich empfehle Dir, erst Dein smarthomeNG auf Version 1.8.1 hochzuziehen. Hier gab es nochmal deutliche Verbesserungen bei dem automatischen Nachinstallieren von benötigten libs.
          Anschließend separat den Develop Branch der plugins auschecken und nur den gesamten plugin/sonos Ordner in Dein Produktivsystem rüberkopieren.

          Kommentar


            Danke Alex, ja das war auch mein Gedanke das ich das besser mit der 1.8.1 teste. Ich komme allerdings erst in 2 Wochen dazu das System upzudaten, da ich das dann gleich auf ein neues System installiere. Vielleicht ist m4ttb1ss ja schneller mit testen, er scheint das gleiche Setup zu haben.

            Melde mich wenn ich Ergebnisse habe.

            VG

            Kommentar


              Ich habe ein update gemacht auf SmartHomeNG Version: 1.9.2-master. Danach gibt es bei mir Probleme mit dem Sonos Plugin aufgrund eines nicht installierten Moduls 'appdirs':

              Code:
              ERROR lib.plugin Plugin 'Sonos' error importing Python package: No module named 'appdirs'
              ERROR lib.plugin Plugin 'Sonos' initialization failed, plugin not loaded

              in der 'requirements.txt des Sonos Plugins wird das Modul 'appdirs' NICHT gelistet:
              Code:
              #requests requirement moved to core
              xmltodict>=0.11.0
              tinytag>=0.18.0
              gtts
              #
              # ifaddr is used by soco
              ifaddr

              allerdings in der requirements.txt des SoCo wird es genannt:
              Code:
              requests
              xmltodict
              ifaddr
              appdirs

              Muss das fehlende Modul in die 'requirements.txt des Sonos Plugins nachgetragen werden, oder liegt der Fehler woanders?

              Gruß, Marcus
              Zuletzt geändert von SMarcus; 16.05.2022, 14:52.

              Kommentar


                Guter Hinweis. Ja, muss dann wohl mit aufgenommen werden. Ich füge das die Tage mit ein. Grüße

                Kommentar


                  Moin moin,

                  ich habe heute auch auf die neue Version 1.9.2 (Image von Onkelandy) gewechselt. Allerdings habe ich noch Probleme mit dem Sonos-Plugin.
                  Dort bekomme ich folgende Fehlermeldung:

                  Code:
                  2022-06-03 06:06:19 ERROR lib.item.item Item MySonos.Bad.play_tunein: problem running <bound method Sonos.update_item of <plugins.sonos.Sonos object at 0x657186b8>>: __init__() got an unexpected keyword argument 'account'
                  > Traceback (most recent call last):
                  > File "/usr/local/smarthome/lib/item/item.py", line 1571, in __update
                  > method(self, caller, source, dest)
                  > File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2783, in update_item
                  > sonos_speaker[uid].play_tunein(item(), start)
                  > File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2175, in play_tunein
                  > cls.from_music_service(MusicService(service_name=' TuneIn', account=Account()), raw_item))
                  > TypeError: __init__() got an unexpected keyword argument 'account'
                  Was ist dort falsch gelaufen?

                  Gruß und danke Manuel

                  Kommentar


                    Moin manu241,

                    das Problem ist bei mir auch vor einigen Tagen aufgetaucht. Ich habe auch schon einen Fix, der seit mehreren Tagen im Test ist. Ich schiebe den am WE in den Develop Zweig. Dort müsstest Du ihn Dir dann ziehen.

                    Besten Gruß

                    Kommentar


                      Moin aschwith


                      super besten Dank

                      Gruß Manuel

                      Kommentar


                        Hallo, brauche Eure Hilfe.

                        Habe bisher Sonos in FHEM eingebunden gehabt und mittels smartVISU gesteuert. Ich portiere gerade von FHEM nach smarthomeNG und hänge beim Sonos-Plugin an folgendem Problem:

                        Ich habe Sonos in 3 Räumen verbaut (IPs und IDs neutralisiert):

                        Code:
                        python3 search_uids.py
                        ---------------------------------------------------------
                        rincon_<id-Buero>
                        ip : x.y.z.4
                        speaker name : Büro
                        speaker model: Sonos One
                        ---------------------------------------------------------
                        rincon_<id-Gästebad>
                        ip : x.y.z.3
                        speaker name : Gästebad
                        speaker model: Sonos One
                        ---------------------------------------------------------
                        rincon_<id-Kueche>
                        ip : x.y.z.12
                        speaker name : Küche
                        speaker model: Sonos Play:3
                        ---------------------------------------------------------
                        Besonderheit: Die Sonos Play:3 in der Küche ist ein gekoppeltes Stereopaar aus 2 x Sonos Play:3.

                        Was funktioniert ?
                        - Büro und Gästebad lassen sich über den Item-Baum problemlos steuern. Auch die Bedienung per Sonos-Smartphone-App wird korrekt abgebildet.
                        D.h.: Play und Stop werden korrekt aktualisiert. Aktivieren von Play setzt hier Stop automatisch zurück und anders herum.

                        Was funktioniert nicht ?
                        - Beim Stereopaar der Küche wird der Play/Stop-Status nicht aktualisiert.
                        - Dabei ist es egal, ob Play/Stop per Item-Baum gesetzt werden oder per Sonos-Smartphone-App.
                        - Die Funktion selbst ist gegeben, d.h. die Lautsprecher reagieren bei Setzen des Status im Icon-Baum.
                        - Nur fehlt das Rücksetzen des jeweils anderen Items und die Status-Anpassung bei Änderungen per Sonos-App.
                        - is_initialized: True (ok)

                        Versionen:
                        - smarthomeNG: v1.9.2-master (cc57a0ad6)​
                        - Sonos-Plugin: V1.6.4
                        - Python: 3.8.10 final
                        - Linux auf NUC11: Ubuntu 20.04.5 LTS

                        Code:
                        Konfig des Sonos-Plugins:
                        Sonos:
                           class_name: Sonos
                           class_path: plugins.sonos
                           tts: true
                           local_webservice_path: /tmp
                        ​
                        ​Item-Konfig (Ausschnitte):
                        Code:
                        Sonos:
                          Kueche:
                            sonos_uid: rincon_<id-Kueche>
                        
                            is_initialized:
                              type: bool
                              sonos_recv: is_initialized
                              visu_acl: rw
                        
                            play:
                              type: bool
                              sonos_recv: play
                              sonos_send: play
                              visu_acl: rw
                        
                            stop:
                              type: bool
                              sonos_recv: stop
                              sonos_send: stop
                              visu_acl: rw
                        
                        # Gleiche Konfig für die beiden anderen Sonos-Instanzen Gästebad und Büro, bis auf die IDs

                        Das Plugin Log zeigt (mir) hier keine Unterschiede. Bei Play/Stop am Smartphone sind Stream-Aktualisierungen zu sehen.

                        Kommentar


                          Hallo jksd,

                          ich bin mir sicher, dass hier noch was in der Implementierung fehlt. Ich kann es bei mir mangels Stereopaar auch nicht nachstellen.

                          Weißt Du, wie Stereopaare prinzipiell behandelt werden? Bei Speaker Gruppen ist ja immer einer der Master (==Coordinator) und die anderen die Slaves. Ich weiß nicht, wie das bei Stereopaaren aussieht.

                          Da der ursprüngliche Plugin Autor hier nicht mehr aktiv ist, wirst Du Dir leider selber helfen müssen. Dazu erstmal das Log Level für das Sonos plugin in der logging.yaml auf Debug Level erhöhen und eine per Sonos App ausgelöste Änderung (z.B. play/pause) im Log nachverfolgen.

                          Besten Gruß
                          Alex

                          Kommentar


                            Hallo Alex,
                            danke für dein schnelles Feedback. Nachdem ich für meine Wetterstation gerade erst ein eigenes Plugin schreiben musste, hatte ich gehofft, nicht der erste mit Sonos-Stereopaar zu sein …

                            @alle: Betreibt wirklich niemand ein Sonos-Stereopaar ?

                            Viele Grüsse
                            Jörk

                            Kommentar


                              Hallo Jörk, jksd,

                              ich habe bei mir zwei Sonos Speaker zu einem Stereopaar gekoppelt. Bei mir funktioniert alles einwandfrei:
                              1. Setzen von Play/Pause via Item von Speaker links
                              2. Setzen von Play/Pause via Item von Speaker rechts
                              3. Statusupdate des jeweiligen anderen Speakers
                              4. Setzen von Play/Pause via Taster auf dem Speaker -> der andere Speaker übernimmt. -> beide Items werden aktualisiert
                              5. Setzen des Status via SonosApp -> beide Speaker items werden aktualisiert.

                              Ich kann also kein Problem feststellen. Eine wichtige Info:
                              Ich teste bei mir mit der Sonos plugin Version 1.6.5, die ich gleich ins Develop Repo schiebe. Dort hat sich bzgl. Stereopaaren nichts geändert. Hier wurden
                              1. Das SoCo Framework auf V 0.28.1 hochgezogen.
                              2. Ein Bug im Plugin gefixt, der Auftritt, wenn einzelne Speaker gerade offline sind.
                              Bitte einmal mit der 1.6.5 gegentesten und zurückmelden.

                              Viele Grüße
                              Alex
                              Zuletzt geändert von aschwith; 26.10.2022, 20:11.

                              Kommentar

                              Lädt...
                              X