NEWS
Sonos-HTTP-API Installation für Newbies, Dummies und mich
-
Schönen Sonntag, kurz vorm Grillen möchte ich Euch an meinem Sonntagsprojekt teilhaben lassen.
Ich weiß dass viele von Euch Sonos Boxen haben und immer wieder mal Probleme mit dem Adapter haben,
auch ich. Etliche Versuche haben bei mir nicht zu dem gewünschten Erfolg geführt, oder es war zu umständlich.Ausgehend von diesem Thread
möchte ich hier den Anfängern ( also auch mir ) eine kleine Anleitung geben wie man die
Sonos Boxen super einfach über HTTP-API erreichen kann.@Marty56 hat's vorgemacht, Danke dafür !!
Die Anleitung für Newbies, Dummies und mich fehlte aber noch irgendwie.Heute morgen hab ich es ( ganz stolz auf mich ), probiert und zu Ende gebracht.
Der Admin möge mir den neuen Thread verzeihen, aber Marty56 seiner, hatte ja im Ursprung einen
anderen Hintergrund.Hier die Anleitung ( zusammengesucht, getestet und für gut befunden )
Achtung, ich habe keine große Ahnung, daher alles auf eigene Verantwortung.
Mit Putty auf dem IOBroker einloggen ( ich hab ne NUC )
und folgende Befehle der Reihe nach eingeben
Ich habe dies in meinem Home Verzeichnis ausgeführt.ggf. vorher wget installieren wenn nicht verfügbar ( Debian )
$ sudo apt install wget
oder
$ sudo apt-get install wgetwget https://github.com/jishi/node-sonos-http-api/archive/master.zip unzip master.zip cd node-sonos-http-api-master npm install --production
Damit wurde der Server installiert.
Start des Servers mitnpm start
Putty offen lassen !!
erster Test, muss jetzt funktionieren
In Putty tauchen jetzt zwei Meldungen auf die verwirrend sind
1.) settings.json wird nicht gefunden ( ignorieren )
Wenn keine settings.json gefunden wird, wird die default Einstellung genommen,
passt bei mir, sollte bei Euch auch passen.
In den Settings könnten spezielle Einstellungen verändert werden, wie z.B der Port 50052.) http server listening on 0.0.0.0
ignorieren...keine Ahnung, passt aber, und muss nicht Eure IP Adresse seinJetzt kommt das was ich lange nicht verstanden hatte.....Räume undsowas....
Die Räume habt ihr selbst schon in der Sonos APP angelegt, genauso wie Eure Favoriten etc.Und weil es so einfach ist,
funktioniert jetzt auch schon sowashttp://192.168.xxx.xxx:5005/Sonos Tablet/favorite/HIT RADIO FFH
( "Sonos Tablet" ist ein Raum, FFH ist klar, beides wurde in der SONOS App im Handy hinterlegt )
Wenn Putty geschlossen wird, ist der allerdings weg.
Autostart folgt wenn ich weiß wie es geht.
( kommt einige Post's später )
ich hoffe ich konnte Euch auch mal helfen, viel Spaß,
Ich glaube dieser Weg ist extrem vielversprechend und vielseitig.Gruß Bernd
-
Super klasse, danke für die Doku.
Anstelle von Putty dürfte bei einem Windows 10 iobroker ja auch die cmd Kommandozeile gehen?Hast du schon die Text-to-speech Funktion im Zusammenhang mit dieser Vorgehensweise ausprobiert?
-
@smile
Kenne die Windows Installation nicht,
probier halt mal...
Text to speech probiere ich sobald ich Zeit habe, schreibe ich dann hier. -
Autostart für den Sonos Server ( getestet auf Debian 9 )
sudo nano /etc/systemd/system/sonosapi.service
sonosapi.service mit folgendem Inhalt anlegen
[Unit] Description=Sonos HTTP API Daemon After=syslog.target network.target [Service] Type=simple ExecStart=/usr/bin/node /home/bernd/node-sonos-http-api-master/server.js Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
unter ExecStart den Pfad anpassen
z.B. =/home/bernd/node-sonos-http-api-master/server.js
sudo systemctl enable sonosapi.service
ausführen, reboot, fertig
-
Für die SAY Funktion,
beispielsweise bei http://www.voicerss.org/default.aspx registrieren,
und eine kostenlose API erhalten.
Darauf achten, dass die API bei Voicerss aktiv angezeigt wird.( Amazon PollyAWS geht auch, andere auch noch. )
Die API in die settings.json eintragen.
{ "voicerss": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
Webserver neu starten.
Fertig.http://192.168.120.20:5005/Sonos/say/hallo Welt/de-de
p.s. es wird.
Ich kann allen Sonos geplagten die Sonos-HTTP-API nur ans Herz legen. -
@skokarl sagte in Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Ich kann allen Sonos geplagten die Sonos-HTTP-API nur ans Herz legen.
Das kann ich nur unterschreiben! Ich bin gestern auch umgestiegen und haben den Sonos Adapter entsorgt. Sprachausgaben und eigene MP3 (z.B. ein Ding Dong wenn die Haustür klingelt) funktionieren auf alle Geräten im Haus super.
Aber zugegeben Maßen musst um die API recht viel „skripten“. Also abfangen ob der http Aufruf ohne Fehler funktioniert hat oder das Abfragen der Statusinformationen. Aber der Aufwand lohnt sich meiner Meinung nach... -
@eumats sagte in Sonos-HTTP-API Installation für Newbies, Dummies und mich:
@skokarl sagte in Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Das kann ich nur unterschreiben! Ich bin gestern auch umgestiegen und haben den Sonos Adapter entsorgt.
Du darfst gerne noch das eine oder andere Script dazulegen,..... würde mich auch freuen, bin nämlich noch am üben.
-
Danke Bernd,
Das ist eine super Anleitung. Konnte mich noch nicht für den Sonos Adapter erwärmen und habe schon lange die HTTP-API im Auge.
Mit Deiner Anleitung werde ich jetzt mal einen Versuch wagen.
Viele Grüsse
Beat
-
@easybeat
kein Problem, gerne.
Wenn Du später noch Ergänzungen hast....immer gerne. -
@skokarl Vielen Dank für die sehr gute Anleitung!!
Das hilft mir wirklich sehr, da der Sonos Adapter bei mir keine Werte aktualisiert, warum auch immer -.-
Habt ihr evtl. ein paar Beispiel Scripte für mich für den Start?
Evtl. sogar eins mit dem ich den aktuellen Status (Play, Pause, Stop) in einen Datenpunkt bekomme?
Vielen Dank schonmal im Voraus
-
Du brauchst eigentlich erstmal keine Scripte...... nur ein http Aufruf den Du z.B. mit
einem HQ Widget aufrufst.Bsp. Radiosender wechseln ( in Verbindung mit Alexa )
-
@skokarl sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Du brauchst eigentlich erstmal keine Scripte...... nur ein http Aufruf den Du z.B. mit
einem HQ Widget aufrufst.Bsp. Radiosender wechseln ( in Verbindung mit Alexa )
aber genau das ist doch ein Script?!?!?
-
@BBTown sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
@skokarl sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
Du brauchst eigentlich erstmal keine Scripte...... nur ein http Aufruf den Du z.B. mit
einem HQ Widget aufrufst.aber genau das ist doch ein Script?!?!?
ja, @BBTown ...aber das kannst Du wesentlich besser als ich
-
@skokarl Vielen Dank.
Habt ihr eine Idee wie ich den aktuellen Status der Lautsprecher am Besten in Datenpunkte bekomme?
So dass ich darauf reagieren kann, wenn der Player z.B. nichts mehr abspielt? -
@hesse sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
@skokarl Vielen Dank.
Habt ihr eine Idee wie ich den aktuellen Status der Lautsprecher am Besten in Datenpunkte bekomme?
So dass ich darauf reagieren kann, wenn der Player z.B. nichts mehr abspielt?Ich weiß nicht ob die API das kann.
-
Irgendwie bräuchte ich auch gerade die aktuelle Lautstärke der Boxen,
weiß jemand ob das geht ?Hintergrund ist, dass ich zwei Sonos als Gruppe habe und dann zwei andere dazu schalte. ( selbe Gruppe )
Welche Lautstärke haben dann die zwei zusätzlichen ? die der Gruppe ??? -
@skokarl
die Lautstärke die zuletzt eingestellt war müßte es sein.
Ich bin der Meinung, das Hinzufügen zu einer Gruppe stellt zunächst einmal nur den "coordinator" ein und geht in Status "play" -
@BBTown sagte in [gelöst] Sonos-HTTP-API Installation für Newbies, Dummies und mich:
@skokarl
die zuletzt eingestellt war müßte es sein.und genau das ist doch Käse. ( für meine Anwendung, alle 4 im gleichen großen Wohnzimmer ) )
Die beiden neuen sollten die gleiche Lautstärke annehmen, die ich allerdings nicht kenne
weil ich über die API nicht an die Lautstärke komme. -
@skokarl
Ich habe das über ein Script gelöst: -
@skokarl
Allerdings beginne ich dann die Gruppe mit einer "üblichen Grundlautstärke" und erhöhe bei Bedarf dann die Gruppenlautstärke ... das ganze erfolgt bei mir über Alexa