NEWS
WiiM Multiroom Audio mit iobroker steuern
-
@Qlink
Die 87 IP ist von meinem Setup. Die muss sich irgendwie eingeschlichen haben. Werde den Code mal durchsuchen, wo der fix hinterlegt ist.
Zur Verzögerung: ich gehe davon aus, dass sie durch den Server verursacht wird, auf dem sie liegt. Wenn Du den Klingelton auf einem internen dlna oder Web Server anlegst, geht es U.U. schneller. Ich kann das leider nicht beschleunigen, die URL wird sofort an den Wiim gegeben. Wie lange der dann zum "Aufwachen" benötigt, liegt außerhalb meiner Kontrolle.Melde mich hier, sobald ich die 87er IP aus dem Code entfernt habe.
Gruß und vielen Dank für's Testen
Kai -
@qlink So, angepasster Code liegt auf git hub. Bitte einmal neu installieren und testen.
Ich habe das "klingeln Problem" mal mit Spotify getestet, in dem ich einen entsprechenden Track in der Wiim App auf einen Preset gelegt habe. Wenn ich diesen dann über den Datenpunkt aufrufe, klingelt es innerhalb von einer Sekunde.
Werde bei Gelegenheit schauen, ob es auch mit dem iobroker eigenen Webserver klappt. Das wäre dann natürlich sehr einfach.
Gruß
Kai -
@kai-brendel said in WiiM Multiroom Audio mit iobroker steuern:
@qlink So, angepasster Code liegt auf git hub. Bitte einmal neu installieren und testen.
Ich habe das "klingeln Problem" mal mit Spotify getestet, in dem ich einen entsprechenden Track in der Wiim App auf einen Preset gelegt habe. Wenn ich diesen dann über den Datenpunkt aufrufe, klingelt es innerhalb von einer Sekunde.
Werde bei Gelegenheit schauen, ob es auch mit dem iobroker eigenen Webserver klappt. Das wäre dann natürlich sehr einfach.
Gruß
KaiSo, habe das mit dem Server getestet, funktioniert auch gut:
einfach in IoBroker unter Dateien/Benutzerdaten einen Ordner anlegen, mp3 hochladen und den link kopieren. Den dann auf den "play_URL" Datenpunkt schreiben und schon klingelt es mit nur kurzer Verzögerung.
Ich hoffe, das hilft!? -
@Kai-Brendel
Vielen Danke für die schnellen Updates.
Ich hab die aktuelleste Version eingespielt.Die Fehlermeldung mit der 87er IP ist jetzt weg, allerdings bekomme ich jetzt alle 15s folgende Meldung:
wiim.0 2025-01-05 17:29:48.837 error Unexpected token 'F', "Failed" is not valid JSON wiim.0 2025-01-05 17:29:33.835 error Unexpected token 'F', "Failed" is not valid JSON wiim.0 2025-01-05 17:29:18.835 error Unexpected token 'F', "Failed" is not valid JSON wiim.0 2025-01-05 17:29:03.836 error Unexpected token 'F', "Failed" is not valid JSON wiim.0 2025-01-05 17:28:48.832 error Unexpected token 'F', "Failed" is not valid JSON wiim.0 2025-01-05 17:28:33.837 error Unexpected token 'F', "Failed" is not valid JSON wiim.0 2025-01-05 17:28:18.833 error Unexpected token 'F', "Failed" is not valid JSON wiim.0 2025-01-05 17:28:03.832 error Unexpected token 'F', "Failed" is not valid JSON wiim.0 2025-01-05 17:27:48.837 error Unexpected token 'F', "Failed" is not valid JSON
Zum Thema mp3 in iobroker hochladen stehe ich leider vor einem Problem.
Ich nutze iobroker unter Docker auf einer Synology in Kombination mit redis.Wenn ich die Doku richtig verstanden habe, dann liegen bei redis Dateien nicht im Filesystem sondern ebenfalls in der redis DB.
Das heißt, wenn ich Dateien einfach ins Filesystem hochlade, dann kann iobroker sie trotzdem nicht sehen, bzw. darauf zugreifen...
Siehe hier: https://iobroker.readthedocs.io/de/latest/bestpractice/storefiles.htmlLeider konnte ich keine Infos finden, wie man als User ohne Programmierkenntnisse trotzdem z.B. eine mp3 Datei hochladen kann und sie dann per play_URL in iobroker verwenden kann ...
Kannst du mir hier weiterhelfen ?
-
@qlink hallo qlink,
Die Fehlermeldung muss ich mir in Ruhe anschauen, taucht bei mir nicht auf, hängt also wahrscheinlich auch daran, dass Dein Wiim nicht über WLAN angebunden ist.
Mein Urlaub ist ab morgen zu Ende, werde das wohl erst in zwei Wochen genauer untersuchen können. Bitte geduldig bleiben!Zum MP3 Problem: das ist ja ein Recht spezielles Setup, das Du verwendest. Ich bin mir nicht sicher, ob ich das richtig verstehe, aber Du kommst ja offensichtlich auch die iobroker Admin Oberfläche.Das machst Du doch über einen Browser, oder? Dann müsste doch auch der Zugriff auf Dateien, die in Iobroker abgelegt sind, aus Deinem Netzwerk möglich sein.
Oder verstehe ich etwas falsch? -
@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...