Une question bete, mais j’ai pas trouver (ou mal chercher)
J’utilise JMQTT avec une alarme ring. Les capteurs me remonte un paramètre « commstatus » qui prend le valeur « ok » ou « nok » (donc c’est configurer comme un type « Info Autre ».
Je veux utiliser cette valeur comme commande de disponibilité de l’équipement, mais il me faut du info binaire ou info numérique.
J’ai changer le type en info binaire, mais du coup cela prend direct la valeur 0.
Dans configuration de commande, onglet configuration j’ai mis la formule #value#==ok mais ca ne change rien.
je pense qu’il y a une erreur de syntaxe sur ma formule, pouvez vous m’aidez?
Vous avez une commande « Info Autre » qui vous renvoi du OK ou NOK que vous voulez modifier en info binaire ( 0/1) à laquelle vous voulez ensuite forcer l’affichage en OK ou NOK en modifiant les paramètres avancés de la commande.
Pas bien réveillé ou alors j’ai rien compris au sujet .
Un éclairage?
Il reçoit effectivement du texte sur une commande « autre » donc une chaine de caractère.
Mais cette chaine représente une info binaire (ok/nok) qui n’est pas reconnue nativement par le Core (contrairement à On/Off/Oui/Yes/True etc).
Pour la passer en binaire, il suffit de sauvegarder l’équipement en ayant modifié le type en binaire, mais à ce moment la, vu que la chaine n’est pas vide, elle vaut toujours 1.
Donc dans les paramètres avancés de la commande, il faut rajoute un « calcul » #value# == 'ok' pour que ok soit vu comme 1 et tout le reste comme 0.
Je l’utilise très souvent pour la disponibilité es équipements MQTT pour lesquelles on ne peut pas modifier le LWT :
Pour les shellies, il suffit de mettre la commande info en "Binaire", pas besoin de formule de calcul chez moi. Le core semble reconnaître "online/offline".
D’ailleurs en relisant le code que tu m’as communiqué, si le core ne reconnaissait pas "online", la commande info devrait toujours rester à 0, ce qui n’est pas le cas chez moi.
Alors, je ne sais pas exactement de quoi tu parles (framework sc), mais si tu reçois « online » ou « offline », tu seras (selon moi) obligé de passer par une formule de calcul pour le passer en binaire.
Je ne vois pas en quoi c’est un problème ?
En plus c’est pour les état de dispo, ça ne change pas souvent, donc la charge sera minime.
C’est pas vraiment un pb, c’est juste qu’on rajoute une opération intermédiaire et que ça m’ait déjà arrivé e chercher pourquoi la valeur renvoyée par un matériel ne correspondait pas à la valeur reçue … En oubliant que j’avais mis une formule mais c’est pas dramatique non plus, on est d’accord