act-8-NR : Test (SI) avec Node-red)

ProcédureRésumé court de la procédure⚓

Procédure
  1. Importer le flux⚓

    Conseil

    Afin d'éviter de décrire la construction de ce flux en y ajoutant chaque noeud, nous allons l'importer à partir de la traduction textuelle que vous trouverez ci-dessous :

    1
    [{"id":"17c0d012.33ee3","type":"inject","z":"9762a88c.e9c0e8","name":"","topic":"","payload":"20","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":210,"y":220,"wires":[["802ecdb8.5c6ea"]]},{"id":"802ecdb8.5c6ea","type":"change","z":"9762a88c.e9c0e8","name":"","rules":[{"t":"set","p":"consigne","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":220,"wires":[["f3d64f99.1aeaf"]]},{"id":"f3d64f99.1aeaf","type":"ui_text","z":"9762a88c.e9c0e8","group":"79fd49b5.6f25e8","order":0,"width":0,"height":0,"name":"","label":"consigne","format":"{{msg.payload}}","layout":"row-spread","x":580,"y":220,"wires":[]},{"id":"79fd49b5.6f25e8","type":"ui_group","z":"","name":"Capteur","tab":"9a7d18c4.b10718","order":1,"disp":true,"width":"6","collapse":false},{"id":"9a7d18c4.b10718","type":"ui_tab","z":"","name":"Local","icon":"dashboard","order":2}]

    A l'aide du menu Import.Clipboard, collez le texte du code ci-dessus dans la fenêtre d'import, une fois validé l'import, le texte collé est traduit en flux graphique importé à l'écran.

    Cette façon de faire permet aussi de sauvegarder des flux afin de les réutiliser.

    Une fois les nouvelles modifications déployées, il faut afficher l'interface utilisateur avec l'URL (IP :1880/ui).

    On obtient le résultat ci-contre (ici, la valeur de 20 qui été fixée dans le noeud INJECT est envoyée à l'interface utilisateur en utilisant un noeud dashboard.text) : vous remarquerez que l'onglet et le groupe sont ajoutés directement dans le dashboard.

    Attention

    Lorsque l'on importe/exporte des flux, on gère aussi l'interface utilisateur. Il est possible d'exporter plusieurs NODES avec une sélection souris de la zone à importer, un FLUX complet, ou bien l'ensemble des FLUX.

    Pour vous, il sera important de sauvegarder votre travail.

  2. Explications⚓
  3. Générer un message si une condition est vérifiée⚓

    Exemple

    Après avoir déployé votre code, la valeur test est normalement égale à 0. Lorsque qu'elle dépasse 20, on a à la fois un message debug et le résultat SUP A 20 s'affiche.

    QUE SE PASSE T-IL QUAND test repasse en dessous de 20 puis repasse au dessus de 20 ?

  4. SOLUTION FINALE⚓

    Il faut ajouter une condition au NODE avec. Saisir la condition >=20, validez.

    Une deuxième sortie est disponible pour ajouter un nouveau NODE qui va affecter une chaîne vide à msg.payload. A la sortie, on branche le champ Résultat.

    Truc & astuceAvec une fonction⚓

    Il est bien sûr possible de rédiger une fonction en javascript :

    1
    // La consigne affectée à global.consigne dans le NODE Set peut-être lue en js par global.get('consigne')
    2
    if (msg.payload > global.get('consigne') {
    3
        msg.payload = "SUP A 20";
    4
    } else {
    5
        msg.payload = "";
    6
    }
    7
    return msg;
  5. Faire l'exercice suivant⚓