Alexa Wecker direkt in FHEM übernehmen

Lichtwecker 2.0 - Alexa Wecker direkt in übernehmen

Vielleicht habt ihr bereits den Artikels mit meinem ersten Versuch zur Integration des Alexa Weckers in FHEM gelesen. Damals habe ich die übernahme der Weckzeit über den Dienst IFTTT ausprobiert. Das funktioniert meisten auch ganz gut, das  Problem ist aber dass erst dann ein Event generiert wird, wenn der Wecker losgeht. Außerdem muss FHEM für den Dienst IFTTT nach außen geöffnet werden. Ich habe diese Lösung verlassen da es jetzt endlich ein Modul zu direkten Steuerung der Amazon Echo Geräte durch FHEM gibt. Das Modul könnt ihr hier finden: Forum-Link. Die Installation ist ganz einfach und im Forum beschrieben. Das Modul soll bald regulär per Update verteilt werden sodass du das Modul demnächst vielleicht sogar schon hast. In folgendem Artikel erfährst du wie ich damit das Wecker-Modul (alarmclock) steuere.

Definition des alarmclock Wecker Devices in FHEM

In FHEM gibt es grundsätzlich mehrere Möglichkeiten eine Wecker-Device zu erzeugen. Es geht über das Residents Modul, aber es gibt auch ein eigenes Wecker-Modul das ich dir hier näher beschreibe. Manche gehen auch einen ganz eigenen Weg und machen alles mit DOIFs und notifys. Ich habe alles ausprobiert und bin letztendlich beim alarmclock Modul geblieben da es für mich alle Wünsche erfüllt.

Mit

legen wir das Weckergeräte an.Mit dem Attribut PreAlarmRoutine gebt ihr die Befehle an, die x Sekunden vor dem eigentlichen Alarm ausgeführt werden sollen. Das eignet sich wunderbar für einen Lichtwecker oder für Radiomusik die in der Lautstarke langsam ansteigt bis zum eigentlichen Weckton. Mit dem Attribut PreAlarmTimeInSec legt ihr den Wert X in Sekunden fest, wann vor dem eigentlichen Alarm mit dieser PreAlarm-Routine begonnnen werden soll. Bei mir 900 Sekunden, also 15 min vorher. Bei der PreAlarmRoutine gibst du die transitiontime des Lichtweckers der Hue-Geräte in Zehntel Sekunden an, also hier 9000. Dabei dimmt mein Hue-Licht langsam von schwachem rot bis zu kräftigen weiss hoch.

Natürlich möchten ich dass das Licht ausgeschalten wird wenn ich aufgestanden bin. Mit dem Attribut AlarmRoutineOff stellt man genau das ein

Hier wird ein at erzeugt, mit dem nach 10 Minuten die Lichter ausgeschalten werden. Die 10 Minuten beginnen erst wenn ich „Alexa Wecker Aus“ gesagt habe. Mehr dazu später.

Selbstverständlich soll unser Wecker auf Snooze können, oder wie man zu Alexa sagen muss: „Alexa, schlummern“. Dafür musst du dem Wecker-Modul noch sagen was im Falle von „Schlummern“ geschehen soll.

Das Licht geht aus und fängt dann von neuem an langsam hochzudimmen. Hier ist aber eine andere Zeit gewählt da die Snooze Zeit bei Alexa 9 Minuten beträgt.

Amazon Echo Gerät in FHEM

Wenn du das oben verlinkte modul 37_echodevice bereits installiert und eingerichtet hast müsstest du in FHEM bereits automatisch deine Alexa Geräte angezeigt bekommen. Stellst du mit deinem Amazon Gerät einen Wecker erscheint dir ein entsprechendes Reading für die Zeit (alarm_01_originalTime ) und den Status des Weckers (alarm_01_status). Da das Reading alarm_01_status nur angezeigt wird wenn der Wecker aktiv ist und schlummert, aber sofort veschwindet sobald der Wecker aus ist kann man nicht direkt darauf triggern. Die Lösung: ein userReading für den Status und für die Weckzeit, da die Weckzeit mit 09:00:00.000 ein paar Nullen zu viel für unser Wecker-Device hat.

Falls der Befehl nicht direkt funktioniert so kannst du das userReading auch manuell hinzufügen (siehe auf folgendem Bild)

erzeugt zwei neue Readings, nämlich Wecker_aktiv und Weckzeit. Zunächst sagen wir jetzt unserem Wecker-Device jetzt dass das Reading Wecker_aktiv den Status für Alarm-Aus und Snooze enthält

Jetzt erstellen wir uns ein DOIF um den Wecker-Status vom Echo Gerät in das Wecker Device zu übernehmen. Ist der Alexa-Wecker aus wird der FHEM-Wecker deaktiviert.

Ein notify hilft uns noch die Weckzeit vom Alexa-Wecker an den FHEM-Wecker zu übertragen.

Hierbei wird für jeden Wochentag (Montag – Sonntag) der Wecker auf die in Alexa hinterlegte Zeit gestellt. Das ist derzeit die einzige Möglichkeit die mir eingefallen ist, da das Alexa-Modul noch nicht den Wochentag ausspuckt an dem der Wecker triggert. Sollte sich das ändern werde ich natürlich nachreichen 🙂 Ich handhabe es bei mir ohnehin so dass ich mir jeden Tag vor dem Schlafengehen einen neuen Wecker für den nächsten Tag stelle.

Fazit

Mit dieser Wecker-Lösung bin ich absolut zufrieden. Jeden Tag vor dem Schlafengehen per Sprache einen Wecker zu stellen und dann am nächsten Morgen sanft mit Licht geweckt zu werden bevor der eigentliche Weckton losgeht ist schon eine sehr feine Sache. Und seitdem Alexa nun auch endlich als Radiowecker benutzt werden kann ist das für mich die ideale Lösung. Früher habe ich den Wecker im Handy benutzt – aber da es meiner Meinung nach unmöglich ist den iOS Wecker mit FHEM zu synchronisieren bin ich jetzt komplett auf Alexa umgestiegen. Wie ich gelesen habe funktioniert der Wecker auch ohne Internetverbindung und man ist auf der sicheren Seite. Sollte es in Zukunft endlich ordentliche smarte Kaffeemaschinen geben, so werde ich vielleicht bald schon von frischem Kaffeeduft geweckt wenn ich aufstehe 🙂 

Über den Author

Emanuel

teilt seine Begeisterung im Bereich Technik, DIY und Hausautomatisierung gerne auf seinem Blog coldcorner.de