Zum Hauptinhalt springen
Smarthome 11 min

Home Assistant Grundlagen mit Kaffeemaschine und Alexa

Ich weiß, ich wiederhole mich, aber eine Smarthome hat seinen Namen nur dann verdient, wenn es wirklich smart ist und Arbeit abnimmt. So habe ich meiner Lelit Siebträgermaschine mit Home Assistant (HA) ein paar Upgrades verpasst. Mit diesem Beitrag versuche ich auch, grundlegende Konzepte von Home Assistant näherzubringen. Legen wir los!

Home Assistant Grundlagen mit Kaffeemaschine und Alexa
Inhaltsverzeichnis

Wir haben keinen hochgezüchteten Kaffeeroboter mit 4k-Display und 67 “Kaffeespezialitäten” auf Knopfdruck, sondern einen italienischen Chrom-Bomber der Marke Lelit - eine einfache Siebträgermaschine. Sie liefert hervorragenden Kaffee und hat nur 3 Schalter. Da ich Corona-bedingt auch viel im Homeoffice bin, genieße ich meinen Kaffee nun deutlich öfter als sonst.

Home Assistant Empfehlungen

Oszilloskop & Multimeter (3-in-1)

  • 【2-Kanal-Oszilloskop】50 MHz Bandbreite, 250 MSa/s Abtastrate, 1 kpts Aufzeichnungstiefe, automatische Messfunktion, max. Spannung 400 V, vertikale Empfindlichkeit 10 mV/div bis 10 V/div, unterstützt das Speichern und Exportieren von Wellenformbildern.
  • 【4,5-stelliges Multimeter mit 19999 Counts】Wechselspannung: 0–750 V, Gleichspannung: 0–999,9 V, Gleich-/Wechselstrom: 0–9,999 A, Widerstand: 0–19,99 MΩ, Kapazität: 0–99,99 mF, Durchgangsprüfung. Multifunktionsmessgerät für Profis, Schulen und Hobbyisten.
105,00 €
Ansehen
−15%
Deal

Automatischer Feuerlöscher für Schaltschränke und Server

  • ✔ SOFORTIGE BRANDUNTERDRÜCKUNG BEI 170ºC ±10ºC – Der Ferosticker F03 aktiviert sich automatisch bei 170ºC ±10ºC und setzt ein Aerosol frei, das den Brand sofort löscht, indem es die Verbrennung unterbricht. Er bietet schnellen, automatischen Brandschutz in geschlossenen Räumen mit einem Schutzvolumen von 0,3 m³. Speziell für kleine, enge Bereiche entwickelt.
  • ✔ KEIN STROM, KEIN DRUCK, KEINE VERKABELUNG ERFORDERLICH – Im Gegensatz zu herkömmlichen Feuerlöschern funktioniert der Ferosticker ganz ohne Strom, Batterien oder Kabel. Sein selbstaktivierendes System sorgt für sorgenfreien Brandschutz ohne Wartung. Vielseitiger Schutz: wirksam gegen Brände der Klassen A, B, C, E und F – deckt ein breites Spektrum an Brandrisiken ab.
50,09 €
Ansehen
−9%
Deal
SONOFF SWV-ZFE Hydro ONE Zigbee Bewässerungscomputer Home Assistant Ready

SONOFF SWV-ZFE Hydro ONE Zigbee Bewässerungscomputer

  • Durable Brass Inlet: Dieser water timer verfügt über einen robusten Messinganschluss für zuverlässige Leistung, sorgt für stabilen Betrieb in Ihrem bewässerungssystem garten oder bewässerungssystem, ideal für den langfristigen Einsatz.
  • Flexible Zeitpläne & Mengensteuerung: Erstellen Sie bis zu sechs Pläne für zeit- oder mengenbasierte Bewässerung. Wetter- und saisonale Anpassungen optimieren Ihr bewässerungssystem garten und sparen Wasser – ein intelligenter sprinkler-timer.
SONOFF NSPanel Pro Gen2 Smart Home Bedienfeld Home Assistant Ready

