Seite 1 von 1
Sonos Steuerung
Verfasst: Freitag 19. Oktober 2018, 18:43
von Pascal09
Hey ich steuer meine Sonos Lautsprecher mit dem soco modul was soweit auch funktioniert. Allerdings bekomme ich eine Sache nicht hin...
und zwar diesen Befehl:
GetAutoplayRoomUUID
Hier bekomme ich folgendermaßen eine Antwort:
device.deviceProperties.GetAutoplayRoomUUID ([('InstanceID', 0)])
SetAutoplayRoomUUID
Ich weiß einfach nicht wie ich den Befehl für Set zusammensetzen muss.. vielleicht kann mir ja jemand helfen.
Re: Sonos Steuerung
Verfasst: Freitag 19. Oktober 2018, 18:46
von Pascal09
Das habe ich noch gefunden. Leider bin ich nicht so begabt im programmieren...
SetFormat [Argument(name='DesiredTimeFormat', vartype='string'), Argument(
name='DesiredDateFormat', vartype='string')] []
GetFormat [] [Argument(name='CurrentTimeFormat', vartype='string'),
Argument(name='CurrentDateFormat', vartype='string')] ...
http://docs.python-soco.com/en/latest/a ... vices.html
Re: Sonos Steuerung
Verfasst: Samstag 20. Oktober 2018, 09:16
von sls
Ich denke du musst noch etwas genauer beschreiben was du bisher versucht hast (deinen Code hier in Code-Tags pasten), was du erwartest zu erhalten und was exakt du nicht verstehst.
Re: Sonos Steuerung
Verfasst: Samstag 20. Oktober 2018, 12:33
von Pascal09
Also ich möchte mit dem Befehl SetAutoplayRoomUUID den Autoplay Raum von dem Sonos player im Wohnzimmer ändern.
Mit diesem Befehl kann ich den aktuellen Raum abfragen:
Wohnzimmer.deviceProperties.GetAutoplayRoomUUID ([('InstanceID', 0)])
diese Antwort kommt:
{'RoomUUID': 'RINCON_B8E9379AD78201400', 'Source': u''}
Code: Alles auswählen
>>> Wohnzimmer.deviceProperties.GetAutoplayRoomUUID ([('InstanceID', 0)])
{'RoomUUID': 'RINCON_B8E9379AD78201400', 'Source': u''}
Jetzt möchte ich mit dem Befehl SetAutoplayRoomUUID den Raum ändern. Nur ich weiß nicht wo ich die Raum UUID eingeben muss. So geht es zB nicht..
Code: Alles auswählen
>>> Wohnzimmer.deviceProperties.SetAutoplayRoomUUID ([('RINCON_B8E9379AD78201400', 0)])
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
Wohnzimmer.deviceProperties.SetAutoplayRoomUUID ([('RINCON_B8E9379AD78201400', 0)])
File "/home/pi/.local/lib/python2.7/site-packages/soco/services.py", line 213, in _dispatcher
return self.send_command(action, *args, **kwargs)
File "/home/pi/.local/lib/python2.7/site-packages/soco/services.py", line 498, in send_command
self.handle_upnp_error(response.text)
File "/home/pi/.local/lib/python2.7/site-packages/soco/services.py", line 560, in handle_upnp_error
error_xml=xml_error
SoCoUPnPException: UPnP Error 402 received: Invalid Args from 192.168.83.40
Re: Sonos Steuerung
Verfasst: Samstag 20. Oktober 2018, 14:16
von __deets__
Warum nimmst du denn nicht einfachnur die UUID, statt das ganze Listen und Tupel-geraffel drumrum?
Re: Sonos Steuerung
Verfasst: Samstag 20. Oktober 2018, 17:18
von Pascal09
wie denn genau? also habe folgendes probiert
Code: Alles auswählen
>>> Arbeitszimmer.deviceProperties.SetAutoplayRoomUUID 'RINCON_B8E9379AD78201400'
SyntaxError: invalid syntax
>>> Arbeitszimmer.deviceProperties.SetAutoplayRoomUUID "RINCON_B8E9379AD78201400"
SyntaxError: invalid syntax
>>> Arbeitszimmer.deviceProperties.SetAutoplayRoomUUID RINCON_B8E9379AD78201400
SyntaxError: invalid syntax
>>> Arbeitszimmer.deviceProperties.SetAutoplayRoomUUID (RINCON_B8E9379AD78201400)
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
Arbeitszimmer.deviceProperties.SetAutoplayRoomUUID (RINCON_B8E9379AD78201400)
NameError: name 'RINCON_B8E9379AD78201400' is not defined
wenn ich die klammer hinter dem Befehl aufmache kommt da eine Info (*args, **kwargs) Dispatch to send_command.
Re: Sonos Steuerung
Verfasst: Samstag 20. Oktober 2018, 18:09
von __deets__
Die ersten drei Versuche sind offenbar kein Python. Und die einzige Variante, die etwas bringen wuerde hast du NICHT versucht.
Ohne wenigstens ein paar Grundlagen zu beherrschen wirst du nicht wirklich irgendwo hin kommen. Das offizielle Python-Tutorial ist ein guter Start, und snafu oder ein anderer der regulars hat eine deutsche Uebersetzung davon verlinkt, falls dir das Englisch Probleme macht.
Re: Sonos Steuerung
Verfasst: Samstag 20. Oktober 2018, 18:11
von Pascal09
Kannst du mir vielleicht die eine Möglichkeit sagen? Ich brauche sonst Python eigentlich nicht...
Re: Sonos Steuerung
Verfasst: Samstag 20. Oktober 2018, 18:43
von __deets__
Seufz.
funktion("stringparameter")
ist dein Freund.
Und ganz ehrlich - wenn du nicht programmieren lernen willst, sondern nur etwas programmiert haben moechtest, dann bezahl wen dafuer. Mit Geld, Bier oder Gegenleistungen anderer Art. Ich zumindest bin es ziemlich leid, das die ganzen PI-Bastler denken, wir waeren hier ihre persoenlichen Programmier-Dienstleister, die schnell und kostenlos Code abliefern.