Wichtigste Funktionen von Sonos über http Befehle steuern


Im Web gibt es veschiedene Anleitungen um mittels http Befehle Sonos Befehle zu senden. Die meisten laufen auf einem php server mit einem script. Ich suche eine (Schritt für Schritt)- Anleitung, welche gut beschrieben ist und funktioniert.
z.B. die Dateien enthält und dazugehörige Befehle wie

http://... für:
-Toggle
-Start
-Stop
-Volume Up
-Volume Down

und ganz toll wäre ein Befehl wo ein spezifischer Radiosender eingestellt werden könnte.
Danke!

22 Antworten

Abzeichen
Das wer ja mal super suche auch sowas schon lange
Benutzerebene 6
viel Spaß beim Durchackern :?
Sonosscripte für die CCU2
Sonos Steuerung über Homematic und alle Einzelschritte
Abzeichen
Auf einem Raspberry kann man sich ein Image von http://www.loxberry.de installieren. Anschließend das Sonos Plugin installieren und loslegen. Ist auch für Laien leicht verständlich und nur zu empfehlen. Eventuell kommt ja auch bald die offizielle API welche für das Frühjahr 2017 versprochen wurde... :P
Andy S. schrieb:

[...] Eventuell kommt ja auch bald die offizielle API welche für das Frühjahr 2017 versprochen wurde... :P


Laut dieser Ankündigung ist / war sie für 2018 vorgesehen:


Ebenfalls in 2018 kommt die Sonos Entwicklerplattform. Wir werden offiziell eine Entwicklerplattform öffnen und APIs an jeden Entwickler liefern, der mit Sonos integrieren möchte. Wir haben auch ein Zertifizierungsprogramm eingeführt damit die qualitativ hochwertigsten Integrationen die Möglichkeit haben das "Works with Sonos" -Abzeichen zu verdienen. Du wirst einige spannende Hausautomationsoptionen dort mit unserem offiziellen Abzeichen sehen, kannst sie als Partner markieren und ihre API-Integration bescheinigen.

Abzeichen
Nicht ganz richtig... :)

https://m.heise.de/newsticker/meldung/Musikverteilsystem-Sonos-Unterstuetzung-fuer-Amazon-Echo-und-offene-API-ab-Fruehjahr-2017-3321766.html

Nun, wenn Heise das so schreibt, wird's schon stimmen. Nach einer Quellenangabe sucht man allerdings vergeblich. ;)
Abzeichen
Klasse Antwort...
Eine sehr einfache Alternative findest du hier: https://github.com/jishi/node-sonos-http-api
Das NodeJs-Script kannst du z.B. auf einem RaspberryPi, auf einem Windows PC oder auch auf einem Mac laufen lassen. NodeJs muss einfach installiert sein.
Benutzerebene 1
Abzeichen +2
mweb84 schrieb:

Eine sehr einfache Alternative findest du hier: https://github.com/jishi/node-sonos-http-api
Das NodeJs-Script kannst du z.B. auf einem RaspberryPi, auf einem Windows PC oder auch auf einem Mac laufen lassen. NodeJs muss einfach installiert sein.



Die nutze ich um die Sonos-Unzulänglichkeiten auszugleichen, z.B. zum Anlegen einer Chronik, Übersetzen von Playlists zwischen AppleMusic, Spotify, ....

Gruss
S4A
Was auch super funktioniert ist das Sonos-Binding von openHAB (https://docs.openhab.org/addons/bindings/sonos/readme.html). openHAB (http://www.openhab.org/) ist eine Homeautomation-Software welche viele Schnittstellen anbietet und mit frei definierbaren Regeln somit eine vielzahl von Funktionen realiseren lässt.

Du kannst dann z.B. automatisch die Musik über den Sonos Lautsprecher im Badezimmer starten, wenn am Morgen der Bewegungsmelder eine Bewegung registriert hat. Wenn es dann draussen noch regnet, lässt du extra fröhliche Musik laufen ;-)
Abzeichen +2
mweb84 schrieb:

Eine sehr einfache Alternative findest du hier: https://github.com/jishi/node-sonos-http-api
Das NodeJs-Script kannst du z.B. auf einem RaspberryPi, auf einem Windows PC oder auch auf einem Mac laufen lassen. NodeJs muss einfach installiert sein.


Habe ich (unabhängig von diesem Thread hier) mal gemacht und mir darauf eine kleine simple Fernbedienung, quasi ein "Mini Controller", gebastelt, mit dem ich die einzelnen Zonen sehe, und, wie bei einer TV Fernbedienung, die Funktionen Start/Stop sowie Senderwechsel für jede Zone im Zugriff habe. Funktioniert einwandfrei. Durch Klick auf das Logo des aktuellen bzw. letzten Titels / Senders einer Zone öffnet sich die Favoritenliste und man kann den Sender wechseln. Das Equalizer Symbol zeigt den Play Status an (playing (animiert) oder stopped). Dort kann man auch drauf klicken und den Player "toggeln", also starten bzw. stoppen.
bitte um kurze info wie man das API auf windoof installiert
bin laie und hab die installationsanweisung nicht gefunden
danke

PS: ich habe den Webserver auf einem Win7 laufen
Abzeichen +2
Die HTTP APIs werden über eine NodeJS Anwendung bereitgestellt - ist also nix, was man einfach mal so wie ein „normales Progrämmchen“ installiert. Gib mir Bescheid, ob Du Dich mit NodeJS ein wenig auskennst, oder jemanden hast, der Dir bei Bedarf ein wenig helfen kann.
Benutzerebene 4
Abzeichen +3
RockingDad schrieb:

Die HTTP APIs werden über eine NodeJS Anwendung bereitgestellt - ist also nix, was man einfach mal so wie ein „normales Progrämmchen“ installiert. Gib mir Bescheid, ob Du Dich mit NodeJS ein wenig auskennst, oder jemanden hast, der Dir bei Bedarf ein wenig helfen kann.



Großes Lob an dich und deine Hilfsbereitschaft. :)
Habe es irgendwie geschfafft das nodejs läuft auf meinem alten virtuellen win7
Ich werde das aber auf einem (firmen)server installieren welcher garantiert immer läuft
Muss ich das in die autostart geben oder als dienst konfigurieren, damit es mit windows startet?
Danke für info.

Noch eine frage
Wie kann man den aktuellen status der player speichern , damit man diesen nach einer durchsage
Zb es klingelt an der tür über alle player , wiederherstellen kann ?

Es wäre natrülich wünschenswert, wenn alle http-befehle auch einfach ohne diese extra software gehen würden
Da sollte sich sonos noch etwas anstrengen , da die Homeautomationen immer umfangreicher werden.
Danke
peterE schrieb:

Habe es irgendwie geschfafft das nodejs läuft auf meinem alten virtuellen win7
Ich werde das aber auf einem (firmen)server installieren welcher garantiert immer läuft
Muss ich das in die autostart geben oder als dienst konfigurieren, damit es mit windows startet?
Danke für info.

Noch eine frage
Wie kann man den aktuellen status der player speichern , damit man diesen nach einer durchsage
Zb es klingelt an der tür über alle player , wiederherstellen kann ?

Es wäre natrülich wünschenswert, wenn alle http-befehle auch einfach ohne diese extra software gehen würden
Da sollte sich sonos noch etwas anstrengen , da die Homeautomationen immer umfangreicher werden.
Danke


Sonos ist ein Musiksystem, keine Hausautomation, da liegt der Schönheitsfehler. :)


Du willst das auf einem Firmenserver installieren? Hast Du keine Sicherheitsbedenken? Leute, auf der einen Seite schreit ihr Zeter und Mordio, weil Sonos kein SMB2 oder höher unterstützt, auf der anderen Seite wird sorglos mit dem Netzwerk herumexperimentiert.
Abzeichen +2
peterE schrieb:

Noch eine frage
Wie kann man den aktuellen status der player speichern , damit man diesen nach einer durchsage
Zb es klingelt an der tür über alle player , wiederherstellen kann ?


Der Status bleibt beim Anhalten der Zone bestehen. Genauer gesagt wird immer der letzte Titel als aktueller Titel gehalten. Ich denke aber nicht, dass bei einem Musikdienst (Streaming oder loakle Medien) die Abspielposition im Titel festgehalten wird (pausieren). Das kannst Du aber selbst leicht herausfinden, in dem Du einen Titel (keinen Radiosender) anhältst und dann wieder abspielst. In den HTTP APIs gibt es auch eine Text-to-Speach (TTS) API mit der Du eine Durchsage in die Zonen machen kannst, Hier wird die Musik kurz gestoppt und nach Ende der Durchsage wieder automatisch fortgesetzt, ohne manuelles Zutun.

peterE schrieb:

Es wäre natrülich wünschenswert, wenn alle http-befehle auch einfach ohne diese extra software gehen würden
Da sollte sich sonos noch etwas anstrengen , da die Homeautomationen immer umfangreicher werden.
Danke


Es gibt eine offizielle Sonos API (https://developer.sonos.com/) Hierbei fungiert die Sonos Cloud als Authentifizierungsdienst, mit der Du Deine Anwendung dann gegen das Sonos System authentifizierst. Diese API hat ein breiteres Spektrum, als nur einen Controller API bereitszustellen. Man kann sich da auch als Service Partner betätigen uvm.
Abzeichen +2
Perpugilliam schrieb:


Sonos ist ein Musiksystem, keine Hausautomation, da liegt der Schönheitsfehler. :)


Das ist eine Frage der Perspektive. Hausautomation heißt für mich, dass man Geräte im Haushalt digital übers Heimnetzwerk steuern kann. Ob das jetzt ein Rollo, ein Kühlschrank, eine Kaffeemaschine, eine Lampe oder eben ein Musikplayer ist, ist dabei völlig nebensächlich. Es gibt diverse Projekte in der Home Automation Community, in denen man sich die Kommunikation zwischen den Sonos Geräten "angehört" (Netzwerk sniffen) und dann mit den Erkenntnissen Integrationsscripte in die Home Automation Controller, z.B. Homematic CCU2, geladen hat (abseits der o.g. Sonos API, die es noch nicht lange gibt).
Abzeichen +2
peterE schrieb:

...Ich werde das aber auf einem (firmen)server installieren welcher garantiert immer läuft
Muss ich das in die autostart geben oder als dienst konfigurieren, damit es mit windows startet?


Perpugilliam schrieb:


Du willst das auf einem Firmenserver installieren? Hast Du keine Sicherheitsbedenken? Leute, auf der einen Seite schreit ihr Zeter und Mordio, weil Sonos kein SMB2 oder höher unterstützt, auf der anderen Seite wird sorglos mit dem Netzwerk herumexperimentiert.


SMB2 ist da jetzt nicht so das Kracherbeispiel. Ich habe da eher mit Alexa Stress.
Mal abgesehen davon, ob die Firma damit einverstanden ist, auf den Servern solche "Spielchen" zu veranstalten, ist die Frage der Unsicherheit jedenfalls nicht an dieser Implementierung festzumachen. Solange die Kommunikation zwischen den Sonos Geräten (man kann übrigens dort sehr viel erfahren) im eigenen Netzwerk bleibt, ist das kein Problem. Kritisch wird es nur, wenn man sich ein VPN Loch in sein Heim Netzwerk schießt, um von außen reinzukommen. Außerdem brauchst Du dann einen VPN Client auf Deinem Firmenrechner, um sich in Dein Heimnetz einzuklinken. ;-( Was sagt denn da Deine Firmen IT?
Ich verstehe eigentlch nicht ganz den "Use Case". Warum sollte die oben erwähnte API Schnittstellensoftware außerhalb des eigenen Heimnetzes auf einem "Firmenserver" liegen? Nur weil Du keine Ressourcen im Heimnetz hast? Schaff Dir 'nen Raspberry Pi an, kostet mit Zubehör keine 80€. Außerdem bist Du ja eh zu Hause, wenn Du die HTTP API benutzen willst, also was soll das auf einem externen Rechner?
Bzgl. Autostart: Du kannst Dir ein Start Stop Script mit dem Node befehl erstellen und das dann in den Autostart Ordner legen.
RockingDad schrieb:

SMB2 ist da jetzt nicht so das Kracherbeispiel. Ich habe da eher mit Alexa Stress.


Alexa ist eine IT Cloud-basierte Anwendung, aber niemand ist gezwungen, die Sprachsteuerung zu autorisieren. Außerdem gibt es nichts, was Amazon durch Alexa erfahren könnte, was sie nicht ohnehin schon durch unser Bestellverhalten wissen.


Ich habe keine Hausautomation, aber ich gehe davon aus, dass alle Anbieter mit Cloudanbindung arbeiten, u.a. weil die Systeme auf aktuellem Stand gehalten werden müssen, um einwandfrei zu funktionieren. Bequemlichkeit hat eben einen Preis, wie alles im Leben.
Abzeichen +2
Perpugilliam schrieb:


Außerdem gibt es nichts, was Amazon durch Alexa erfahren könnte, was sie nicht ohnehin schon durch unser Bestellverhalten wissen.


Ist zwar ein anderes Thema, aber wenn Du schonmal dabei bist: Was andere tun, ist mir egal - oder nicht ganz, wenn es mich betrifft - und ich kann es auch nicht ändern. Jedenfalls nehme ich für mich schon in Anspruch, darüber nachzudenken, was ich im Netz tue oder wovon ich lieber lassen sollte und welche Nutzungstrategien ich im Netz bevorzuge. Ich bin vielleicht mit Gleichgesinnten in der Minderheit, wenn es ums bewußte Nutzen dieser Dienste geht.

Perpugilliam schrieb:


Ich habe keine Hausautomation, aber ich gehe davon aus, dass alle Anbieter mit Cloudanbindung arbeiten, u.a. weil die Systeme auf aktuellem Stand gehalten werden müssen, um einwandfrei zu funktionieren.


Das Ist halt nur (D)eine Annahme mit einer weiteren Mutmaßung in der Begründung. Is' nur leider nicht richtig. Viele = ja, Alle = nein, nur wg. Aktualität = vehementes nein. Lass uns aber diese Diskussion hier nicht weiter führen, okay?
Schönes WE.
RockingDad schrieb:

Ist zwar ein anderes Thema, aber wenn Du schonmal dabei bist: Was andere tun, ist mir egal - oder nicht ganz, wenn es mich betrifft - und ich kann es auch nicht ändern. Jedenfalls nehme ich für mich schon in Anspruch, darüber nachzudenken, was ich im Netz tue oder wovon ich lieber lassen sollte und welche Nutzungstrategien ich im Netz bevorzuge. Ich bin vielleicht mit Gleichgesinnten in der Minderheit, wenn es ums bewußte Nutzen dieser Dienste geht.


Das tun andere auch. Ist halt immer die Frage, wann Vernunft in Verschwörungstheorie kippt.


RockingDad schrieb:

Das Ist halt nur (D)eine Annahme mit einer weiteren Mutmaßung in der Begründung. Is' nur leider nicht richtig. Viele = ja, Alle = nein, nur wg. Aktualität = vehementes nein. Lass uns aber diese Diskussion hier nicht weiter führen, okay?
Schönes WE.


Ich habe schon begriffen, dass sich technisch Versierte mit einem Raspberry o.Ä. in bestimmten Bereichen behelfen können. Jemand der langjährige Erfahrung mit dem Programmieren ausgefeilter Automationstechnik hat, ist natürlich gar nicht auf auswärtige Anbieter angewiesen.


Ich wünsche Dir ebenfalls ein geruhsames Wochenende,
Peri

Cookie-Richtlinen

Wir machen Gebrauch von Cookies um Ihr Erlebnis zu personalisieren und zu optimisieren. Wenn Sie zustimmen, stimmen Sie unseren Bestimmungen bzgl. Cookies zu. Klicken Sie hier um mehr über unsere Cookies zu erfahren.

Akzeptieren Cookie-Einstellungen