SONOFF NSPanel Pro Gen2 Smart Home Bedienfeld

  • Multi-App Unterstützung & Home Assistant-Integration: 2GB RAM + 32GB Speicher für flüssige Nutzung mehrerer Drittanbieter-Apps – kein Root erforderlich, einfach über F-Droid als Home Assistant Steuerzentrale nutzbar. All-in-One Smart Panel ersetzt zusätzliche Tablets.
  • Matter Bridge für universelle Kompatibilität: Integriertes Matter Gateway verbindet Zigbee‑ & Wi‑Fi‑Geräte mit Apple Home, Google Home, Alexa & Home Assistant. Vereinheitlicht alle Marken und Protokolle für ein nahtloses Smart Home Erlebnis.
Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Preis inkl. MwSt., zzgl. Versandkosten.

Dummerweise schalte ich die Maschine gerne mal an und vergesse sie, weil zwischenzeitlich ein Online-Meeting läuft oder ich in meine Tätigkeit vertieft bin. Die heizt dann stundenlang vor sich hin, ohne benutzt zu werden. Eine Siebträgermaschine muss auch regelmäßig gereinigt (“rückgespült”) werden, was bei häufiger Nutzung auch häufiger erfolgen muss.

Warum also nicht die Kaffeemaschine fernbedienbar machen und mit einer automatischen Abschaltung versehen? Und wenn wir schon dabei sind, bauen wir auch gleich noch einen Zähler für Anzahl der Nutzungen ein, der mich per Alexa an die Reinigung erinnert?

Das ist in Home Assistant recht einfach und elegant umsetzbar, wenn man einmal die grundlegenden Konzepte von Home Assistant verstanden hat. Automation AutomationRegelbasierte Ablaufsteuerung in Home Assistant: Auslöser (Trigger), Bedingungen und Aktionen führen automatisch einen Ablauf aus (z.B. Licht bei Sonnenuntergang einschalten) , Integration IntegrationIn Home Assistant: die Anbindung eines Geräts oder Dienstes über ‚Geräte & Dienste’. Jede Integration stellt Entitäten bereit (z.B. Shelly, Zigbee, MCP). Nicht zu verwechseln mit dem allgemeinen IT-BegriffMehr dazu → , Events, Entity-IDs, Scripts, Trigger TriggerAuslöser einer Home-Assistant-Automation – das Ereignis, das den Ablauf startet (z.B. Sonnenuntergang, Sensorwert, Zeit). Erster Baustein jeder Automation , Actions, Notifier, Sequence, Service - all das verwirrt am Anfang sehr. Zum Glück kann man bei Home Assistant auch immer mehr über die Ui konfigurieren und muss nicht mehr alles komplett in YAML YAMLDatenformat (YAML Ain’t Markup Language). Wird in Home Assistant für Konfigurationen, Automationen und Szenen verwendet. Leicht lesbar aber fehleranfällig bei falschen Einrückungen schreiben. Ganz ohne geht es aber noch immer nicht. Das ist aber auch gut so, denn mit YAML hat man unendliche Möglichkeiten und behält trotzdem die Übersicht. YAML ist auch nicht programmieren, sondern konfigurieren.

Projekt Teil 1: Steckdose ein- und automatisch ausschalten - Automation und Action

Die grundlegendste Funktion war, die Kaffeemaschine per HA einzuschalten und nach einer vorgegebenen Zeit automatisch abschalten zu können. Dazu nutze ich eine TP-Link HS100 WLAN-Steckdose ( Neukauf kann ich nicht empfehlen, da bei neuerer Firmware der externe Zugriff unterbunden wurde), die noch herumlag. HA bringt die passende Integration bereits fix und fertig mit. Das ginge aber natürlich auch mit einer Sonoff- , Osram Smart+ Plug oder einem Aktor der Gebäudeautomation GebäudeautomationAutomatisierte Steuerung von Gebäudefunktionen wie Beleuchtung, Jalousien, Heizung und Klima. Bildet das Rückgrat eines Smarthomes. Bekannte Systeme: LCN, KNX, Loxone, HomematicMehr dazu → . Auch meine LCN LCNLCN (Local Control Network) – deutsches Bussystem für Gebäudeautomation von Issendorff. Nutzt die vorhandene 230V-Installation als Bus-Leitung. In Home Assistant über LCN-VISU oder eigene Integration einbindbarMehr dazu → -Module habe ich in HA eingebunden.

