homeean: Sonos HTTP API

Das gebe ich nicht auf dem Raspi im Browser ein sonder auf jedem beliebigem Gerät im gleichen Netzwerk, oder? Checke ich später gleich wenn ich zu Hause bin.

Vielen Dank schon mal für die Hilfe

Ja, beliebiges Gerät im LAN… Wenn die Seite erscheint läuft die API…

Ich bekomme die Seite leider nicht angezeigt. Muss ich die API irgendwie nach einem Neustart des Raspb. neu starten oder sollte das automatisch laufen?

sollte automatisch laufen…

gib mal

sudo tail -f /var/log/syslog

auf der shell ein gibt es da fehlermeldungen zur api?

…da bekomm ich dann folgendes:

Last login: Mon Mar 19 20:46:27 2018
pi@raspberrypi:~ $ sudo tail -f /var/log/syslog
Mar 21 18:51:59 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:51:59 raspberrypi systemd[1]: sonos-api.service: Unit entered failed s tate.
Mar 21 18:51:59 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘e xit-code’.
Mar 21 18:52:09 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:52:09 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:52:09 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:52:09 raspberrypi systemd[1132]: sonos-api.service: Failed at step EXE C spawning /usr/bin/npm: No such file or directory
Mar 21 18:52:09 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:52:09 raspberrypi systemd[1]: sonos-api.service: Unit entered failed s tate.
Mar 21 18:52:09 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘e xit-code’.
Mar 21 18:52:19 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:52:19 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:52:19 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:52:19 raspberrypi systemd[1139]: sonos-api.service: Failed at step EXE C spawning /usr/bin/npm: No such file or directory
Mar 21 18:52:19 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:52:19 raspberrypi systemd[1]: sonos-api.service: Unit entered failed s tate.
Mar 21 18:52:19 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘e xit-code’.
Mar 21 18:52:29 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:52:29 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:52:29 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:52:29 raspberrypi systemd[1141]: sonos-api.service: Failed at step EXEC spawning /usr/bin/npm: No such file or directory
Mar 21 18:52:29 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:52:29 raspberrypi systemd[1]: sonos-api.service: Unit entered failed state.
Mar 21 18:52:29 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘exit-code’.
Mar 21 18:52:40 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:52:40 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:52:40 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:52:40 raspberrypi systemd[1145]: sonos-api.service: Failed at step EXEC spawning /usr/bin/npm: No such file or directory
Mar 21 18:52:40 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:52:40 raspberrypi systemd[1]: sonos-api.service: Unit entered failed state.
Mar 21 18:52:40 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘exit-code’.
Mar 21 18:52:50 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:52:50 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:52:50 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:52:50 raspberrypi systemd[1147]: sonos-api.service: Failed at step EXEC spawning /usr/bin/npm: No such file or directory
Mar 21 18:52:50 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:52:50 raspberrypi systemd[1]: sonos-api.service: Unit entered failed state.
Mar 21 18:52:50 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘exit-code’.
Mar 21 18:53:00 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:53:00 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:53:00 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:53:00 raspberrypi systemd[1149]: sonos-api.service: Failed at step EXEC spawning /usr/bin/npm: No such file or directory
Mar 21 18:53:00 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:53:00 raspberrypi systemd[1]: sonos-api.service: Unit entered failed state.
Mar 21 18:53:00 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘exit-code’.
Mar 21 18:53:10 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:53:10 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:53:10 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:53:10 raspberrypi systemd[1151]: sonos-api.service: Failed at step EXEC spawning /usr/bin/npm: No such file or directory
Mar 21 18:53:10 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:53:10 raspberrypi systemd[1]: sonos-api.service: Unit entered failed state.
Mar 21 18:53:10 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘exit-code’.
Mar 21 18:53:21 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:53:21 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:53:21 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:53:21 raspberrypi systemd[1153]: sonos-api.service: Failed at step EXEC spawning /usr/bin/npm: No such file or directory
Mar 21 18:53:21 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:53:21 raspberrypi systemd[1]: sonos-api.service: Unit entered failed state.
Mar 21 18:53:21 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘exit-code’.
Mar 21 18:53:31 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:53:31 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:53:31 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:53:31 raspberrypi systemd[1155]: sonos-api.service: Failed at step EXEC spawning /usr/bin/npm: No such file or directory
Mar 21 18:53:31 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:53:31 raspberrypi systemd[1]: sonos-api.service: Unit entered failed state.
Mar 21 18:53:31 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘exit-code’.
Mar 21 18:53:41 raspberrypi systemd[1]: sonos-api.service: Service hold-off time over, scheduling restart.
Mar 21 18:53:41 raspberrypi systemd[1]: Stopped sonos api server.
Mar 21 18:53:41 raspberrypi systemd[1]: Started sonos api server.
Mar 21 18:53:41 raspberrypi systemd[1158]: sonos-api.service: Failed at step EXEC spawning /usr/bin/npm: No such file or directory
Mar 21 18:53:41 raspberrypi systemd[1]: sonos-api.service: Main process exited, code=exited, status=203/EXEC
Mar 21 18:53:41 raspberrypi systemd[1]: sonos-api.service: Unit entered failed state.
Mar 21 18:53:41 raspberrypi systemd[1]: sonos-api.service: Failed with result ‘exit-code’.

