NEWS
WiiM Multiroom Audio mit iobroker steuern
-
@kai-brendel
Ja, Iobroker ist ganz normal über das Netzwerk erreichbar.
Wenn ich allerdings z.B. die datei "maus.mp3" per Synology Filebrowser in das Verzeichnis /iobroker-data/files/mp3/maus.mp3 kopiere, dann ist diese nicht abspielbar perhttp://192.168.30.90:8082/files/mp3/maus.mp3
oder
http://192.168.30.90:8082/mp3/maus.mp3
Es sei denn mein Aufruf ist falsch.
Meine Vermutung ist eben, dass das wie oben erwähnt an redis liegt...
Eventuell kann hier ja @apollon77 etwas Licht in die Sache bringen ?
-
nur weil eine datei im dteibereich des iobrokers liegt weiß der webserver des iobroker noch nix davon.
die datei muss per writeFile Befehl geschrieben werden.den befehl gibt es in verschiedenen ausfertigungen
im javascript adapter
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#writefile
per kommandozeile
iob file write --help -
@qlink Hallo qlink,
Versuch bitte mal, die Datei per IoBroker Front End hochzuladen. Ich denke, dass der ioBroker dann genau die con Oliver beschriebenen Schritte automatisch durchführt.
Viel Erfolg! -
Ich hätte es per
iobroker file write /files/vis.0/maus.mp3 /files/mp3/maus.mp3
versucht bzw. in allen möglichen Abwandlungen beim Pfad, (mit /opt/iobroker/iobroker-data/files/ davor usw.) aber ich erhalte immer:
"Please provide a valid file name as source file: "file write /opt/SOURCE/script.js /vis-2/DESTINATION/script.js"
@kai-brendel Was meinst du mit Front End genau ? Ich hätte es schon mit der Upload Funktion per vis Datei Manager versucht.
Die Datei wird mir auch entsprechend angezeigt im Manager
Wenn ich aber per File Station auf der Synology in dem Verzeichnis schaue, dann ist dort keine Datei namens maus.mp3
-
@qlink ich meine die Standard Iobroker Ansicht:
-
@Kai-Brendel
oha, das kannte ich noch gar nicht
Wenn ich auf den Ordner Benutzerdaten doppelklicke, dann erhalte ich
""0_userdata.0" kann nicht gelesen werden"
Allerdings liegt in der Ansicht unter vis.0 die Datei maus.mp3
Wie kriege ich jetzt den korrekten Link zu der Datei raus, damit ich sie per play_URL abspielen kann ?
-
@qlink rechts in der Dateiliste ist der Download Link. Den mit rechter Maustaste kopieren. Den kannst Du dann z.B. per Blockly Script auf den play_URL schreiben.
Wenn Du Blockly noch nicht gemacht hast, kann ich heute Abend einen Screenshot schicken. -
@kai-brendel
Perfekt! Mit dem Link vom Downloadbutton klappts dann auch mit dem Abspielen per http!
Der Port war falsch...
Ich hab immer 8082 anstatt 8081 versuchtJetzt funktioniert auch die Klingel per Blockly:
Hat zwar immer noch 2-3 Sekunden Verzögerung, aber damit kann ich leben, bzw. vermute ich dass man diese Verzögerung auch nicht wegbekommen wird oder ?
Zusätzlich hätte ich noch eine Frage bzw. ein Anliegen:
Gibt es eine Möglichkeit, wenn der WiiM gerade Musik abspielt während jemand die Klingel drückt, dass er nach dem Klingelton die zuvor gespielte Musik wieder weiterabspielt ?
-
@qlink das freut mich!
Das Rückspringen sollte möglich sein, wenn ich einen "Current_URL" Datenpunkt und einen "Position" Datenpunkt im Adapter bereitstelle. Die kannst Du dann beim Klingeln auslesen und nach dem Klingeln wieder zurücksvhteiben.
Ich werde mal versuchen, das im nächste Update unterzubringen. Melde mich
Funktioniert sonst alles gut mit dem Adapter?
-
@kai-brendel
Das wäre top!
Ansonsten scheint alles gut zu funktionieren
Im Log ist mir nur aufgefallen, dass wenn man die Klingel drückt, das o.g. Skript scheinbar zweimal aufgerufen wird:
wiim.0 2025-01-06 12:23:28.796 info [object Object] wiim.0 2025-01-06 12:23:28.793 info [object Object] wiim.0 2025-01-06 12:23:28.786 info [object Object] wiim.0 2025-01-06 12:23:28.785 info [object Object] wiim.0 2025-01-06 12:23:28.775 info setPlayerCmd:play:http://192.168.30.90:8081/files/vis.0/maus.mp3 wiim.0 2025-01-06 12:23:28.768 info setPlayerCmd:play:http://192.168.30.90:8081/files/vis.0/maus.mp3 javascript.0 2025-01-06 12:23:28.764 info script.js.KlingelV4-Wiim: Türklingel javascript.0 2025-01-06 12:23:28.758 info script.js.KlingelV4-Wiim: Türklingel
Kann aber sein, dass es an meinem Skript liegt...
Haben die [object Object] Einträge im Log irgendeinen speziellen Grund ?Die unexpected token Einträge alle 15 Sekunden tauchen heute auch nicht mehr auf
Cool wäre noch wenn du den WiiM als Output für den sayit Adapter hinzufügen könntest.
So könnte man auch diverse Ansagen wie Kalendereinträge, Temperatur, Nachrichten etc. per iobroker auf den WiiM Playern im Haus ausgeben: -
@qlink ich sehe keine Notwendigkeit, den Say-it Adapter zu erweitern
Wenn ich es richtig verstehe, legt Say-it die Ausgabe als mp3 ab, wo sie unter der URL hrrp://myiobrokerip/state/Say-it.0.tts.mp3 aufrufbar ist.
Die URL musst Du in deinem Skript nur in paly_URL schreiben, dann sollte Dein Wiim sprechen.
Gruß
Kai -
@kai-brendel said in WiiM Multiroom Audio mit iobroker steuern:
@qlink ich sehe keine Notwendigkeit, den Say-it Adapter zu erweitern
Wenn ich es richtig verstehe, legt Say-it die Ausgabe als mp3 ab, wo sie unter der URL hrrp://myiobrokerip/state/Say-it.0.tts.mp3 aufrufbar ist.
Die URL musst Du in deinem Skript nur in paly_URL schreiben, dann sollte Dein Wiim sprechen.
Gruß
KaiHabe es jetzt getestet und es funktioniert, der Link muss allerdings lauten: http://iobrokeripadresse:8081/files/sayit.0/tts.mp3
Damit solltest Du eine Lösung haben, oder?
-
@qlink Einfach Admin - Files und dann dort hochladen
-
@qlink hi qlink,
noch zwei Rückmeldungen zu Deinen Punkten/Fragen:
1.) Doppelter Aufruf des Skripts
Ich vermute, dass es daran liegt, dass Dein Trigger "wurde aktualisiert" ist. Wahrscheinlich ändert sich Dein Klingeldatenpunkt zu Beginn des Drückens und beim Loslassen => zwei Aufrufe des Skripts2.) Die Objekt Info Meldung
Ich weiß, wo sie verursacht wird, werde das im näxhsten Update dann hoffentlich beheben.Dann mal viel Spaß mit Deinem Wiim!
Hast Du eigentlich mehrere Wiims? Ich besitze nur einen, kann daher nichts zur Gruppierung testen....
-
das klingt plausibel
werde ich am WE mal testen mit "auf true" triggern
Noch nicht, sobald ich die sayit Ausgabe über Wiim und noch ein paar andere Sachen getestet habe, möchte ich Zug um Zug alle meine Sonos Geräte gegen Wiim austauschen...
-
@kaiiobroke said in WiiM Multiroom Audio mit iobroker steuern:
@qlink das freut mich!
Das Rückspringen sollte möglich sein, wenn ich einen "Current_URL" Datenpunkt und einen "Position" Datenpunkt im Adapter bereitstelle. Die kannst Du dann beim Klingeln auslesen und nach dem Klingeln wieder zurücksvhteiben.
Ich werde mal versuchen, das im nächste Update unterzubringen. Melde mich
Funktioniert sonst alles gut mit dem Adapter?
Hi Kai,
hattest du schon mal Zeit wegen "Zurückspringen"-Thema ?
Beste Grüße
-
@qlink hallo! Ich habe da nochmal drüber nachgedacht. Wie es aussieht, wird es schwierig. Das Problem ist, dass es nur funktioniert, wenn eine Playlist abgespielt wird. Dann kann man die Info zum aktuellen Track speichern und wieder zurück springen. Das wird aber bei Wiedergabe per Bluetooth schon schwierig, da dann die Playlist auf dem Client liegt. Damit kann man da nicht hin zurück springen
Ich habe aber schon einmal die current position eingepflegt und auch Sync mit einem anderen Wiim funktioniert jetzt (bin seit Freitag stolzer Besitzer eines Wiim Mini). Muss die Version aber noch hochladen, schaffe das heute nicht mehr. Hoffe, Dienstag mal wieder Zeit zu finden. Ggf kann ich dann auch die Nummer des Titels in der aktuellen Playlist mit einfügen. Dann kannst Du es mit dem Rücksprung versuchen. Aber wie gesagt, es wird dann nur in dem Fall funktionieren, in dem der Wiim eine Playlist abarbeitet. -
@qlink hallo, habe jetzt eine neue Version hochgeladen. Der Datenpunkt curpos liefert die Position im song in Millisekunden, plicurr den Index des aktuellen Songs aus der aktuellen Playlist.
Über den Datenpunkt jumptopli kannst Du zurück in die Playlist zu dem gewünschten Song in der Playlist springen. Dazu folgendes auf den Datenpunkt schreiben "URLderPlaylist:Index". Danach an die Position im Song springen, indem Du die Position (ebenfalls in Millisekunden) auf den Datenpunkt jumptopos schreibst.
Viel Erfolg! -
@qlink hey qlink,
Ich habe gesehen, dass die Firma Arylic mit Wiim zusammen hängt (bei gehören zu LinkPlay wie es scheint) und die API die gleiche ist. Allerdings hat Arylic ein paar mehr Funktionen, u.a. auch genau das, was Du suchst. Die Funktion playPromptUrl spielt einen Alarm ab (z.B. ein MP3 Klingelton) und setzt dann das Abspielen an der ursprünglichen Stelle fort. Ich habe den Datenpunkt jetzt schon implementiert, allerdings gibt es einen kleinen Unterschied zwischen Wiim und Arylic. Wiim verwendet HTTPS, Arylic HTTP. Damit es für beide Systeme klappt, muss ich meinen Adapter noch konfigurierbar machen. Mal sehen, wann ich die Zeit finde.
Mit dem Arylic up2stream, den ich mir bestellt habe, funktioniert das ganz gut. Vielleicht portiert Wiim ja die Funktion auch bald. Beste Grüße, Kai -
Die Version, die Wiim und Arylic ansprechen kann, ist jetzt bei GitHub hochgeladen.