Nach der Installation steht die WLAN-Steckdose als neuer Switch und der Entity switch.kaffeemaschine zur Verwendung bereit. Entities können Schalter, Werte von Sensoren, Zähler, Steuerelemente von Mediaplayern wie z. B. “Play” oder Eigenschaften wie der Akkustand des Smartphones etc. sein. Sie liefern Informationen oder können von HA aus angesprochen werden, um Aktionen auszuführen.

Geräte, in HA Devices genannt, können mehrere Entities haben. Der Aqara Multisensor wäre ein Device, das als Entities Temperature, Humidity, Pressure, Battery Level hat. Also 1 Device mit 4 Entities.

Mit den MDI-Icons kann man dem Schalter auch gleich noch das passende Icon verpassen, um ihn dann im Frontend z. B. mithilfe einer Entities-Card anzulegen.

Nun lässt sich die Maschine im Frontend und direkt mit der Taste an der Dose schalten. Das ist zwar schön, weil ich die Siebträgermaschine so schon einmal vom Büro im Untergeschoss aus anschalten und vorheizen lassen kann, aber noch ist das nur ein verlängerter Netzschalter und nicht wirklich smart.

Dazu braucht man eine Automation, die nach einem einstellbaren Zeitraum die Steckdose wieder ausschaltet. Diese Automation lässt sich in der aktuellen HA-Version komplett über Configuration -> Automation per Menü anlegen.

Als Mode wird Single eingestellt, da es sich um ein einzelnes Ereignis handelt. Nun braucht es einen Auslöser, einen Trigger, der der dann eine Action auslöst. In diesem Fall müssen wir auf den Status der switch.kaffeemaschine Entity schauen, weil wir wissen wollen, ob sie gerade eingeschaltet wurde.

Dazu gibt es den Trigger-Type State mit den Status off und on. Was uns interessiert, ist der Wechsel von off to on als Trigger.

Eine Bedingung " Conditions" brauchen wir diesem Fall nicht. Man könnte hier aber z. B. festlegen, dass die Automation nur greifen soll, wenn es zwischen 8:00 und 16:00 ist oder wenn außen die Sonne scheint. Ihr versteht was ich meine!

Zum Schluss folgt die Aktion, welche die Automation ausführen soll, wenn der Status von off nach on wechselt. Weil wir möchten, dass die Steckdose nach z. B. 30 Minuten automatisch ausschaltet, brauchen wir erst den Action Type Delay und die zugehörige Verzögerungszeit.

Danach fügen wir noch eine Aktion ein, die nach den 30 Minuten ausgeführt wird, nämlich das eigentliche Ausschalten der Steckdose.

Hier kommt eine weitere Home Assistant Technik zum Einsatz: Services. HA bringt jede Menge Services mit, die alle möglichen Standardaufgaben abdecken. Darunter eben auch, einen Schalter wieder auszuschalten. Man kann jedoch auch eigene Services erstellen, dazu später mehr.

Der switch.turn_off Service braucht nur eine Entity, die er ansprechen soll. Im Beispiel ist das wieder unsere switch.kaffeemaschine Entity. Nun geben wir der Automation noch einen Namen, vielleicht auch eine Beschreibung und Schritt 1 ist erledigt.

Wenn man die Kaffeemaschine einschaltet, wird sie nach 30 Minuten automatisch wieder ausgeschaltet.

Projekt Teil 2: Nutzungen protokollieren - Counter

Damit man einen Anhaltspunkt hat, wie oft die Maschine im Einsatz war, soll ein Zähler bei jedem Einschalten um 1 erhöht werden. Natürlich spiegelt das nicht wider, wie viele Tassen man tatsächlich herausgelassen hat. Die Kaffeeprofis sprechen da ja von “Bezügen”. Ich könnte mich immer kaputt lachen, wenn aus jedem Furz eine Wissenschaft samt dazugehörigem Jargon gemacht wird. In Foren ist das ganz schlimm. Wie auch immer …

