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