Bonjour,
Je dispose d’une interface d’entrées/sorties sur réseau Ethernet. Le pilotage ou l’interrogation se fait à l’aide de trame simples à envoyer via Node-Red via TCPout ou TCPrequest.
Le problème vient de la réponse retournée par l’interface pour lire l’état des entrées. Je reçois une trame que j’arriver à traiter afin de n’avoir que l’état des entrées, mais il s’agit d’une chaine de caractères représentant l’octet sous forme décimale. Et en plus, l’état des entrées est inversé (à 1 lorsque l’entrée n’est pas activée).
En gros,
- Si je reçois 255, cela correspond à un octet 1111 1111 qui correspond à aucune entrée activée …
- Si je reçois 254, cela correspond à un octet 1111 1110 qui indique que l’entrée 1 (bit de poids faible à droite) est active
- Si je reçois 191, cela correspond à un octet 1011 1110 qui indique que les entrées 1 et 7 sont actives
- Etc …
Grace à red-contrib-string-binary-parser, je peux convertir les valeurs décimale en valeurs binaires (msg.payload passe de ‹ 255 › à ‹ 1111 1111 ›).
Ce que je voudrais réaliser, c’est que chaque bit soit affecté à un binary-sensor de home assistant.
Étant complètement novice en Node-red, je sèche, et donc je fais appel à la communauté pour me filer un petit coup de pouce, si possible …
Merci d’avance et n’hésitez pas à me poser des questions si je n’ai pas été assez clair.
A+