J’essaye d’optimiser un peu l’écriture de mes scénarios et notamment d’en utiliser un seul pour plusieurs commandes.
Prenons l’exemple de mon chauffage :
J’ai un virtuel par bloc de clim qui va lancer des commandes (mode chaud, froid, ventilation à 10, ect.)
J’ai donc une dizaine de virtuels qui ont le même nom à l’exception de la pièce ([Clim Bureau], [Clim Parents], etc.)
Aujourd’hui, j’ai autant de scénario que de blocs de clim, qui font la même chose mais pas sur le même bloc.
Je n’ose croire que ce n’est pas possible, mais je ne trouve rien sur le pourquoi du comment de ce tag dans les équipements et comment les utiliser partout.
Accessoirement, si vous avez une autre méthode pour arriver à solutionner ma problématique (1 scénario, action différentes sur différents blocs de clim), je prends, sachant que toutes mes commandes sont stricto les mêmes hormis sur le nom de la pièce.
J’ai vu passer cette fonction, sauf que ca va me remonter « Climatisation Salon » au lieu de « Salon » tout court, et j’ai besoin de « Salon » pour utiliser dans les commandes « Climatiseur Salon ».
Ou je lui colle un regex dans les dents pour extraire que ce dont j’ai besoin ?
Mais c’est un peu lourd pour si peu ^^
J’ai bien lu ce passage
Ça ne le dit pas comment l’utiliser.
J’ai vu passer sur le forum des choses comme « PIECE = salon » sans que ça ne donne rien.
En mettant juste salon, ça ne donne rien non plus.
Il y a une syntaxe particuliere pour l’initialiser, ce tag ?
J’étais entrain d’écrire un nouveau sujet quand je suis tombé sur ton poste, j’ai exactement le même souci, est ce que tu as trouvé une solution @axelpg ?
j’essaye d’executer une commande de ce type #[tag(Room,« chambre 1 »)][StoreDescente][On]# dans un scénario mais en vain.
Je voudrais faire un scénario générique et pouvoir passer en tag des noms de pièces « Cuisine » « Salon » « WC » à la place de « Bureau »
À chaque fois que je fais une modif, il faut répercuter la modif partout. Comme j’ai 15 scénarios pour juste allumer les lumières, j’ouvre 15 onglets et je copie-colle, c’est lourd et surtout source d’erreur. Le copier-coller c’est bien, mais je n’en peu plus, même avec un template.
Tout fonctionne, mais je suis bloqué sur le problème pour exécuter la commande #[Bureau][Lumiere][Allumer]# qui devient #939# en passant par le tag Allumer
Tu peux en déduire la pièce… C’est $level[0] dans le bout de code du dessus (plus ou moins les []#)
Regarde bien le truc au dessus… 1 tableau $cmds avec les 15 actions à créer 1 fois… et ça construit les 15 tags tout seul… La seule modif, c’est quand tu ajoutes la 16ème commande.
Tu mets le bloc code en premier dans ton scénario … Et tu ajoutes interrupteurs en tant que déclencheur
Oui là faut peut-être passer par un bloc code et faire un execCmd par exemple $ret=cmd::byString($tags['#Allumer#'])->execCmd();
Je vais enfin pouvoir retravailler mon unique scénario…
C’est le genre de scénario assez critique car il gère les lumières principales de toute les pièces. Et ce n’est pas l’endroit où faire une erreur : si la lumière principale de la chambre s’allume pendant que Madame dort…
Je vais réfléchir… Pour la partie déclencheur, je compte rester sur un scénario par pièce. C’est plus simple pour le debug général (En effet, lorsque plusieurs personnes se déplacent, les scénarios s’activent dans tous les sens)
C’est effectivement un aspect dont il faut tenir compte.
Dans ce cas, tu remplaces la partie $trigger=cmd::cmdToHumanReadable($scenario->getRealTrigger()); par la lumière que tu veux piloter par exemple (avec l’id par exemple, comme ça si tu renommes ça marche quand même)
Et tu adaptes la création auto des tags en gérant juste la liste de $cmds
Désolé j’arrive trop tard, oui je suis passé par un bloc et j’ai refait tous mes scénarios comme ça mais je trouve que c’est chiant (excusez moi le terme ) parce que j’ai 2 scénarios qui sont un peu compliqué et j’ai dû tout remplacer par des tags, voici la tête de mon bloc code :
Ah bah voilà ce que je cherchais au début, merci à toi aussi @zied.nemili
Non, tu n’es pas le seul et il y a plusieurs sujets de ce type qui sont sans solution depuis des mois.
Je n’en peux plus des copier-coller sur Jeedom !
Il manque la notion de hiérarchie, c’est la base pour ne pas dupliquer du code !
Le top, ce serait de pouvoir créer un virtuel template avec des entrées/sorties et des scénarios intégrés, un peu comme pour les circuits électroniques/fonctions informatiques, on crée un bloc qu’on peut réutiliser plusieurs fois et câbler différemment si besoin. Si on effectue une modif à l’intérieur du bloc, la modif se répercute partout où le bloc est utilisé.
Un début de discussion sur la notion de hiérarchie avec @yoannfilloux ici.
eh oui, une template de virtuel avec scénario intégré au virtuel avec ses entrées/sortie…
ce serait plus simple pour tout structurer proprement
tu dupliques à tour de bras