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.
pfischi Überlegst Du die letzte Version (mit Konfiguration der IPs) abwärtskompatibel zu machen, oder reicht es den von ratzi82 angeführten Commit als "Previous Version" des Plugins zur Verfügung zu stellen. Das habe ich auch schon bei anderen Plugins gemacht, die den Develop Branch voraussetzen (aktuelle Versionen von Backend, CLI, Hue). In diesen Plugin Verzeichnissen liegen die letzten shng v1.3 kompatiblen Versionen im Unterverzeichnis _pv_<plugin_version>.
Hallo Stefan,
wie von Dir gewohnt wiedermal excellente Arbeit. Ich schlage vor, dem Child item TTS language in der Beispielkonfig noch einen Defaultwert zu verpassen, d.h.
Code:
tts_language:
type: str
value: de
sonos_attrib: tts_language
Falls das Item existiert, aber kein Wert gesetzt ist, gibt es sonst eine Fehlermeldung.
Viele Grüße
Alex
Noch ein kleiner Hinweis: wenn ihr ein Stereopaar-Paar benutzt und feste IPs eintragen wollt, müssen zwingend beide Lautsprecher konfiguriert und beide IPs eingetragen sein. Beim Auto-Discovery wäre das nicht zwingend notwendig. Da muss ich mir noch was überlegen.
Korrekt. Neuste Core-Version von SmarthomeNG muss genommen werden. Ich mache noch einen entsprechenden Hinweis. Eventuell mach ich das auch noch abwärtskompatibel.
Ihr müsst den aktuellen Develop Branch von SmartHomeNG verwenden um den neuesten Stand des Plugins nutzen zu können.
Die Funktion get_parameter_value ist neu im Core hinzugekommen und mit dem SmartHomeNG Release 1.3 noch nicht verfügbar.
Ansonsten müsst ihr die Version nehmen, bei der der Support für das manuelle Konfigurieren der IPs der Lautsprecher noch nicht drin ist, dann hättet ihr zumindest die TTS Funktion wenn es euch nur um die geht, dazu dann die Dateien von folgendem Commit verwenden:
habe das Plugin nun eingespielt. Bekomme allerdings folgendes:
Code:
2017-11-01 12:11:53 ERROR Main Plugin sonos exception: 'Sonos' object has no attribute 'get_parameter_value'
Traceback (most recent call last):
File "/usr/local/smarthome/lib/plugin.py", line 90, in __init__
plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance)
File "/usr/local/smarthome/lib/plugin.py", line 144, in __init__
exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
File "<string>", line 1, in <module>
File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2234, in __init__
speaker_ips = self.get_parameter_value("speaker_ips")
AttributeError: 'Sonos' object has no attribute 'get_parameter_value'
Gruß Manuel
Ich habe das gleiche Problem. Auch wenn ich in der plugin.yaml die IPs fest definiere.
habe das Plugin nun eingespielt. Bekomme allerdings folgendes:
Code:
2017-11-01 12:11:53 ERROR Main Plugin sonos exception: 'Sonos' object has no attribute 'get_parameter_value'
Traceback (most recent call last):
File "/usr/local/smarthome/lib/plugin.py", line 90, in __init__
plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance)
File "/usr/local/smarthome/lib/plugin.py", line 144, in __init__
exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
File "<string>", line 1, in <module>
File "/usr/local/smarthome/plugins/sonos/__init__.py", line 2234, in __init__
speaker_ips = self.get_parameter_value("speaker_ips")
AttributeError: 'Sonos' object has no attribute 'get_parameter_value'
die neue Sonos-Version ist im Dev-Branch. Google TTS und die Snippet-Funktionalität feiern ihr Comeback. Die Doku , sowie die Beispiel-Dateien sind angepasst.
Das Python-Modul
Code:
tinytag
muss mit
Code:
sudo pip3 install tinytag
installiert werden, damit die neuen Funktionen funktionieren.
Im Gegensatz zu früher werden die TTS-Ansagen immer lokal gespeichert und über einen simplen Webservice den Sonos-Boxen zur Verfügung gestellt. Der frühere Streaming-Modus hat immer wieder zu Loops beim Abspielen geführt.
Diese Woche kommt noch die feste Vergabe von IPs für die Lautsprecher rein, was innerhalb einer Container-Umgebung die Kapselung des Netzwerk vereinfacht.
Desweiteren überlege ich mir noch, wie ich die
Code:
play_tunein
-Funktion so gestalte, das sie immer das richtige Ergebnis liefert.
Im Moment spielt Sonos öfters mal an ihrer API rum; es kann also zu Fehlern kommen (z.B keine Metadaten, Exceptions im Log etc). Die Grundfunktionalität sollten davon nicht beeinträchtigt sein. Ich nehme gerne entsprechende Logs und Bug-Reports entgegen.
welchen string gibst du denn bei "play_tunein" an? Der muss möglichst exakt sein, da intern immer der erste suchtreffer für die in frage kommenden radiosender genommen wird. Eventuell kann ich mit deinen einstellungen da noch was optimieren.
habe es heute morgen nochmals getestet.
Und wieder grüsst das Murmeltier.
Über play_tunein wird wieder „SWR 3 Hörercharts“ abgespielt.
Starte ich über die Sonos App, so läuft das aktuelle Programm....
irgendwie sonderbar, wo und wieso speichert er das nur zwischen?
Früher habe ich das immmer über play_uri gestartet, das war ok, aber das ist scheinbar mittlerweile weggefallen.
Evtl versuche ich es mal mit play_url noch.
Gruss
Axl
nachtrag: es wird immer noch das Gleiche abgespielt, Tunein zieht sich da wohl einen Livemitschnitt von einem festival.Ich versuche mal die URL rauszubekommen.
Welchen String gibst du denn bei "play_tunein" an? Der muss möglichst exakt sein, da intern immer der erste Suchtreffer für die in Frage kommenden Radiosender genommen wird. Eventuell kann ich mit deinen Einstellungen da noch was optimieren.
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.
Einen Kommentar schreiben: