Home Assistant: Alarme als Push aufs iPhone
Home Assistant kann schon selbst Pushes aufs Handy schicken: Die Companion-App richtet einen Dienst notify.mobile_app_… ein, und für viele Haushalte reicht das.
Honk lohnt sich, wenn sich bei dir nicht nur das Haus meldet, sondern auch Server und Skripte. Die Alarme aus dem Haus landen dann im selben Posteingang wie alles andere. Ein Sensor, der ständig hin- und herspringt, schickt einen Push statt vierzig, Ruhezeiten gelten pro Projekt, und ein Wasserleck kann dich trotzdem nachts wecken. Alles hier läuft über die in Home Assistant eingebaute Integration RESTful Command, du musst also nichts installieren.
Voraussetzungen
- Ein Honk-Konto (vorerst nur auf Einladung: Zugang anfragen) und ein Projekt für dein Zuhause mit Ingest-Schlüssel, zum Beispiel „Zuhause“: Öffne in der Web-App das Projekt, dann Schlüssel.
- Zugriff auf die Konfigurationsdateien deines Home Assistant.
1. Den Schlüssel in secrets.yaml ablegen
Der Schlüssel kommt mit vorangestelltem Bearer in secrets.yaml. So taucht er nie in der Konfiguration auf, die du teilst oder anderswo sicherst:
# secrets.yaml
honk_bearer: "Bearer honk_…"2. Die RESTful Commands hinzufügen
Füge in configuration.yaml zwei Befehle hinzu: honk für Text und honk_image für Ereignisse mit Bild. Der Payload entsteht mit to_json, damit Anführungszeichen in einer Nachricht die Anfrage nicht kaputt machen können:
# configuration.yaml
rest_command:
honk:
url: "https://honk-me.app/v1/messages"
method: POST
content_type: "application/json"
headers:
Authorization: !secret honk_bearer
payload: >-
{{ dict(title=title, message=message, severity=severity | default('light'),
priority=priority | default('normal'), group_key=group_key,
event_type=event_type | default('event'),
source='home-assistant', category='personal') | to_json }}
honk_image:
url: "https://honk-me.app/v1/messages"
method: POST
content_type: "application/json"
headers:
Authorization: !secret honk_bearer
payload: >-
{{ dict(title=title, message=message, severity=severity | default('light'),
group_key=group_key, image_url=image_url,
source='home-assistant', category='personal') | to_json }}Starte Home Assistant neu und probier es dann unter Entwicklerwerkzeuge ▸ Aktionen aus:
# Developer tools ▸ Actions, in YAML mode
action: rest_command.honk
data:
title: "Hello from Home Assistant"
message: "If you can read this on your phone, it works."
group_key: home/test3. Ein Wasseralarm, der Wiederholungen bündelt
Sensoren sind launisch. Ein Wassersensor, der innerhalb einer Minute nass, trocken, nass meldet, sollte einen Alarm auslösen, nicht drei. Gib allen Alarmen zur selben Sache denselben group_key und schick sie als problem. Das erste Ereignis wird gepusht, Wiederholungen werden zu ruhigen Updates. Ist die Küche zehn Minuten lang trocken, gibt die zweite Automatisierung mit recovery Entwarnung und schließt damit den Vorfall.
# automations.yaml
- alias: "Honk: water leak in the kitchen"
triggers:
- trigger: state
entity_id: binary_sensor.kitchen_leak
to: "on"
actions:
- action: rest_command.honk
data:
title: "Water leak in the kitchen"
message: "The sensor under the sink is wet."
severity: blast
event_type: problem
group_key: home/leak/kitchen
- alias: "Honk: kitchen is dry again"
triggers:
- trigger: state
entity_id: binary_sensor.kitchen_leak
from: "on"
to: "off"
for: "00:10:00"
actions:
- action: rest_command.honk
data:
title: "Kitchen is dry again"
message: "No water for 10 minutes."
severity: beep
event_type: recovery
group_key: home/leak/kitchenEin Dauerhupen wird mit hoher Priorität gepusht und kann auf dem Sperrbildschirm eine Live-Aktivität starten, die so lange bleibt, bis sie „Behoben“ zeigt. Soll es nachts durch deine Ruhezeiten kommen, sende es mit priority: urgent und erlaube dringende Ereignisse beim Ingest-Schlüssel des Projekts und in deinen Ruhezeiten.
4. Eine Türklingel mit Schnappschuss
Bei der Türklingel ist es umgekehrt: Jedes Klingeln soll gepusht werden. Gib jedem Klingeln einen eigenen Gruppenschlüssel und häng mit image_url einen Schnappschuss an:
- alias: "Honk: doorbell"
triggers:
- trigger: state
entity_id: binary_sensor.doorbell
to: "on"
actions:
- action: rest_command.honk_image
data:
title: "Someone is at the door"
message: "Front door, {{ now().strftime('%H:%M') }}"
# one group per ring, so every ring pushes
group_key: "home/doorbell/{{ now().timestamp() | int }}"
image_url: "https://example.ui.nabu.casa/api/camera_proxy/camera.front_door?token={{ state_attr('camera.front_door', 'access_token') }}"Der Honk-Server lädt das Bild selbst herunter, nachdem das Ereignis eingegangen ist. Die Adresse muss deshalb aus dem Internet per HTTPS auf Port 443 erreichbar sein. Eine Adresse von Home Assistant Cloud oder dein eigener HTTPS-Reverse-Proxy funktioniert, eine homeassistant.local-Adresse nicht. Das Token des Kamera-Proxys wechselt alle paar Minuten. Das macht nichts, denn Honk holt das Bild innerhalb von Sekunden ab. Bilder dürfen bei Free bis zu 1 MB groß sein, bei Pro und Team bis zu 5 MB.
Ruhezeiten fürs Haus
Öffne in der Honk-Web-App das Projekt „Zuhause“ ▸ Meine Mitteilungen und stell Ruhezeiten ein, zum Beispiel von 22:00 bis 07:00 Uhr. Ein Leichtes Hupen zur Spülmaschine wartet dann bis zum Morgen. Wenn die Ruhezeiten enden, kommt eine einzige Zusammenfassung. Ruhezeiten gelten pro Person, der Rest deines Haushalts kann also eigene wählen.
Was Honk ergänzt
Die Companion-App pusht jede Mitteilung einzeln. Honk bündelt, was unruhige Sensoren melden, schließt Alarme mit einer Entwarnung und hält nachts Ruhe, mit einer Zusammenfassung am Morgen. Dazu kommen Aktionen auf der Apple Watch und ein Posteingang, in dem das Haus neben allem anderen steht, was du betreibst.
Honk gibt es vorerst nur auf Einladung: Zugang anfragen. Alles in dieser Anleitung funktioniert schon im Free-Tarif.