NEWS
WiiM Multiroom Audio mit iobroker steuern
-
Hi Leute,
ich möchte mein Sonos System im ganzen Haus gerne mit WiiM Audio Produkten ablösen.
Ein wichtiger Punkt dabei wäre allerdings, dass ich das WiiM System ähnlich gut per iobroker ansteuern kann wie Sonos.Als Beispiel: Ich spiele bei einem Tastendruck auf meinen Klingeltaster eine MP3 Datei auf allen Sonos Lautsprechern im Haus ab.
Leider gibt es anscheinend noch keinen Adapter oder sonstige Posts zu dem Thema. Ich kann nur einen Home Assistant Adapter zu WiiM finden.
Meine Fragen:
Hat eventuell schon jemand WiiM Multiroom Player bei sich daheim und steuert diese per iobroker an?
Es gibt eine HTTP API von WiiM: https://www.wiimhome.com/pdf/HTTP API for WiiM Mini.pdfLässt sich damit auch ohne Adapter mein obiges Beispiel meiner MP3 Klingel per Blockly Skripte abbilden ?
Danke.
Beste Grüße
-
Hat das tatsächlich noch niemand probiert bzw. kann tatsächlich keiner eine Aussage zu der http API treffen?
-
Bin auch am überlegen, ob ich zukünftig meine Sonos Lautsprecher durch WiiM ersetzen soll. Bislang habe ich einen WiiM am laufen und bin ob der Qualität sehr begeistert. Gibts zu dem Thema schon Neuigkeiten bzgl. iobroker?
-
@qlink hallo, ich steuere mein Wiim über den Squeezebox Adapter. Das funktioniert prima und ich kann beliebige Favoriten abspielen. Daher sollte Dein Vorhaben kein Problem darstellen, sofern Du gewillt bist, neben deine Iobroker auch den Squeezebox Server laufen zu lassen (darüber funktioniert auch das Multiroom perfekt).
Gruß
Kai -
@kai-brendel Das klingt interessant.
Kannst du mir ein paar Screenshots zeigen wie du z.B. ein paar Aktionen bzw. Blocklys umgesetzt hast.
Was gibts da für Möglichkeiten?Besten Dank!
-
@qlink : squeezebox Adapter stellt Dir viele Datenpunkte zur Steuerung bereit:
Damit kannst Du das Abspielen starten/stoppen/vorwärts/rückwärts usw. Wenn Du Dir dann noch im Squeezebox Server Favoriten anlegst (z.B. auf Spotify Songs, die mit dem Spotty Plugin eingebunden werden können), kannst Du durch das Schreiben einer "1" auf den Datenpunkt "cmdPlayFavorite" den ersten Favoriten abspielen
Der Squeezebox Server bietet aber noch viel mehr, siehe hier:https://lyrion.org/
(Seit Logitech Squeezebox aufgekündigt hat, heißt es jetzt lyrion)
Hoffe, das hilft Dir weiter!
Gruß
Kai -
@qlink Das Thema hat mich nicht losgelassen und ich habe daher angefangen, meinen ersten Adapter für IOBroker zu entwicklen. Habe eine Weile gebraucht, mich einzuarbeiten und mit Javascript beizubringen, aber inzwischen kann ich mit meiner aktuellen Version schon die Quelle Wechseln und das Play/Pause toggeln. Wird sicher noch ein paar Tage dauern, bis das ganze vorzeigbar ist, aber dann werde ich den Adapter bereitstellen.
Beste Grüße
Kai -
@qlink Hey qlink,
ich habe jetzt die erste brauchbare Testversion des Adapters fertig.
hier ein Screenshot zu den bereitgestellten Datenpunkte und einer zur Bedienung mittel HABPanel:
Datenpunkte:
Bedienwidget in HABPanel:
über den Datenpunkt "play_preset" kann ein mit der Wiim App angelegtes preset aufgerufen werden. Das kann dann z.B. ein Klingelton sein.
Lass mich wissen, ob es für Dich interessant ist, dann mache ich die Sache rund und veröffentliche auf Git Hub.
Beste Grüße und Frohes Neues! -
@kai-brendel
Hi Kai, ich würde deinen Adapter gerne mal probieren.
Ich habe allerdings noch keine Möglichkeit gefunden eine MP3 Datei von meinem NAS als Preset in der Wiim App zu setzen.
Ich fürchte das wird so nicht funktionieren mit der Klingel, oder hast du hier einen Tipp für mich ?Danke und beste Grüße
-
@kai-brendel
Das ist in interessant.
https://forum.wiimhome.com/threads/wiim-home-app-see-files-on-logitech-media-server.1555/Das werde ich in die
ReaderReadme mit aufnehmen -
@qlink
Hallo qlink,
der Adapter liegt jetzt auf Git Hub. Kannst ja gern mal testenFür Dein Klingel Thema hätte ich eine Idee. Da Du ja ohnehin Iobroker laufen hast, könntest Du auf dem Webserver auch eine Klingelton MP3 ablegen. Ich baue dann in den Adapter einen PlayURL Datenpunkt ein und Du kannst dann wenn es klingelt, die URL des Klingeltins in den Datenpunkt schreiben. Wenn ich die API richtig interpretiere, sollte der WIIM dann den Ton abspielen. Noch einfacher ist es, wenn Du Spotify hast. Da findet sich ja so ziemlich jeder Klingelton, den Du als Preset festlegen könntest.
-
@oliverio hallo Oliver,
Bin mir nicht sicher, was der Reader ist.... -
@kai-brendel Ein PlayURL Datenpunkt wäre super! Du müsstest mir dann nur noch genau schreiben was ich dann zu tun habe
-
@qlink
OK, Versuch doch erst einmal den Adapter zum laufen zu bringen.
Wenn das bei Dir klappt, mache ich mich an die Sache mit dem URL Datenpunkt.
Du weißt, wie Du einen Adapter von GitHub installierst? -
@kai-brendel
Adapter ist installiert.
Allerdings scheint er die IP Adresse der Ethernet Schnittstelle nicht zu mögen.
Kann es sein, dass der Adapter nur per Wifi connected ?Ich habe meinen Wiim Pro Plus nämlich per Kabel im Netzwerk und Wifi deaktiviert ...
wiim.0 2025-01-04 18:41:14.671 info check group user admin group admin: false wiim.0 2025-01-04 18:41:14.669 info check user admin pw iobroker: false,system.user.admin wiim.0 2025-01-04 18:41:14.410 info Refresh interval: 15sec. wiim.0 2025-01-04 18:41:14.410 info Wiim wifi status: FAIL, IP: 192.168.30.45 wiim.0 2025-01-04 18:41:14.281 info undefined wiim.0 2025-01-04 18:41:14.270 info starting. Version 0.0.1 (non-npm: KaiIOB/ioBroker.wiim#0e3522228a5d77d7dfebb9ce189a02ce8ca8da8a) in /opt/iobroker/node_modules/iobroker.wiim, node: v20.18.1, js-controller: 7.0.3
Und wofür wäre die user/password abfrage ?
-
@qlink
Tatsächlich prüfe ich im Adapter, ob die WLan Verbindung steht, erst dann geht es los. In der nächsten Version werde ich das verallgemeinern. Kannst Du zu Testen temporär auf WLan umsteigen. Dann sollte es funktionieren.
Werde dann morgen versuchen, eine Version zu erstellen, die Lan und WLan verwendet.
Gruß
Kai -
@qlink
habe jetzt eine Version erstellt, die nicht mehr nur WLAN akzeptiert.
bitte den Adapter einmal neu installieren.
Gruß
Kai -
@kai-brendel said in WiiM Multiroom Audio mit iobroker steuern:
@qlink
habe jetzt eine Version erstellt, die nicht mehr nur WLAN akzeptiert.
bitte den Adapter einmal neu installieren.
Gruß
Kaiplay_URL ist jetzt auch implementiert. Probier es mal mit: https://www.soundjay.com/misc/bell-ringing-01c.mp3
-
@Kai-Brendel
Super. Vielen Dank für die schnellen Anpassungen!
Der Adapter baut jetzt eine Verbindung auf und play_URL funktioniert ebenfalls, allerdings mit einer Verzögerung von gefühlt 4-5 Sekunden.
Das wäre für die Klingelfunktion nicht optimal, die sollte klarerweise möglichst instant abgespielt werden...Anmerkung:
Das Log wird alle 15s mit folgendem Fehler vollgespammt:wiim.0 2025-01-05 10:00:54.518 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 10:00:39.414 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 10:00:24.567 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 09:57:30.801 error connect ECONNREFUSED 0.0.0.0:443 wiim.0 2025-01-05 09:54:53.814 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 09:54:38.838 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 09:54:23.862 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 09:54:08.758 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 09:53:53.782 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 09:53:38.806 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 09:53:23.830 error connect ETIMEDOUT 192.168.0.87:443 wiim.0 2025-01-05 09:53:08.854 error connect ETIMEDOUT 192.168.0.87:443
Keine Ahnung wo die 87er IP herkommt. Die 192.168.0.0er Range gibts bei mir gar nicht...
-
@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