Sonos Play:1 und FHEM – Sound im ganzen Haus

IM EINSATZ?

Dann schau dir UNSEREN LOXKURS an und profitiere von unserem Wissen!

Multiroom-Audio darf eigentlich in keinem Smart Home fehlen. Leider ist gerade die Nachrüstung schwierig, da benötigte Kabel nachträglich oftmals nur mit großem Aufwand installiert werden können. Sonos bietet mit seinen per WLan angebundenen Lautsprechern eine praktische Alternative, die sich zudem perfekt in FHEM integrieren lässt.

Was die Sonos Play:1-Lautsprecher so alles können und wie man praktische Funktionen über FHEM automatisieren kann, um neben gewöhnlicher Musikwiedergabe bspw. auch Sprachausgabe zu realisieren, ist Inhalt des nachfolgenden Blogposts.

Sonos Play:1 – Ausgepackt und installiert in fünf Minuten

Wer die Sonos Play:1-Lautsprecher, welche in schwarz (Affiliate-Link) und weiss (Affiliate-Link) erhältlich sind, aus ihrer Verpackung wuchtet, wird sicherlich erst einmal über deren hohes Gewicht von knapp zwei Kilo erstaunt sein.

Sonos Play1 Verpackung

Die recht schweren Boxen mit den geringen Abmessungen von 16,2 x 12 x 12 cm machen dabei nicht nur auf den ersten Blick eine gute Figur und einen wertigen Gesamteindruck.

Sonos Play1 schwarz mit Verpackung

Wesentlich wichtiger jedoch als die Optik ist natürlich der Sound der Lautsprecher. Also erst einmal die kostenlose Sonos-App für iOS installieren und die gut bebilderte Ersteinrichtung durchführen, um die Sonos Play:1 in Betrieb zu nehmen.

[app 293523031]

Sonos iPhone-App Ersteinrichtung

Die Sonos-App für Android ist übrigens optisch fast identisch, hatte bei meinen Tests aber anfangs Probleme bei der Einrichtung.

Nach der Registrierung (E-Mail-Adresse wird benötigt) wird dann noch ein Firmware-Update durchgeführt, sodass nach spätestens fünf Minuten alles korrekt eingerichtet und betriebsbereit ist.

Sonos Firmware-Update

Die Einrichtung wird dann für jeden weiteren Lautsprecher wiederholt, wobei sich die notwendigen Schritte drastisch reduzieren, da die Grundeinstellungen (Account, WLan-Settings) dann automatisch übernommen werden. Wer mehr als einen Lautsprecher pro Raum installieren möchte, kann über die App Stereo-Paare erzeugen, sodass immer zwei Lautsprecher als Team agieren.

Wird dann die Lautstärke an einem der verbundenen Lautsprecher geändert, zieht der zweite Lautsprecher automatisch nach. Im Bad reicht locker eine Box, das Schlafzimmer verträgt aber auch zwei Lautsprecher.

Sonos Play1 weiss

Sind alle zu installierenden Lautsprecher an Ort und Stelle platziert, lässt sich über die Sonos-App direkt lokal vorgehaltene Musik oder auch ein Internetradio starten. Der Stream spielt dann praktischerweise einfach weiter, sollte die App geschlossen werden. Auch lassen sich Gruppen bilden, sodass die selbe Musikquelle synchron bspw. im Bad und Schlafzimmer wiedergegeben wird. Eine Funktion, die man mit gewöhnlichem UPnP gewöhnlich nicht hinbekommt und quasi ein Alleinstellungsmerkmal von Sonos ist (wobei Apples AirPlay auch perfekt funktioniert, gerade was die synchrone Wiedergabe betrifft).

Sonos iPhone-App Internetradio

Wer bereits etwas über die gute Klangqualität der Sonos Play:1 gelesen hat (Quelle: audio.de), wird sicherlich mit einer gewissen Erwartungshaltung den ersten Stream starten und die Ohren genau spitzen. Mit großer Wahrscheinlichkeit wird man dann eine Überraschung erleben, im positiven Sinne. Denn was Sonos aus den kleinen Play:1-Würfeln zaubert, ist schlicht grandios.

Neben glasklaren Höhen mischen sich satte Bässe, die man bei einer solch geringen Baugröße kaum erwarten würde. Auch bei hohen Lautstärken gibt es kein Zeichen von Übersteuern, Krachen, Klirren oder unangenehmen Frequenzverschiebungen. Alles natürlich nur subjektiv, wobei bei solchen Dingen bin ich grundsätzlich recht anspruchsvoll.

Aber auch bei geringer Lautstärke machen die Zweiwege-Monitore eine gute Figur, wobei – wie bei fast allen Aktivlautsprechern – ein leiser hochfrequenter Piepton wahrnehmbar ist, sobald man seine Ohren direkt vor die im Standby befindlichen Lautsprecher parkt. Das ist wirklich nicht störend, sollte bei dieser Preisklasse meiner Meinung nach dennoch nicht vorkommen.

Alleine aufgrund der einfachen Einrichtung und des hohen Spaßfaktors erfüllen die Sonos Play:1 (Affiliate-Link) eigentlich bereits alle Anforderungen an ein gelungenes Multiroom-System, wäre da nicht noch die umfangreiche FHEM-Integration, die den Spaßfaktor noch maßgeblich erhöht.

Notwendig ist dafür lediglich ein FHEM-Server, der, wie im Artikel FHEM-Server auf dem Raspberry Pi in einer Stunde einrichten beschrieben, mit überschaubarem Aufwand eingerichtet werden kann.

Integration von Sonos in FHEM

Wie im FHEM-Wiki nachzulesen, müssen für den Betrieb der Sonos-Lautsprecher auf dem FHEM-Server erst einmal einige Softwarekomponenten nachinstalliert werden. Also erst einmal per Terminal auf dem FHEM-Server (hier ein Raspberry Pi 2 (Affiliate-Link)) einloggen (Standardpasswort lautet “raspberry”):

ssh pi@192.168.3.97

und die notwendigen Befehle absetzen:

sudo apt-get update && sudo apt-get -y install libwww-perl libsoap-lite-perl libxml-parser-lite-perl

Jetzt fehlt nur noch der passende Eintrag in der fhem.cfg, um das Sonos-Modul zu aktivieren:

define Sonos SONOS localhost:4711 30 1 5

Und das war es auch schon.

Update vom 05.01.2016: Wer die Fehlermeldung “Cannot load module SONOS” erhält, muss noch ein fehlendes Perlmodul nachinstallieren. Unter wheezy ist das der Befehl:

sudo cpan SOAP::Lite

Nach der Eingabe kann es etwas dauern, also nur die Ruhe bewahren und abwarten. Im Anschluss dann den obigen “define Sonos…” Befehl erneut in FHEM ausführen. Die Meldung “Cannot load module SONOS” sollte jetzt nicht mehr auftauchen.

Innerhalb ein bis zwei Minuten sollten alle im Netzwerk verfügbaren Sonos-Lautsprecher im Raum “Sonos” auftauchen. Der Status des SONOS-Moduls wechselt dabei vom Status “disconnected” nach einiger Zeit automatisch auf “opened”.

FHEM Sonos Integration

Jetzt noch ein Klick auf “Save config” und die neu eingerichteten Geräte bleiben permanent auch nach dem nächsten Neustart gespeichert.

Ab sofort lassen sich auch bereits erste Steuerbefehle absetzen und bspw. die Lautstärke verändern oder die Wiedergabe starten bzw. stoppen, was später noch relevant sein wird.

Weiterhin lassen sich über einen Klick auf das Sonos-Device dessen Readings anzeigen. Hier reichen die verfügbaren Informationen vom aktuellen Status (transportState) über aktuelle Einstellungen für Balance und Bass bis hin zur URL des aktuellen Radiosenders (currentTrackURI).

FHEM Sonos Readings

Auch werden im “Event Monitor” die Benutzerinteraktionen beim Druck auf eine der drei Tasten der Sonos Play:1 ohne Zeitverzögerung angezeigt, welche für erweiterte Schaltvorgänge genutzt werden können.

FHEM Eventmonitor Sonos

Automatische Musikwiedergabe bei Anwesenheit

Die Sonos-Lautsprecher lassen sich bereits standardmäßig recht einfach per Sonos-App, FHEM-Interface und durch die integrierten Tasten auf deren Oberseite bedienen.

Sonos Play1 Tasten

Durch FHEM lassen sich aber auch weitere nette Spielereien realisieren, sodass bspw. der Sonos Play:1 (Affiliate-Link) im Badezimmer automatisch mit dem gewünschten Webradio-Stream startet, sobald über einen Präsenzmelder Bewegung erkannt wird.

Genutzt wird in diesem Fall ein bereits in FHEM angelernter HomeMatic Funk-Bewegungsmelder (Affiliate-Link), der bei einer erkannten Bewegung den Status “motion” übermittelt.

Als erstes sorgt ein notify dafür, dass bei Bewegung (motion) des Bewegungsmelders (BZ.Bewegungsmelder) der Internetradiostream von SWR3 mit einer Lautstärke von 10 gestartet wird, sofern aktuell noch keine Wiedergabe aktiv ist.

#Bei Bewegung -> Webradiostream starten
define BZBewegungsmelderWebradioStart notify BZ.Bewegungsmelder:motion {fhem ("set Sonos_Bad PlayURI http://swr-mp3-m-swr3.akacast.akamaistream.net/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3 10;; setstate BZBewegungsmelderWebradioStop defined") if (ReadingsVal("Sonos_Bad", "transportState", "0") eq "STOPPED")}

Damit die Wiedergabe automatisch wieder stoppt, sobald für zwei Minuten keine Bewegung mehr registriert wird, kommt der Watchdog namens BZBewegungsmelderWebradioStop ins Spiel, dessen Funktionsweise bereits im Artikel FHEM: Watchdog zur Automatisierung einsetzen beschrieben wurde:

#Nach 2 Minuten ohne Bewegung -> Webradiostream stoppen
define BZBewegungsmelderWebradioStop watchdog BZ.Bewegungsmelder:motion 00:02:00 SAME set Sonos_Bad Stop;; setstate BZBewegungsmelderWebradioStop defined

Sprachausgabe über Sonos-Lautsprecher

Bisher hatte ich, wie im Artikel “Willkommen Zuhause!” – Sprachausgabe in FHEM realisieren beschrieben, einen HomeMatic Funk-Gong (Affiliate-Link) im Einsatz, welcher für die Sprachausgabe eingesetzt wurde. Diese Lösung wird mit den Sonos jedoch obsolet, da bequem Befehle bzw. Statushinweise über die Sonos Play:1 wiedergegeben werden können.

Damit das funktioniert, muss auf dem FHEM-Server eine Samba-Freigabe einreichtet werden. Dazu wieder ins Terminal und nachfolgende Befehle ausführen.

Erst einmal werden die notwendigen Pakete installiert:

sudo apt-get update && sudo apt-get -y install samba samba-common-bin

Danach wird ein neuer Freigabeordner erstellt:

sudo mkdir -p /opt/fhem/SonosSpeak

Und die notwendige Berechtigung gegeben:

sudo chmod 777 /opt/fhem/SonosSpeak

Anschließend wird die Konfigurationsdatei geöffnet:

sudo nano /etc/samba/smb.conf

und die bestehenden Einträge am Ende der Datei ergänzt mit:

[SonosSpeak]
 read only = false
 path = /opt/fhem/SonosSpeak
 guest ok = yes

Gespeichert wird die Datei anschließend mit der Tastenkombination “Strg + o” und geschlossen mit der “Strg + x”.

Zum Schluss wird der Samba-Server noch neugestartet:

sudo /etc/init.d/samba restart

In der fhem.cfg müssen dann noch einige Parameter für das Sonos-Modul hinzugefügt werden, damit die mp3-Dateien, welche bei einer Sprachansage erzeugt (targetSpeakDir) und dann vom Sonos-Lautsprecher gelesen (targetSpeakURL) werden können:

attr Sonos targetSpeakDir /opt/fhem/SonosSpeak
attr Sonos targetSpeakURL \\192.168.3.97\SonosSpeak
attr Sonos targetSpeakFileTimestamp
attr Sonos targetSpeakMP3FileDir /opt/fhem/SonosSpeak

Dabei muss jeder die IP (hier: 192.168.3.97) mit der eigenen IP des FHEM-Servers ersetzen.

Weitere Details zur Einrichtung sind im FHEM-Wiki zu finden.

Hinweis: Eventuell fehlen jetzt noch benötigte Schreibrechte für FHEM. Ein Update folgt in Kürze, sobald ich das nochmal durchtesten konnte.

Ist die Samba-Freigabe eingerichtet, kann die Sprachausgabe dann als Hinweisgeber genutzt werden, sobald bspw. das Programm der Waschmaschine fertig ist. Mehr Details dazu im Artikel HomeMatic Funk-Steckdose mit Leistungsmessung: Deine Waschmaschine ist fertig.

Hier wird ein einfacher notify-Befehl genutzt, der auslöst, sobald “HR.WaschmaschineBetrieb” auf “standby” schaltet.

#Sprachausgabe -> Waschmaschine ist fertig
define WaschmaschineIstFertig notify HR.WaschmaschineBetrieb:standby set Sonos_Bad Speak 20 de Waschmaschine ist fertig

Daneben kann die Sprachausgabe bspw. als Hinweis genutzt werden, sofern die Wohnungstür bereits mehr als fünf Minuten offen steht. Hier wird wieder ein Watchdog genutzt, um den Statuswert des optischen HomeMatic Fensterkontakts (Affiliate-Link) auszuwerten.

#Sprachausgabe -> Wohnungstür bereits 5 Minuten geöffnet
define WohnungstuerGeoeffnet watchdog FL.Wohnungstuer:open 00:05:00 FL.Wohnungstuer:closed set Sonos_Bad Speak 20 de Wohnungstür bereits 5 Minuten geöffnet;; setstate WohnungstuerGeoeffnet defined
setstate WohnungstuerGeoeffnet defined

Mit Sonos-Tasten das Licht dimmen

Testweise im Einsatz habe ich auch eine nette Funktion, um bei geringer werdender Lautstärke  das Licht automatisch zu dimmen, sofern dieses bereits eingeschaltet ist. Sobald im Schlafzimmer über die leicht zugängliche Leise-Taste des Sonos Play:1 die Lautstärke heruntergeregelt wird, kann so auch das Licht gedimmt werden.

Dazu nutze ich einen Loxone RGBW Dimmer Air, grundsätzlich lässt sich das aber natürlich auch der HomeMatic Dimmaktor (Affiliate-Link) oder jeder andere dimmbare (LED-)Lampe verwenden, die an FHEM angebunden ist.

#Gemütliches Licht bei geringer Lautstärke
define SZGemuetlichesLicht notify Sonos_Schlafzimmer:.*Lautstärke.* {fhem ("set SZ.Bodenlampe 20") if (ReadingsVal("Sonos_Bad", "volume", "0") < 5 && ReadingsVal ("SZ.Bodenlampe", "state", "0") ne "off")}

Wie bereits eingangs erwähnt, lässt sich mit den Sonos noch viel mehr anstellen und wer sich mit der Thematik näher auseinandersetzen möchte, sollte das gut dokumentierte commandref im FHEM-Wiki studieren.

Aus meinem täglichen Leben

Lange Jahre konnte ich dem Sonos-System nicht viel abgewinnen. Bis auf einen stylischen Look hatten sie aus meiner Sicht nicht wirklich viel zu bieten. Das lag vorallem auch daran, dass früher noch zwangsweise eine teure Sonos-Bridge benötigt wurde, um die funkbasierten Lautsprecher überhaupt per WLan anbinden zu können. Außerdem gab es teilweise Probleme mit dem WLan-Reconnect nach Stromausfällen.

Diese Einschränkungen gehören dank der Weiterentwicklung des Sonos-Systems jedoch glücklicherweise der Vergangenheit an und die Sonos Play:1 (Affiliate-Link) haben nun neben den anderen Sonos-Play-Produkten (Affiliate-Link) das Potenzial als fester Bestandteil einer Multiroom-Audio-Lösung zum Einsatz zu kommen. Über den Preis lässt sich natürlich immer streiten, keine Frage, die Sound- und vorallem aber auch die Verarbeitungsqualität sucht man in dieser Klasse jedoch bei anderen Anbietern vergebens.

Sonos Play1 schwarz weiss

Die Integration mit FHEM eröffnet neben dem “normalen Musikhören” eine ganze Reihe weiterer Spielereien und Interaktionsmöglichkeiten mit anderen Gerätschaften, die ich ebenfalls nicht mehr missen möchte. Egal ob man die Tasten der Sonos-Lautsprecher selbst als Trigger für Aktionen an die in FHEM angebundenen Geräte nutzen oder Sprachbefehle auf den Sonos-Lautsprechern aus FHEM heraus abspielen möchte, die möglichen Anwendungsfälle sind im Grunde nur durch die eigene Kreativität begrenzt.

Und wer nicht glauben kann, dass die Sonos wirklich so verdammt gut klingen, sollte es einmal darauf ankommen lassen und einen Selbsttest wagen.

101 Kommentare
  1. Die Sonosboxen habe ich in jeden Raum stehen. Zugegeben ist es ein sehr teurer Spaß aber mit der Zeit ist auch die kritische “bessere Hälfte” von dem System überzeugt.
    Im Bad habe ich einen Homematic Funktaster montiert, der über Longpress zwei Sender abspielen kann oder beendet und über short das Licht an und ausschaltet.

  2. Hallo Jörg,
    interessanter Beitrag, die Sonos Produkte habe ich mittlerweile überall im Haus und bin davon sehr begeistert. Playbar und der Sub sind auch wirklich eine Wucht. Über die Fhem Integration werde ich mal nachdenken.
    Gruß Tom

  3. Habe mir vor der Preiserhöhung auch noch eine zusätzliche Box gekauft.
    Der Klang ist – besonders nach dem letzten Update – auch für klassische Musik ganz passabel, aber im Mono-Betrieb auch nicht viel besser als ein Envaya Mini.

    Der große Nachteil bleibt der Standbyverbrauch, der mit 8W für ein Paar einfach zu hoch ist (20€/Jahr).
    Vermutlich wird deshalb auch irgendwann eine Funksteckdose vorgeschaltet.

  4. Hallo Jörg,

    vielen Dank für den tollen Beitrag! 🙂
    Ich stand selber schon oft kurz vor dem Kauf eines Play1 habe aber dann immer wieder wg. des Preises gezögert. Vorallem die Integration/Steuerung mit fhem wäre für mich sehr wichtig und eine nette Spielerei 😉
    Ich habe eine GooglePlayMusic-Abo und soweit ich weiß kann man dieses auch mit den Sonos-Geräten nutzen. Interessant wäre jetzt noch, ob das ganze auch ohne App/Handy funktioniert? Sprich ich starte einmal eine Playlist von PlayMusic und kann dann künftig ohne Smartphone durch diese Playlist schalten und pausieren wie ich will. Weiß jemand ob das geht? Wichtig wäre mir hier auch, dass ich z.B. morgens im Bad über fhem zu einer bestimmten Uhrzeit automatisch diese GooglePlayMusic-Playlist starten kann?!

    Schönen Abend und Gruß

    Hermann

  5. Hallo Jörg,

    wenn ich “define Sonos SONOS localhost:4711 30 1 5” eingebe, erhalte ich die Meldung: “Cannot load module SONOS”.
    Wo kann der Fehler liegen. Habe zuvor ein Update von FHEM durchgeführt.
    Gruß Martin

    1. Hallo Martin,
      Hallo Jörg,

      habe dasselbe Problem nachdem ich die angegebenen Befehle per Cut and Paste ausgeführt habe.

      Gruß,
      Thorsten

  6. Toller Beitrag!
    Hab selber 2 Play:5 im Stereo am Fernseher hängen und sobald das Haus fertig ist werden weitere folgen.
    Kann man das mit Loxone auch alles realisieren oder sollte ich fhem verwenden?
    LG

    1. Hi Herbert,
      habe eben mal die Loxone-Integration getestet. Diese beschränkt sich momentan auf insgesamt einfache 19 Steuerbefehle, mit denen man aus Loxone heraus die Sonos-Lautsprecher ansteuern kann, also Play, Pause, Vol Up, Vol Down, etc.
      Rückmeldungen wie bei FHEM sind nicht umgesetzt. Ich werde deshalb wohl die Sonos weiterhin über FHEM anbinden und dann FHEM als Gateway für die Visualisierung in Loxone (derzeitig mein führendes System) nutzen, so wie ich es bspw. auch bereits mit meinen HomeMatic-Geräten, der VU+ oder dem Pioneer-AV-Receiver im Wohnzimmer mache.

      Grüße
      Jörg

    2. Wobei ich gerade merke, dass die Loxone-Steuerbefehle gar nicht funktionieren. Die richtige IP-Adresse ist angegeben. Komisch…

    3. Wenn ich richtig recherchiert habe, dann funktioniert das auch offiziell nicht mehr. Das liegt wohl an einer Mischung aus: “Sonos will das eigentlich nicht” und “Wir haben unser eigenes Multiroom System”. Gibt aber im Forum ein How-to. Scheint auch mit der Rückmeldung dann zu klappen. Ich würde das alles schon gern selber testen…
      Gibts eigentlich einen (technischen) Grund warum du FHEM nicht in einer VM am QNAP laufen lässt? Schon mal probiert?

    4. Ah ok,
      wenn das auch ein Gefrickle ist, nutze ich wohl erstmal weiterhin die Sonos-FHEM-Integration und die Anbindung zwischen FHEM und Loxone per UDP/HTTP als “Umweg”. Echt schade, dass Loxone solche Themen immer stiefmütterlicher behandelt. Einerseits verständlich, da sie damit ja direkt keine Kohle machen, andererseits aber aus Kundensicht wirklich ärgerlich und langfristig bestimmt auch für die Verbreitung von Loxone alles andere als förderlich. Habe den “neuen” Loxone Musicserver übrigens auch parallel im Einsatz. Dieser ist für den Preis aber zumindest mit der aktuellen Beta-Version nicht wirklich brauchbar. Hoffe das ändert sich bald. Dann werde ich auch mal darüber bloggen.
      Mein produktiver FHEM-Server läuft per VM auf einem QNAP 670 Ultra, klar. Ich nutze aber noch einige RPI1/2 für verschiedene Testzwecke und als Gateway für meine Arduino-Projekte.

      Grüße
      Jörg

  7. Hallo,

    ich habe den Play1 letzten Dezember eingerichtet. War echt die Höhle. Das Modul war so instabil, dass man vor fast jeder Aktion FEHM neustarten musste. Ich nutze den Play1 im Schlafzimmer als teuren Radiowecker. Ich stelle die Weckzeit für Morgens ein und neben dem ganzen Heizungs- und Lichtgeraffel wird dann auch gleich das morgendliche Radioprogramm gestartet. Da Sonos kein richtiges standby hat und dadurch ständig ordentlich Strom schluckt, hängt der Play1 an einer schaltbaren Steckdose. Wenn die dann ausgeschaltet wird, hat das Sonos-Modul in FHEM Probleme mit der Verbindung wenn die Steckdose wieder eingeschaltet wird (Hat sich vielleicht auch zwischenzeitlich geändert). Deshalb mache dafür nach wie vor einen Neustart von FHEM. Ansonsten läuft das Modul mittlerweile recht stabil.
    Am meisten Aufwand hatte ich für das abendliche Hörbuchhören zum Einschlafen. Leider speichert Sonos nicht die Position im Titel und würde immer wieder von vorn anfangen. Ich habe im FHEM einen Dummy mit dem Link für das aktuelle Hörbuch (liegt auf einem USB-Stick an der Fritzbox), einen Dummy für die aktuelle Hörbuch-Position und einen Dummy für die gewünschte Spielzeit. Beim Betätigen des “Gute Nacht”-Wandschalters wird dann das Hörbuch an der letzten Position neu gestartet und die aktuelle Position alle 2 Minuten ausgelesen und gespeichert (Das Auslesen funktioniert nicht immer mit einem Aufruf). Nach erreichen der eingestellten Spielzeit wird dann das Hörbuch gestoppt und die Steckdose ausgeschaltet. Der erfreuliche Nebeneffekt dabei ist, dass das Schlafzimmer nachts wirklich Dunkel ist, weil keine Status-LED mehr leuchtet.

    mfg
    Tom

    1. Hi Tom,
      klingt ja spannend, was du schon alles realisiert hast. Werde wohl auch Zwischenstecker nutzen, um den Standbyverbrauch von knapp 3 Watt pro Lautsprecher zu mininieren, sofern niemand Zuhause ist. Die Status-LED lässt sich übrigens ganz einfach permanent ausschalten, sogar über die Original Sonos-App. Könnte man ja über FHEM grundsätzlich sogar als Hinweisgeber für eingehende Emails oder whatever nutzen…

      Grüße
      Jörg

    2. Hallo Jörg,

      3 Watt wären ja nicht so dramatisch. ich habe gelesen, dass es 27 Watt sein soll.
      Die Aussage bzgl. der LEDs bezog sich darauf, dass man nicht mehr die “Beleuchtung” durch den Radiowecker hat. Es gibt ja scheinbar keinen der Nachts wirklich dunkel ist.

      mfg
      Tom

  8. Hallo Jörg,

    Vielen Dank für diesen Beitrag.

    Ich bin sehr daran interessiert mein Sonos-System in FHEM zu integrieren und habe gleich damit begonnen.
    Nach dem Absetzen der Befehle

    „sudo apt-get …….libxml-parser-lite-perl“

    bekomme ich als letzte Zeile im Terminal den Hinweis:

    E: Unable to locate package libxml-parser-lite-perl.

    Habe die Befehle mehrmals eingegeben, da ich einen Tippfehler vermutete.

    Was ist falsch gelaufen?

    Ich habe auch eine Frage zum Localhost. Wo finde ich die genaue Ziffernfolge? Kann es sein, dass die bei mir „8083“ lauten?

    Gruß Manfred

    1. Hi Manfred,
      benutzt du einen Raspberry Pi oder ein anderes System? Ich werde das Ganze am Wochenende noch einmal auf einem komplett frisch installierten Raspberry Pi testen, da ich aktuell auch noch Probleme mit der Sprachwiedergabe habe. Vielleicht stoße ich in diesem Zusammenhang auch gleich noch auf dein Problem und finde eine Lösung.

      Den Befehl mit localhost einfach so lassen und am besten nicht anpassen.

      Grüße
      Jörg

  9. Hallo Hermann,
    ich nutze mehrere Play:1, auch mit fhem. GooglePlay funktioniert gut, es gibt auch einen Wecker direkt in der Sonos-Steuerung, so dass morgens im Bad die Playlist automatisch startet und auch wieder aufhört. Es gibt auch noch eine Windows-Anwendung, wenn man kein Smartphone hat. Starten und Stoppen einer Playlist geht auch direkt mit der Taste am Lautsprecher, aber für komplexere Dinge, wie etwa das Konfigurieren von Wiedergabegruppen, braucht man natürlich schon eine richtige Bedienoberfläche.

    1. Hallo,

      perfekt, vielen Dank für die Antwort.
      …dann würden meine Vorstellungen ja genau erfüllt 😉

      Gruß

  10. Hi Jörg 🙂
    habe das gleiche Problem wie Manfred:
    E: Unable to locate package libxml-parser-lite-perl.
    das definieren in FHEM geht demnach auch nicht:
    “Cannot load module SONOS”

    vll entdeckst du ja was

    Gruß Jörg

    1. Hi Jörg,
      Nach Eingabe des Befehls ” sudo alt-get -y install libxml-parser-lite-tree-perl” läuft alles ohne Fehlermeldung ab. Die Eingabe von “define Sonos SONOS localhost: 4711 30 1 5 ergibt “cannot load module Sonos”.

      Brauche also noch weitere Unterstützung.
      Gruß Manfred

    2. Hallo, bei mir klappte es leider auch mit diesem Befehl nicht.
      Folgendes brachte bei mir den gewünschten Erfolg:

      1 First download SOAP-Lite Package from http://search.cpan.org/~phred/SOAP-Lite-0.716/
      2 Extract the package and remove the folder called “t”.
      3 perl Makefile.PL
      4 make
      5 make test
      6 sudo make install

      schöne Grüße
      Christoph

  11. Zeig doch mal eine Einbindung in smartvisu. Und vielleicht ein paar interessante “Szenarien”, so wie sie hier auch in den Kommentaren beschrieben werden.

    1. Hi Michael,
      SmartVISU ist eher Christophs Baustelle, ich hab mich damit noch nicht auseinandergesetzt. Die Kommentare liefern echt schon coole Anregungen, danke dafür!
      Werde mal sehen, dass ich die Szenarien bei Gelegenheit erweitere. Hab da selbst aktuell jedoch auch noch nicht viel umgesetzt.

      Grüße
      Jörg

  12. Hallo Jörg,
    sehr interressanter Beitrag. Ich verfolge ja immer deine Beiträge rund um FHEM und freue mich dass du nun 2 Tage nachdem ich mein Sonos eingerichtet habe, auch eine Tutorial veröffentlich hast. 😀 Aber ich konnte die Sprachausgabe nur einmal nutzen. Seitdem bekomme ich unter der URL welche das Modul aufruft, ein Captcha von google angezeigt mit dem Hinweis dass automatisierte Anfragen eines Roboters laut deren Nutzungsbedingungen nicht erlaubt sind.
    Könntest du daher vielleicht noch das Tutorial um eine Integration eines Offline-TTS Services erweitern?
    Vielen Dank und mach weiter so! 🙂
    Thomas

    1. Hallo Jörg,
      ich habe jetzt mal espeak zum Laufen gebracht. Aber gegenüber der Google-Stimme klingt das ja furchtbar. Hättest du sonst noch eine Idee was man machen könnte? Loquendo wäre super. Aber ich konnte noch nicht herausfinden was das kosten soll.

    2. Hi Thomas,
      sorry, deine Kommentare sind bei mir ganz untergegangen. Sprachausgabe seht bei mir noch auf der ToDo-Liste, aktuell habe ich aber auch noch keine brauchbare Lösung. Ich nutze derzeit einfach vorgefertigte mp3-Files, wie im Artikel “Willkommen Zuhause!” – Sprachausgabe in FHEM realisieren beschrieben. Das ist aber recht unflexibel und auch keine dauerhafte Lösung. Wenn ich etwas Neues weiss, gebe ich Bescheid.

      Grüße
      Jörg

  13. Hi,
    wegen der Probleme mit der Sprachausgabe ..
    Habe derweil gelesen, dass diese von Google durch Captchas blockiert würde. Ob das so stimmt, weiß ich nicht, bekomme es aber selbst auch nicht ans laufen.

    LG

  14. Hallo,

    auch bekomme die Fehlermeldung “Cannot load module SONOS”. ICh bin auch genau nach der WiKi-Anleitung für SONOS vorgegangen und habe auch die Softwarevoraussetzungen mit den Perl Modulen beachtet. Totzdem lässt sich das Modul SONOS auf meinem Pi nicht starten.
    Woran kann es noch liegen.

    LG Ralph

  15. Hallo Jörg,

    danke für deinen Beitrag.
    Was mich wundert ist, dass du folgendes schreibst:

    “…
    sudo mkdir -p /opt/fhem/SonosSpeak
    ….

    2
    3
    4
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.3.97\SonosSpeak
    attr Sonos targetSpeakFileTimestamp
    attr Sonos targetSpeakMP3FileDir /mnt/SonosSpeak
    …“

    warum einmal das Verzeichnis /opt/fhem/SonosSpeak
    und dann attr Sonos targetSpeakDir /mnt/SonosSpeak
    hat das einen Grund.

    Danke

    1. Hi Herby,
      du hast Recht. Hatte das Verzeichnis geändert und dann nicht durchgängig angepasst. Der Blogpost wurde soeben geupdated. Danke für den Hinweis!

      Grüße
      Jörg

  16. Hallo Jörg,
    ich bekomme leider folgende Meldung:
    “Unable to locate package libxml-parser-lite-perl”

    des weiteren bekomme ich auch die meldung “Cannot load module SONOS” ich vermute das diese im Zusammenhang stehen.

    eine Idee was ich falsch mache?

    Grüße und Dank
    Marcel

    1. Jep, das Problem ist bekannt. Mit Ubuntu funktioniert es einwandfrei, mit dem RPi und Wheezy-Image klappt es jedoch nicht. Ich hatte leider noch keine Zeit das Problem anzugehen. Sobald ich eine Lösung habe, werde ich es hier kommunizieren.

      Grüße
      Jörg

    2. So,
      mit dem Befehl

      sudo apt-get update && sudo apt-get -y install libwww-perl libsoap-lite-perl libxml-parser-lite-perl

      sollte es auch auf dem RPi mit Wheezy-Image klappen, auch wenn eines der Pakete nicht gefunden werden kann (ist etwas doppeltgemoppelt, aber dann funktioniert der Befehl aber wenigstens unter Ubuntu und Wheezy).

      Nach dem Installieren am besten noch ein

      sudo reboot

      hinterherschieben, damit die Kiste noch einen Neustart macht. Dann sollte der Fehler in FHEM auch weg sein. Mein RPi1 scheint von der Perfomance aber insgesamt etwas überfordert zu sein. Da laufen aber viele Sachen parallel. Mit dem RPi2 gibt es bisher keine Probleme.

      Grüße
      Jörg

  17. Hi Jörg,
    ich habe auch weiterhin die Meldung “Cannot load module SONOS”.
    in der FHEM log steht nach dem fehlgeschlagenen define folgendes:

    2015.08.10 22:08:47 1: reload: Error:Modul 00_SONOS deactivated:
    Can’t locate SOAP/Lite.pm in @INC (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at FHEM/lib/UPnP/Common.pm line 85.
    BEGIN failed–compilation aborted at FHEM/lib/UPnP/Common.pm line 85.
    Compilation failed in require at FHEM/lib/UPnP/ControlPoint.pm line 14.
    BEGIN failed–compilation aborted at FHEM/lib/UPnP/ControlPoint.pm line 14.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 165.
    BEGIN failed–compilation aborted at ./FHEM/00_SONOS.pm line 165.

    2015.08.10 22:08:47 0: Can’t locate SOAP/Lite.pm in @INC (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at FHEM/lib/UPnP/Common.pm line 85.
    BEGIN failed–compilation aborted at FHEM/lib/UPnP/Common.pm line 85.
    Compilation failed in require at FHEM/lib/UPnP/ControlPoint.pm line 14.
    BEGIN failed–compilation aborted at FHEM/lib/UPnP/ControlPoint.pm line 14.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 165.
    BEGIN failed–compilation aborted at ./FHEM/00_SONOS.pm line 165.

    Fehlt FHEM hier noch etwas oder ist meine SD Karte des Raspi mal wieder durcheinander ?:-(

  18. Hi Jörg,

    nach einem update kommt nach der Eingabe von

    „define Sonos SONOS localhost:4711 30 1 5 “

    die Meldung

    „Cannot load module SONOS“

    nicht mehr. Die im Netzwerk verfügbaren Sonos-Lautsprecher erscheinen aber nicht. Unter Sonos STATE erscheint zuerst „waiting for subprocesses“ und später „disconnected“. Hier die Einträge in der Logfile:

    2015.08.12 18:09:23 1: SONOS0: Kein UPnP-Server gefunden… Starte selber einen und warte 1 Sekunde(n) darauf…
    2015.08.12 18:09:24 3: Opening Sonos device localhost:4711
    2015.08.12 18:09:27 3: Can’t connect to localhost:4711: Connection timed out

    Was ist falsch gelaufen oder versäumt worden?

    Gruß Manfred

    1. Puh,
      das kann verschiedene Gründe haben.
      Vielleicht einfach statt “localhost” die IP des FHEM-Servers direkt eingeben.

      Wenn das nicht hilft wieder zurücksetzen auf localhost und diese Schritte probieren:
      1. Im Router nachsehen, ob WLAN-Geräte im Netzwerk miteinander reden dürfen. In der Fritzbox (Ansicht: Erweitert) geht das bspw. unter -> http://fritz.box -> “WLAN” -> “Sicherheit” -> “Die unten angezeigten aktiven WLAN-Geräte dürfen untereinander kommunizieren” -> Haken setzen.
      2. Sonos-Lautsprecher vom Strom trennen und erneut einstecken
      3. FHEM-Server neustarten

      Hoffe damit kommst du zum Ziel!

      Grüße
      Jörg

  19. Hallo Allerseits,

    ich habe im Moment 4 SONOS Play 1 in Betrieb und auch schon einige Durchsagen eingerichtet, welche jedoch einzeln an die Räume übermittelt werden mit z.b: “set Sonos_Wohnzimmer Speak 30 de Wäsche ist fertig”. Will ich die Ansage in einem zweiten Raum haben, füge ich einen zweiten Befehl mit einem anderen Raum an, was aber zu einer verzögerten Ausgabe in dem zweiten Raum führt. Bei 4 Räumen entsteht so eine Art Echo weil die Durchsagen zu verschiedenen Zeiten durchs Haus hallen.
    Kann man z.b. vor der Ausgabe die Räume gruppieren und nach der Ausgabe wieder in den Ursprungszustand versetzen? Damit die Ausgabe synchron im ganzen Haus zu hören ist? Habe leider bisher keine Beispiele dazu gefunden.

    Grüße aus Zirndorf

    GrayDeath

  20. Hallo Gray,
    Schau mal ins Wiki da steht:
    “GruppenbefehleGroups : Setzt die aktuelle Gruppierungskonfiguration der Sonos-Systemlandschaft. Das Format ist jenes, welches auch von dem Get-BefehlGroups geliefert wird.”

    Unter Set Befehle
    Vielleicht hilft das

  21. Hallo Jörg,

    stehe ganz am Anfang mit dem Thema Smarthome und bin im Rahmen der Suche nach Informationen über Dein Thema Sonos über FHEM steuern gestoßen.

    Aktuell läuft FHEM auf einem Raspberry Pi und schalte damit einige Steckdosen.

    Nachdem ich mir auch vor kurzem meine 1. Sonos Komponenten (Connect und Play1) zugelegt habe hat das Thema natürlich sofort umgesetzt werden müssen.

    Gem. Deiner tollen Anleitung ist Sonos jetzt auch in FHEM eingebunden. Was mir jetzt noch fehlt ist eine Möglichkeit den Player so per FHEM anzusteuern, dass er nach einer Stromunterbrechung (abschalten unter dem Motto Energiesparen) beim Einschalten wieder automatisch meinen Lieblingsradiosender abspielt. Perfekt wäre dann noch, wenn 2 Play zu einer Gruppe geschaltet werden könnten. Aktuell mache ich dies über die Sonos-App.

    Ich könnte mir denken, dass dies auch für andere Anwender von Interesse ist!

    Vorab vielen Dank!

    Jürgen

  22. Hallo,

    wer wie ich Probleme mit dem Schreibzugriff auf den erstellten SonosSpeak Ordner hatte, wodurch außer einer Fehlermeldung keine Sprachnachricht ausgelöst wird, muss sudo chmod 777 /opt/fhem/SonosSpeak per SSH eingeben.
    Dann bekommt man die Schreibrechte und die Sprachausgabe funktioniert einwandfrei und klingt auch sehr natürlich.

    Gruß

    Stephan

    1. Hi Namensvetter,

      DAS war die Lösung – nun höre auch ich die wirklich natürliche Sprachausgabe. Schöne Sache.

      Frage hier an die Experten: wie löse ich das, wenn ich die Sprachausgabe regelmäßig wiederholen will, bis ein bestimmtes Ereignis eintritt (sagen wir: die Waschmaschine ist fertig, aber sie ist noch auf “an” geschaltet und verbraucht dadurch etwas Strom, und erst wenn sie komplett ausgeschaltet ist, soll die Sprachausgabe nicht mehr wiederholt werden).

      VG Stephan

  23. Hallo Jörg,
    super Beitrag mal wieder, Gratulation.
    Habe mich natürlich gleich daran gemacht, das “nachzubauen”.

    Würde mir noch wünschen, dass der SONOS nur zwischen 5 und 23 Uhr auf den Bewegungsmelder reagiert und ansonsten nicht angeschaltet wird (wenn man nachts mal ins Bad muss 😉 ). Leider habe ich das bisher nicht hinbekommen.
    Hast Du hier einen Tip für mich?

    Gruß
    Andreas

    1. Hi Andreas,

      kannst Du nicht einfach die IF-Bedingung am Ende erweitern, etwa so:

      if (ReadingsVal(“Sonos_Bad”, “transportState”, “0”) eq “STOPPED”) && ($hms ge ’05:00:00′) && ($hms le ’23:00:00′)

      Grüße

      Peter

  24. Bei mir funktioniert die Einbindung. Allerdings die Sprachausgabe nicht. Es kommt u.a. folgender Fehler:
    Loading device description failed with error: 500 Can’t connect to 192.168.178.24:1400 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1

    Jemand eine Idee?

  25. Ich hatte ein ähnliches Problem. Habe fhem geupdatet. Jetzt funktioniert es. Bei mir kommt allerdings ein anderer Fehler: “FHEMWEB SSL/HTTPS error:” Der Sonos Player stoppt, aber die Sprachausgabe erfolgt nicht. Liegt das vielleicht daran, dass mein FHEM und raspberry über https erreichbar ist? Wer kann mir insoweit helfen?

    1. Keiner eine Idee? Ich habe ja stark die Vermutung, dass mein Eintrag in der fhem.cfg:
      “attr Sonos targetSpeakURL \\https://192.168.178.33:8083/fhem\SonosSpeak” falsch ist. Allerdings habe ich es auch mit :
      “attr Sonos targetSpeakURL \\192.168.178.33:8083/fhem\SonosSpeak” und “attr Sonos targetSpeakURL \\192.168.178.33\SonosSpeak” ausprobiert. Ohne Erfolg…

  26. Hallo zusammen, wollte heute auf meinem Raspi2 (debian) das Sonos Modul im FHEM laden, leider bekomme ich trotz aller Paketnachinstallationen die Fehlermeldung
    “configfile: Cannot load module SONOS”

    Gibt es da noch weitere Ideen woran es liegen könnte?

    1. Hi Christian,

      mal 2 Schüsse ins Blaue:

      1. Wenn Du die Pakete über apt-get installiert hast, dann versuch’s mal über cpan. Hast Du sie über cpan installiert, dann versuch’s mal über apt-get.
      2. Mal einen sudo reboot versucht?

      Ich hoffe, es war was Hilfreiches dabei.

      Grüße

      Peter

    2. Kurzes Update von mir, da ich gerade auch Probleme hatte das SONOS-Modul auf einem neuinstallierten RPI2 mit wheezy zum Laufen zu bringen (“Cannot load module SONOS”). Der Befehl “sudo cpan SOAP::Lite” (ohne Anführungszeichen) konnte das Problem schließlich lösen. Habe die Info im Blogpost als Update vermerkt.

      Grüße
      Jörg

  27. Hallo Jörg,

    wie immer ein klasse Artikel. Glückwunsch!

    Ein sehr merkwürdiges Problem habe ich allerdings: Obwohl ich /opt/fhem/SonosSpeak als Pfad eingegeben habe, landet die fertige mp3-Datei nicht in diesem Verzeichnis, sondern im “FHEM-Stammverzeichnis” /opt/fhem. Hier die Logfile-Einträge:

    2015.09.22 20:06:00 3: SONOS4: Load Google generated MP3 (1. Element) from “http://translate.google.com/translate_tts?tl=de&client=t&prev=input&q=%20Das%20ist%20eine%20Testnachricht” to “./RINCON_5CAAFD22CABA01400_MR_Speak.mp31”
    2015.09.22 20:06:00 3: SONOS4: Combine loaded chunks into “./RINCON_5CAAFD22CABA01400_MR_Speak.mp3”
    2015.09.22 20:06:00 3: SONOS4: Start temporary playing of “/RINCON_5CAAFD22CABA01400_MR_Speak.mp3”

    Von diesem Pfad aus kann Sonos die Datei natürlich nicht abspielen. Die Samba-Freigabe bezieht sich ja auf /opt/fhem/SonosSpeak nicht /opt/fhem.

    Jemand eine Idee, wo das Problem liegen könnte?

    Grüße

    Peter

    1. ein kleiner Nachtrag:

      Ich habe ein wenig gegoogelt und selbst eine Lösung gefunden. Geholfen hat mir der Bericht eines Users, der das Pfad-Attribut gar nicht gesetzt hat und bei dem die mp3-Datei auch in /opt/fhem landet. Es war offenbar ein Berechtigungsproblem. Mit

      sudo chown -c user:user /opt/fhem/SonosSpeak

      funtioniert es, wobei user mein User-Name ist.

      Vielleicht hilft das ja jemandem weiter.

      Grüße

      Peter

    2. Danke Peter für den Hinweis. ich hatte das gleiche Problem und mit diesem Hinweis lösen können – Berechtigung von root auf fhemuser & Pfadattribut entfernt – nun läufts auch bei mir.

  28. Hallo Jörg,

    kurze Frage bevor ich jetzt mit der Sonos/Fhem/Loxone Multiroom Geschichte anfange – Lassen sich auch vom Fhem auch kostenpflichtige Streamingdienste wie Spotify ansteuern?

    Grüße
    Andreas

  29. Hallo Jörg, ich habe eine Frage, die ich weder aus der sonos-Seite noch irgendwie im Internet beantwortet finde. Ich habe den connect an meinen Verstärker analog angeschlossen plus eine play:1 lautsprecher der in einem anderen Raum steht. Man sagt mir, dass ich so aus quellen meines verstärkers, z.b. cD, plattenspieler, etc. Auch diesen lautsprecher anspielen kann, sodass in beiden Räumen dieselbe Musik, z.b. Eine CD meiner Anlagr läuft. Meiner Meinung nach habe ich den connect richtig an dir anlagr angeschlossen. Internetradio aus dem wlan über connect läuft auf play1 und anlage. Gut. Aber ich bekomme krine Musik aus der Anlage auf den Play1. Habe die cinchkabel auf meinen tape2-anschluss im verstärker (in beide richtungen) angeschlossen. Was mache ich da falsch?

  30. Hallo Jörg,

    schöner Beitrag.
    Mein Problem: Radiostopp bringt Fehlermeldung “Wrong timespec, must be HH:MM[:SS] ”

    Ich benutze HM-Sen-MDIR.

    Woran kann es liegen?

  31. Hi Jörg,

    mein letztes Hilfeersuchen ist vom 12. August 2015. Deine Vorschläge vom 13. August halfen leider nicht weiter. Daraufhin habe ich „Sonos über FHEM steuern“ aufgegeben. Deine Blogpost „Pimp my Keller mit HM und Sonos“ von gestern veranlasste einen neuen Versuch und ich führte den Befehl „sudo cpan SOAP::Lite“ aus, mit abschließendem „reboot“.
    Nach der Eingabe von „define Sonos SONOS localhost:4711 30 1 5“ wurde auch nach längerem Warten und auch nach Wiederholungen der Eingabe keiner der Sonos-Lautsprechen in FHEM eingetragen. Was läuft falsch?

    1. Hi Manfred,
      ich hoffe, dass ich dir irgendwie weiterhelfen kann.

      Welches System nutzt du aktuell?
      Welchen Status hat das Sonos-Device in FHEM?
      Was steht “Ungewöhnliches” im FHEM-Log bzw. welche Fehlermeldungen werden angezeigt?

      Grüße
      Jörg

  32. Hi Jörg,

    ich benutze Rasberry mit CUL, angeschlossen an eine Fritzbox 7490 und ein mehrteiliges Sonos-System (einschließlich Playbar und SUB). Über FHEM steuere ich bisher 4 FS20-Schalter. Der letzte Versuch Sonos einzubinden führte zu folgendem Eintrag in der Logfile:

    2016.01.13 08:56:59 1: SONOS0: Kein UPnP-Server gefunden… Starte selber einen und warte 1 Sekunde(n) darauf…
    2016.01.13 08:57:00 3: Opening Sonos device localhost:4711
    2016.01.13 08:57:00 3: Can’t connect to localhost:4711: Network is unreachable

    Vorher erschien im WEB-Interface nach Eingabe von „define Sonos SONOS Localhost:4711 30 1 5“:

    CFGSN
    DEF
    localhost: 4711 30 1 5

    DELAYTIME 5
    DeviceName localhost:4711
    INTERVAL 30
    NAME Sonos
    NR 945
    STATE waiting for subprocess…
    TYPE SONOS
    WAITTIME 1

    Der Status „waiting for subprocess..“ hält sehr sehr lange an und ändert sich erst nach einem Klick auf z. B. „Everything“ in „disconnected“.

    Bei Eingabe der IP anstatt localhost erscheint:

    2016.01.13 15:28:40 1: SONOS0: Kein UPnP-Server gefunden… Starte selber einen und warte 1 Sekunde(n) darauf…
    2016.01.13 15:28:41 3: Opening Sonos device 192.168.178.42:4711
    2016.01.13 15:28:44 3: Can’t connect to 192.168.178.42:4711: Connection timed out

    Stehe für weitere Auskünfte gerne zur Verfügung.

    Gruß Manfred

    1. Hi Manfred,
      da muss ich leider passen. Hatte das Problem selbst noch nicht. Würde dir empfehlen direkt mal im FHEM-Forum im Sonos-Thread nachzuhaken. Das Einlesen ist zwar manchmal etwas zeitaufwändig, die Community hilft aber in der Regel bei Fragen zeitnah weiter.

      Viele Grüße und Erfolg bei der Umsetzung
      Jörg

  33. Stichwort: internationale Sprachausgabe
    Stichwort: Verzeichnis SonosSpeak läuft voll …

    Meine Frazu spricht fließend Schwedisch, und das brachte mich auf die Idee, “Waschmaschine fertig” – vgl. auch den Blogpost HomeMatic Funk-Steckdose mit Leistungsmessung: Deine Waschmaschine ist fertig – in mehr als nur einer Sprache auszugeben. Geht einwandfrei, z.B. auch in Arabisch.

    Wer das ausprobieren möchte: die Liste der Sprachkürzel findet sich hier.

    Schwedisch hört man beispielsweise so:

    set Sonos_Kueche Speak 40 se tvättmaskin är redo

    Problem: Intensivnutzer sollten wissen, dass jeder Sprachbefehl als MP3-Datei im Verzeichnis /opt/fhem/SonosSpeak abgelegt wird. Die Namensvergabe sieht dabei etwa so aus: RINCON_5CAAFD482ED601400_MR_Speak_20160114-113703.MP3.

    Ein Satz wie der obige erzeugt eine etwa 22 kB große MP3-Datei, belegen aber 1 MB auf dem Volume. Man kann sich also ausrechnen, dass der Speicher (bei mir eine 8 GB-Karte mit 4,4 GB freiem Platz) irgendwann volllaufen wird. Hinzu kommt, dass jede Sprachausgabe, auch wenn sie im Skript nur 1x steht, jedesmal neu angelegt wird.

    Hat jemand dafür eine elegante Lösung? Z.B. automatisches Löschen dieser MP3-Files nach x Tagen?

    VG Stephan

  34. Hallo,

    ich habe erfolgreich mit Hilfe dieses Artikels mehrere Sonos Play 1 ins Fhem System integriert. Gibt es eine Möglichkeit der Sonos Box einen Pfad zu einem Album, welches auf einem USB Stick an der Fritzbox liegt, mitzuteilen, sodass alle Titel in dem Pfad abgespielt werden. Bekomme es leider aktuell nur soweit, dass immer nur der erste Titel abgespielt wird und danach stoppt es leider.

    Vielen Dank im Voraus für eure Hilfe

    Gruß Micha

  35. Hi Jörg,
    nochmal Bezug auf Deine Antwort vom 13 JAN 16. Ich habe die Speicherkarte neu formatiert und eine Neuinstallation vorgenommen. Nach dem Definieren von Sonos im WEB-Interface erscheinen jetzt alle Sonos-Geräte und es lassen sich die Steuerbefehle wie Lautstärke und An/Aus absetzen.
    Ein Auswählen von Radiosendern und von Musikdateien vom NAS-Server klappt aber nicht. In der FHEM-App auf dem iPad erscheinen auch alle Geräte, lassen sich aber nicht steuern.
    Aber ich bin schon einen erheblichen Schritt weiter und werde Deine Informationen weiter verfolgen.
    Gruß Manfred

    1. Hi Manfred,
      das freut mich sehr!
      Mit der Anbindung der Sonos in Richtung NAS habe ich aber bisher leider keine Erfahrung, sorry. Hoffe du kommst irgendwie weiter!

    2. Hi Manfred,

      meine Musik liegt auf einer Synology NAS. Ich binde sie derzeit indirekt via Sonos Playlisten an FHEM an, das funktioniert gut. Radiosender habe ich über die Favoriten angebunden z.B. SWR3 hören: “set StartFavourite SWR3%20Elchradio%2099.6%20(Pop)”. Als nächstes plane ich eine Dropdownbox (setList Attribut mit ‘state’ in Verbindung mit dem Attribut ‘webCmd state’), die ich mit Radiosendern und Playlisten füllen werde. Ich würde dabei gerne per Auswahl aus der Dropdown-Liste zwischen den Sendern und Playlisten hin- und herschalten.

      Das Konzept habe ich prinzipiell schon getestet, es geht gut und ist irgendwie lässig, so langsam aber sicher die Steuerung weg von der drögen Sonos-Software weg auf FHEM zu verlagern. Ist halt Bastelei … 😉

      VG Stephan

    3. Hallo Manfred,

      ich habe nun umgesetzt, was ich mir vorgenommen habe:

      über den dummy “Musikauswahlschalter” mit den attr setList state: … sowie attr webCmd state wähle ich aus, was ich hören will. Derzeit wird diese Vorauswahl auf der fhem-Oberfläche über eine Dropbox ermöglicht und über einen Bewegungsmelder aktiviert. Denkbar ist aber auch eine Steuerung über einen Schalter. Von Homematik gibt es einen 6-fach Schalter, der sich dafür ganz gut eignet: http://www.amazon.de/HomeMatic-130113-Funk-Wandtaster-6-fach-warmwei%C3%9F/dp/B00CHI8VB8

      Beim Zugriff auf meine NAS verwende ich statt der Sonos-eigenen Musikbibliothek Subsonic: http://www.subsonic.org (Ich war die Diskussion leid, dass das Sonos-eigene Limit von 64k (max. Anzahl Tracks) seit Jahren zur Verärgerung der Nutzergemeinde führt). Im Ergebnis habe ich mit Subsonic und der dadurch bereit gestellten Streamingquelle Zugriff auf jeden einzelnen Song meiner auf der NAS liegenden Musiksammlung, die zugegebener Maßen recht groß ist und die Sonos-eigenen Möglichkeiten sprengt.

      Da sich Subsonic genauso wie die standardmäßig in Sonos bereit gestellte Musikbibliothek verhält, kann ich einzelne Songs, Alben und Playlisten entweder über als Sonos-Playliste oder als Sonos-Favourite bereit stellen.
      Die Zugriffe aus fhem lauten dann analog: set LoadPlaylist oder set StartFavourite . LoadPlaylist verwende ich deshalb, weil ich dann noch zusätzlich vor dem Abspielen weitere Steuerbefehle absetzen kann, z.B. set Track Random, Shuffle 1, Repeat 1 oder Volume 20. Erst danach folgt set Play. Bei einem Radiosender brauche ich das nicht, daher wird der gleich abgespielt und die Lautstärke ggf. nachgeregelt.

      Sehr cool und sehr dynamisch ist: LoadSearchlist -> der liefert eine dynamische “Playliste” anhand der angegebenen Kriterien wie z.B. Genre oder Composers, aber auch Filterergebnisse: …liefere alle Songs, in denen das Wort “Sahne” vorkommt … (hab’s noch nicht ausprobiert, kommt sicher aber noch).

      Zur weiteren Beschäftigung lohnt: http://www.fhemwiki.de/wiki/SONOS

      Viel Spaß!

      Es gibt wohl auch noch die Möglichkeit, direkt ohne den “Umweg” über Sonos Playlisten oder Favouriten direkt auf die NAS zuzugrifen, aber

  36. Hallo Jörg,

    klasse Artikel. Was ich bei Sonos noch vermisse, dass man am Play 1 per Knopfdruck zum nächsten Lied einer Playlist springen kann, z. B. durch eine Tastenkombination oder Tastenabfolge.

    Wie lässt sich das denn realisieren?

  37. Hi Stephan,

    ich danke Dir für Deine Hinweise vom 4. und 7. Februar. Leider komme ich damit nicht weiter, weil mir wohl noch Kenntnisse fehlen. Obwohl schon 73, bin noch blutiger Anfänger hinsichtlich FHEM. Meine bisherigen Erfolge hinsichtlich der Einbindung von FS20, FritzDect und jetzt Sonos konnten nur durch Eintippen von Befehlszeilen aus Vorlagen von meintechblog.de erreicht werden. Um Radiosender über Favouriten einzubinden, gab ich die Zeile „set StartFavourite …“ ins Kommandofeld ein und erhielt die Meldung „Please define StartFavourite first“. Würde gerne weiter basteln, weiß aber nicht wie.

    Gruß Manfred

  38. Hi ,

    #Bei Bewegung -> Webradiostream starten …
    das habe ich so umgesetzt .. leider startet das Radio immer ca. erst 15 Sek später.. Was habe ich falsch gemacht … oder ist der Bewegungsmelder so träge (Also die minInterval habe ich auf 15 stehen) ist das der Grund .. aber kann ja auch nicht sein .. gibt ja Lichtlösungen per Bewegungsmelder .. und da müste das Licht ja direkt angehen …
    Danke für eine Info

  39. Hi,
    bei der Installation von sudo cpan SOAP::Lite wurde mir noch angeboten “XML pretty Splitter” und einiges mehr zu installieren. Habe leider alles bejaht. Meine Frage: Ist das Alles notwendig oder kann dieses XML nachträglich deinstalliert werden??? Welchen Nutzen soll XML haben ?????

    Danke 🙂

  40. Hallo, ich wollte gerade meine Sonos einbinden. Ich nutze einen NUC mit Ubuntu.

    Nachdem ich übers Terminal “sudo cpan SOAP::Lite” installieren will kommt folgendes:

    ************* WARNING *************
    Enter `q’ to stop search
    Please tell me where I can find your apache src
    [../apache_x.x/src] ../apache_x.x/src
    Can’t stat `../apache_x.x/src’

    hat jemand nen plan und kann mir vielleicht helfen? 🙂

    Gruß
    Flo

  41. Hallo,
    Erst mal vielen Dank für die super Blogs. Echt klasse Arbeit!

    Ich hab jedoch leider trotzdem ein Problem…. vermutlich mit irgendwelchen Rechten.

    Mein Fhem läuft auf einem NUC mit Ubuntu.

    Nach dem einbinden kommt folgender Fehler im logfile:

    Insecure dependency in require while running setuid at ./FHEM/00_SONOS.pm line 179.
    BEGIN failed–compilation aborted at ./FHEM/00_SONOS.pm line 179.

    Vielleicht kann mir jemand weiter helfen?

    Gruß
    Niko

  42. Hey,
    ich habe mir zuerst ein normales Internetradio zugelegt und bin dann auf die Sonos anlangen gestoßen und auch wenn die wirklich teuer sind, sie sind der Wahnsinn! Ich bin ein totaler Fan von diesen Dingern, das ganze Haus damit verkabelt zu haben finde ich ist eine Klasse Sache! Wer bereit dafür ist, dass nötige Kleingeld zu opfern wird ein riesen Spaß daran haben.
    LG

  43. Hallo,
    habe mein Glück schon im fhem-Forum versicht, bekomme abr keine Antwort.
    Ich möchte gerne die ‘bookmark’-Funktion des sonos-Moduls verwenden
    Nach Eingabe von
    define sonosbookmarker sonos type
    attr sonosbookmarker bookmarkTitleDefinition:Kurt:all
    attr sonosbookmarks bookmarkSaveDir:/opt/fhem/sonosbookmarks
    save
    sehe ich im logfile den Fehler ‘Datei oder Verzeichnis nicht gefunden’.
    Der Benutzer pi hat auf dem angegebenen Verzeichnis Schreibrechte.
    Jemand eine Idee, wie das Problem gelöst werden kann?
    Danke und Gruß,
    Kurt

  44. Hi
    Nachdem mich Google mit dem 403 genervt hat:
    attr Sonos SpeakGoogleURL https://api.voicerss.org/?key=xxxxxxxx&c=MP3&f=48khz_16bit_stereohl=%1$s&src=%2$s
    Den key bekommt man nach freier Registrierung.
    Sonos: Das Format (Parameter f) angeben, denn sonst mag Sonos die Wiedergabe nicht.
    Und die Sprache ist bespielsweise de-de:
    set Sonos_Wohnzimmer_TV Speak 25 de-de Einen guten Morgen!

  45. Bei mir ging es so wie beschrieben leider nicht ohne Weiteres. Die mp3 wurde zwar angelegt, aber in der Sonos App kam eine Fehlermeldung, dass nicht auf die SMB Freigabe zugegriffen werden kann.

    Mit folgender Ergänzung in der [global] der smb.conf habe ich das Problem gelöst:

    map to guest = Bad User
    guest account = nobody

    Ich hoffe, das hilft dem Ein oder Anderen, so wie mir dieser geniale Blog schon häufig geholfen hat.

    Mike

  46. Ich bekomme die Sprachausgabe auf meinem Pi3 um Verrecken nicht hin.
    Schreib-, Lese-, User- und Gruppenrechte (fhem/dialout) vergeben, aber die Sprache bleibt stumm. mp3-Files werden angelegt und im Sonos-Objekt wird die Ausgabe auch angezeigt. Keine Fehlermeldung, sondern einfach nur Stille. Hab alles entwendet was hier an Hinweise gepostet wurde. Habt Ihr noch eine Idee?

  47. Ich möchte beim betätigen des Up-Button meiner Sonos S1 eine Funktion starten, wenn die Sonos nicht läuft.
    Habe gelesen, dass man das mit dem Attribute buttonEvents (1:UU) lösen kann,
    bringe es aber nicht zum laufen.
    Kann mir bitte jemand eine Tipp geben.
    Danke
    Josef

  48. Hallo Jörg,

    schöner Beitrag, eine Frage hätte ich….in FHEM UI hast du auf der rechten Seite des Players drei Slider für Volume, einmal für die einzelnen Räume und der Gruppe.

    Wie sieht der Code den dafür im UI aus, bin schon lange auf der Suche danach.

    Gruß

    Sandro

  49. Hi, ich habe es heute eingerichtet und es Funktioniert.
    Allerdings musste ich in der SONOS Software unter Einstellungen –> Musikbibliothek –> Ordner –> den Ordner mit dem Passwort vom PI einspeichern, da ich sonnst keine Zugriffsrechte hinbekommen habe.

    Würde mich freuen wenn du dies in der Beschreibung mit als Hinweis einpflegen könntest. Danke 🙂

  50. Mit dieser Anleitung und den Posts konnte ich die Sprachausgabe auch in meinem System einrichten. Vielen DANK!

    Hätte jetzt aber den Wunsch einige Sprachausgaben gleichzeitig auf mehrere Sonos ONE Lautsprecher auszugeben (z.B. beim Hinweis der Fertigen Waschmaschine ist ja nicht klar wo sich die Person befindet. So sollte der Hinweis auf alle Lautsprecher in der Wohnung ausgestrahlt werden)

    Versuchte schon in Sonos-App Gruppen zu erstellen um diese dann anzusprechen, aber so scheint dies nicht zu gehen.

    Hat jemand hier bereits eine Lösung? (ausser den Befehl nacheinander auf alle Boxen auszusenden – was dann nicht gleichzeitig passiert)

  51. Hi,
    informativ wie immer, und aktueller denn je durch die neuen IKEA Symfonisk Boxen auch in einer anderen Preisklasse realisierbar.
    Danke

  52. Hallo Jörg,
    super Arbeit. Vielen Dank.
    Eine Frage hätte ich. Wie kann ich die Rampe in Sekunden für das starten wie auch das stoppen der Musik einschalten. Fade IN/Out?
    Es gibt ja die Möglichkeit von “Volume [RampType]” komme aber nicht ganz klar damit.
    Vielen Dank
    Heinz

  53. Tut mir leid, ich stehe wirklich ganz am Anfang und stelle mich offenbar besonders dumm an. Vielleicht findet sich jemand, der mir mit einfachen Worten auf Pferd helfen kann:
    Sonos ist in Fhem eingerichtet. Sprachnachrichten sind möglich. Ich schaffe es aber nicht, Favouriten und Sender einzurichten, geschweige denn auszuwählen. Wie bitte und wo geht das?
    Herzlichen Dank im Voraus!

    1. .. es gibt ein paar grundsätzliche Fragen im Zusammenhang mit Sonos und FHEM 6.1:

      die Sonos-Kommandos… funktionieren die noch?

      Bei mir erscheint die Fehlermeldung “SONOS: Set with unknown argument StartFavourite, choose one of DisableBookmark,EnableBookmark,Groups,LoadBookmarks,Mute,MuteOff,MuteOn,Pause,PauseAll,RefreshShareIndex,RescanNetwork,SaveBookmarks,Stop,StopAll”

      Sieht irgendwie nicht so aus.
      mfg
      sh

Schreibe einen Kommentar zu Thomas Lange Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte dir auch gefallen