glaub da passt was nicht.

…ich formatiere nochmal und starte nochmal von Anfang an…

Stopp, konnte ich nachvstellen, da stimmt was nicht mit dem Skript…Wird also nix bringen… Muss da gefixt werden, Stefan weiss schon bescheid. Das Problem existiert auch für homebridge… Kann mit Updates auf den Repos nach dem Release des 3B+ zu tun haben…

Ok, danke für die Info. Gibst du hier kurz Bescheid wenn´s wieder läuft?

…und ich möchte mich herzlich für deinen Einsatz bedanken.

Chris

Hey, falsche Adresse – gib @stfnhmplr mal nen Kaffee aus, der trägt den Grossteil des Aufwandes…

Würdest du es noch mal probieren? Habe zwei Fehler gefunden und bereinigt. Auf einem RPi 2 getestet, der war zwar nicht mehr ganz frisch, müsste aber gehen.

Komme leider erst morgen dazu. Dann probiere ich es aber gleich aus.

gerade getestet - die sonos api laeuft out of the box (gerade mit einem zero w getestet) - die harmony-api bedingt noch mal anpassungen (config file ist fehlerhaft)…

So, auch bei mir laufen die Grundfunktionen jetzt schon mal. Danke nochmal für die Hilfe.

1 „Gefällt mir“

Ich habe anhand der Sonos HTTP API mal einen ersten Demo-Wiki-Artikel zur Installation und Konfiguration geschrieben und auf dem externen Wiki (homeepedia) publiziert:

https://www.homeepedia.de/books/homeean/page/sonos-http-api

Kommentare dazu sind willkommen, die anderen homeean–Pakete werden nach und nach (das kann allerdings etwas dauern) dort ebenfalls auf ähnliche Art beschrieben werden.

7 „Gefällt mir“

Wow, tolle Arbeit. Danke für die Mühe.

1 „Gefällt mir“

Ich habe in der Doku noch etwas interessantes gefunden: Mit der Aktion clip kann man lokale Soundclips abspielen. Die Dateien müssen auf dem Raspberry im Verzeichnis /node-sonos-http-api/static/clips/ liegen und können dann über Webhook abgespielt werden:

Abspielen im Wohnzimmer mit Lautstärke 10%:
http://192.168.1.100:5005/Wohnzimmer/clip/sample_clip.mp3/10

Abspielen auf allen Geräten mit Lautstärke 10%:
http://192.168.1.100:5005/clipall/sample_clip.mp3/10

Ich nutze das im Homeegramm um vor der Sprachausgabe ein Jingle abzuspielen (erhöht die Aufmerksamkeit). Im Homeegramm ist der zweite Webhook dann mit einer Verzögerung von z.B. 4 Sekunden hinterlegt, damit der Jingle zu Ende laufen kann.

6 „Gefällt mir“

Guter Hinweis, ich habe den Hinweis am Ende des Artikels mit Credits und Link hinzugefügt:
https://www.homeepedia.de/books/homeean/page/sonos-http-api

3 „Gefällt mir“

Es geht natürlich auch mit einem Musikstück aus der Bibliothek, aber für kurze Jingles ist der static Ordner eigentlich ideal, dann hat man die Jingles vom Rest der Musik getrennt.
Die Anleitung in homeepedia ist übrigens klasse! Hat mir viel Testen und herumprobieren gespart!

Mal etwas anderes: Hat jemand schon herausgefunden, wie man die zuvor gespielte Musik nach der Sprachausgabe wieder weiterlaufen lassen kann? Die Kommandos pauseall und resumeall funktionieren bei mir irgendwie nicht (getestet mit Radiosender und mit Musik von Amazon Prime Music.

edit: Ich glaube es ist ein bekanntes Problem, dass sich nicht lösen lässt: https://github.com/jishi/node-sonos-http-api/issues/531

Wenn du was findest, lass es mich wissen. Unter Home Assistant kannst Du den letzten State zwischenspeichern und den dann resumen, muss selber mal testen ob und welche Auswirkung das in meinem TV-Setting haben würde…

Also ich kann nur von mir reden.
Wenn ich eine Sprachausgabe sende dann spielt danach die Musik normal weiter. Egal ob Radio oder Stream.

VG

Bei mir funktioniert das auch problemlos.

1 „Gefällt mir“