Je vais essayer d’être le plus complet possible
.
- Au niveau smartphone (Android dans mon cas)
J’utilisais l’application compagnon en “connexion permanente : Toujours” pour recevoir les notifications en temps réel. Au fil du temps, j’ai remarqué que ça vidait rapidement la batterie. J’ai donc repassé la connexion permanente sur “jamais” et je laisse maintenant les notifications gérer par Android.
Lorsque quelqu’un sonne, la notification sur le téléphone est envoyée avec cette configuration dans Home Assistant :
- action: notify.mobile_app_telephone_alex
data:
message: Ding Dong
data:
ttl: 0
priority: high
importance: high
channel: doorbell_alert
image: >-
/api/camera_proxy/camera.doorbell?token=xxxxxxxxxxxxxxxx
actions:
- action: URI
title: Voir le direct
uri: /lovelace/visiophone
Quelques précisions :
ttl: 0, priority: high et importance: high permettent d’avoir une notification instantanée.
channel est le nom que tu donnes au canal de notification. Il apparaît dans l’application Android compagnon et permet d’avoir un son spécifique pour la sonnette, différent des autres notifications.
Avec cette configuration, la notification affiche “Ding Dong” + un snapshot de la caméra.
J’ai prévu d’ajouter des boutons cliquables pour ouvrir le portail sans déverrouiller le téléphone, mais ce n’est pas encore terminé.
Pour le moment, les notifications semblent très réactives, même si je n’ai pas encore eu beaucoup d’appuis sur le VTO.
J’ai d’autres notifications dans HA sans ces paramètres, et effectivement ça peut mettre jusqu’à 10 minutes avant d’arriver.
- Au niveau tablette murale
Ici, c’est géré différemment : j’utilise Fully Kiosk sur la tablette, pas l’application compagnon.
- Pas besoin d’envoyer de notification.
- Home Assistant allume l’écran et joue un son de sonnette.
- Pas de raté possible.
Dans le GitHub que j’ai partagé, tu verras qu’il y a un flag qui indique que la sonnette a été activée. Ce flag est remis à 0 :
- Au bout d’un certain temps si aucune action n’a été effectuée
- Lorsqu’on décroche
- Lorsqu’on refuse l’appel
- Et je le remets à 0 quand le portail passe de fermé à ouvert
La sonnerie sur la tablette s’arrête naturellement lorsque le flag passe à 0.
Ce flag sert aussi à changer l’état des icônes téléphone en haut à gauche de la fenêtre (utile pour voir si un appel a été traité dans un contexte multi-utilisateurs).
Je n’ai jamais testé de décrocher sur deux téléphones en même temps. Dans ce cas, même si l’appel est pris ou que personne ne sonne, on peut lancer un appel depuis HA. Le plus simple est donc de vérifier si l’icône de sonnerie est active : si oui, l’appel n’a pas été traité par un autre utilisateur.
- Points critiques
- go2rtc et HTTPS :
- La tablette doit accéder à Home Assistant en HTTPS, sinon le micro ne fonctionne pas.
- Même chose pour les téléphones sur le Wi-Fi local.
- Il faut donc un certificat valide (DuckDNS ou autre) et probablement un reverse proxy local pour garder l’accès à HA même en cas de coupure Internet.
- Frigate : j’utilise le H264. Mon GPU ne gérant pas le H265, je n’ai pas testé ce format.
- L’état de la serrure du VTO
Le relais du VTO remonte son état dans HA via une carte d’interface connectée à ESPHome.
Une automatisation inverse l’état du portail. Mon VTO étant équipé d’un lecteur de badge RFID :
- Lorsqu’un badge est détecté, HA reçoit l’information.
- HA demande alors une ouverture ou une fermeture, suivant l’état actuel du portail.
- La motorisation
Ma motorisation de portail dispose de :
- Deux entrées : une pour ouvrir et une pour fermer
- Une sortie : indique si le portail est fermé ou non
Je le gère avec un cover dans HA :
cover:
- name: "Portail"
unique_id: cdc2689c-4c59-4ff8-8b73-12f56ebf3c42
command_topic: "portail/commande"
payload_open: "OUVRIR"
payload_close: "FERMER"
state_topic: "portail/etat"
value_template: >
{% if value == "FERME" %}
closed
{% else %}
open
{% endif %}
optimistic: false
qos: 0
retain: false
icon: >
{% if is_state('cover.portail', 'open') %}
mdi:gate-open
{% else %}
mdi:gate
Et la carte dans HA :
type: custom:button-card
entity: cover.portail
name: Portail
tap_action:
action: toggle
confirmation:
text: Êtes-vous sûr de vouloir ouvrir le portail ?
hold_action:
action: navigate
navigation_path: /logbook?entity_id=cover.portail
show_state: true
show_icon: true
icon: mdi:gate
layout: icon_name_state
state:
- value: open
icon: mdi:gate-open
color: red
name: Portail
- value: closed
icon: mdi:gate
color: green
name: Portail
styles:
card:
- border-radius: 12px
- padding: 10px
- font-size: 16px
- text-transform: none
icon:
- width: 60px
- height: 60px
- Différents états des icônes sur la tablette
PS : L’icône avec la cloche jaune correspond au mode “Ne pas déranger”. Il s’active automatiquement selon l’heure pour éviter que la tablette ne sonne en pleine nuit, tandis que les notifications sur les smartphones restent toujours actives. De plus, le volume de la sonnerie baisse à un niveau plus faible en soirée avant d’être complètement coupé par le mode “Ne pas déranger”.
standby :
Sonnerie en cours
décroché
On peut bien sûr mettre le micro en mute : 
Il est également possible de couper le son pendant l’appel, même si je ne vois pas trop l’intérêt.
J’espère que ce pavé est compréhensible…
N’hésite pas si tu as d’autres questions.