Wir sind zwei Personen im Haushalt. Beide derzeit viel im Homeoffice. Zwei Tassen am Morgen und zwei am Nachmittag. Wir schalten die Maschine zweimal pro Tag ein (plus Fehlalarme, wenn ich die Maschine vergesse). Eine Rückspülung mit Reinigungsmittel (ich kann Puly Caff empfehlen - ein hervorragender und ergiebiger Kaffeefett-Löser), mache ich meist so alle 14 Tage. Also lassen wir den Zähler bei 25 eine Benachrichtigung auslösen.

Zunächst braucht man einen Zähler. Diese legt man in der Configuration.yaml an:

yaml
1
2
3
4
5
counter:
    coffee_counter:
      initial: 0
      step: 1
      icon: mdi:coffee

Die Platform ist counter. Der Name der Entität EntitätDie kleinste Informationseinheit in Home Assistant – ein Sensor, Schalter, Licht oder eine Automation wird als Entität mit Zustand und Attributen repräsentiert (z.B. sensor.temperatur_schlafzimmer) ist coffee_counter. Der Zähler beginnt bei 0 und wird bei jedem Aufruf später um 1 erhöht. Mit icon kann man ihm z. B. eine Kaffeetasse als Symbol zuteilen. Nach einem Restart von Home Assistant steht der Counter als neue Entity counter.coffee_counter zur Verfügung. Der Restart ist nach Änderungen der configuration.yaml unbedingt erforderlich. Neue Automations, Scripts etc. können seit einiger Zeit auch einzeln ohne Neustart des Gesamtsystems aktualisiert werden. Beides findet man unter Configuration -> Server Controls.

Das können wir gleich in die vorherige Automation einbauen, in dem man eine weitere Action anlegt. Diesmal VOR dem Delay, denn der Zähler soll ja gleich beim Einschalten um eins erhöht werden. Hier wird nun wieder ein Service aufgerufen, diesmal der counter.increment Service. Dem müssen wir nur noch mitteilen, welchen Counter er erhöhen soll, nämlich den counter.coffee_counter. Mit den Pfeilen rechts kann man die Action nun nach oben vor unsere Delay Action schieben.

Im Frontend können wir der Entity-Card noch den Counter hinzufügen, damit wird die Anzahl der Starts angezeigt bekommen.

Projekt Teil 3: Benachrichtigung auslösen - Scripts und Conditions

Da man natürlich nicht erst HA aufmachen oder die Home Assistant App öffnen möchte um zu sehen, ob man die Kaffeemaschine reinigen sollte, brauchen wir eine Benachrichtigungsfunktion. Da in der Küche ohnehin ein Amazon Echo steht, lassen wir das von Alexa übernehmen.

Die Einrichtung von Alexa in Home Assistant werde ich hier nicht beschreiben, da das eine sehr umfangreiche Angelegenheit ist. Man kann aber auch die Home Assistant Cloud von Nabu Casa abonnieren. Damit bekommt man für $5 die Alexa und Google Assistant Einbindung auf einfachste Weise, einen sicheren Fernzugang und unterstützt auch noch die Entwicklung von Home Assistant.

Um die Sache etwas übersichtlicher zu machen, legen wir eine weitere Automation an " Kaffeemaschine Reinigen Alexa". Auch hier wieder der Single-Modus. Als Trigger wieder State wenn die Entität switch.kaffeemaschine von off auf on wechselt.

Nun kommt etwas Neues: eine Condition, also Bedingung. Unsere Bedingung ist, dass die Action nur ausführt wird, wenn die switch.kaffeemaschine auf on UND der Numeric state des counter.coffee_counter über 25 ist.

Die Action ist wieder ein Service. Der Service muss nun ein Script aufrufen, das wir selbst erstellen: Alexa Sprachausgabe. Dazu geht es in Configuration->Scripts und hier wird ein neues Benutzer-Script angelegt. Einer der großen Vorteile eines Scripts in Home Assistant ist, dass man beliebig viele Actions pro Script ausführen ( Sequence) und Scripte flexibel wiederverwenden kann, sofern man sie intelligent mit Variablen gestaltet.

