NEWS
Bei Betätigung eines HM Tasters abspielen eines bestimmten MP3s per sayit+sonos möglich?
-
Hi Leute,
ich habe heute endlich Zeit gefunden iobroker zu installieren. (Windows Server 2012R2)
Nach anfänglichen Schwierigkeiten läuft jetzt soweit alles.
Im Sonos Adapter wird mein Zoneplayer automatisch gefunden.
Leider wird beim Aufruf der Sonos Seite über den Browser nur das leere "Gerüst" der Seite angezeigt, ohne Sender, Lieder oder Auswahlmöglichkeiten:
Hat jemand eine Idee wo der Fehler liegt ?
Im sayit Adapter hab ich folgendes eingestellt:
Wenn ich auf den Playbutton im sayit Konfigurationsfenster klicke, dann höre ich den Gong Sound auf meinen PC Lautsprechern, aber nicht über mein Sonos System.
Ich habe in einem anderen Thread gelesen, dass per http://ip:8082/state/sayit.0.gong.mp3 Aufruf im Browser die Datei abgespielt werden sollte.
Das passiert leider ebenfalls nicht.
Es kommt die Fehlermeldung: 404 Not found. File sayit.0.gong.mp3 not found
Ich habe jetzt noch einige andere Threads durchforstet, komme aber nicht mehr weiter mit meinen Fragen/Problemen.
Oft wird in anderen Threads geschrieben, dass man den Befehl z.B. "sendTo('sonos', 'send', 'http://ip:8082/state/sayit.0.tts.mp3');" absetzen soll.
Wie/Wo kann ich solche cmd line Befehle an iobroker absetzen in Windows ? Per Eingabeaufforderung ? Per Putty ? (wenn ja welche login daten muss ich hier nehmen)
Weiters ist mir noch nicht so ganz klar ob sich meine Idee iobroker + sayit + sonos + homematic als Klingel zu verwenden, überhaupt realisieren lässt?
Ich möchte, dass wenn man auf den Klingeltaster (hängt an einem 12/14er wired Modul) drückt, über das Sonos System ein bestimmtes MP3 File abgespielt wird.
Ist das möglich ? Wenn ja, wo kann ich bei iobroker meine Homematic Geräte finden ? Und wie kann ich den gewünschten Taster dann mit dem Sayit Adapter und Sonos verknüpfen ? So eine Wenn -> Dann Programmerstellungsoberfläche wie bei der CCU2 gibt es ja bei iobroker nicht oder doch ?
Ich hoffe ihr könnt mir etwas Klarheit bei meinen Fragen/Problemen verschaffen.
Und sorry, falls "dumme" Fragen dabei sein sollten, aber mir ist noch nicht ganz klar wie das Zusammenspiel Homematic - Iobroker - Sonos funktioniert.
Beste Grüße
-
Hat denn gar keiner zumindest auf eine meiner Fragen eine Antwort oder zumindest eine Idee was ich noch probieren könnte ? :?
Bin ich tatsächlich der einzige hier, der iobroker in Verbindung mit Windows nutzt ?
-
Hallo Qlink,
ich hab mich heute das erstemal mit dem Sayit Adapter beschäftigt und es hat auch etwas gehakt am Anfang.
Deinem Beitrag entnehme ich das du noch nicht viel mit ioBroker gearbeitet hast.
` > Oft wird in anderen Threads geschrieben, dass man den Befehl z.B. "sendTo('sonos', 'send', 'http://ip:8082/state/sayit.0.tts.mp3');" absetzen soll.
Wie/Wo kann ich solche cmd line Befehle an iobroker absetzen in Windows ? Per Eingabeaufforderung ? Per Putty ? (wenn ja welche login daten muss ich hier nehmen) `
Das ist javascript, dafür brauchst du den javascript Adapter.Hier mal das Script wie ich das mit der mp3 gemacht hab:
on({id: "hm-rpc.0.KEQxxxxxxx.2.PRESS_SHORT"/*RGB Licht An.PRESS_SHORT*/, val: true}, function(obj) { sendTo('sonos', 'send', 'http://192.168.0.248:8082/sayit.0/tts.userfiles/Iron_Man.mp3'); });
Übrigens ist fast alles in iobroker unabhängig vom Betriebssystem.
-
Hi Jey Cee,
vielen Dank für deine Antwort.
Ich hab jetzt auch den Javascript/Coffescript Script Engine Adapter installiert. Unter Objekte habe ich da jetzt einen entsprechenden Eintrag.
Was mir noch nicht so ganz klar ist, wo kann ich das Script von dir jetzt eintragen ? Ich kann in ioBroker nichts dementsprechendes finden.
Oder muss das Script auf der CCU in einem Programm eingegeben werden ?
Beste Grüße
-
Im Admin (iobroker) findest du ganz oben ein Reiter mit Skripte
-
Aaaaah jetzt hab ichs.
Den Reiter hatte ich total übersehen … :roll:
Danke für den Hinweis.
Ich habe jetzt das Script von Jey Cee testweise kopiert und die IP Adresse bzw. die HM ID angepasst. Die Datei maus.mp3 hab ich nach
C:\Program Files\ioBroker\iobroker-data\files\sayit.0\tts.userfiles kopiert.
Wenn ich http://192.168.xxx.xxx:8082/sayit.0/tts ... s/maus.mp3 im Browser aufrufe, dann kommt das "Speichern Unter..." Fenster. Ich gehe davon aus, dass das bestätigt, dass die Eingabe so richtig ist oder ?
Wenn ich auf den entsprechenden Taster drücke wird das Script laut Log auch ausgeführt, wenn ich das richtig interpretiere:
sonos-0 2016-02-16 18:07:03 info Restore state: volume - 60, mute: false, uri: http://192.168.xxx.xxx:8082/sayit.0/tts ... s/gong.mp3
sonos-0 2016-02-16 18:07:00 info Play on sonos[RINCON_000E5828E4E601400]: http://192.168.xxx.xxx:8082/sayit.0/tts … s/maus.mp3, Volume: null
javascript-0 2016-02-16 18:07:00 info sendTo "send" to system.adapter.sonos from system.adapter.javascript.0: "http://192.168.xxx.xxx:8082/sayit.0/tts ... s/maus.mp3"
sayit-0 2016-02-16 18:06:52 info Upload announce mp3 files
sayit-0 2016-02-16 18:06:52 info starting. Version 0.3.17 in C:/Program Files/ioBroker/node_modules/iobroker.sayit
host-Cray 2016-02-16 18:06:51 info instance system.adapter.sayit.0 started with pid 4836
Nur leider ist nichts über Sonos zu hören.
Wo liegt hier der Hund begraben ?
-
> sonos-0 2016-02-16 18:07:00 info Play on sonos[RINCON_000E5828E4E601400]: [http://192.168.xxx.xxx:8082/sayit.0/tts](http://192.168.xxx.xxx:8082/sayit.0/tts) … s/maus.mp3, Volume: null
Kann es sein das du bei Volume eine Variable genommen hast? "null" deutet auf eine variable ohne gesetzen wert hin. Das könnte der Grund sein warum du nichts hörst.
P.S.: Wenn du dein script postest ist es einfacher zu helfen.
9364_alexa.png -
Nicht das ich wüsste. Wie hätte ich das gemacht mit der Variable bzw. wo kann ich das überprüfen ? :roll:
Ich habe 1:1 das Script von deinem Post genommen. Deswegen habe ichs auch nicht gepostet.
Ich habe nur die Object ID, die Ip Adresse und das mp3 file abgeändert…
on({id: "hm-rpc.1.MEQ0xxxxxx.6.PRESS_SHORT", val: true}, function(obj) { sendTo('sonos', 'send', 'http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3'); });
-
-
Wenn ich setState (volSayIt, 30); oberhalb einfüge kommt folgende FM im Log:
hm-rpc-2 2016-02-16 22:37:45 info xmlrpc -> listDevices 0 javascript-0 2016-02-16 22:35:07 error at script.js.Script1:1:11 javascript-0 2016-02-16 22:35:07 error script.js.Script1: ReferenceError: volSayIt is not defined javascript-0 2016-02-16 22:35:07 info Start javascript script.js.Script1
In einem anderen Post habe ich folgendes gefunden:
var vol ="sayit.1.tts.volume";
setState (vol,40);
Wenn ich das oberhalb einfüge kommt folgende FM im Log:
sonos-0 2016-02-16 22:38:58 info Restore state: volume - 60, mute: false, uri: http://192.168.222.35:8082/sayit.0/tts.userfiles/gong.mp3 sonos-0 2016-02-16 22:38:55 info Play on sonos[RINCON_000E5828E4E601400]: http://192.168.222.35:8082/sayit.0/tts.userfiles/maus.mp3, Volume: null javascript-0 2016-02-16 22:38:55 info sendTo "send" to system.adapter.sonos from system.adapter.javascript.0: "http://192.168.222.35:8082/sayit.0/tts.userfiles/maus.mp3" javascript-0 2016-02-16 22:38:47 info script.js.Script1: registered 1 subscription and 0 schedules javascript-0 2016-02-16 22:38:47 warn State "sayit.1.tts.volume" not found javascript-0 2016-02-16 22:38:47 info Start javascript script.js.Script1 javascript-0 2016-02-16 22:38:47 info Stop script script.js.Script1 javascript-0 2016-02-16 22:38:45 info script.js.Script1: registered 1 subscription and 0 schedules javascript-0 2016-02-16 22:38:45 warn State "sayit.1.tts.volume" not found javascript-0 2016-02-16 22:38:45 info Start javascript script.js.Script1 javascript-0 2016-02-16 22:38:45 info Stop script script.js.Script1 javascript-0 2016-02-16 22:35:05 error at script.js.Script1:1:11 javascript-0 2016-02-16 22:35:05 error script.js.Script1: ReferenceError: volSayIt is not defined javascript-0 2016-02-16 22:35:05 info Start javascript script.js.Script1
-
Ich habs jetzt heute morgen nach einem Neustart des PCs auf dem iobroker läuft einfach nochmal probiert mit folgendem Skript:
var vol ="sayit.1.tts.volume"; setState (vol,40); on({id: "hm-rpc.1.MEQxxxxxx.6.PRESS_SHORT", val: true}, function(obj) { sendTo('sonos', 'send', 'http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3'); });
Plötzlich habe ich keine FM mehr im Log, sondern das hier:
sonos-0 2016-02-17 09:36:48 info Restore state: volume - 60, mute: false, uri: http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/gong.mp3 sonos-0 2016-02-17 09:36:46 info Play on sonos[RINCON_000E5828E4E601400]: http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3, Volume: null javascript-0 2016-02-17 09:36:46 info sendTo "send" to system.adapter.sonos from system.adapter.javascript.0: "http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3" hm-rpc-2 2016-02-17 09:35:20 info xmlrpc -> listDevices 0
Die Datei maus.mp3 wird nicht abgespielt, aber gong.mp3 wird über die Lausprecher abgespielt ?!?
Wie kann das sein, obwohl in meinem Skript die gong.mp3 Datei gar nicht vorkommt ?
Und wieso wird maus.mp3 nicht abgespielt ?
-
Schätze mal du willst den falschen Datenpunkt beschreiben.
var vol ="sayit.1.tts.volume"; ````versuche mal
var vol ="sayit.0.tts.volume";
-
Hi coyote,
danke für den Hinweis.
Hab ich soeben geändert im Skript auf var vol ="sayit.0.tts.volume";
Leider hat es keine Veränderung gebracht.
Es wird nach wie vor nur der gong.mp3 abgespielt.
maus.mp3 ist nicht zu hören und auch die Log Meldung hat sich nicht verändert.
Hat es eventuell damit zu tun, dass unter "Objekte" beim sayit Volume-Datenpunkt eine rote 80 steht ? Ich kann die 80 aber leider auch nicht verändern …
Was mich auch wundert, dass unter Objekte beim sonos current title Datenpunkt gong.mp3 steht?! Spielt er deswegen immer den Gong ab, obwohl ich den in meinem Skript gar nicht aufrufe ?
Hier der Screenshot:
-
Hast du hier: http://forum.iobroker.de/viewtopic.php?f=20&t=793 mal etwas rumgelesen?
Ich habe letztens auch versucht eine MP3 abzuspielen, hat bei mir auch nicht funktioniert, habe aber auch momentan nicht weiter danach geschaut. Muss ich bei Gelegenheit nochmal probieren.
Die rote 80 ist die aktuelle Lautstärke, die sollte sich aber damit
var vol ="sayit.1.tts.volume"; setState (vol,40);
auf 40 einstellen.
Der Gong ist die Ankündigung, die kannst du im sayit Adapter direkt, an/ab stellen
-
Ja, den Thread hab ich auch schon durch…
Das Problem von mir hat leider keiner dort.
Den Gong hab ich im Sayit Adapter abgedreht.
Das ist ja das merkwürdige, dass er trotzdem abgespielt wird ...
-
Wenn der wert eines objects rot ist wurde die Änderung nicht an das Gerät übertragen oder die Änderung wurde vom Gerät nicht bestätigt. ein Adapter neustart sollte dafür sorgen das der richtige status oder wert zu sehen ist, dann sollte es auch möglich sein einen neuen wert zu übertragen.
Das dürfte der Grund für die Meldung "…Volume: null" im log sein.
Gesendet von meinem Jolla mit Tapatalk
-
Ich habe sogar mehrmals den PC komplett neugestartet, auf dem iobroker läuft. Damit sollte doch eigentlich auch jedes Mal alle Adapter neu geladen werden oder ?
Ich habe jetzt testweise meinen Sonos Zoneplayer stromlos gemacht und siehe da, auf einmal spielt er maus.mp3 ab.
Es scheint jetzt also endlich soweit mal zu funktionieren, ganz normal auf Knopfdruck ein mp3 file abzuspielen
Im Log habe ich allerdings nach wie vor volume null und was jetzt neu dazugekommen ist, ist volume undefined:
sonos-0 2016-02-17 21:45:31 info Restore state: volume - 60, mute: false, uri: hm-rpc-2 2016-02-17 21:45:30 info xmlrpc -> listDevices 0 sonos-0 2016-02-17 21:45:09 info Play on sonos[RINCON_000E5828E4E601400]: http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3, Volume: undefined sonos-0 2016-02-17 21:45:09 info Restore state: volume - 60, mute: false, uri: sonos-0 2016-02-17 21:44:48 info Queue on sonos[RINCON_000E5828E4E601400]: http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3, Volume: null javascript-0 2016-02-17 21:44:48 info sendTo "send" to system.adapter.sonos from system.adapter.javascript.0: "http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3" sonos-0 2016-02-17 21:44:47 info Play on sonos[RINCON_000E5828E4E601400]: http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3, Volume: undefined sonos-0 2016-02-17 21:44:47 info Restore state: volume - 60, mute: false, uri: sonos-0 2016-02-17 21:44:32 info Queue on sonos[RINCON_000E5828E4E601400]: http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3, Volume: null javascript-0 2016-02-17 21:44:32 info sendTo "send" to system.adapter.sonos from system.adapter.javascript.0: "http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3"
Unter Objekte habe ich ebenfalls noch die rote 80 beim sayit Datenpunkt und auch sonst einige rote Werte bei diversen Datenpunkten (siehe Screenshot):
Wie sieht denn bei euch das Log aus nachdem per sayit Adapter ein mp3 file abgespielt wurde ?
Und wie sieht bei euch die Objekte Ansicht aus ? Ist da gar nichts rot ?
Kann ich die volume null bzw. volume undefined Meldung ignorieren, oder habt ihr noch Ideen wo der Fehler liegen könnte ?
-
Es ist zum aus der Haut fahren !!! :evil:
Ich habe heute nachdem auf meinem Testrechner der Abspielen der MP3 soweit funktioniert hat, iobroker nochmal komplett neu auf meinem Server installiert (Hyper-V VM).
Ich habe alles 1:1 wieder genau so installiert wie auf meinem Testrechner.
Selbes Skript, selbe Einstellungen.
Jetzt geht das Abspielen wieder nicht. Weder auf meinem Testrechner, noch auf meinem Server.
Was geht denn hier ab ?
Neustart vom Testrechner bzw. vom Server und stromlos machen vom Sonos Player haben ebenfalls nichts mehr genutzt.
Im Log siehts auch etwas anders aus:
sonos-0 2016-02-18 20:41:11 info Play on sonos[RINCON_000E5828E4E601400]: http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3, Volume: null javascript-0 2016-02-18 20:41:11 info sendTo "send" to system.adapter.sonos from system.adapter.javascript.0: "http://192.168.xxx.xxx:8082/sayit.0/tts.userfiles/maus.mp3"
Was mir auch aufgefallen ist: Wenn ich nebenbei auf meinem Handy oder auf meinem PC die Sonos Controller App laufen habe und ich versuche per Tasterdruck/Skript die Datei maus.mp3 abzuspielen, erscheint folgende FM:
Schön langsam verzweifel ich…
Bitte helft mir den Fehler zu finden.
Gerne auch per Teamviewer oder Skype oder so ...
-
@Jey Cee:
Kannst du mir bitte Screenshots von deinem Log und deiner "Objekte-Ansicht" posten, nachdem du dieses MP3 Skript ausgeführt hast.
Das würde mir schon helfen, damit ich bei der Fehlersuche zumindest etwas eingrenzen kann…
Danke
-
Falls du im Browser http://192.168.xxx.xxx:8082/sayit.0/tts … s/maus.mp3 aufrufst, kannst du was hören?
Übrigens deine 192 IP Adresse kannst du ruhig zeigen, die ist nur von deiner Zuhause erreichbar und ansprechbar.
Stimmt die IP Adresse, die auf dem SONOS siehst (auf dem Bild) mit 192.168.xxx.xxx ?