Alertes Home Assistant sur votre iPhone
Home Assistant sait déjà envoyer des notifications sur votre téléphone : l’application Companion installe un service notify.mobile_app_…, et dans bien des foyers, cela suffit.
Honk prend tout son sens quand la maison n’est qu’une source d’alertes parmi d’autres. Ses alertes arrivent dans la même boîte de réception que celles de vos serveurs et de vos scripts, un capteur instable n’envoie qu’un push au lieu de quarante, les heures calmes se règlent par projet, et une fuite d’eau peut tout de même vous réveiller la nuit. Tout ce qui suit repose sur l’intégration RESTful Command, incluse dans Home Assistant : il n’y a rien à installer.
Avant de commencer
- Un compte Honk (pour l’instant sur invitation : demandez un accès) et un projet pour votre maison, par exemple « Maison », avec une clé d’ingestion : dans l’app web, ouvrez le projet, puis Clés.
- Un accès aux fichiers de configuration de Home Assistant.
1. Garder la clé dans secrets.yaml
La clé va dans secrets.yaml, précédée du mot Bearer, pour ne jamais apparaître dans la configuration que vous partagez ou sauvegardez ailleurs :
# secrets.yaml
honk_bearer: "Bearer honk_…"2. Ajouter les commandes RESTful
Ajoutez deux commandes à configuration.yaml : honk pour le texte, et honk_image pour les événements avec une image. Le contenu est généré avec to_json, pour que des guillemets dans un message ne cassent pas la requête :
# 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 }}Redémarrez Home Assistant, puis testez depuis Outils de développement ▸ Actions :
# 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. Une alerte de fuite qui regroupe ses répétitions
Les capteurs sont capricieux. Un détecteur de fuite qui passe de mouillé à sec, puis de nouveau à mouillé en une minute, doit donner une alerte, pas trois. Donnez la même group_key à toutes les alertes qui portent sur le même sujet et envoyez-les en problem. Le premier événement déclenche un push, les répétitions deviennent des mises à jour discrètes, et la seconde automatisation envoie le recovery une fois la cuisine sèche depuis dix minutes, ce qui clôt l’incident.
# 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/kitchenUn Klaxon continu part en push avec la priorité Haute et peut lancer une Activité en direct sur l’écran verrouillé, qui reste affichée jusqu’à « Rétabli ». Pour qu’il franchisse vos heures calmes la nuit, envoyez-le avec priority: urgent et autorisez les messages urgents à la fois sur la clé d’ingestion du projet et dans vos heures calmes.
4. Une sonnette avec instantané
La sonnette, c’est le cas inverse : chaque coup de sonnette doit déclencher un push. Donnez à chacun sa propre clé de groupe, et joignez un instantané avec image_url :
- 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') }}"Le serveur Honk télécharge lui-même l’image, après l’arrivée de l’événement : l’adresse doit donc être joignable depuis Internet en HTTPS sur le port 443. Une adresse Home Assistant Cloud ou votre propre reverse proxy HTTPS conviennent ; une adresse homeassistant.local, non. Le jeton du proxy de caméra change toutes les quelques minutes, ce qui ne pose pas de problème : Honk récupère l’image en quelques secondes. Les images peuvent atteindre 1 Mo avec Free et 5 Mo avec Pro et Team.
Des heures calmes pour la maison
Dans l’app web Honk, ouvrez le projet Maison ▸ Mes notifications et définissez des heures calmes, par exemple de 22 h à 7 h. Le Petit coup de klaxon du lave-vaisselle attend le matin, et un seul résumé arrive à la fin des heures calmes. Comme elles sont propres à chaque personne, chacun dans le foyer peut choisir les siennes.
Ce que Honk apporte
L’application Companion envoie chaque notification séparément. Honk y ajoute le regroupement des capteurs bavards, des rétablissements qui clôturent les alertes, des heures calmes avec un résumé au réveil, des actions sur Apple Watch, et une seule boîte de réception où la maison côtoie tout le reste.
Pour l’instant, Honk est sur invitation : demandez un accès. Tout ce guide fonctionne avec le forfait Free.