Durch den Einsatz von Variablen in Scripts, kann man letztere universell einsetzen. In unserem Beispiel kann man Alexa damit beliebige Sätze in den Mund, Pardon, Lautsprecher legen, die von der Action an das Script übergeben werden.

Anstatt im Script eine fixe Nachricht in dieser Form zu integrieren:

yaml
1
message: 'Bitte die Kaffeemaschine reinigen'

Nehmen wir eine Variable:

yaml
1
message: '{{ message }}'

In der Automation kann nun das neue Script aufgerufen werden. Als Service Data wird nun der Name der Variable mit der gewünschten Sprachausgabe übergeben. Damit kann das Script immer wieder eingesetzt werden.

Damit ermahnt uns Alexa nun beim Überschreiten von 25 Nutzungen der Kaffeemaschine, diese zu reinigen. Das macht sie nun bei jedem Einschalten bis …

Reinigungszähler zurücksetzen

… wir den Reinigungszähler zurücksetzen. Dazu nutzen wir eine Button-Card im Frontend.

Mit einem Klick auf “Show Code Editor” können wir in Zeile 6 die Counter-Entity festlegen, nämlich counter.coffee_counter:

yaml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
type: button
hold_action:
  action: call-service
  service: counter.reset
  service_data:
    entity_id: counter.coffee_counter
tap_action:
  action: more-info
show_icon: true
show_name: true
icon: 'mdi:spray-bottle'
name: Gereinigt

Damit man den Zähler nicht versehentlich zurückstellen kann, habe ich die hold_action als Auslöser genommen. Damit muss man das Icon lange drücken, damit die Aktion ausgeführt wird. Mit einem langen Klick auf die Button-Card wird nun also wieder ein Service ausgeführt, der die HA-Funktion counter.reset auslöst.

Das Zurücksetzen könnte man natürlich auch über einen physischen Taster machen, der in Home Assistant eingebunden ist. Hier bieten sich z. B. die günstigen Aqara Taster an. Noch komfortabler wäre es, wenn man Alexa sagen könnte, dass sie den Zähler zurücksetzen soll. Das kommt in einem weiteren Beitrag.

In diesem Beitrag haben wir nun folgende Home Assistant Techniken verwendet:

  • Integrations
  • Automation
  • Events
  • Entity-IDs
  • Scripts
  • Trigger
  • Actions
  • Notifier
  • Service
  • Button-Cards im Frontend ( Lovelace LovelaceDas Dashboard-System von Home Assistant. Dashboards werden in Lovelace als YAML-Konfiguration oder im UI-Editor erstellt – und sind damit auch versionierbar )
  • Variablen

Hat man den Zusammenhang zwischen den unterschiedlichen Funktionen erst einmal verstanden, kann man viele Automationen auf die gleiche Art und Weise selbst gestalten. Mögliche Erweiterungen zu meinem Beispiel wäre etwa, 5 Minuten bevor die Maschine wieder ausgeschaltet wird per Alexa daran zu erinnern, noch einen Kaffee zu machen. Man könnte den Zeitraum für die automatische Abschaltung auch im Frontend einstellbar mache. Und und und …


Hallo! Ich bin Markus – der Fricklr. ⚡ Elektrotechniker, 🎵 Musiker (Bass, Gitarre, Keyboard) und seit über 30 Jahren beruflich „irgendwas mit Internet“ 🌐 – inzwischen auch mit KI 🤖 – ein 55-jähriger Generalist aus Bayern.

Dein Feedback hilft mir, noch interessantere Beiträge zu schreiben. Bei „Ja“ findest du danach eine kleine Option, meine Arbeit zu unterstützen.

Verwandte Themen entdecken

Inhaltskarte →
Verbindungen als Liste anzeigen
💡 Ziehen, hover & klicken zum Entdecken
Größere Punkte sind relevanter

Was sagst du dazu? Kommentiere jetzt!

Teile deine Gedanken, Fragen oder Erfahrungen mit der Community.

Mit diesem Symbol gekennzeichnete Links sind Affiliate-Links (Werbung). Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Für dich entstehen keine Mehrkosten.