Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

    Zitat von dafra Beitrag anzeigen
    ... was mir auch noch aufgefallen ist: Wenn die Verbindung zum Sonos mal unterbrochen war (Sonos stromlos oder Netzwerkverbindung gekappt), bekommt man den Stream nicht mehr über "Play" ans laufen.

    Ich kann allerdings nicht beurteilen ob das ein Bug im Broker ist oder ob das das normale Sonos Verhalten ist.

    Gruß, Daniel
    Meinst du den TTS Stream ?
    Sonos

    Kommentar


      Nein, der Stream der voher lief (also z.B. die Playlist).

      Kommentar


        Ich habe gerade zu Testzwecken ein neues System auf dem smartomeNG Image (v1.3 vom 31.10 / smarthomeNG1.2) aufgesetzt. Wieder den Broker aus dem Dev-Zweig (1.05b) und das Plugin aus dem Dev-Zweig installiert. Beim Start von smarthomeNG kommt:
        Code:
        WARNING  __init__     Main         Could not send sonos notification: {'command': 'sonos_broker_version'}. Error: HTTPConnectionPool(host='192.168.33.37', port=12900): Max retries exceeded with url: / (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x723f7210>: Failed to establish a new connection: [Errno 111] Connection refused',)) -- __init__.py:_send_cmd:47                             8
        2017-01-26 21:57:41 DEBUG    __init__     Main         Sonos broker version: None -- __init__.py:__init__:108
        2017-01-26 21:57:41 WARNING  __init__     Main         This plugin is desgined to work with Sonos Broker version 1.0b5. Your plugin version is probably out-of-date or too new. Please update your plugin and/or the Sonos Broker Server -- __init__.py:__init__:114
        Gruß, Daniel

        PS: Ich probier noch das System auf den aktuellsten Stand zu bringen, mal schaun ob das was bringt...

        Kommentar


          Die Versions-Warnung kannst du ignorieren, aber der Broker scheint nicht erreichbar zu sein oder läuft nicht.

          Gruss,

          Stefan
          Sonos

          Kommentar


            Danke, das Problem war vor dem Bildschirm...

            Kommentar


              So, aber einen habe ich noch:
              Code:
              --- Logging error ---
              Traceback (most recent call last):
                File "/usr/local/lib/python3.5/logging/__init__.py", line 982, in emit
                  stream.write(msg)
              UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 68: ordinal not in range(128)
              Call stack:
                File "./smarthome.py", line 604, in <module>
                  sh.start()
                File "./smarthome.py", line 330, in start
                  self.connections.poll()
                File "/usr/local/smarthome/lib/connection.py", line 104, in poll
                  server.handle_connection()
                File "/usr/local/smarthome/plugins/sonos/__init__.py", line 71, in handle_connection
                  item(value, 'Sonos', '')
                File "/usr/local/smarthome/lib/item.py", line 383, in __call__
                  self.__update(value, caller, source, dest)
                File "/usr/local/smarthome/lib/item.py", line 470, in __update
                  self._change_logger("Item {} = {} via {} {} {}".format(self._path, value, caller, source, dest))
              Message: 'Item Kueche.zone_name = K\xfcche via Sonos  None'
              Arguments: ()
              --- Logging error ---
              Traceback (most recent call last):
                File "/usr/local/lib/python3.5/logging/__init__.py", line 982, in emit
                  stream.write(msg)
              UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 80: ordinal not in range(128)
              Call stack:
                File "./smarthome.py", line 604, in <module>
                  sh.start()
                File "./smarthome.py", line 330, in start
                  self.connections.poll()
                File "/usr/local/smarthome/lib/connection.py", line 104, in poll
                  server.handle_connection()
                File "/usr/local/smarthome/plugins/sonos/__init__.py", line 71, in handle_connection
                  item(value, 'Sonos', '')
                File "/usr/local/smarthome/lib/item.py", line 383, in __call__
                  self.__update(value, caller, source, dest)
                File "/usr/local/smarthome/lib/item.py", line 470, in __update
                  self._change_logger("Item {} = {} via {} {} {}".format(self._path, value, caller, source, dest))
              Message: 'Item Kueche.zone_name = K\xfcche via Sonos  None'
              Arguments: ()
              Wenn ich Küche (in der Sonos-App) in Kueche umbenenne, ist alles i.O.

              Gruß, Daniel

              Kommentar


                Zitat von dafra Beitrag anzeigen
                So, aber einen habe ich noch:
                Code:
                --- Logging error ---
                Traceback (most recent call last):
                File "/usr/local/lib/python3.5/logging/__init__.py", line 982, in emit
                stream.write(msg)
                UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 68: ordinal not in range(128)
                Call stack:
                File "./smarthome.py", line 604, in <module>
                sh.start()
                File "./smarthome.py", line 330, in start
                self.connections.poll()
                File "/usr/local/smarthome/lib/connection.py", line 104, in poll
                server.handle_connection()
                File "/usr/local/smarthome/plugins/sonos/__init__.py", line 71, in handle_connection
                item(value, 'Sonos', '')
                File "/usr/local/smarthome/lib/item.py", line 383, in __call__
                self.__update(value, caller, source, dest)
                File "/usr/local/smarthome/lib/item.py", line 470, in __update
                self._change_logger("Item {} = {} via {} {} {}".format(self._path, value, caller, source, dest))
                Message: 'Item Kueche.zone_name = K\xfcche via Sonos None'
                Arguments: ()
                --- Logging error ---
                Traceback (most recent call last):
                File "/usr/local/lib/python3.5/logging/__init__.py", line 982, in emit
                stream.write(msg)
                UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 80: ordinal not in range(128)
                Call stack:
                File "./smarthome.py", line 604, in <module>
                sh.start()
                File "./smarthome.py", line 330, in start
                self.connections.poll()
                File "/usr/local/smarthome/lib/connection.py", line 104, in poll
                server.handle_connection()
                File "/usr/local/smarthome/plugins/sonos/__init__.py", line 71, in handle_connection
                item(value, 'Sonos', '')
                File "/usr/local/smarthome/lib/item.py", line 383, in __call__
                self.__update(value, caller, source, dest)
                File "/usr/local/smarthome/lib/item.py", line 470, in __update
                self._change_logger("Item {} = {} via {} {} {}".format(self._path, value, caller, source, dest))
                Message: 'Item Kueche.zone_name = K\xfcche via Sonos None'
                Arguments: ()
                Wenn ich Küche (in der Sonos-App) in Kueche umbenenne, ist alles i.O.

                Gruß, Daniel
                Hallo!

                Wenn du das Image von Onkelandy verwendest, musst du noch
                Code:
                export LC_ALL=de_DE.utf8
                export LANGUAGE=de_DE.utf8
                ausführen. Dann sollte das Problem mit den Umlauten weg sein.

                Gruß, Max

                Kommentar


                  Wollte ich auch gerade schreiben. Eigentlich ist es eher ein Bug in smarthomeNG da dieser die locale Einstellung des System benutzt. Ist da kein UTF8 eingestellt, crasht die Logging-Komponente bei nicht ASCII-Zeichen. Benutzt du die aktuelle Dev-Version von SmarthomeNG? Wenn ja, mache ich mal ein Bug-Report.

                  Gruss,

                  Stefan
                  Sonos

                  Kommentar


                    Ok, verstehe: Die Änderung bzgl. des UTF8 Problems aus Post #580 betraf nur den Broker. Ich dachte, im Plugin gibts noch nen Fehler...

                    Ich habe auf meinem Test System das Image von Onkelandy. Da läuft im Moment noch der Master 1.2. Dev habe ich noch nicht probiert.

                    Gruß, Daniel

                    Edit: Ich habe gerade gesehen, dass das Image den Develop branch vom 15.10.2016 nutzt.
                    Zuletzt geändert von dafra; 27.01.2017, 21:08.

                    Kommentar


                      Abend zusammen,

                      ich habe noch eine Version Beta-Version vor dem Release zusammengestellt. Ich habe noch ein wenig am TTS optimiert, obwohl ich den bei ein, zwei Nutzer sporadisch auftretenden Loop beim Abspielen eines solchen Google TTS Snippet bei mir noch nicht nachstellen konnte.

                      Hinzugefügt hab ich das "nightmode"-Kommando. Leider kann ich es nicht testen, das bisher nur die Playbar diesen unterstützt und ich diese nicht besitze.Wer es einsetzen möchte, muss auch die Vorab-Version des SmarthomeNG-Plugin von hier installieren. Die Item-Beispiele sind entsprechenden angepasst (nightmode-Item hinzugefügt).

                      Sonos Broker v1.0b6


                      Edit: Jetzt mache ich michs ans Widget.

                      Gruss,


                      Stefan
                      Zuletzt geändert von pfischi; 05.02.2017, 20:15.
                      Sonos

                      Kommentar


                        Guten Abend zusammen,

                        ich hab jetzt ein paar Tage lang versucht das Widget zum laufen zu bringen. Ich glaube, ich habe irgendwo einen Denkfehler drin. Der Broker läuft und darüber kann ich meinen Lautsprecher auch ansprechen.

                        Der Aufruf:
                        HTML-Code:
                        <div class="block">
                        <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                        
                        <div data-role="collapsible" data-collapsed="false">
                        <h3>Music </h3>
                        {% import "sonos.html" as sonos %}
                        {{ sonos.music('sonos', 'Esszimmer.play', 'Esszimmer.stop', 'Esszimmer.prev', 'Esszimmer.next', 'Esszimmer.vol_up',
                        'Esszimmer.vol_down', 'Esszimmer.volume', 'Esszimmer.mute', 'Esszimmer.album_art', 'Esszimmer.artist', 'Esszimmer.title') }}
                        </div>
                        
                        <div data-role="collapsible">
                        <h3>&nbsp;</h3>
                        <p></p>
                        </div>
                        </div>
                        </div>

                        In der Sonos.conf - Datei /unter Smarthome/Items/sonos.conf

                        Code:
                        # sonos.conf
                        #
                        # This is an example for two sonos items
                        # Place this file in '/etc/smarthome/items'
                        
                        [Esszimmer]
                        sonos_uid = rincon_5caafdc03b3201400
                        [[mute]]
                        type = bool
                        enforce_updates = True
                        visu_acl = rw
                        sonos_recv = mute
                        sonos_send = mute
                        
                        [[[group_command]]]
                        type = bool
                        value = 0
                        
                        [[led]]
                        type = bool
                        enforce_updates = True
                        visu_acl = rw
                        sonos_recv = led
                        sonos_send = led
                        
                        [[[group_command]]]
                        type = bool
                        value = 0
                        
                        .
                        .
                        .
                        .

                        Und im plugin.conf
                        Code:
                        [sonos]
                        class_name = Sonos
                        class_path = plugins.sonos
                        #broker_url = 192.168.178.31:12900 #optional
                        #refresh = 120 #optional


                        Ein Foto vom Sonos_Broker mit dem Gerätename und der UID ist im Anhang.

                        Das Widget wird angezeigt, jedoch mit einem Fragezeichen für das Album, und die Buttons sind ohne Funktion.
                        Könnt Ihr mir evtl. einen Tipp geben, wo ich weitersuchen kann?
                        Angehängte Dateien
                        Zuletzt geändert von Mobby2304; 10.02.2017, 04:36.
                        Gruß
                        Micha

                        Kommentar


                          Bitte gedulde dich noch bis zum Sonntag. Dann ist die angepasste Version des Widgets fertig. Die alte ist nicht wirklich lauffähig.

                          Gruss,

                          Stefan
                          Sonos

                          Kommentar


                            OK. Vielen Dank.

                            Genau genommen möchte ich das Widget gar nicht verwenden. Ich möchte damit nur schauen, ob die Konfig für den Sonos Lautsprecher passt, damit ich ihn über Logiken vom Glastaster Smart 2 aus ansteuern kann.
                            Gruß
                            Micha

                            Kommentar


                              das kannst du auch via CLI machen:
                              Code:
                              telnet 127.0.0.1 2323
                              Gruß, Daniel

                              Kommentar


                                Zitat von dafra Beitrag anzeigen
                                das kannst du auch via CLI machen: [CODE]
                                Servus Daniel,

                                hab ich das richtig verstanden habe, kann ich da meine Logik programmieren und über CLI die Logik antriggern, richtig?

                                Zuletzt geändert von Mobby2304; 10.02.2017, 21:34.
                                Gruß
                                Micha

                                Kommentar

                                Lädt...
                                X