Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

    Hallo aschwith ,

    ich besitze Zwei Sonos Play:1 - leider Funktionieren beide in Kombination mit SHNG nicht mehr seit dem Update.

    Gibt es dazu bereits ein Fix oder muss man noch etwas abwarten?
    Gruss Oliver

    Projektleiter Technische Gebäudeausrüstung

    Kommentar


      Sieht so aus als ob die neue Version 17 des SoCo das Problem mit Sonos 10.1 jetzt behoben hat. Muss das SHNG plugin jetzt noch angepasst werden oder nur die Pakete neu geladen werden?

      Kommentar


        Der Sonos Event Listener im SmarthomeNG sonos plugin funktioniert immer noch nicht. Ich habe es auch lokal mit dem Release 0.17 vom SoCo getestet. Leider ohne Erfolg. Die Jungs Arbeiten an Release 0.18 (bis Mitte Juni), allerdings habe ich das Gefühl, bei uns fehlt noch eine Anpassung. Evl kann der Autor des Plugins pfischi hier weiterhelfen. Ansonsten warten wir auf Release 0.18.

        Kommentar


          Vielleicht habe ich den Zusammenhang nicht verstanden, aber zuletzt ging es darum, das mit der Sonos v10.1 der SoCo und damit das SHNG Plugin bei allen nicht mehr funktionierte. Das ist mit dem Release Version 0.17 im SoCo wohl behoben:

          Bugfixes 0.17 (Released)
          • Fix discovery which was broken as a consequence of API changes in Sonos software version 10.1. (Commit f532cad)
          • Fix parsing of favorites which was broken as a consequence of API changes in Sonos software version 10.1. (Commit 58efcb6)
          Ich denke in SoCo Version 0.18 geht es um eine alternative implementierung des Event Listener:
          Allow the user a choice in how the event listener is implemented. The default is for the event listener to use the requests library and run in a thread. This update allows the user to run the event listener using the twisted.internet library, by setting the config.EVENTS_MODULE module to point to the events_twisted module
          Wie auch immer, wenn aschwith den SoCo bugfix 0.17 erfolglos getestet hat, braucht es wohl eine Anpassung am SHNG plugin.

          Kommentar


            Hallo SMarcus ,
            du hast recht. Nominell sollte SoCO V0.17 das Problem eigentlich beheben. Allerdings funktioniert im SmarthomeNG plugin das Empfangen der Statusevents nicht mehr vollständig. Es gibt Status, die korrekt empfangen werden (Volume zum Beispiel). Schau mal bei Dir ins Backend, welche Sonos items durch das Plugin aktualisiert werden und welche nicht. Ich konnte noch nicht rausfinden, welche Statusmessage nicht korrekt empfangen wird.

            Kommentar


              Hallo Alex, Hallo Marcus,

              wie kann ich SoCO aktualisieren?

              Gruß Manuel

              Kommentar


                Ich bin bei weitem kein Linux experte, aber ich denke das hängt davon ab wie Du SoCo installiert hast. Wenn Du es mit PIP installiert hast, dann mit
                Code:
                sudo pip install [package_name] --upgrade
                . Aber wie gesagt - bin kein Experte.

                aschwith : Ich bin noch nicht auf Sonos v10.1, insofern läuft mein Sonos Plugin noch - bisher ohne Probleme.

                Gruss
                Marcus

                Kommentar


                  Hallo,

                  gibt es hier schon etwas neues ? Funktioniert das Plugin wieder bei jemanden ?


                  Gruß Manuel

                  Kommentar


                    Hall manu241 ,

                    ich habe es nicht mehr zum Laufen gebracht und habe daher die Sonos Integration via Gira X1 gemacht da dieser eh vorhanden ist.

                    Läuft einwandfrei



                    Gruss
                    Gruss Oliver

                    Projektleiter Technische Gebäudeausrüstung

                    Kommentar


                      Hallo,

                      das ist ja schade, dass es nicht mehr nutzbar ist.

                      Gruß Manuel

                      Kommentar


                        Hallo,

                        ich habe mit Stefan gesprochen und er sagte, dass er die nächste Zeit keine Zeit mehr hat das Plugin zu erneuern.

                        ich kann das leider nicht.

                        Wäre jemand von den Entwicklern von SmarthomeNG bereit, dieses Plugin neu zu entwickeln? (Ich habe gesehen, dass Edomi ein Baustein hat der wohl noch funktioniert)

                        ich bin auch gerne bereit dem Entwickler ein Sonos One zur Verfügung zu stellen.
                        (Kurze PN an mich mit Adresse und er ist auf dem Weg)



                        gruß Manuel
                        Zuletzt geändert von manu241; 26.06.2019, 09:52.

                        Kommentar


                          Als Maschinenbauer bist Du bei dem Thema echt gekniffen.... Ich finds auch superschade, dass das Sonosplugin nicht mehr geht. Da läuft mittlerweile eine Menge mit dem Plugin bei mir.

                          Aber ich stosse ja bei halbwegs komplexen Logiken schon an meine Grenzen.

                          Ich fänds gut wenn das einer fixen würde. Gibts hier sowas wie Crowdfunding ? ;-)

                          Gruss
                          Marcus

                          Kommentar


                            da ich selber ein Sonos bei mir stehen habe, kann ich mir die Sache mit dem soco-update "ansehen" - jedoch erst nach dem 07.07.2019.
                            Bei mir funktioniert eigentlich nur noch das Volumen, das Abspielen einer Audio-Datei, sowie das nachplappern eines Textes (TTS)

                            Gruß Ivan

                            Kommentar


                              so läuft das sonos-Plugin bei mir wieder:

                              aktuelle Lib herunterladen https://github.com/SoCo/SoCo
                              und aus dem Download nur den "soco" Ordner in den SH-Ordner plugins/sonos/soco kopieren/ersetzen.


                              dann in der Datei __init__.py (von Plugin) folgende markierte Zeile (530) ersetzen:

                              Code:
                              def _zone_topology_event(self, sub_handler: SubscriptionHandler) -> None:
                                      """
                                      Zone topology event handling
                                      :param sub_handler: SubscriptionHandler for the zone topology event
                                      """
                                      try:
                                          self.logger.debug("Sonos: {uid}: topology event handler active".format(uid=self.uid))
                                          while not sub_handler.signal.wait(1):
                                              try:
                                                  event = sub_handler.event.events.get(timeout=0.5)
                                                  if 'zone_group_state' in event.variables:
                                                      tree = XML.fromstring(event.variables['zone_group_state'].encode('utf-8'))
                                                      #find group where our uid is located
                                                      [MARKIEREN]for group_element in tree.find('ZoneGroups').findall('ZoneGroup'):[/MARKIEREN]
                                                          coordinator_uid = group_element.attrib['Coordinator'].lower()
                                                          zone_group_member = []
                                                          uid_found = False
                                                          for member_element in group_element.findall('ZoneGroupMember'):
                                                              member_uid = member_element.attrib['UUID'].lower()
                                                              _initialize_speaker(member_uid, self.logger)
                                                              zone_group_member.append(sonos_speaker[member_uid])
                                                              if member_uid == self._uid:
                                                                  uid_found = True
                                                          if uid_found:
                                                              # set coordinator
                                                              self.coordinator = coordinator_uid
                                                              if coordinator_uid == self._uid:
                                                                  self.is_coordinator = True
                                                              else:
                                                                  self.is_coordinator = False
                                                              # set member
                                                              self._zone_group_members = zone_group_member
                              
                                                              # get some other properties
                                                              self.status_light = self.get_status_light()
                                                              self.sonos_playlists()
                              
                                                  sub_handler.event.events.task_done()
                                                  del event
                                              except Empty:
                                                  pass
                                      except Exception as ex:
                                          self.logger.error(ex)

                              Kommentar


                                Hallo Ivande,

                                danke dass du dich der Sache angenommen hast. Ich habe es gerade mal versucht. Bekomme jedoch folgende Fehlermeldung:

                                Code:
                                2019-07-11  18:17:35 ERROR    CP Server Thread-10 Item MySonos.Bad.play: problem running <bound method Sonos.update_item of <plugins.sonos.Sonos object at 0x67770250>>: UPnP Error 701 received: Transition not available from 192.168.x.xx
                                Traceback (most recent call last):
                                  File "/usr/local/smarthome/lib/item.py", line 2224, in __update
                                    method(self, caller, source, dest)
                                  File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2568, in update_item
                                    sonos_speaker[uid].set_play()
                                  File "/usr/local/smarthome/plugins/sonos/__init__.py", line 1314, in set_play
                                    if not sonos_speaker[self.coordinator].soco.play():
                                  File "/usr/local/smarthome/plugins/sonos/soco/core.py", line 105, in inner_function
                                    return function(self, *args, **kwargs)
                                  File "/usr/local/smarthome/plugins/sonos/soco/core.py", line 522, in play
                                    ('Speed', 1)
                                  File "/usr/local/smarthome/plugins/sonos/soco/services.py", line 217, in _dispatcher
                                    return self.send_command(action, *args, **kwargs)
                                  File "/usr/local/smarthome/plugins/sonos/soco/services.py", line 501, in send_command
                                    self.handle_upnp_error(response.text)
                                  File "/usr/local/smarthome/plugins/sonos/soco/services.py", line 560, in handle_upnp_error
                                    error_xml=xml_error
                                plugins.sonos.soco.exceptions.SoCoUPnPException: UPnP Error 701 received: Transition not available from 192.168.x.xx
                                Meine __init__.py habe ich angehängt.

                                Hättest du da eine Idee ?


                                Gruß und danke Manuel
                                Angehängte Dateien

                                Kommentar

                                Lädt...
                                X