Mes excuses si la solution a deja ete postée, j’ai po trouvé
J’utilise MQTT Manager pour des remontées d’info, tout va bien. Le souci c’est que le noeud emetteur est eteint le soir. A partir de ce moment l’info remontée ne vaut plus rien.
L’exemple parfait : status = true alors que le machin est off depuis 4 heures
J’ai eu beau chercher, je n’ai rien trouve qui permettrait dans la commande (info) d’un noeud de dire quelque chose dans le style : if l’info date de plus de tant de temps (>X secondes ou minutes) alors valeur=Y. On pourrait imaginer un (last_comm>120)? 0:#value#
Si quelqu’un a une soluce qui fonctionne, si possible evitant de passer par du bricolage genre scenario par command_id qui teste le dernier push pour en faire un bidon qui force des valeurs, je prends.
Sinon, une suggestion pour le core ? Apres tout la valeur de l’information est primordiale et un test de validite fait sens
Ben le truc c’est que comment tu fais la différence entre une lumière que tu as allumée le matin à 8h et qui est toujours allumée le soir à 22h (sur laquelle il y a donc pas eu de changement d’état) et une que tu as allumée à 21h éteint à 23h mais pour lequel ton noeud emmeteur est éteint ?
Tu ne peux pas juste te baser sur la durée de changement d’état dans ce contexte la.
Je pense que ton besoin est loin d’être aussi simple et standard que tu ne le présente.
Sinon pour répondre à ton besoin, je pense qu’effectivement la meilleure solution serait un scénario qui soit en mesure de tester si le noeud emmeteur est vivant ou non et de forcer des états via event si besoin.
Mais bon on peut pas dire que ce soit un besoin standard.
Je fais la difference car en MQTT (le cas ici), le device va regulierement emettre sauf eteint. La logique ici est de dire : si le dernier record qui a produit cette valeur age> X, alors value=0 sinon #value#.
Le scenario, c’est bien sur une reponse mais c’est un canon pour tirer une mouche a mon sens.
Il ne me parait pas incongru d’avoir quelques fonctions ultra simples dans la formule de calcul pour un test de base. ping serait deplace c’est du scenario oui.
Par contre, une simple commande qui calcule naturellement l’age de la valeur, ca fait sens me semble t-il, tout en etant simple…
Autre solution mais plus disons audacieuse : permettre a une info de noeud de lancer une simple expression et alors ca ouvre un champ des possibles infini
On pourrait imaginer : action a chaque appel de la valeur et un champ à la “testeur d’expression” qui d’une ligne va pondre la reponse qui peut changer la valeur