Outils pour utilisateurs

Outils du site


node_red_modification_dynamique_flows

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Dernière révisionLes deux révisions suivantes
node_red_modification_dynamique_flows [2020/04/17 09:40] – [Principe général du script] BILLARDnode_red_modification_dynamique_flows [2020/04/17 09:46] – [Principe général du script] BILLARD
Ligne 50: Ligne 50:
   - dans Node-Red créer le subflow qui convient pour un type de carte puis l'exporter. Cet export sera modifié, pour le rendre générique pour le script en remplaçant tous les id qui doivent être modifiés par un code entre deux # exemple #IDE_UI_TAB_CONFIGURATION#   - dans Node-Red créer le subflow qui convient pour un type de carte puis l'exporter. Cet export sera modifié, pour le rendre générique pour le script en remplaçant tous les id qui doivent être modifiés par un code entre deux # exemple #IDE_UI_TAB_CONFIGURATION#
  
-  __exemple à venir__+<code> 
 +
 +        "id": "#IDE_NOEUD_CARTE_RELAIS2#", 
 +        "type": "subflow:#ID_SUBFLOW#", 
 +        "z": "#IDE_TAB_CONTROLE#", 
 +        "name": "#IDE_NOEUD_MESH#", 
 +        "env": [], 
 +        "x": "#POS_X#", 
 +        "y": "#POS_Y#", 
 +        "wires": [] 
 +    }, 
 +
 +</code> 
 +la portion de subflow générique pour introduire le nœud sur le subflow.  
 + 
 +<code> 
 +
 +        "id": "#ID_SUBFLOW#",  
 +        "type": "subflow", 
 +        "name": "RELAIS2", 
 +        "info": "", 
 +        "in":
 +            { 
 +                "x": 40, 
 +                "y": 80, 
 +                "wires":
 +
 +                        "id": "#ID_ENTREE1#" 
 +                    }, 
 +                    { 
 +                        "id": "#ID_ENTREE2#" 
 +                    }, 
 +                    { 
 +                        "id": "#ID_ENTREE3#" 
 +                    } 
 +                     
 +                ] 
 +            } 
 +        ], 
 +        "out": [] 
 +    }, 
 +</code> 
 +la définition du subflow, avec les indication de raccordement du noeud d'entrée du subflow sur les éléments internes. 
 + 
 +<code> 
 +
 +        "id": "#ID_ELEMENT4#", 
 +        "type": "ui_button", 
 +        "z": "#ID_SUBFLOW#", 
 +        "name": "ETAT VOYANT 2", 
 +        "group": "#ID_GROUPE_CONTROLE#", 
 +        "order": 2, 
 +        "width": 1, 
 +        "height": 1, 
 +        "passthru": false, 
 +        "label": "{{msg.state2}}", 
 +        "tooltip": "", 
 +        "color": "", 
 +        "bgcolor": "{{msg.background2}}", 
 +        "icon": "", 
 +        "payload": "", 
 +        "payloadType": "str", 
 +        "topic": "", 
 +        "x": 720, 
 +        "y": 540, 
 +        "wires":
 +            [] 
 +        ] 
 +    }, 
 +</code> 
 + 
 +Un élément du subflow qui doit apparaître dans l'interface utilisateur via un groupe dont l'id est #ID_GROUPE_CONTROLE# 
 + 
 +<code> 
 +
 + "id": "#ID_GROUPE_CONTROLE#",  
 +        "type": "ui_group", 
 +        "z": "", 
 +        "name": "#IDE_NOEUD_MESH#", 
 +        "tab": "#IDE_UITAB_CONTROLE#", 
 +        "disp": "true", 
 +        "width": "6", 
 +        "collapse": "true" 
 + }, 
 +</code> 
 + 
 +le groupe de contrôle qui apparaît dans la page de l'interface utilisateur  #IDE_UITAB_CONTROLE#
  
   - Après chargement du json générique sous forme d'une chaîne de caractères, une expression régulière permet de trouver les éléments à modifier puis de les remplacer avant réinjection dans le json principal.   - Après chargement du json générique sous forme d'une chaîne de caractères, une expression régulière permet de trouver les éléments à modifier puis de les remplacer avant réinjection dans le json principal.
  
-ATTENTION : Cette étape de production du json générique est fondamentale, il est indispensable de bien décortiquer comment il est constitué. En effet dans un subflow, certains élements {id} sont interne au subflow, d'autres sont liés à l'extérieur.+   ATTENTION : Cette étape de production du json générique est fondamentale, il est indispensable de bien décortiquer comment il est constitué. En effet dans un subflow, certains élements {id} sont interne au subflow, d'autres sont liés à l'extérieur.
 Exemple : l'id du subflow doit être connue pour la création du nœud dans le flow. Alors que les id des éléments du subflow peuvent rester inconnus du reste. Exemple : l'id du subflow doit être connue pour la création du nœud dans le flow. Alors que les id des éléments du subflow peuvent rester inconnus du reste.
 +   C'est pourquoi j'ai choisi de NOTER #IDE_XXX" les id extérieurs au flow et ID ceux internes au flow.
  
  
node_red_modification_dynamique_flows.txt · Dernière modification : 2020/04/17 09:48 de BILLARD