Hallo zusammen,
ich habe lange nach einer guten und zuverlässigen Lösung für eine Wecker Integration in iobroker zusammen mit einem Android Handy gesucht und bin nun fündig geworden. Das Ergebnis möchte ich hier mit euch teilen:
Anforderung:
- Mit einer Android Wecker App Wecker stellen
- Uhrzeit und Wecker Status an iobroker übertragen
- Weckerklingeln an iobroker übertragen
- xx Minuten vor dem Klingeln Aktionen auslösen (Rollo langsam hochfahren.. etc.)
- Umgekehrte Richtung möglich, sprich Wecker in iobroker stellen, Handy klingeln lassen
- Integration in Visualisierung (in diesem Fall: Habpanel)
Umgesetzt habe ich das ganze mit der tollen App Alarm Clock MQTT von Joakim Plantin:
https://play.google.com/store/apps/details?id=se.jplantin.jp.alarmclock
Ich habe mit Joakim Kontakt aufgenommen und wir haben in gemeinsamer Arbeit die App soweit optimiert, dass diese ideal mit iobroker zusammen funktioniert.
Die in der App eingestellten Weckzeiten werden an iobroker übertragen. In der Habpanel Vis sieht das dann so aus:
Hier folgt nun die Anleitung wie das ganze eingerichtet werden muss:
-
mqtt broker/Client Adapter installieren und wie folgt einrichten:
-
Die MQTT Android Wecker App installieren und folgende Einstellungen vornehmen:
- Host mit passendem Port eintragen
- Unter Identity den Username eintragen wie in dem mqtt Adapter, sowie Passwort. Außerdem eine Client ID die ihr frei wählen könnt.
- Unter WiFi Settings muss das WLAN eingetragen sein, aus dem ihr den Wecker stellen werdet.
-
Eine Weckzeit einstellen und die MQTT Events verschicken
Nun könnt ihr testhalber einen Wecker in der App einstellen und unter "MQTT Events" die passenden mqtt Nachrichten auswählen welche die App an euren iobroker verschicken soll.
Ich habe dafür bei mir folgende Events konfiguriert:
-
Wenn ihr das so eingerichtet habt und einen Test Alarm speichert und Aktiviert, dann sollten bei euch in iobroker folgende Objekte auftauchen:
-
Diese Werte könnt ihr nun in bei euch in iobroker finden und diese sollten in etwa so aussehen:
-
Zusätzlich zu diesen Objekten solltet ihr als Vorbereitung für das Blockly noch folgende Objekte anlegen:
-
Damit ist alles vorbereitet. Nun könnt ihr das Blockly bauen. Den kompletten Export findet ihr unten im Anhang. Hinweis: Ich habe 2 Wecker gemacht (für mich und meine Freundin).
Hinweis zu Fehlermeldungen: Vermutlich wird eine Fehlermeldung kommen weil ich das Objekt "Alarmanlage" nicht habt, ich schalte bei Weckerstellung sofort die Alarmanlage mit scharf.
Ebenfalls müsst ihr die Blöcke für den zweiten Wecker weglöschen, oder die Objekte auch entsprechend erstellen, falls ihr mit 2 Weckern arbeiten wollt.
In dem Beispiel erstelle ich direkt noch eine weitere Weckzeit - nämlich für mein Rollo, welches 1h vor Weckerklingeln alle 20 min ein Stück weiter hochfährt. Das Script füge ich euch ebenfalls noch mit an.
Hinweis: Insbesondere durch die Verwendung von 2 Weckern ist das Rollo Script etwas komplexer, da es verschiedene Weckzeiten gibt aber nur ein Rollo. Das ist aber in dem Script gelöst. Schlummermodus ist ebenfalls berücksichtigt.
In der MQTT App kann ich auch einen Wecker erstellen, der nur eine MQTT Nachricht schickt ohne Klingeln. So könnt ihr euch nur von Rollo, Licht, Musik oder ähnlichen von iobroker gesteuerten Dingen wecken lassen. Ihr könnt dafür das Rollo Script als Vorlage nehmen und die für euch passenden Geräte einfügen.
An dieser Stelle möchte ich mich nochmal ganz herzlich bei Joakim Plantin bedanken, dass er so gute Arbeit mit seiner App geleistet hat um diese für die iobroker community gut nutzbar zu machen.
Euch allen wünsche ich viel Spaß mit dem Android Wecker in iobroker.
***Update 16.01.2022:
- Einige alte nicht mehr benötigte Blöcke im Wecker Script entfernt.
- Neues Feature: anstatt der fixen Vorlaufzeit von 60 Minuten für den Rolladen kann man diesen nun in folgenden Schritten (Minuten) anpassen: 15, 30, 45 und 60 Minuten. Wichtig: Dafür müsst ihr ein zusätzlichen Datenpunkt anlegen "rollo_weckzeit", da die Zeitberechnung nun ausschließlich über einen timestamp in Sekunden ab Tagesanfang berechnet und umgerechnet wird.
Wecker Script (Stand 16.01.2022): wecker-blockly 4.2 2022-01-16.txt
Rolladen Script (Stand 16.01.2022): Schlafzimmer Rollo Wecker 3.0 2022-01-16.txt