Changelog (version stable) du plugin Mcp IA
IMPORTANT
S’il n’y a pas d’information sur la mise à jour, c’est que celle-ci concerne uniquement de la mise à jour de documentation, de traduction ou de texte.
27/04/2026 (v1.1.15)
Designs Jeedom
- [NEW] L’agent IA peut désormais interagir avec les Designs Jeedom directement depuis une conversation : lister les Designs disponibles, consulter leur contenu complet (blocs, positions, configurations), créer de nouveaux Designs vides et y ajouter, modifier ou supprimer des blocs (texte HTML, équipements, commandes, scénarios, graphiques, zones, images, liens).
- [NEW] L’agent peut récupérer les images de fond de plusieurs Designs en une seule opération pour analyser visuellement leur disposition avant d’y placer des éléments.
- [NEW] L’agent peut modifier les propriétés d’un ou plusieurs Designs existants en une seule opération : nom, dimensions du canvas, couleur de fond, transparence, icône et ordre d’affichage. Seuls les champs transmis sont modifiés, les autres sont conservés.
- [NEW] L’agent peut supprimer un Design entier avec tous ses blocs — une confirmation explicite est requise : le premier appel retourne un aperçu du nombre de blocs concernés, le second confirme la suppression définitive. Les fichiers image physiques associés aux blocs de type image sont également supprimés.
- [NEW] Trois nouvelles permissions sont disponibles dans la configuration du profil : lecture, modification et suppression des Designs.
Scénarios — Robustesse
- [FIX] Le bouton “Afficher/Masquer SINON” dans l’éditeur de scénario Jeedom provoquait une erreur JavaScript si l’agent omettait le bloc
else — le guide impose maintenant la présence systématique d’un bloc else dans tout élément IF, avec expressions: [] lorsqu’il est vide.
Scénarios — Optimisation
- [NEW] Pour une commande pouvant prendre M≥2 valeurs distinctes (binaire, multi-états…) avec plusieurs déclencheurs, l’agent peut maintenant générer un scénario plus compact : un seul bloc IF par déclencheur avec les tests de valeur groupés à l’intérieur, au lieu d’un bloc séparé par combinaison déclencheur/valeur.
- [NEW] L’action
stop (arrêt immédiat du scénario) est maintenant documentée dans le guide interne avec sa règle d’usage : l’agent analyse systématiquement si des blocs en aval doivent encore s’exécuter avant d’insérer un stop.
Plugin
- [FIX] La whitelist des équipements est désormais préservée lors d’une désactivation du plugin — elle n’est supprimée qu’à la désinstallation réelle.
- [FIX] La configuration Apache du proxy MCP est désormais correctement rétablie après une réactivation du plugin.
- [FIX] Message de log ajouté lors la sauvegarde d’un profil si le démon n’est pas démarré — le diagnostic est ainsi facilité.
- [UPDATE] Nettoyage du code.
15/04/2026 (v1.1.10)
Scénarios — Guide interne et robustesse
- [NEW] L’agent dispose maintenant d’un guide de référence complet sur les scénarios Jeedom : toutes les fonctions de conditions (statistiques, historiques, durées, déclencheurs, variables, tags…), les actions natives (sleep, variable, tag, message, ask, wait…) et les blocs PHP sont documentés avec leurs paramètres exacts, leurs comportements et leurs cas limites.
- [UPDATE] Ce guide a été enrichi de plus de 80 corrections de précision et est désormais organisé en deux espaces clairement séparés : l’un pour agir sur les équipements, l’autre pour construire ou modifier des scénarios. Cette séparation améliore la fiabilité des scénarios générés.
- [FIX] Plusieurs fonctions de scénario étaient documentées avec un comportement inexact dans certains cas limites — notamment les fonctions de moyennes temporelles, les comparaisons de déclencheur, et les calculs de durée.
- [FIX] Lorsqu’un scénario reçoit des paramètres au lancement (une pièce, un niveau, un message…), l’agent peut maintenant les lire et les utiliser de façon fiable partout dans le scénario.
- [FIX] L’agent ne tentera plus de combiner l’attente d’une réponse utilisateur avec l’exécution en arrière-plan — une association qui produisait un scénario silencieusement invalide.
- [FIX] La vérification d’un intervalle horaire peut maintenant être utilisée dans toutes les expressions de calcul d’un scénario.
- [FIX] Le mode d’un scénario (provoqué, programmé) n’était pas appliqué lorsque l’agent envoyait une valeur incorrecte — un warning est maintenant enregistré dans les logs pour faciliter le diagnostic.
- [FIX] Un bloc commentaire dans un scénario générait une erreur de validation si l’agent omettait le champ
expressions — ce champ est maintenant obligatoire même vide.
- [FIX] Un scénario créé par l’agent pouvait être actif dès la création — tout scénario est maintenant créé inactif par défaut.
- [FIX] Le texte d’un commentaire placé dans un scénario n’apparaissait pas dans l’interface Jeedom — le format attendu est corrigé : le texte va dans le champ
expression d’une expression de type comment.
- [FIX] La fonction
trigger() sans argument pouvait produire une comparaison toujours fausse lorsque l’agent entourait la valeur de # — la valeur retournée ne contient pas de #, la forme trigger(#cmdId#) est désormais recommandée.
- [FIX] L’agent utilisait la notation dépréciée
#monTag# pour lire un tag de scénario — le guide impose maintenant exclusivement la forme tag(name), plus fiable depuis Jeedom 4.2+.
- [FIX] Dans un scénario avec plusieurs déclencheurs, l’agent générait des blocs IF sans garde
trigger(#cmdId#) — chaque condition était évaluée à chaque déclenchement. Le guide impose maintenant le pattern trigger(#cmdId#) ET #cmdId# == valeur.
07/04/2026 (v1.1.6)
Optimisation des échanges avec l’agent IA
- [UPDATE] Les descriptions de tous les outils MCP (50 au total) ont été compactées : chaque outil expose désormais l’essentiel en 3 à 5 lignes au lieu de 30 à 70 lignes, réduisant significativement la consommation de tokens à chaque échange — un gain permanent à chaque conversation.
- [NEW] 13 guides thématiques sont désormais disponibles à la demande via la ressource
jeedom://home/guide/{section} : l’agent peut charger uniquement la section dont il a besoin (ex : executeActions, searchDevices, setScenarioBlocks…) plutôt que de recevoir toute la documentation en une fois.
Outils caméra — Fiabilité et guidage de l’agent
- [UPDATE] L’agent sait désormais quelles commandes caméra utiliser — et lesquelles éviter. Il ne tentera plus de passer par une commande de capture locale ou d’enregistrement pour obtenir une image.
- [UPDATE] Avec le plugin Frigate, l’agent utilise maintenant par défaut le snapshot live (
link_snapshot). Il n’a recourt au snapshot du dernier événement détecté (info_url_snapshot) que si l’utilisateur le demande explicitement.
- [FIX] Lorsqu’une caméra ne retourne pas d’image, l’agent reçoit désormais un message explicatif avec la cause probable et une suggestion pour corriger.
- [FIX] Si l’URL d’une caméra retourne un contenu invalide (page d’erreur, réponse vide…), l’agent le détecte et le signale clairement, au lieu de transmettre silencieusement une image vide.
Outil caméra — Snapshot
- [NEW]
getCameraSnapshots — l’agent IA récupère une ou plusieurs images de caméras Jeedom (JPEG, PNG ou WebP) et les analyse pour vous : il décrit la scène, détecte un objet, une anomalie, ou répond à vos questions sur ce qu’il observe. Passer plusieurs caméras en une seule requête est supporté. Les images elles-mêmes n’apparaissent pas dans le chat — le protocole MCP les transmet directement à l’agent pour analyse, sans les retourner dans l’interface.
- [NEW] Compatible avec le plugin Caméra natif Jeedom (commande info
urlFlux — live fetch depuis la caméra à chaque appel via snapshot.php).
- [NEW] Compatible avec le plugin Frigate : commande
link_snapshot (snapshot live via proxy) ou info_url_snapshot (snapshot du dernier événement détecté).
- [NEW] Paramètre optionnel
triggerCmdId : déclenche une commande action avant de lire la valeur de l’image — utile pour les plugins où un déclenchement explicite est nécessaire pour rafraîchir l’image avant lecture. Exemple avec Frigate : action_create_snapshot + info_url_capture.
- [NEW] Les flux vidéo continus (RTSP, RTSP sécurisé, HLS
.m3u8) sont automatiquement détectés et refusés avec un message d’erreur explicite — seules les images statiques sont supportées.
- [NEW]
sendCameraSnapshots — l’agent envoie une ou plusieurs photos de caméras vers une destination (Discord, Telegram, notification push…). Il suffit de lui dire « envoie une photo de la caméra jardin sur Discord ». Compatible plugin Caméra natif et Frigate, détection automatique. N caméras = N messages indépendants.
Annuaire des équipements
- [UPDATE] L’arbre des équipements expose désormais l’identifiant technique (
logicalId) de chaque commande — l’agent s’appuie sur cet identifiant stable pour sélectionner les commandes de manière fiable, même si vous avez renommé des commandes dans Jeedom.
- [UPDATE]
searchDevices — nouveau filtre logicalIds : l’agent peut désormais rechercher des commandes directement par leur identifiant logique (ex : urlFlux, sendSnapshot, action_create_snapshot). Utile pour cibler précisément les commandes spécifiques à un plugin indépendamment de leur nom affiché.
Performances
- [UPDATE] Au démarrage du démon, l’arbre complet des équipements est maintenant calculé une seule fois pour tous les profils actifs, au lieu d’une fois par profil.
Compatibilité plugins tiers — champs étendus
- [NEW] Les plugins Jeedom peuvent désormais déclarer une méthode statique
mcpMetadata() dans leur classe principale pour exposer au LLM le schéma complet des paramètres de leurs commandes (ex : commande sendEmbed de DiscordLink avec les champs description, footer, url, color, files, field).
- [NEW] Ces champs supplémentaires sont inclus dans l’arbre des équipements : le LLM peut les découvrir via
jeedom://home/devices ou searchDevices, puis les transmettre directement à executeActions.
- [UPDATE]
executeActions — pour les commandes de type message, les champs déclarés dans mcpMetadata() et fournis par le LLM sont désormais automatiquement transmis au plugin, en plus des champs standard title et message.
Interprétation des valeurs par l’agent IA
- [FIX] L’agent IA pouvait mal interpréter certaines valeurs numériques en ignorant leur libellé : par exemple, confondre “82 % d’espace libre” avec “82 % utilisé”. L’agent est maintenant explicitement guidé pour lire le nom de la valeur avant de l’interpréter, aussi bien dans
getHealthStatus que dans readValues.
03/04/2026 (v1.1.2)
Plugins & Démons
- [NEW]
listPlugins — inventoriez tous les plugins installés sur votre Jeedom : état (actif/inactif), version, auteur, licence, catégorie, compatibilité OS, liens vers la documentation et le changelog.
- [NEW]
listDaemons — consultez l’état en temps réel de tous les démons de plugins (mcpIA, TTSCast, DiscordLink…) : état (ok/nok), capacité à démarrer, gestion automatique activée ou non, date du dernier démarrage.
- [NEW]
managePlugins — gérez les démons et les dépendances des plugins en lot : démarrer, arrêter, redémarrer un démon ; lancer l’installation des dépendances ; basculer la gestion automatique. Nécessite l’option Contrôle des plugins & démons dans la configuration du profil. L’action dependencyStatus (lecture d’état) reste toujours accessible sans permission.
- [NEW] Nouvelle option de permission dans la configuration du profil : “Contrôle des plugins & démons” — active les actions de gestion des démons et dépendances de
managePlugins.
Démon mcpIA
- [UPDATE] Les séquences de démarrage et d’arrêt du démon ont été optimisées et simplifiées.
Dépendances
- [UPDATE] Mise à jour du SDK MCP Python :
mcp 1.26.0 → 1.27.0.
02/04/2026 (v1.1.1)
Prompts MCP
- [NEW] Prompt
pageSante — tableau de bord santé complet de votre installation, équivalent à la page Santé native de Jeedom. Ce prompt guide l’agent IA pour collecter toutes les données de manière structurée et produit un rapport en quatre sections : état système et démons des plugins, bilan des batteries (avec seuils d’alerte), messages en attente, et anomalies dans les logs des 24 dernières heures.
Gestion des équipements
- [NEW]
getDevicesStatus — consultez l’état temps réel de vos équipements (activé/désactivé, visible, batterie, niveau d’alerte, catégorie) pour une liste d’équipements donnés.
- [NEW]
getRoomsSummary — obtenez un résumé agrégé par pièce (température moyenne, nombre de lumières allumées, humidité…) basé sur le moteur de résumés natif de Jeedom. Supporte la maison entière ou un sous-ensemble de pièces.
- [NEW]
setDevicesEnabled — activez ou désactivez un ou plusieurs équipements en lot. Nécessite l’option « Gérer les équipements » activée sur le profil.
- [NEW]
setDevicesVisible — affichez ou masquez des équipements sur le dashboard en lot.
- [NEW]
moveDevicesToRoom — déplacez des équipements vers une autre pièce en lot. L’agent IA demande une confirmation avant d’exécuter les déplacements.
- [NEW]
updateDevicesDescription — mettez à jour les descriptions sémantiques de plusieurs équipements en une seule requête.
- [NEW] Deux nouvelles permissions dans la configuration du profil : « Gérer les équipements » et « Modifier les descriptions ».
- [NEW]
listRooms — listez toutes les pièces Jeedom avec leur hiérarchie et identifiant, utile pour déplacer des équipements ou cibler des résumés.
- [UPDATE]
searchDevices — nouveau paramètre matchAll (mode ET strict) et filtre isEnabled pour retrouver les équipements actifs ou désactivés.
- [UPDATE] L’annuaire
jeedom://home/devices expose désormais le champ eqLogicId par équipement.
- [FIX] Les équipements désactivés étaient invisibles pour l’agent IA et ne pouvaient pas être réactivés via MCP.
- [FIX] Un agent IA ne peut plus désactiver ou déplacer un profil mcpIA lui-même.
29/03/2026 (v1.0.1)
Première version stable du plugin mcpIA — compilation de toutes les fonctionnalités développées en beta.
Connexion et authentification
- [NEW] Connexion sécurisée par token Bearer — le serveur MCP reste accessible même si le démon est arrêté (répond 503).
- [NEW] Token de connexion affiché dans la fiche équipement, avec bouton de copie et renouvellement à la demande.
- [NEW] URLs de connexion (locale et externe) affichées et prêtes à copier dans votre client MCP.
- [NEW] Support OAuth 2.1 — les clients MCP modernes (Claude.ai, Claude Desktop, MCP Inspector, n8n…) peuvent se connecter sans configuration manuelle de token. La page d’autorisation s’affiche directement dans Jeedom après le login.
- [NEW] Gestion des sessions OAuth — le bouton “Configurer” affiche les connexions actives avec révocation par session, par utilisateur ou globale.
- [NEW] Accès OAuth restreint par utilisateur Jeedom — les non-administrateurs peuvent être autorisés profil par profil.
- [SECURITY] Le token Bearer et les clés API sont chiffrés dans la base de données Jeedom.
Équipements et commandes
- [NEW] Sélection précise des équipements et commandes accessibles par l’agent — par défaut, rien n’est accessible.
- [NEW] Descriptions sémantiques par équipement pour guider l’agent.
- [NEW] Inventaire des équipements organisé par pièce, avec filtres par nom, pièce, description, type de commande.
- [NEW] Lecture des valeurs en temps réel, exécution d’actions (interrupteurs, variateurs, couleurs, notifications), plusieurs opérations en une seule demande.
- [NEW] Historique de valeurs, statistiques (min/max/moyenne) et durée dans un état sur n’importe quelle période.
Logs Jeedom
- [NEW] Accès aux logs choisis, avec nom personnalisé (ex. : Scénario Réveil). Logs de scénarios inclus.
- [NEW] Lecture des dernières lignes, recherche par mot-clé, niveau de gravité, plage de dates ou expression régulière — multi-logs en une seule demande.
- [NEW] Vidange ou suppression d’un log si l’option est activée dans le profil.
Scénarios
- [NEW] Liste des scénarios autorisés — l’agent peut les démarrer, arrêter, activer, désactiver, renommer et en consulter le contenu.
- [NEW] Création de scénarios avec blocs, déclencheurs et planification.
- [NEW] Copie d’un scénario existant sous un nouveau nom.
- [NEW] Modification des blocs, déclencheurs et planification d’un scénario existant.
Centre de messages et batteries
- [NEW] Consultation et acquittement ciblé ou global du centre de messages Jeedom.
- [NEW] Surveillance des niveaux de batterie avec liste dédiée, indépendante des équipements contrôlables.
Variables Jeedom
- [NEW] Lecture, création, modification et suppression de variables globales et locales (avec aperçu avant suppression).
Moteur de tâches
- [NEW] Inspection de toutes les tâches planifiées, état en temps réel, liste des démons de plugins.
- [NEW] Contrôle et modification des tâches si la permission est activée dans le profil.
Mises à jour et sauvegardes
- [NEW] Consultation des mises à jour disponibles, vérification et application depuis l’agent (avec permissions dédiées).
- [NEW] État des sauvegardes (locale, Market, Samba) et déclenchement d’une sauvegarde complète.
Diagnostic
- [NEW] Diagnostic complet de l’installation : matériel, base de données, réseau, espace disque, mémoire, Apache, cron, scénarios.
Corrections incluses
- [FIX] La connexion depuis Claude.ai affichait « Server not found » avant même la page d’autorisation.
- [FIX] Après le login Jeedom, l’utilisateur était renvoyé vers le tableau de bord au lieu de la page d’autorisation OAuth.
- [FIX] Au démarrage du démon, des erreurs « socket_connect failed : Connection refused » apparaissaient dans le log mcpIA. La synchronisation d’initialisation garantit désormais que le socket est prêt avant tout envoi.
- [FIX] Des avertissements PHP parasites (« PHP Warning: socket_connect / socket_write ») s’inscrivaient dans le log Apache (
http.error) au lieu d’être traités dans le log mcpIA.
- [FIX] Compatibilité Debian 11 (PHP 7.4) — le plugin est compatible Debian 11, 12 et 13.
- [FIX] Divers correctifs de l’interface de configuration et des outils de l’agent.