Nachdem wir in den ersten drei Teilen MQTT theoretisch und praktisch kennengelernt haben, wird es jetzt spannend: Wir schauen uns an, wie man MQTT im Smart Home nutzen kann. Zwei Wege stehen dabei im Mittelpunkt:
- Home Assistant – eine mächtige lokale Smart-Home-Plattform, die MQTT nativ unterstützt.
- IFTTT – eine Cloud-Automatisierungslösung, die MQTT-Daten über Webhooks in externe Dienste wie Google Sheets, E-Mail oder Push-Nachrichten integrieren kann.
So kannst du deine Sensoren und Aktoren nahtlos in dein Zuhause und in deine digitalen Workflows einbinden.
MQTT als Herzstück im Smart Home
MQTT ist im Smart Home so beliebt, weil es:
- leichtgewichtig ist (perfekt für kleine Geräte wie ESP32, Arduino oder Raspberry Pi),
- plattformunabhängig arbeitet (Publisher und Subscriber können beliebige Geräte sein),
- und Echtzeit-Kommunikation ermöglicht (z. B. Licht schaltet sofort, wenn ein Schalter gedrückt wird).
Typische Szenarien:
- Temperatur- und Luftfeuchtigkeitssensoren → steuern Thermostate.
- Tür- oder Bewegungssensoren → schalten Licht oder senden Benachrichtigungen.
- Strommessgeräte → liefern Werte in Echtzeit an Visualisierungen oder Cloud-Dienste.
Home Assistant + MQTT
Home Assistant (HA) ist eine Open-Source-Plattform für Smart Homes, die lokal läuft (z. B. auf einem Raspberry Pi). Sie unterstützt MQTT nativ und kann sowohl als Publisher wie auch als Subscriber agieren.
MQTT-Broker in Home Assistant
- Viele Installationen nutzen Mosquitto als Add-on im Home Assistant Supervisor.
- Vorteil: Alles läuft lokal, keine Cloud-Abhängigkeit.
Beispiel: Temperatur-Sensor einbinden
- Sensor publiziert Werte
- Topic:
haus/wohnzimmer/temperatur
- Payload:
22.3
- Topic:
- Home Assistant konfigurieren (in
configuration.yaml
):sensor: - platform: mqtt name: "Wohnzimmer Temperatur" state_topic: "haus/wohnzimmer/temperatur" unit_of_measurement: "°C"
- Ergebnis:
- Home Assistant zeigt in der Oberfläche den aktuellen Wert an.
- Du kannst Automatisierungen darauf aufbauen (z. B. Heizung einschalten, wenn unter 20 °C).
Beispiel: MQTT-Licht steuern
Angenommen, du hast ein selbstgebautes WLAN-Lichtmodul (ESP8266), das auf MQTT-Kommandos reagiert.
- Topic:
haus/wohnzimmer/licht
- Payloads:
ON
oderOFF
Home Assistant Konfiguration:
light:
- platform: mqtt
name: "Wohnzimmer Licht"
state_topic: "haus/wohnzimmer/licht/status"
command_topic: "haus/wohnzimmer/licht"
payload_on: "ON"
payload_off: "OFF"
Ergebnis:
- In Home Assistant erscheint ein Lichtschalter.
- Klickst du ihn an, publiziert HA „ON“ an das Topic.
- Dein Gerät schaltet das Licht ein und publiziert „ON“ an den Status-Topic.
Automatisierungen mit MQTT in Home Assistant
Beispiel: Bewegungssensor → Licht automatisch einschalten.
automation:
- alias: "Licht bei Bewegung"
trigger:
- platform: mqtt
topic: "haus/flur/bewegung"
payload: "1"
action:
- service: light.turn_on
entity_id: light.flur
→ Sobald der Sensor „1“ an das Topic sendet, wird das Licht eingeschaltet.
MQTT + IFTTT
Während Home Assistant lokal arbeitet, verbindet IFTTT MQTT mit der Cloud. Da IFTTT keinen nativen MQTT-Support hat, nutzen wir Webhooks als Brücke.
MQTT → IFTTT
Ziel: Wenn MQTT-Sensor einen Wert sendet, dann löse IFTTT-Action aus (z. B. Push-Nachricht oder Google Sheets Logging).
- MQTT-Client-Skript (Python mit Paho):
import paho.mqtt.client as mqtt
import requests
IFTTT_KEY = "DEIN_IFTTT_KEY"
EVENT_NAME = "temperatur_alarm"
def on_message(client, userdata, msg):
temperatur = float(msg.payload.decode())
if temperatur > 25:
url = f"https://maker.ifttt.com/trigger/{EVENT_NAME}/with/key/{IFTTT_KEY}"
requests.post(url, json={"value1": temperatur})
client = mqtt.Client()
client.connect("localhost", 1883, 60)
client.subscribe("haus/wohnzimmer/temperatur")
client.on_message = on_message
client.loop_forever()
- Applet in IFTTT:
- Trigger: Webhook-Event
temperatur_alarm
. - Action: Push-Nachricht oder Zeile in Google Sheet.
- Trigger: Webhook-Event
→ Wenn Temperatur über 25 °C steigt, bekommst du sofort eine Benachrichtigung.
IFTTT → MQTT
Du kannst auch den umgekehrten Weg gehen:
- Trigger in IFTTT (z. B. „Wenn Sonnenuntergang in meiner Stadt“).
- Action: Webhook → Python-Skript → publiziert MQTT-Message.
Beispiel:
- IFTTT triggert Webhook „licht_an“.
- Python-Skript publiziert an Topic
haus/wohnzimmer/licht
mit PayloadON
. - Ergebnis: Wohnzimmerlicht schaltet sich ein.
MQTT + Home Assistant + IFTTT
Die beiden Welten lassen sich kombinieren:
- MQTT lokal für schnelle, direkte Steuerung.
- Home Assistant als zentrale Schaltstelle und Visualisierung.
- IFTTT für Cloud-Anbindung und externe Services.
Szenario: Temperatur loggen & Benachrichtigen
- Sensor → MQTT → Home Assistant zeigt aktuellen Wert an.
- Home Assistant Automation → Wenn > 25 °C, rufe Webhook auf.
- IFTTT → trägt Temperatur in Google Sheet ein und sendet Push-Nachricht.
So hast du lokale Steuerung und Cloud-Integration in einem System.
Sicherheit im Smart Home mit MQTT
Gerade im Smart Home ist Sicherheit wichtig, da oft sensible Daten übertragen werden.
- TLS aktivieren → verschlüsselte Kommunikation (Port 8883).
- Benutzerkonten für Broker anlegen (nicht „anonymous“).
- ACL (Access Control List) → Wer darf welches Topic publizieren/abonnieren?
- Firewall & Netzwerksegmentierung → MQTT-Broker nicht ungeschützt ins Internet hängen.
- Updates → Broker, Home Assistant und Clients aktuell halten.
Schreibe einen Kommentar