Changelog (version stable) du plugin NUT Free
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.
13/03/2026 (v2.2.1)
- [FIX] Le widget ne s’affichait pas dans un Design Jeedom (mode d’affichage personnalisé) — corrigé
- [FIX] En cas de multiples équipements NUT Free sur un même Design, les icônes et boutons pouvaient se mélanger entre les tuiles — corrigé
- [FIX] Le nom de l’équipement pouvait dépasser les bords de la tuile si le nom était long — il est maintenant tronqué avec
…
- [FIX] Les couleurs des icônes (statut UPS, connexion SSH) s’adaptent désormais au thème clair/sombre de Jeedom
- [NEW] Les boutons d’action de l’onduleur sont automatiquement masqués lorsqu’on est en mode édition
- [REMOVE] Suppression du dossier
docs/ embarqué dans le plugin (la documentation est désormais hébergée en ligne)
- [NEW] Le dossier
docs/ est automatiquement supprimé lors de la mise à jour si toujours présent
- [FIX] Le widget mobile s’affiche désormais sur le même modèle que la version Dashboard
- [FIX] Les couleurs du widget mobile s’adaptent au thème clair/sombre de Jeedom
- [NEW] La page du plugin propose désormais un bouton pour basculer entre l’affichage en cartes et l’affichage en tableau
- [NEW] En mode tableau, chaque équipement indique maintenant s’il est visible ou masqué sur le Dashboard
12/03/2026 (v2.2.0)
REPRISE
Reprise du plugin par TiTidom depuis février 2026. Réécriture du plugin avec démon Python et intégration de SSH-Manager — première version stable de la branche v2.
Démon Python
- [NEW] Remplacement du polling PHP par un démon Python (
nutfreed.py) avec boucles de polling cyclique, heartbeat et événements
- [NEW] Support SSH intégré pour la collecte des données NUT (via SSH-Manager)
- [NEW] Support de l’authentification NUT (username / password)
- [NEW] Surveillance par équipement (per-device status watcher) : détection des changements d’état en temps réel
- [NEW] Facteur de cycle configurable (
cycleFactor) pour ajuster la fréquence d’interrogation
- [FIX] Gestion robuste du PID du démon : arrêt propre, nettoyage et sortie explicite
- [FIX] Correction du chemin d’import PyNUT / PyNUTClient
Installation et dépendances
- [NEW] Support PyEnv et nouveau script d’installation (
install_apt.sh) avec environnement virtuel Python
- [NEW] Ajout de
hasOwnDeamon et maxDependancyInstallTime dans info.json
- [NEW] Appel automatique de
getPythonVersion au démarrage du démon
- [FIX]
ensureCron() supprimée — évite la création d’un double cron en base de données
- [UPDATE] Migration automatique dans
Nut_free_update() : suppression de l’ancien cron manuel si présent
Configuration et UI
- [NEW] Sélecteur de
cycleFactor avec liste déroulante dans la configuration
- [NEW] Option de désactivation des messages de mise à jour
- [NEW] Valeur par défaut de
cycleWatcher appliquée à l’installation et à la mise à jour
- [NEW] Section SSH : paramètre
Délai Aléatoire (collecte SSH) — saisie numérique 0–30 s (défaut : 15)
- [UPDATE] Refactorisation des clés de configuration NUT
- [UPDATE] Port socket par défaut synchronisé à
55113
- [NEW] Workflows CI GitHub Actions ajoutés
Refonte UI — Widgets Dashboard et Mobile
- [NEW] Widget Dashboard et Mobile redessinés (layout, icônes, espacements)
- [NEW] Affichage des commandes action dans le widget Dashboard et Mobile
- [NEW] Affichage du fabricant de l’équipement (tooltip sur le Dashboard)
- [NEW] Bouton de rafraîchissement manuel sur le Dashboard (click handler)
- [NEW] Toggle visibilité du mot de passe pour les champs NUT
- [NEW] Colonne
htmlstate et chargement asynchrone des commandes
- [NEW] Interface de partage de lien Community Jeedom et affichage des infos système
- [NEW] Classe
.nut-icon pour les icônes (remplace les styles inline)
- [UPDATE] Normalisation des identifiants logiques (
logicalId) et traduction complète des statuts UPS
- [UPDATE] Standardisation des clés de commandes, renommage des champs et capitalisation des labels FR
- [UPDATE] Icônes mises à jour (Font Awesome), ajout de la classe
icon_blue sur les commandes concernées
- [UPDATE] Refonte du mapping de commandes et de la création automatique des commandes après sauvegarde
- [UPDATE] Refonte du rendu PHP des commandes dans
toHtml() avec support live-update JS
- [UPDATE] Désactivation de l’autocomplétion sur les champs sensibles (identifiant, mot de passe)
- [FIX] Préservation de 2 décimales pour les valeurs converties en minutes (ex.
battery.runtime)
Mode SSH
- [NEW] Mode SSH (via SSH-Manager) : collecte synchrone des données NUT à distance
- [NEW] Découverte automatique des UPS en mode SSH (
upsc -l)
- [NEW] Polling SSH configurable par équipement via expression cron (
sshPollingCron, défaut : * * * * *)
- [NEW] Support de
setrwvar et instcmd en mode SSH
- [NEW] Nettoyage des commandes dynamiques en mode SSH (
cleanDynamicCmds)
- [NEW] Délai aléatoire d’exécution configurable de 0 à 30 secondes (défaut : 15 s) via le paramètre
sshRandomDelay
Commandes instantanées et variables R/W
- [NEW] Interrogation de la liste d’UPS avec un seul bouton (instcmds + rwvars)
- [NEW] Support des commandes instantanées NUT (
instcmd) avec retour du résultat dans l’interface
- [NEW] Prise en compte de l’historisation par commande dans l’interface
- [UPDATE] Refonte du formulaire de liste NUT et du panneau de données UPS
- [UPDATE] Simplification du markup du formulaire de liste NUT
Templates de commandes
- [NEW] Création de 10 templates de commandes UPS dédiés — affichage des informations (binaire, numérique, texte) et des actions (bouton, envoi de message), en version Dashboard et Mobile
- [UPDATE] Nommage des templates
*.ups.html
- [UPDATE] Alignement de la taille de police dans tous les templates
- [UPDATE] Prise en charge des placeholders sur les commandes
action.message
Classe PHP
- [NEW]
preRemove() — notification du daemon lors de la suppression d’un équipement NUT TCP (remove_device)
- [UPDATE] Attribution automatique du template
ups aux commandes info et action à la création
- [UPDATE] Forçage du subtype
message pour les commandes RW (variables R/W NUT)
- [FIX] Le flag
isDynamic n’est posé qu’à la création d’une nouvelle commande (pas sur les commandes statiques)
- [FIX] Double exécution du cron SSH corrigée — la planification est désormais gérée nativement par Jeedom
Ajax / JS
- [FIX] Utilisation du message d’exception (au lieu du type) dans les réponses d’erreur AJAX
- [UPDATE] Simplification du gestionnaire d’erreurs JS côté desktop
- [UPDATE] Simplification du protocole de communication avec le démon Python
Données NUT
- [UPDATE] Mapping de commandes NUT enrichi — 232 variables supportées, catégories
ambient, battery, device, driver, input, output, server, ups (nouveaux labels FR, unités, sous-types et icônes)
Traductions
- [UPDATE] Mise à jour des traductions
de_DE, en_US, es_ES, it_IT, pt_PT
Logs / Callback daemon
- [UPDATE] Comptage des valeurs mises à jour (
$updatedCount) — le log indique désormais “X valeur(s) mise(s) à jour”
- [UPDATE] Logs de callback enrichis avec le nom de l’équipement concerné
Documentation
- [NEW] Documentation mise à jour
Prérequis
- [UPDATE] Version minimale Jeedom portée à 4.4.8 (requis par
cronIsDue())
30/07/2023 (v0.38)
- [UPDATE] Remplacement de libSSH2 par php-phpseclib
26/03/2023 (v0.37)
- [NEW] Ajout de la variable
ups.temp
14/11/2020 (v0.36)
- [FIX] Ajout de
2>1| grep -v '^Init SSL' suite à un problème sur PI4 en local (erreur de certificat SSL)
26/04/2020 (v0.35)
- [FIX] Correction des warnings en retour dans
cron_event
12/02/2020 (v0.34)
- [NEW] Ajout de
RealPower
- [UPDATE] Modification de la gestion de l’icône Sur batterie / Secteur
04/02/2020 (v0.33)
- [NEW] Ajout du temps en minutes pour
batt_runtime et timer_shutdown
02/02/2020 (v0.32)
- [FIX] Correction de warnings PHP
19/10/2019 (v0.31)
- [UPDATE] Modifications pour la compatibilité Jeedom V4
v0.30
- [NEW] Ajout de la température
- [UPDATE] Mise à jour de la documentation
v0.24
- [NEW] Ajout du mode debug
- [UPDATE] Modification des textes
v0.23
- [NEW] Ajout de
ups.timer.shutdown
- [UPDATE] Changement des icônes
v0.22
- [NEW] Ajout de
ups.status
- [UPDATE] Changement des icônes