NEWS
Sonos Dokumentation und Bugs
-
Ich kapier den Sonos Adapter nicht und finde keine Infos in dem super kurzen ReadMe.
Immer wieder funktioniert unter "bestimmten Umständen" Txt2speech nicht.
Die genauen Umstände sind mir nicht ganz klar.
Symptome:
1.Was ich beobachte ist, dass der Sonos Adapter in der Sonos Playlist (also die "Liste" von geplanten Stücken) manchmal noch mp3 Files hinzufügt und die Liste dann immer länger wird.
Passiert wohl immer dann, wenn man vorher eine Liste von Musikstücken hatte, die man nicht zu Ende gehört hat.
Es fehlt der Befehl, lösche "Playlist". Vielleicht gibt es den ja, wenn ja bitte um einen Tipp.
2. Manchmal benötigt die Sonos noch ein Kommando "play", um text to Speech ausgeben, manchmal nicht.
Hängt irgendwie mit dem Punkt 1 zusammen.
3. Wenn man ein mp3 file pausiert hat, dann funktioniert txt to Speech nicht.
Die Sonos Lautstärke wird dann auf 0% gestellt. Das text mp3 file wird zwar abgespielt, aber leider mit 0% Volumen.
4. Ein mp3 Sound file auszugeben, soll ja irgendwie gehen, ich habe unendlich lange herumprobiert und bekomme diesen Workaround via text to Speech mp3 file nicht hin. Der endlose Thread im Forum hat bei mir nicht funktioniert.
5. Was auch suboptimal ist, dass für jede Box eine eigene Sayit Instanz angelegt werden muss. Das ist sehr RAM intensiv und nervt total auf kleinen System wie dem Rapi. Es wäre super, wenn man nur Sayit Adapter hätte, in dem man die SONOS Box, Browser, Computer als Geräte festlegt. In meinem Fall habe ich 3 Sonos Boxen, einen Browser und einen Computer. Das belegt mehr als 100 MB und das ist viel bei nur 1GB.
Wenn jemand Workarounds und Ansätze hätte, wäre ich dankbar.
PS: Was noch besser wäre, wenn man Amazon Echo als Sound Ausgabe benutzen könnte. Dann hätte man ein konsistentes Sound Interface zur Steuerung und Abfrage seiner Homeautomation.
-
1. Ist mir unbekannt/neu
2. siehe 1
3. ist bereits bekannt, aber scheint noch nicht gelöst zu sein.
4. Das könnte mit sendto() direkt an die Sonos Box gerichtet gehen.
5. Dafür gibt es doch das Objekt text2speech bei jeder Sonos Box. Damit reicht eine Instanz aus.
Gesendet von meinem m8 mit Tapatalk
-
1. kann ich bestätigen. Erlebt bei meinem "Alarm-Sound-Skript". Dieses sollte eigentlich via setFavorite eine alarm.mp3 zu Sonos hinzufügen und dann abspielen.
Irgendwann hatte ich 15 Dateien da liegen und es ging immer weiter…
4. wie meinst du mit "sendTo"? ich kenne das zwar hier aus dem Forum, da steht aber imho immer "sendTo 'Sonos' " --> woher bzw. wie bestimme ich, welche Sonos Box es denn sein soll?
5. habe ich nie vorher bewusst drauf geachtet, aber du hast völlig recht. D.h. ich könnte in Javascript z.B. setState(sonos.0.xxxxxx.tts, 'state') nutzen, um die jeweilige (oder mehrere spezifizierte) Boxen anzusprechen. ich bin ja auch ein Trottel, ist mir nie aufgefallen. DANKE!
-
Ich bin wahrscheinlich noch ein größerer Trottel, denn mir ist immer noch nicht klar, wie eine Text2Speech Ausgabe ohne verschiedene Text2Speech Instanzen gehen soll.
Es wäre toll, wenn Du mal eine kurze Sequenz aufschreibst, wie Du dass mit
setState(sonos.0.xxxxxx.tts, 'state') machst.
-
zu Punkt 3:
wenn man ein mp3 File unterbrochen hat, dann hilft es manchmal, den Stop Zustand explizit zu erzwingen, in dem man
Mein Use Case war auch ein Alarm Skript, das ich abbrechen will, wenn ich den Alarm ausschalte.
Ich habe da setState("sonos.0.root.192_168_1_118.state",'stop'); abgesetzt, was aber die Sonos in Pause bringt und dann geht nichts mehr.
Was ich dann noch gemacht habe, dass ich mit einer Verzögerung
setStateDelayed("sonos.0.root.192_168_1_118.state",'stop'.4000); nochmal ein Stop Befehl absetze.
Das scheint dann die Sonos von Pause nach Stop zu bringen und dann funktioniert es manchmal wieder ok.
Alles sehr undurchsichtig und experimentell.
-
@ Marty: ich muss es austesten, ist mir einfach nur in den Sinn gekommen.
Mache ich gerne heute Abend bzw nachts mal, wenn ich dazu komme.
-
Ich habe jetzt alles Mögliche versucht.
Es scheint, dass die Sonos Queue ab- und zu verschluckt und dann alle Sounds nicht mehr wiedergeben werden.
Die Sonos Liste - auf dem Bild nur einen Eintrag - füllt sich dann mit diesen Einträgen und blockiert solange die Wiedergabe, bis ich die Liste manuell lösche.
Wenn man die Ausgaben zeitlich weiter trennt, dann passiert es seltener oder vielleicht auch gar nicht.
Das Problem, wie kann der User feststellen, dass der Sonos Adapter nicht bereit ist, neue Befehle entgegen zu nehmen.
Ich denke schon daran, eine zentrale Sound Funktion zu implementieren, die eine Semaphore hat und den Sound blockt, wenn Kommandos zu schnell kommen.
Dann müsste man eine Fifo Verwaltung für die blockierten Befehle machen usw.
Aber eigentlich gehört alles in den Adapter und nicht in den User Code.
Ein weiteres Fehler ist, dass der vorige Zustand manchmal nicht wieder hergestellt wird.
Ich hatte zum Beispiel auf einer Sonos Box ein Radio Sender gestoppt.
Nach ein paar Textausgaben wurde der dann plötzlich eingeschaltet.
2722_bildschirmfoto_2017-07-10_um_17.11.18.png -
Hallo zusammen,
ist ja schon bisschen älter das Thema.
Vielleicht hat inzwischen jemand hier schon eine Lösung gefunden für das unter 1. genannte Problem mit dem Stau in der Playliste.
Und ich habe anfangs immer in meinen Skripten gesucht wo der Fehler liegt weil keine Ansage kommt….. :twisted:
Komisch ist, wenn ich den den Radio als Wecker morgens auslöse, das klappt.
Aber jede Ansage landet am Ende der Playliste.
Gruß
Thomas
-
Ich habe auch keine gute Lösung.
Aber mir ist es damit gelungen, dass es nur noch ganz selten auftritt.
Was ich gemacht habe.
1. wenn ich ein Texttospeech absetze, dann achte ich darauf, dass nicht parallel eine Anfrage an die Sonos gesendet wird. Ich habe das eigentliche Textespeech Kommando in ein Script gekapselt und berechne aus der Länge des Text, die ungefähre Dauer der Ansage und unterdrücke in dieser Zeit weitere Text to speech Kommandos.
2. Die mp3 sound Ausgabe benutze ich nicht mehr, sondern ich habe für die wenigen mp3 files, die ich verwendet, jeweils einen Sonos Favoriten angelegt und benutze das entsprechende Spiele Favoriten Kommando. Dabei spiele ich die mp3 Files immer bis ganz zu ende und benutze keinen Pause Befehl. Wenn ich will, dass das mp3 sofort aus ist, dann setze ich die Lautstärke auf null, stoppe aber nicht das Playback und blockiere solange alle Befehle von ioBroker an die Synology (auch die texttospeech Befehle).
Es scheint, dass der Sonos Adapter ziemlich blind einfach alles an die Sonos Lautsprecher schickt und die Bereitschaft des Lautsprechers für neue Befehle nicht geprüft wird.
-
Hatte das gleiche Problem
mach ein downgrade auf vers. 1.6.2 dann geht es
-
Hallo
Ich war zuerst sehr begeistert von dem Sonos Adapter!
Ich habe meine Ansagen wie Alarmanlage oder Fenster Tür Statur usw. schön angesagt bekommen.
nun muss ich nach zwei Tage Test leider feststellen das das so nicht ganz funktionieret.
Meine Angaben komme teilweise nur auf einem der zwei Sonos…
die Ansagen kommen teilweise gar nicht ….
gelegentlich kommen die ansagen erst ca. eine Minute später...
und es ist auch schon des Öfteren eine Ansage drei bis sechs Mal gekommen.
Kann man da was machen?
Sind die Fehler bekannt oder ist das nur bei mir so?