Noeud switch
Le noeud switch
est conçu pour router des messages en fonction de leur contenu, de leur structure ou d'autres conditions. C'est un outil puissant pour créer une logique conditionnelle dans les flux.
Paramètres pour le noeud switch
1. Nom
Un champ pour spécifier le nom du noeud.
Le nom est affiché dans l'espace de travail et aide à identifier facilement le noeud.
S'il est laissé vide, le noeud sera appelé inject
.
Exemple :
- Nom du noeud :
vérifier l'état
2. Propriété
Spécifie quelle propriété de l'objet message msg
sera utilisée pour vérifier les conditions.
Exemple :
msg.payload
msg.topic
msg.device.temperature
Les propriétés d'environnement (flow
, global
) sont également prises en charge.
3. Vérifier
- Vérifier jusqu'à la première correspondance (Par défaut) :
Le message est envoyé uniquement à la première sortie qui satisfait la condition. - Vérifier toutes les correspondances :
Le message peut être envoyé à plusieurs sorties s'il satisfait plusieurs conditions.
3. Règles
Définir la logique de routage. Chaque condition est liée à l'une des sorties du noeud. Le message sera envoyé à la première sortie appropriée.
Types de conditions disponibles :
==
: Vérifie l'égalité de valeur.!=
: Vérifie l'inégalité.<
: Vérifie si la valeur est inférieure.<=
: Vérifie si la valeur est inférieure ou égale à.>
: Vérifie si la valeur est supérieure.>=
: Vérifie si la valeur est supérieure ou égale à.has key
: Vérifie si l'objet contient la clé spécifiée.between
: Vérifie si la valeur est dans la plage spécifiée (inclusive).contains
: Vérifie si la chaîne ou le tableau contient la valeur spécifiée.matches regex
: Vérifie si la chaîne correspond à l'expression régulière.equals true
: Vérifie si la valeur est égale àtrue
.equals false
: Vérifie si la valeur est égale àfalse
.equals null
: Vérifie si la valeur est égale ànull
.not equals null
: Vérifie si la valeur n'est pas égale ànull
.is of type
: Vérifie si la valeur correspond au type spécifié (par exemple,string
,number
,boolean
).empty
: Vérifie si la chaîne, le tableau ou l'objet est vide.not empty
: Vérifie si la chaîne, le tableau ou l'objet n'est pas vide.else
: S'exécute si aucune des autres conditions n'est remplie.
Exemple :
msg.payload
est supérieur à50
Entrée
Le noeud accepte l'objet msg
.
Les propriétés spécifiques qui seront vérifiées sont définies dans le champ Propriété.
Sortie
Le noeud envoie le message msg
à la sortie qui correspond à la condition spécifiée.
Si le message ne satisfait aucune condition, il n'est pas envoyé aux sorties.
Exemples d'utilisation
Exemple 1 : Filtrage des données de température
Tâche :
Catégoriser les données en trois catégories : basse, normale et haute température.
Flux :
[inject] ---> [function] ---> [switch] ---> [debug (basse temp)]
| [debug (temp normale)]
| [debug (haute temp)]
Paramètres pour le noeud switch
:
- Propriété :
msg.payload
- Conditions :
est inférieur à 10
→ Sortie 1est entre 10 et 30
→ Sortie 2est supérieur à 30
→ Sortie 3
Résultat :
Les températures seront routées en fonction de leur valeur.