[EDIT du 14/06/2024]
Ce tuto a été repris et soumis à approbation pour intégrer la documentation officielle de Jeedom avec la version 4.4.7 sortie en juin 2024.
Celle-ci est désormais en ligne ici.
Il ne devrait donc plus être nécessaire de se référer à ce tuto, qui fait désormais double emploi…
Bonjour,
Aujourd’hui, je vous propose un nouveau tutoriel sur la (bonne) utilisation de l’outil ‹ Remplacer ›, qui est apparu avec la version 4.3.2 de Jeedom.
Celui-ci est valable à partir de la version stable v4.4.5 au 01/05/24, et susceptible d’être soumis à des modifications/améliorations du core par la suite.
Cette fonction est certes déjà documentée (voir ici), mais celle-ci reste relativement succincte par rapport à la portée réelle de cette fonction.
Je vais essayer donc d’approfondir un peu plus et de vous guider pas à pas dans son utilisation (qui n’est pas limitée aux exemples de ce tuto !).
(Elle se cache ici…)
1. Pourquoi un tel outil ?
En cas de problème ou de la nécessité de remplacer d’un équipement physique ou virtuel (qui peut donc être un capteur de température, de présence, une commande de volume, un niveau d’eau, etc…), Jeedom propose depuis la version 4.3.2 un nouvel outil ‘Remplacer’ qui assurera la recopie de l’ensemble des commandes, informations, et historique de cet équipement vers un nouvel équipement.
Il se chargera également de remplacer l’ID de l’ancien équipement par le nouveau dans tous les scénarios, designs, virtuels, etc… qui y faisait référence.
En effet, si l’équipement est supprimé, son ID original sera également perdu et toutes les références seront effacées définitivement. Il faudra alors recréer toutes les commandes et les réintégrer dans l’ensemble des designs, widgets, etc… pour le nouveau module, et ce même si celui-ci est strictement de même type que l’original, voire le même mais avec un ID différent.
Aussi, avant toute suppression d’un équipement, Jeedom va prévenir des conséquences de cette suppression dans une fenêtre d’alerte :
Ici, la suppression de ce capteur de vibration Aqara va provoquer :
- La suppression des affichages définis dans le design Alarmes zones,
- La suppression des informations vibration, niveau de batterie, et date de la dernière communication, y compris en ce qui concerne les historiques,
- La suppression de l’équipement dans le scénario ‘Alarme détection intru’.
Et à partir du moment où cet équipement sera définitivement supprimé, il sera remplacé dans toutes ces entités par un numéro d’ID ou un champ vide à la place de son appellation d’origine :
Et là, vous êtes mal… (mais à ce stade il y a encore un moyen de sauver la situation , voir plus bas…)
2. Les opérations à faire au préalable avant d’utiliser cet outil
Même si l’outil ‹ Remplacer › va vous proposer une sauvegarde de précaution avant, prenez l’habitude d’en faire une avant tout (je vous explique pourquoi un peu plus loin…).
Gardez à l’esprit que cet outil est en effet vraiment puissant dans la mesure où il va aller effectuer les remplacements à tous les niveaux, y compris (évidemment…) ceux auxquels vous n’aviez pas pensé ou oublié (si, si… regardez le petit widget dans le design qu’on utilise presque jamais !).
Et il n’y a (malheureusement…) pas de fonction ‹ undo › pour réparer ses bêtises…
Après cette bonne chose, la phase suivante va être de renommer l’ancien équipement avant de l’effacer définitivement (tout à la fin !!!..).
Pour ce faire, il suffit de lui changer son nom, en ajoutant le suffixe ‹ _old › par exemple.
N’oublier pas de sauvegarder.
L’étape suivante, c’est l’inclusion du nouvel équipement s’il s’agit d’un équipement physique, ou la création du nouvel équipement virtuel, suivant la procédure standard propre à chaque plugin.
Il faut ensuite le nommer avec son nom définitif, définir l’objet parent, sa catégorie, et enfin l’activer. On obtient ainsi deux équipements :
- L’ancien équipement, qui n’existe peut-être plus mais qui reste référencé dans toutes les structures de Jeedom avec ses historiques,
- Et le nouvel équipement, sur lequel il s’agira de recopier les historiques et de le référencer à la place de l’ancien.
Voilà, on a les bases.
3. L’utilisation de l’outil ‹ Remplacer ›
On entre dans le cœur du sujet. Ouvrir l’outil ‘Remplacer’, dans le menu ‘Outils’.
Dans le champ ‘Objet’, sélectionner le ou les objets parents.
Dans les options, sélectionner le mode souhaité (Remplacer ou Copier), et suivant les besoins, les options suivantes (qui sont toutes décochées par défaut !), soit au minimum :
- Copier la configuration de l’équipement source,
- Copier la configuration de la commande source.
Puis cliquer sur ‘Filtrer’
Dans le champ ‘Remplacements’, toutes les entités relatives à l’objet parent apparaissent :
Cocher l’équipement source (celui qu’on a renommé en _old, voir plus haut pour les distraits …), c’est à dire celui à partir duquel on souhaite recopier les commandes, informations, historique…
Ici, l’équipement source sera donc : [Chambre ami][T°Chambre_old] (767 | z2m).
Cliquer dessus pour faire apparaître les différents champs rattachés.
Dans la partie Cible à droite, dérouler la liste et sélectionner le nouvel équipement qui va le remplacer, c’est à dire [Chambre ami][T° chambre] dans notre exemple.
Dans les listes déroulantes qui s’affichent ensuite à droite, les informations sont présentées sur fond bleu, les actions sur fond orange (ci dessous un autre exemple sur un luminaire où il y a des actions et des infos).
Et s’il y a une correspondance directe (même nom en particulier), les différents paramètres seront définis automatiquement.
Ici on a de la chance, tout est automatiquement reconnu…
Sinon, le champ sera vide, et il faudra sélectionner manuellement dans la liste déroulante l’information/action correspondante si pertinent.
On y est presque, il ne reste plus qu’à sauter le pas…
Cliquer sur ‘Remplacer’,
Valider le remplacement, en vérifiant qu’une sauvegarde ait bien été faite auparavant (j’insiste : il n’y a pas de retour en arrière possible !).
D’ailleurs, l’outil vous le proposera. Sauf qu’en quittant cette fonction pour faire la sauvegarde à ce moment, vous abandonnerez également tous les paramétrages qu’on vient de faire, c’est ballot… D’où l’intérêt de faire cette sauvegarde au tout début !
Allez, c’est parti…
Après une brève attente, un pop-up d’alerte va apparaître et va indiquer le nombre de remplacements effectués.
Il ne reste plus qu’à vérifier que tout ce soit bien passé.
4. Les vérifications
Assurez-vous que le nouvel équipement ait bien été pris en compte dans les designs, scénarios, widgets, virtuels, plugs-in, etc… avec sa configuration (disposition, affichage, affectation des widgets,…) et (le cas échéant) l’historique associé.
Pour ajouter une couche, et bien vérifier qu’aucun problème supplémentaire n’ait été généré suite à ce remplacement, il est possible d’utiliser la fonction de détection des commandes orphelines.
Aller sur Analyse, Equipements, cliquer sur l’onglet ‘Commandes orphelines’.
Si tout c’est bien passé, il ne doit y avoir aucune ligne présente dans ce compte rendu. Sinon, il faudra procéder à une analyse ligne par ligne de chaque problème indiqué pour y remédier.
(Ouf… C’est nickel !)
(Aïe… Là c’est moche. Il y a plein de trucs qu’il faudra reprendre un par un…)
[EDIT du 02/05/24]
Il y a néanmoins moyen de récupérer ce genre d’erreur
Un grand merci à @Furaxworld qui indique comment faire dans son message ci-dessous :
Si les commandes orphelines ne sont en effet pas prises en compte par l’outil Remplacer,
il est quand même possible d’opérer à des remplacements avec cette fonction Cette commande remplace l’ID qu’on retrouve ici dans la fenêtre de configuration de la commande :
5. On a fini !
Si tout est OK, l’ancien équipement (T°Chambre_old dans l’exemple) peut alors (enfin) être supprimé. Plus aucune référence ne doit apparaître dans le pop-up d’avertissement lors de la suppression, excepté les commandes intrinsèques à cet équipement.
Là, c’est tout bon, il n’est plus référencé que par son objet d’appartenance et ses propres commandes (normal).
On peut le supprimer sans regrets.
6. Quelques conseils en conclusion
Cet outil est vraiment pratique, mais il est tout aussi dangereux s’il est mal utilisé.
Je rappelle donc les bases :
- Faire systématiquement une sauvegarde, et ce avant même de cliquer sur ‹ Remplacer ›,
- Il n’y a pas d’annulation possible : ce qui est fait, est fait (en bien ou en mal…),
- Et enfin, je conseille fortement de s’entraîner un peu avant d’utiliser cet outil si on ne le maîtrise pas, sur un équipement bidon créé pour l’occasion par exemple, histoire d’être vraiment sûr de ce qu’on fait…
Comme toujours, si vous voyez des inexactitudes sur ce que j’ai écrit ci-dessus, n’hésitez surtout pas à m’en faire part, je corrigerai !