En fait, cette release est une release majeur à plus d’un titre.
Tout d’abord, elle marque l’achèvement de la refonte du fonctionnement du tableau de bord, avec la gestion des vues de type section. C’est vraiment très réussi, et @piitaya et ses collègues ont fait un travail incroyable.
Enfin, un sujet qui a été peu développé est la gestion des caméras, avec l’intégration native de WebRTC. Et la aussi, c’est une belle prouesse technique. J’ai pu tester : les vidéos de mes caméras sont maintenant parfaitement fluides !!
Malheureusement, cela a été vraiment très peu expliqué. Voici quelques éléments pour mieux comprendre ce qui a été fait :
Avant, les flux vidéos natifs étaient directement envoyés à l’explorer (en RTSP ou RPMP voir HTTP), avec pas mal de lags (latence) due à la gestion des paquets en UDP.
WebRTC permet de palier à cela : WebRTC permet de faire une connexion point à point (peer2peer) entre votre navigateur et 1 autre système (ici notre caméra), permettant la gestion d’un flux vidéo ou audio avec de faibles latences. Tous les navigateurs le supporte et c’est très utilisé pour des applications de visio par exemple.
Mais pour bénéficier de WebRTC, il fallait jusqu’à présent installer des composants spécifiques comme la WebRTC-Card, RTSPtoWebRTC et Go2RTC.
Mais Go2RTC, capable de transformer un flux RTSP en WebRTC, a été rajoutée à Home Assistant 2024.11.
Maintenant WebRTC est donc natif, et directement supporté par l’interface et les cartes de base comme la Picture Entity Card. Le flux de la caméra, en général RTSP, est converti en WebRTC. Tout cela est géré dans l’explorer.
Au niveau réseau, cela se complique un peu et je vais essayer de synthétiser :
Pour établir la connexion point à point entre la caméra et votre exploreur, il faut passer les couches réseau et ouvrir automatiquement des ports (routage NAT : ports 11984 pour l’API et 18555 pour WebRTC si vous avez quelques connaissances réseau). Si vous êtes en dehors de chez vous, cela va être automatiquement pris en charge par un serveur de négociation externe appelé STUN (« Session Traversal Utilities for NAT »). L’Open Home Foundation fournit maintenant un tel serveur à tous les utilisateurs de Home Assistant.
Malheureusement, dans certains cas, une connexion point à point ne pourra quand même pas être établie via cette méthode et il faut un serveur relai appelé TURN (« Traversal Using Relays around NAT »). Nabu Casa fournit à ses abonnés ayant une souscription un tel serveur. Pour les abonnés, l’utilisation du serveur TURN de Nabu Casa est activée par défaut et peut être gérée dans Paramétres - Home Assistant Cloud - Connexions WebRTC.
N’hésitez pas à nous faire part de vos retours d’expériences avec les caméras et WebRTC, et/ou à compléter ces explications.