Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Anbindung

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

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

    Einen Kommentar schreiben:


  • ivande
    antwortet
    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)

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • manu241
    antwortet
    Hallo,

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

    Gruß Manuel

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • manu241
    antwortet
    Hallo,

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


    Gruß Manuel

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • manu241
    antwortet
    Hallo Alex, Hallo Marcus,

    wie kann ich SoCO aktualisieren?

    Gruß Manuel

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • jonny7792
    antwortet
    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?

    Einen Kommentar schreiben:

Lädt...
X