Im letzten Beitrag über Philips Hue habe ich am Rand erwähnt, dass mein Morgen-Wecker eine kleine Choreografie aus iPhone, Home Assistant, Hue-Twilight und Siebträger ist. Hier kommt die ausführliche Version — mit YAML-Schnipseln aus meinem Setup, damit du das bei dir nachbauen kannst.
Ablauf, kurz erzählt: Ich stelle abends meinen Wecker am iPhone wie sonst auch. Zehn Minuten vor der eigentlichen Klingelzeit beginnt im Schlafzimmer die Hue Twilight langsam einen Sonnenaufgang zu simulieren — keine App, kein Drücken, nichts. Parallel schaltet sich der Shelly-Plug an meinem Siebträger ein, die Maschine fängt an aufzuheizen. Wenn das iPhone schließlich klingelt, steht das Licht voll im Raum und der Espresso ist in Reichweite.
Was du dafür brauchst
Vier Komponenten, alle bei mir seit Jahren im Einsatz:
- Home Assistant (logisch :))
- Eine Hue Twilight neben dem Bett (oder eine andere dimmbare smarte Lampe)
- Ein Shelly-Plug zwischen Siebträger und Steckdose. Wichtig: Der Siebträger muss mechanisch ein-/ausschalten können, also einen klassischen Wippschalter haben, der in der „An”-Position bleibt.
- iPhone mit der Home Assistant Companion App sowie einem iOS-Shortcut, der bei Wecker-Stellen den nächsten Wecker an HA meldet.
Letzterer Punkt ist die einzige Stelle, die etwas Fummelei erfordert — denn iOS gibt den nächsten Wecker nicht von sich aus an Drittsysteme weiter. Hier mein konkretes Setup:
Die Brücke: ein iOS-Shortcut namens „Sync Alarm To Home Assistant”
Mein Shortcut hat sieben Schritte und macht zwei Dinge gleichzeitig: er schreibt die Weckzeit in einen HA-Helfer und synchronisiert auch den Aktiv-Zustand.
So sieht er aus:
- Konstante setzen: Text-Block mit dem Wert
Standard. Dieser Wert dient gleich als Filter. - Wecker suchen, wenn Beschreibung ist „Standard”: Hier filtere ich alle gesetzten iPhone-Wecker auf den einen, der die Beschreibung „Standard” trägt. Ich beschrifte meinen täglichen Wecker so, damit der Shortcut ihn eindeutig findet — separat von einmaligen Erinnerungen, Termin-Weckern oder anderen.
- Erstes Objekt von Wecker abrufen: Aus der gefilterten Liste den ersten Treffer (es gibt eh nur einen).
- Konstante setzen: Text-Block mit dem Wert
naechster_wecker. Ist die Endung der HA-Helfer, die ich gleich anspreche. - Wörterbuch bauen mit zwei Einträgen:
entity_id=input_datetime.+naechster_wecker(per String-Konkatenation),time= die Zeit des gefundenen Weckers. - HA-Service-Call:
input_datetime.set_datetimemit dem eben gebauten Wörterbuch als Payload. Das schiebt die Weckzeit nach Home Assistant. - Wenn-Verzweigung: Falls der iPhone-Wecker auf „aktiv” steht, rufe ich
input_boolean.turn_onaufinput_boolean.wecker_aktivauf. Falls deaktiviert, das passendeturn_off.
Der Shortcut nutzt die offizielle Home Assistant Companion App als Service-Provider — die „Aufruf von [Service]“-Aktion in Shortcuts ist eine der praktischsten Funktionen der App, weil sie ohne eigenen Webhook auskommt und die HA-Authentifizierung über die App-Verbindung läuft.
Der Trick mit der Beschreibung ist wichtig, weil iOS mehrere Wecker erlaubt — Termin-Wecker, Wochenend-Wecker, Power-Nap-Wecker. Wenn ich nicht filtere, würde der Shortcut potenziell den falschen mitnehmen. Indem ich genau einen Wecker als „Standard” beschrifte, ist die Auswahl eindeutig.
Den Shortcut selbst muss ich nicht manuell anstoßen. Eine iOS-Automation triggert ihn jedes Mal, wenn ich am Wecker etwas ändere oder ihn aktiviere. Damit ist die ganze Brücke unsichtbar — ich stelle den Wecker wie immer am iPhone, der Rest passiert von selbst.
Am Ende landet die nächste Weckzeit in HA, in einem Helfer namens input_datetime.naechster_wecker. Auf diesen Helfer reagiert dann der Rest meiner Automatisierung.
Die Hauptautomation: Licht und Kaffee 10 Minuten vor dem Wecker
Hier die YAML-Konfiguration aus meinem Home Assistant. Trigger, Bedingungen, Aktionen — eins zu eins:
alias: Wecker – Licht und Kaffee
mode: single
trigger:
- platform: time
at:
entity_id: input_datetime.naechster_wecker
offset: "-00:10:00"
condition:
- condition: state
entity_id: input_boolean.wecker_aktiv
state: "on"
- condition: zone
entity_id: person.dein_name
zone: zone.home
action:
- action: switch.turn_on
target:
entity_id: switch.kaffeemaschine # Shelly-Plug am Siebträger
- action: light.turn_on
target:
entity_id: light.schlafzimmer_twilight # die Hue Twilight neben dem Bett
data:
effect: sunrise
transition: 600
Was hier passiert, in Worten:
Trigger: Genau zehn Minuten vor der Zeit, die im input_datetime.naechster_wecker steht, läuft die Automation los. Das ist die Brücke zwischen iOS-Wecker und Home Assistant.
Bedingungen: Zwei Sicherheitsnetze — erstens muss der Helfer input_boolean.wecker_aktiv auf „on” stehen. Da der Shortcut den Status des iPhone-Weckers in diesen Helfer synchronisiert, fungiert das iPhone-Wecker-Toggle damit gleichzeitig als Schalter für die ganze HA-Choreografie. Zweitens muss die Person-Entität als „home” gelten — sonst gehen die Lichter sinnlos im leeren Schlafzimmer an, wenn ich auf Dienstreise oder im Urlaub bin.
Aktionen: Zwei Sachen passieren gleichzeitig. Der Siebträger wird über seinen Shelly eingeschaltet (er fängt damit an aufzuheizen). Und die Hue Twilight startet den Sonnenaufgangs-Effekt mit zehn Minuten Übergangsdauer.
Ein ehrliches Detail aus meinem realen Setup: Ich hatte ursprünglich den Sonnenaufgang selbst gebaut — mehrere light.turn_on-Aktionen hintereinander, mit Helligkeits-Stufen, Farbtemperatur-Übergängen, einzelnen Delays. Funktionierte, aber war fummelig. Bis ich gemerkt habe, dass es eine native Hue-Lösung gibt, die ich über die Hue-HASS-Integration aufrufen kann. Lehre: bevor du etwas selbst nachbaust, schau einmal, was die Integration deines Geräts ohnehin schon kann.
Die zweite Automation: Kaffee-Aufwärm-Verfolgung
Sobald der Siebträger über den Shelly Strom bekommt, läuft eine zweite Automation an, die mir den Status der Maschine kommuniziert:
alias: Kaffeemaschine heizt
mode: single
trigger:
- platform: state
entity_id: switch.kaffeemaschine
to: "on"
action:
- action: mqtt.publish
data:
topic: kaffeemuehle/status
payload: "Auf"
- action: notify.mobile_app_dein_iphone
data:
message: "Kaffee heizt"
- action: awtrix.custom_app
data:
device: dein_awtrix
app: KaffeeHeizt
text: "Kaffeemaschine heizt!"
duration: 120
icon: "14199"
- wait_for_trigger:
- platform: numeric_state
entity_id: sensor.kaffeemaschine_leistung # Strommessung des Shelly
below: 200
- action: mqtt.publish
data:
topic: kaffeemuehle/status
payload: "Warm"
- action: notify.mobile_app_dein_iphone
data:
message: "Kaffee heiß"
Drei Dinge passieren beim Einschalten:
Erstens, ein MQTT-Push an die Kaffeemühle (die ist ein ESP-Umbau — eigener Beitrag folgt).
Zweitens, eine Push-Benachrichtigung auf mein iPhone: „Kaffee heizt”.
Drittens, ein kleines Pixel-Display im Flur (AWTRIX) zeigt ein Icon und den Text „Kaffeemaschine heizt!”.
Dann: Die Automation wartet. Sie wartet so lange, bis der Shelly-Strommessung-Sensor unter 200 Watt Leistungsaufnahme fällt. Das passiert, sobald die Maschine fertig aufgeheizt hat und in ihren Standby-Modus geht. Bei meiner Maschine ist das die zuverlässigste Methode, „heiß” von „heizt noch” zu unterscheiden — kein Temperatursensor nötig, einfach die Leistungsaufnahme beobachten.
Sobald sie unter den Schwellwert fällt, geht der zweite Schwung Benachrichtigungen raus: „Kaffee heiß”, die Mühle bekommt das MQTT-Signal „Warm”. Bei mir steht zu diesem Zeitpunkt das Licht noch nicht ganz hoch — die Maschine heizt schneller auf als die Twilight ihre zehn Minuten Sonnenaufgang braucht. Wenn der iPhone-Wecker dann klingelt, ist beides bereit.
Was als Nächstes kommt
Zwei Erweiterungen habe ich noch nicht beschrieben, weil sie eigene Beiträge verdienen:
Die ESP-Kaffeemühle. Der MQTT-Topic kaffeemuehle/status wird von einer ganz analogen Kaffeemühle empfangen, die ich mit einem ESP nachgerüstet habe. Sie reagiert auf „Auf” und „Warm” mit unterschiedlichem Verhalten. Das ist ein eigener Bastel-Beitrag, der hier zu weit führen würde.
Das AWTRIX-Display. Das kleine Pixel-Display im Flur und in der Küche zeigt nicht nur den Kaffee-Status, sondern auch Wetter, Termine, Mailbox. Auch das wird einen eigenen Beitrag bekommen.
Was den Wecker selbst angeht: Wenn dein Setup ähnlich aussieht (HA, eine smarte Lampe neben dem Bett, ein Shelly oder vergleichbarer Schaltaktor an deiner Kaffeemaschine, ein iPhone), brauchst du fürs Nachbauen nur den input_datetime.naechster_wecker-Helfer in HA anlegen, einen passenden iOS-Shortcut bauen und die beiden YAMLs oben anpassen.
Wenn du Fragen zum Shortcut hast oder bei deinem Setup hängenbleibst, schreib mir gerne eine Mail.