🧹 Gladys allège son cœur : l'avenir des intégrations natives

Bonjour Ă  tous !

Depuis l’arrivée des intégrations communautaires (installables en un clic depuis le catalogue, chacune isolée dans son propre conteneur), l’écosystème a littéralement explosé : plus de 900 intégrations sont aujourd’hui disponibles dans le store. Merci à tous les développeurs qui les publient :folded_hands:

Ça change la donne pour le cœur de Gladys. Une intégration native, c’est du code qu’il faut maintenir, tester et livrer avec chaque version de Gladys, même quand l’API d’un fabricant change du jour au lendemain. Une intégration communautaire, elle, évolue à son rythme et se met à jour sans attendre une version de Gladys. Et si elle plante, Gladys continue de tourner.

L’objectif : sortir du cœur tout ce qui peut l’être, pour ne garder que ce qui est vraiment interne à Gladys ou vraiment indispensable. Voici l’inventaire complet des intégrations natives et ce qu’elles vont devenir.

:white_check_mark: Ce qui reste dans le cœur

Intégration Pourquoi elle reste
Matter Le standard de la maison connectée, un socle de Gladys
Zigbee2mqtt Le protocole le plus utilisé par la communauté
MQTT La brique de base du DIY : appareils MQTT, déclencheurs et actions de scène MQTT
Suivi de l’énergie, Thermostat Ce sont des fonctionnalités de Gladys, pas des intégrations de marque
MCP Le serveur qui permet Ă  vos assistants IA de piloter Gladys
Amazon Alexa, Google Home, Enedis, OwnTracks, Intelligence Artificielle Services liés à Gladys Plus
Apple HomeKit Expose vos appareils Gladys dans l’app Maison d’Apple, comme Alexa et Google Home

:warning: Intégrations dépréciées : un remplaçant communautaire existe déjà

Ces intégrations natives portent déjà le badge « Bientôt dépréciée » et seront supprimées dans une prochaine version de Gladys

Je pense qu’il va falloir bientôt communiquer sur leur suppression d’ailleurs !

Leur remplaçant est disponible dans le catalogue :

Intégration native Remplaçant communautaire
Philips Hue Philips Hue
TP-Link TP-Link Kasa (et Tapo pour la gamme Tapo)
Tuya Tuya
Netatmo Netatmo
MELCloud MELCloud (et MELCloud Home pour les comptes MELCloud Home)
Sonos Sonos
Z-Wave JS UI Z-Wave JS UI
Telegram Telegram
Nextcloud Talk Nextcloud Talk
Free Mobile Free Mobile SMS
OpenWeather OpenWeather, ou Open-Meteo / Météo France

Comment migrer sans rien perdre ?

  1. Installez l’intégration communautaire depuis le catalogue, configurez-la et créez vos appareils.
  2. Sur la page de l’ancienne intégration, cliquez sur Migrer sur chaque appareil et choisissez son équivalent. Gladys déplace l’historique, met à jour vos scènes et vos tableaux de bord, puis supprime l’ancien appareil.

Pour la messagerie (Telegram, Nextcloud Talk, Free Mobile) et la météo, il n’y a pas d’appareil à migrer : installez la nouvelle intégration, puis remplacez dans vos scènes les actions qui utilisaient l’ancienne (par exemple « Envoyer un SMS » devient « Envoyer un message » sur le canal Free Mobile SMS).

:soon_arrow: Prochaines dépréciations : remplaçant disponible, retours bienvenus

Ces intégrations ont déjà un équivalent communautaire. Avant de les déprécier officiellement, on veut s’assurer que rien ne manque : si vous les utilisez, testez le remplaçant et dites-nous ce qui coince.

Intégration native Remplaçant communautaire À savoir
CallMeBot CallMeBot Intégration officielle
eWeLink Sonoff / eWeLink La version native ne fonctionne plus depuis le changement d’API eWeLink de 2023
Broadlink Broadlink Télécommandes RM (IR/RF), prises SP, multiprises MP1, capteurs A1
Tasmota Tasmota En MQTT ou en HTTP
Xiaomi Home (passerelles Xiaomi/Aqara) Zigbee2mqtt ou Matter pour les capteurs Aqara, Xiaomi MIoT pour les appareils Wi-Fi La version native repose sur le mode développeur des anciennes passerelles, qui n’existe plus
EcoWatt RTE éCO2mix, EcoWatt & EcoGaz Demande une clé gratuite du portail de données RTE

:person_raising_hand: À sortir du cœur : on cherche des volontaires !

Ces intégrations n’ont pas encore d’équivalent communautaire. Le template officiel et le SDK sont là pour vous aider à vous lancer. Signalez-vous dans ce sujet pour éviter que deux personnes portent la même !

Portables dès aujourd’hui :

Intégration À savoir
CalDAV Le type « Calendrier » existe déjà. ICS Calendars couvre les agendas publiés en .ics, il manque la synchronisation CalDAV avec identifiants (Nextcloud, iCloud…)
Nuki Serrures en MQTT local et via l’API web Nuki
Google Cast Découverte mDNS fournie par Gladys, annonces vocales sur les enceintes
Airplay MĂŞme principe que Google Cast
Node-RED Lancement du conteneur Node-RED avec son interface accessible sur le réseau local
EDF Tempo Calendrier Tempo EDF existe déjà : il lui manque d’alimenter le calendrier tarifaire « tempo » utilisé par les contrats d’énergie

