Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
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?
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.
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.
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.
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)
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 ? ;-)
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)
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)
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
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar