Mit Sonos Weckern und Openhab eine Kaffemaschine einschalten
Eine der wesentlichen Eigenschaften von den alten manuellen Espresso Maschinen ist die Tatsache, daß sie vor der Benutzung eine gewisse Zeit brauchen um aufzuheizen. Einfach anmachen und Espresso ziehen ist nicht. Es wäre also schön wenn man morgens die Espresso Maschine durch den Wecker gesteuert einschalten könnte. Bisher mache ich dies zu relativ festen Zeiten über eine Rapsberry Pi und eine billige Funksteckdose. Viel schöner wäre es doch wenn wir unseren Wecker des Sonos Gerätes nutzen könnten um dies morgens immer zur richtigen Zeit einzuschalten. Die Zeit die man im Bad verbringt reicht ungefähr um die Espressomaschine aufzuheizen.
Mit Openhab und dem Wecker von Sonos kann man so etwas machen.
Zuerst die Schnittstelle (Binding) von Openhab für Sonos installieren
apt-get install openhab-addon-binding-sonos
Nach dem Neustart kann man im Logfile die IDs der ganzen Sonos Geräte finden
2015-02-28 22:06:58.356 [INFO ] [.service.AbstractActiveService] - HTTP Refresh Service has been started
2015-02-28 22:06:58.445 [INFO ] [o.o.b.h.i.bus.HomematicBinding] -
2015-02-28 22:06:58.448 [INFO ] [.b.h.i.c.HomematicCommunicator] - Starting Homematic communicator
2015-02-28 22:06:58.550 [INFO ] [o.o.b.h.i.c.client.CcuClient ] - Starting CcuClient
2015-02-28 22:06:58.619 [INFO ] [.b.sonos.internal.SonosBinding] - Found a Sonos device (S1) with UDN uuid:RINCON_B8E9...
2015-02-28 22:06:58.679 [INFO ] [b.h.i.communicator.StateHolder] - Loading Homematic datapoints
2015-02-28 22:06:58.724 [INFO ] [.b.sonos.internal.SonosBinding] - Found a Sonos device (Sub) with UDN uuid:RINCON_000..
Die Zahlen die mit uuid:RINCON anfangen brauchen wir gleich. Das sind nämlich die eindeutigen Adressen der Sonos Player.
Zuerst brauchen wir einen “Schalter” der über das Sonos Binding geschaltet wird. Und natürlich den Schalter für die Espressomaschine
vi items/demo.items
Switch Wecker_Eltern (DG_Schlafzimmer) {sonos="[RINCON_000E5835....:alarmrunning]", autoupdate="false"}
Switch Light_GF_Living_Espresso "Espresso" (EG_Kueche) { exec="ON:/opt/caserio/tools/rpi-schalter.sh 1 1 , OFF:/opt/caserio/tools/rpi-schalter.sh 1 0" }
Hier brauchen wir diese ID die mit RINCON…. beginnt.
Und dann die Regel
vi rules/wecker.rules
rule "MorgenWecker"
when
Item Wecker_Eltern changed from false to true
then
sendCommand(Light_GF_Living_Espresso, ON)
end
Wenn man jetzt einen Wecker auf dem Sonos Player einrichtet überwacht Openhab ob dieser Wecker auf “1” steht und wenn ja dann geht der Schalter an.