D’abord une évolution des intégrations communautaires :

Intégration Ce qui manque En attendant
Présence Bluetooth L’accès à l’adaptateur Bluetooth depuis une intégration Rien ne change, l’intégration native reste en place
LAN Manager Un scan du réseau local fourni par Gladys La présence via votre box ou votre routeur existe déjà : UniFi, OpenWrt, NetAlertX, Livebox, ASUS, NETGEAR…
Caméras (RTSP) Le streaming vidéo en direct (les intégrations communautaires envoient des images, pas encore de flux en direct) go2rtc, ONVIF et Frigate existent déjà pour les images
Matterbridge Maintenant que les intégrations externe Gladys existent, je trouve que Matterbridge ne sert plus trop, à voir si on ne veut pas déprécier cette intégration

:speech_balloon: À vous la parole

  • Une intĂ©gration communautaire n’offre pas tout ce que faisait la version native ? Dites-le, c’est exactement ce qu’on veut savoir avant de supprimer quoi que ce soit.
  • Vous voulez porter une intĂ©gration de la liste « Ă€ sortir du cĹ“ur » ? Signalez-vous dans ce sujet !

Merci Ă  tous :rocket:

Pour la partie que j’ai pu tester, le LAN Manager, qui permet de détecter les appareils connectés au réseau, est facilement remplaçable par l’intégration SFR. Donc, à voir pour les autres intégrations, selon les possibilités de chacune.

Tout me semble très cohérent.
Je dirais que supprimer matterbridge est un peu too much, je le passerai en intégration externe pour ceux qui ont encore des choses dessus, et ceux qui ne veulent que du Matter au lieu d’intégrations externes.
Il faut prendre le mĂŞme raisonnement que pour node-red Ă  mon avis.

@ProtZ tu pourrais migrer Nuki en intégration externe ? Si tu n’as pas de license Claude, on peut s’en occuper :grin:, mais je préfère te demander si tu veux rester maintainer de cette intégration !

Tasmota à été testé et éprouvé :wink:

Que se passe-t-il quand tu passes chez free ?
A mon avis il y a obligation de tout refaire : scènes, dashboard, etc.

Est-il possible d’avoir une intégration externe LAN Manager qui permet de choisir ensuite les appareils issus des intégrations SFR, Unifi, Orange, etc. ?
Ca permettrait d’avoir une couche médiane qui serait utilisée dans les scènes, etc., et qui ne dépendrait pas d’une box particulière.

Je veux bien m’occuper des intégrations à migrer (et les maintenir) mais je ne dispose pas nécessairement du matos pour tester.
Pour Google cast j’ai un chromecast et pour Airplay, un iPad (aucune idée de si cela peut suffire).
Je peux migrer Node-RED (testable) et CalDAV (si c’est pas trop technique).

Nuki et EDF Tempo ne seront pas testables de mon côté.

SI c’est OK, je m’y lance de suite !

Pour caldav vois juste avec @bertrandda mais le reste vas y, premier arrivé premier servi !

VoilĂ , Airplay et Google Cast sont live. Node-RED est en cours.

J’attends les réponses de @bertrandda (CalDAV) et de @ProtZ (NUKI) avant de lancer Claude dessus :wink:

A voir si ces limites sont acceptables, surtout pour Node-RED :
Pour Node-RED :

  • Pas d’accès USB/sĂ©rie ni de diffusion rĂ©seau (mDNS, dĂ©couverte UDP) depuis les flux : Gladys ne donne pas d’accès privilĂ©giĂ© aux sous-conteneurs.
  • Adresse MQTT Ă  changer : localhost dĂ©signe Node-RED lui-mĂŞme. Les nĹ“uds MQTT doivent viser l’adresse IP de la machine Gladys.
  • Migration manuelle : les flux s’exportent depuis l’ancien Ă©diteur et s’importent dans le nouveau, puis il faut ressaisir les mots de passe des nĹ“uds de configuration.
  • Une seule version (Node-RED 5) au lieu du choix entre 3, 4 et 5.

Pour Airplay :

  1. Licence AGPL-3.0 : la bibliothèque AirPlay (@lox-audioserver/node-airplay-sender, celle qu’utilise le service intégré) est sous AGPL-3.0 et elle est incluse dans l’image Docker. J’ai donc mis le projet sous AGPL-3.0-or-later au lieu de l’Apache-2.0 du template. Dites-moi si vous voulez une autre approche.
  2. Volume de « Jouer une notification » ignoré : Gladys ne transmet pas ce volume aux intégrations externes, seulement l’URL de la voix. La notification est donc jouée au volume de l’enceinte. Pour la régler dans une scène, il faut d’abord une action « Contrôler un appareil ». .
  3. Risque réseau Docker : certaines enceintes AirPlay 2 doivent recontacter l’émetteur pour se synchroniser, ce qui peut échouer derrière le réseau Docker. Une enceinte pourrait alors être trouvée mais rester muette. Le contournement prévu est de forcer « AirPlay 1 (RAOP) » dans la configuration. C’est le point à vérifier en priorité sur du vrai matériel.

Google Cast : Volume des annonces : Gladys ne transmet pas le volume de l’action « Jouer une notification » aux intégrations externes. Il se règle donc dans la configuration de l’intégration, et le volume d’origine est remis après l’annonce.