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.
Eine andere Sache ist mir noch aufgefallen:
Wenn 2 oder mehr TTS-Requests an den Broker geschickt werden, ist das Verhalten nicht ganz sauber denke ich.
Zum einen ist es so dass die erste Nachricht abrupt abgewürgt wird und die neue Nachricht gesprochen wird. Gut - darüber lässt sich streiten.
Was aber dann auch passiert ist, das der zuvor eingestellte Sender nicht wieder anläuft. Ich denke dass das damit zusammenhängt dass der Broker bei einer TTS Ansage zunächst den aktuell laufenden Track speichert um diesen nach der Ansage wieder anlaufen zu lassen.
Im oben genannten Fall ist das dann die vorhergehende TTS-Nachricht.
Könnte man nicht so eine Art Incoming Queue implementieren, die der Broker, eins nach dem anderen, abarbeitet ?
Eine andere Sache ist mir noch aufgefallen:
Wenn 2 oder mehr TTS-Requests an den Broker geschickt werden, ist das Verhalten nicht ganz sauber denke ich.
Zum einen ist es so dass die erste Nachricht abrupt abgewürgt wird und die neue Nachricht gesprochen wird. Gut - darüber lässt sich streiten.
Was aber dann auch passiert ist, das der zuvor eingestellte Sender nicht wieder anläuft. Ich denke dass das damit zusammenhängt dass der Broker bei einer TTS Ansage zunächst den aktuell laufenden Track speichert um diesen nach der Ansage wieder anlaufen zu lassen.
Im oben genannten Fall ist das dann die vorhergehende TTS-Nachricht.
Könnte man nicht so eine Art Incoming Queue implementieren, die der Broker, eins nach dem anderen, abarbeitet ?
Also wenn Du Lust und Zeit hast meine ich ....
Lust immer, Zeit ist das Problem
Aber danke für den Hinweis mit der TTS. Das Verhalten wie von dir vermutet ist exakt so. Der letzte Track wird gespeichert und später an der gleichen Stelle fortgesetzt. So ganz gefallen tut mir das auch nicht. An das Queue-System habe ich auch schon gedacht. Die Implementierung sollte schnell gehen. Ich schau das mir mal genauer an und gebe ein Feedback. Du bist aber auch gerne zum Mitentwickeln eingeladen
wie kann ich auf Änderungen durch die Android Sonos APP an den GA weitergeben?
z.B. Play und Stopp
Gruss,
Martin
Wenn du die Sonos-Lautsprecher richtig in sh.py integriert hast, dann werden die Änderung aller Apps, aber auch die der direkten Bedienung an den Lautsprechern selbst, an den Broker und dann an die sh.py-Instanz übermittelt. Der Broker registriert sich automatisch an die Events, die jeder Lautsprecher per UPnP übermittelt. Die Werte selbst (die jedes Sonos-Items) müssen dann z.B. über eine Logik an deine KNX-Items gekoppelt werden.
Code:
if [URL="http://redaktion.knx-user-forum.de/lexikon/sh/"]sh[/URL].sonos_kueche.play():
[URL="http://redaktion.knx-user-forum.de/lexikon/sh/"]sh[/URL].your_knx_item()
else:
...
Ich habe im Dev-Zweig am Plugin einen kleinen Bug gefixt. Es werden jetzt auch die im Alarm-Einstellungen des Speakers mit ausgeliefert (Voraussetzung ist hier der aktuelle Broker aus dem Dev-Zweig bei Github).
Im Moment lassen sich die Alarmeinstellungen noch nicht über den Broker / Plugin setzen. Das folgt noch.
Hi.
Das ging ja aber fix
Ich habe allerdings noch das Problem, dass sie die items play/stop sich nicht (von aussen) aktualisieren.
ein sonos.play(1) oder sonos.stop(1) funktioniert. Play/Stop über den SonosClient werden jedoch nicht ans Plugin propagiert.
PS: Dieses Problem habe ich nicht erst seit dieser Version.
Das Log zeigt auch nichts aussergwöhnliches..
Hat sonst noch jemand das Problem?
Hi.
Das ging ja aber fix
Ich habe allerdings noch das Problem, dass sie die items play/stop sich nicht (von aussen) aktualisieren.
ein sonos.play(1) oder sonos.stop(1) funktioniert. Play/Stop über den SonosClient werden jedoch nicht ans Plugin propagiert.
PS: Dieses Problem habe ich nicht erst seit dieser Version.
Das Log zeigt auch nichts aussergwöhnliches..
Hat sonst noch jemand das Problem?
gruss Buffi
Also prinzipiell kann es nur an zwei Dingen liegen:
1. Der Broker registriert keine Events bei den Sonos-Lautsprechern, bzw. verarbeitet die nicht richtig
2. die UDP-Pakete des Brokers erreichen nicht das Plugin (dort ist ein Listener gestartet, der auf diese Pakete wartet)
Zur Fehleranalyse brauche ich von dir ein Debug-Log, vom Broker UND von smarthome.py. Beim Broker kannst du in der Konfiguration das Logfile festlegen und den Loglevel auf Debug setzen. Am bestn du lässt den Broker mal ca. 10min laufen und machst dann ein paar Aktionen in der Sonos-App. Zusammen mit dem Log von sh.py können wir zumindestens feststellen, ob Pkt. 1 oder 2. zutrifft.
jetzt habe ich auf einmal doch das Problem dass die aktuelle Wiedergabe nach der TTS Durchsage nicht mehr weiter läuft.
Eigentlich habe ich nichts nennenswertes geändert außer einen weiteren Speaker in den sh items zu registrieren.
Bevor ich anfange zu suchen: Hattest Du das Problem schon Mal ?
Danke Dir schon Mal vorab.
Ja, hatte ich auch schon. Tatsächlich ist der GoogleTTS-Code noch ein wenig "Proof-Of-Concept". Ich vermute, das Threads sich da gegenseitig in die Quere kommen. Sobald ich die JSON-Implementierung fertig habe, werde ich den den GoogleTTS-Code nochmal überarbeiten. Deinen damaligen Hinweis mit den Queues werde ich dann einbauen, sowie ein ordentliches Threadhandling an dieser Stelle implementieren, Wenn du Lust hast, kannst du aber gerne schauen, wo genau das Problem im Moment liegt.
Hmm, mal eine Grundsatzfrage (vielleicht hilft mir das):
Wie starte ich den Broker?
a) sonos_broker (ohne adminrechte, dann muss ich die Rechte von Log-Files anpassen, sonst Fehler)
b) sudo sonos_broker
oder sonst wie?
Alles geht ja soweit, nur die Statusrückmeldung, wenn von ein Sonos per KNX oder App oder oder gestartet wird, will nicht.
Einmal ging's, dann musste ich das System leider mal neu starten und seit dem will es nicht mehr.
Play, Stop, etc. senden geht. Nur der Status nicht
Darüber regel ich halt Play/Stop über einen KNX-Schalter.
Danke für Tips.
Grüße
Thorsten
PS: hatte jetzt leider erst wieder Zeit zum Testen.
Kannst du mir bitte ein Debug-Log anhängen, wo du ein paar Aktionen ausführts? 5-10min sollten ausreichen. Dann kann ich den Fehler einschränken. Ic hhabe eine Vermutung, die ich aber mit Logs hinterlegen muss
Gruss,
Stefan
P.S: Ich bin schon seit Wochen fleissig am neuen Rlease dran und wir in ca. 2 Wochen veröffentlicht.
Das ist bis hierher das grösste Update. Unter der Haube ist einiges passiert. Die wichtigsten Änderungen:
JSON-Format für Kommandos
viel flexibler, neue Features besser implementierbar
!! keine Kommandos mehr über die Broser-URL, Readme beachten
Netzwerk-Traffic:
nur noch Daten die sich verändert haben, werdem auch übertragen
dadurch viel weniger Daten
Gruppen-Funktionen:
einige Kommandos haben Gruppen-Funktionen bekommen, wie z.B, 'mute', 'volume', 'led' etc --> siehe Doku
dadurch noch flexiblere Steuerung der Lautsprecher
GoogleTTS:
Queue-System implementiert
es können nun nacheinander mehrere TTS-Kommandos ausgeführt werden; während noch eine Ausgabe läuft, wird die nächste Anfrage in die Warteschlange verfrachtet
Originaltitel wird nun zuverlässig fortgesetzt (hoffentlich )
Verbesserte Doku:
die Kommands sind nun alle aufgeführt und einzelne Paramter beschrieben
vieles mehr
Da sich das Broker-Interface geändert hat, muss ZWINGEND auch das Plugin für smarthome.py aktualisiert werden (aktuell v1.1).
Ich erwarte gerade bei dieser Version noch einige Bugs, also seid ein wenig frustresistent ^^. In vielen Dingen hilft aber auch die Doku weiter, also bitte lesen.
In zwei bis drei Wochen geht die neue Version des Brokers, sowie das Plugin in den Master-Zweig.
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