Change ..For each ...do

Bonjour à tous,

Merci à ceux qui me liront et réfléchiront à ma problématique…

J’ai une très grande maison (+ de 400 m²) qui est aussi mon outil de travail (c’est une maison d’hôtes). De par la configuration de la maison et de l’activité qui y est liée, j’ai vraiment besoin de m’assurer que quand je demande à Jeedom de mettre le chauffage dans telle ou telle chambre, le chauffage soit bien mis en place.

Mon système de chauffage est organisé par un petit réseau de 27 têtes de vannes thermostatiques POP (baseDanfoss) qui marchent parfaitement bien ! Seulement, nous ne sommes jamais à l’abri d’une vanne ou d’un réseau qui déconne, et je vous avoue que j’aurais beaucoup de mal à expliquer à un client les problématiques possibles liées à un réseau Z-Wave qui justifierons qu’il s’est pelé les roupettes pendant toute la nuit…

Par conséquent, j’envisageai la création d’un scénario qui, sur mes vannes, vérifierait que la consigne de température en attente d’application (consigne pending), s’est bien installée dans un délai raisonnable (à la base, les vannes ont un réveil toutes les 5 minutes). L’idée est de vérifier qu’au bout de 10 minutes de modification du « consigne pending », la consigne de la vanne (« consigne ») a bien été modifiée elle aussi, donc que « consigne pending== consigne ».

Je rencontre plusieurs problèmes/questions à la mise en place de scénario :

  • D’abord, comment s’informer que la commande « consigne pending » a changé ? Comment gérer le scénario sur ce déclencheur ?
  • Ensuite, comment simplifier le scénario pour que soit pris en compte l’ensemble des vannes d’un coup, juste histoire que je n’ai pas à réaliser 27 blocs ? (for each « vannes » do [vérification]) Remarquez que ce n’est bien sûr pas un impératif. Si par facilité il faut faire 27 blocs, ce n’est pas un problème. Dans la même idée, créer une nomenclature spécifique pour mon système n’est pas un problème ( genre préfixer toutes les pièces par « P », les équipements par « EQ » et donc les vannes par « EQ Vannes ») pour permettre l’utilisation de wildcards qui finirait par ressembler à #[P *][EQ Vanne *][Consigne Pending]#
  • Pour les plus calés, pensez vous que le plugin Alarme (je l’utilise déjà pour mes détecteurs de fumée), pourrait être une solution à cette problématique ? dans le sens ou l’on mesure quelque chose et que l’on réagit à cela (notification, action ou équivalent…)

Merci de votre lecture et de votre aide.

Au plaisir de vous lire et d’échanger.

Sébastien.

Salut,

Tu peux t’inspirer de ce message pour faire un bout de code : Monitoring batterie modules xiaomi
En ajoutant un système de variables tu devrais t’en sortir.

Salut @kaktusatomik,

Merci beaucoup de ta réponse et j’admire ta confiance en moi :slight_smile: , mais je t’avoue être nul en programmation : je ne comprend pas où placer ce code ni ce qu’il fait réellement, alors de la à l’adapter et d’ajouter un système de variable…

Faut-il créer un bloc Code dans le scénario ? Comment alors déclencher le scénario à la modification de la valeur « consigne pending » sur l’une des vannes ?

Merci d’avance.

Seb

Tu peux utiliser la consigne de chaque vanne comme déclencheur du scénario, puis dans le scénario faire un bloc si et tester s’il y a eu un changement récent avec une commande du genre stateChanges (voir l’aide scénario) et un bloc DANS qui tu règles à 10 minutes pour tester alors l’égalité.

La première étape c’est vraiment de créer un scénario qui fonctionne pour une ou deux vannes et de le valider. Ensuite, effectivement tu peux passer par du code mais ce sera compliqué si tu ne connais pas. Ma suggestion c’est de passer par l’édition au format texte : tu exportes ton scénario en texte, puis tu fais des copier-coller pour ajouter les autres vannes, voire un publipostage word si tu es familier avec cela et tu colles en édition texte.

Je pense que ça apportera plus de confusion qu’autre chose. Ce que tu veux faire n’est pas très compliqué finalement, c’est un ou deux blocs SI et les bonnes conditions à mettre en place. En lisant bien la doc, avec quelques essais et questions ici ça devrait le faire.

Bonjour,

Désolé de mon délai de réponse. Merci beaucoup @seb821, je comprend bien toute la logique.
J’essaie de m’occuper de cela rapidement et fait un retour dès que possible.

Merci encore de votre aide.

Seb