Ces blocs agissent sur les personnes et les appareils : ils ouvrent et ferment des alarmes, envoient des commandes, répondent aux demandes propres d’un appareil et envoient des notifications. Les blocs d’alarme et de commande exigent un message dont l’émetteur est un appareil ; Notify fonctionne avec n’importe quel message.
Raise alarm
Ouvre une alarme sur l’appareil du message, ou met à jour l’alarme ouverte du même type : une seule alarme ouverte par appareil et par type.
| Paramètre | Signification | Par défaut | Valeurs |
|---|---|---|---|
| alarm | Le type d’alarme | obligatoire | un modèle, par ex. tank.{{ msg.metadata.topic }}.low ; lettres, chiffres, _ . : -, 128 caractères au plus après rendu |
| severity | Gravité | warning | critical, major, minor, warning, info |
| text | Titre | le type | un modèle, 256 caractères au plus |
| value | Conservée dans les détails de l’alarme | msg.payload | un chemin |
| notify_to | Destinataires | personne | identifiants d’utilisateur, adresses e-mail, les rôles OWNER, ADMIN, USER |
| notify_channels | Canaux | choix de chaque personne | identifiants de canal tels que inapp, mail |
| notify_min_severity | N’informer qu’à partir de cette gravité | info | une gravité |
| notify_repeat_sec | Rappeler tant qu’elle est ouverte et non acquittée | pas de rappel | 0, ou 60 secondes et plus |
out : l’alarme (msgType alarm, l’alarme dans msg.payload). Erreurs : not_a_device, bad_alarm_id. Les notifications suivent le même cycle de vie que les règles d’alarme : limitation, récapitulatif lors d’une tempête d’alarmes, les alarmes critiques contournent les préférences personnelles sauf si votre organisation a désactivé cette option. Une escalade notifie à nouveau ; un ré-déclenchement à la même gravité ne le fait pas. Un message en retard ne modifie aucune alarme. Voir Alarm notifications in depth.
Clear alarm
Résout l’alarme ouverte d’un type sur l’appareil du message.
| Paramètre | Signification | Valeurs |
|---|---|---|
| alarm | Le type d’alarme | obligatoire, un modèle |
out : l’alarme résolue, ou le message inchangé si aucune alarme n’était ouverte. Les personnes informées de l’alarme sont informées de sa résolution.
Acknowledge alarm
Acquitte les alarmes ouvertes de l’appareil : elles restent ouvertes, les rappels s’arrêtent.
| Paramètre | Signification | Par défaut | Valeurs |
|---|---|---|---|
| alarm | Quelles alarmes | toutes les alarmes ouvertes | *, un type, ou un préfixe suivi de * |
| min_severity | Seulement à partir de cette gravité | info | une gravité |
| note | Une note sur la chronologie de chaque alarme | aucune | 256 caractères au plus |
Les trois blocs d’alarme produisent des alarmes exactement comme le font les règles d’alarme. Une modification d’alarme qu’ils effectuent est entendue par les déclencheurs Device message à l’écoute de alarm ; un flux qui ouvre une alarme et écoute aussi les alarmes peut se relancer lui-même, et le déploiement affiche l’avertissement « May start its own flow again ». Voir Working with alarms.
Send command
Envoie une commande de la liste de commandes du profil d’appareil à l’appareil du message. Rien n’attend : le message poursuit son chemin avec la demande qu’il a faite ; la réponse de l’appareil arrive plus tard.
| Paramètre | Signification | Par défaut | Valeurs |
|---|---|---|---|
| command | Une commande de la liste de commandes du profil | obligatoire (ou une méthode brute) | choisie parmi les commandes de vos profils |
| params | Les paramètres de la commande | aucun | un objet tel que {"on": true}, ou un chemin tel que msg.payload |
| method | Une méthode brute hors de la liste de commandes | vide | namespace.verb, 64 caractères au plus |
out : le message avec msg.metadata.rpcId (la demande, également visible dans l’onglet Commands de l’appareil) et msg.metadata.rpcStatus (QUEUED, ou FAILED lorsque la commande n’a pu attendre et que l’appareil était hors ligne). Erreurs (aucune demande n’a été faite) :
| Code | Signification |
|---|---|
not_a_device, device_not_found | Pas un de vos appareils |
unknown_command | Le profil de l’appareil ne possède pas cette commande |
bad_params | Les paramètres ne correspondent pas à la commande (msg.error.param en nomme un) |
method_refused | Une réinitialisation d’usine, un appairage ou un oubli du réseau n’est jamais envoyé depuis le cloud |
limit | Trop de commandes vers cet appareil dans la dernière minute (30 par défaut depuis les flux) |
device_not_active, rpc_not_supported_by_profile, payload_too_large | Comme le dirait la console |
- La commande est recherchée dans le profil de l’appareil de chaque message : un flux desservant plusieurs profils n’envoie qu’à ceux dont le profil possède la commande.
- La demande est faite au nom du flux et apparaît dans l’historique des commandes de l’appareil, comme une demande faite depuis la console. Une commande à fort impact ne demande aucune confirmation à son exécution : elle a été confirmée au déploiement.
- Déployer exige le droit d’envoi du niveau de la commande dans chaque profil qui la possède, Deploy flows with control-level nodes pour une commande à fort impact, et le droit RPC brut pour une méthode brute.
- Un message rejoué ou redélivré retrouve la demande déjà faite et n’envoie rien à nouveau. Un message en retard n’envoie aucune commande.
- Chaque demande se termine par un message
rpc_response(SUCCESSFUL,FAILED,TIMEOUT,EXPIRED,CANCELLED) portantmsg.metadata.rpcStatus,rpcIdetrequestedBy. C’est un message d’appareil, il atteint donc le flux racine de l’appareil ; acheminez-le depuis celui-ci.
Les commandes vers les appareils derrière une passerelle sont en cours de développement. Voir Sending commands to devices.
Answer device request
Répond à une demande que l’appareil a envoyée à la plateforme (un message rpc_request : l’appareil appelle une méthode sur le cloud). Les méthodes intégrées getCurrentTime et getSessionLimits reçoivent leur réponse avant qu’un flux ne voie quoi que ce soit.
| Paramètre | Signification | Par défaut | Valeurs |
|---|---|---|---|
| result | Ce que renvoie la méthode | msg.payload | toute valeur ; envoyée sous la forme {"ok": true, "result": …} |
| error | Refuser à la place | aucune | unsupported_method, bad_params, busy, timeout, expired, forbidden, payload_too_large, internal ; envoyée sous la forme {"ok": false, "error": …} |
| message | Texte envoyé avec un refus | vide | 256 caractères au plus, modèles autorisés |
La première réponse l’emporte. Lorsqu’aucun flux ne répond dans un délai de 5 secondes, la plateforme répond unsupported_method. Erreurs : rpc_request_closed, not_an_rpc_request, payload_too_large, invalid_value. Un appareil MQTT reçoit la réponse sur v1/rpc/up/res/{id}, un appareil HTTP sur sa requête en attente. Placez ce bloc sur la branche rpc_request du flux racine (le flux racine par défaut se contente d’enregistrer ces demandes).
Notify
Envoie une notification et transmet le message.
| Paramètre | Signification | Par défaut | Valeurs |
|---|---|---|---|
| Recipients | Lignes d’un Kind et d’une valeur | obligatoire | 20 lignes au plus ; 20 destinataires après développement |
| Repeat reason | Ce qui rend deux notifications « identiques » pour le délai de répétition | les mots de la notification | modèle, 200 caractères |
| Channels | Restreindre à ces canaux | préférences de chaque destinataire | identifiants de canal tels que inapp, mail, sms, push |
| Urgency | critical contourne les préférences personnelles sauf si votre organisation a désactivé cette option | normal | normal, critical |
| Title, Text | Le message | modèles, 200 et 4 000 caractères | |
| Text format | text, ou html pour le courriel | text | text, html |
| Mail subject, Reply to | Options du courriel | le titre, aucun | modèles |
| Copy, Hidden copy | Destinataires supplémentaires du courriel ; chacun reçoit son propre courriel | aucun | modèles |
| Mail attachments | Fichiers joints au courriel | aucun | 10 fichiers, 1 MiB au total |
Qui est atteint, sur quel canal
| Kind | Value | Atteint |
|---|---|---|
user | L’identifiant d’un membre | Ce membre, dans l’application, par push et dans les applications de chat liées |
role | OWNER, ADMIN ou USER | Chaque membre actif de ce rôle, comme ci-dessus |
custom_role | Une clé de rôle personnalisé | Ses membres, comme ci-dessus |
team | Un identifiant d’équipe | Ses membres, comme ci-dessus |
originator_owner | Vide | Les propriétaires de l’émetteur du message, lorsqu’un module les déclare, comme ci-dessus |
address | Une ou plusieurs adresses e-mail, séparées par des virgules | |
phone | Un ou plusieurs numéros au format international, séparés par des virgules | SMS |
Les membres ne sont désignés que par leur identifiant utilisateur. Les e-mails et les SMS ne sont envoyés qu’aux lignes address et phone. Un membre listé comme user, ou atteint par un rôle, un rôle personnalisé ou une équipe, reçoit la notification dans l’application, par push et dans les applications de messagerie liées selon ses préférences, mais pas par e-mail ni par SMS, même s’il possède une adresse e-mail. Pour envoyer un e-mail à des personnes, ajoutez leurs adresses dans une ligne address.
Un rôle ou une équipe comptant plus de 20 membres actifs est refusé (too_many_recipients) plutôt que de transmettre un message partiel.
Délai de répétition, quotas et messages tardifs
- Une personne ne reçoit qu’une notification de même motif, issue du même flux, toutes les 10 minutes (votre forfait peut définir une autre valeur, d’au moins 1 minute). Définissez Répéter le motif lorsque le texte change à chaque mesure, par exemple
level of {{ msg.metadata.deviceName }}. La notification suivant la fin du délai affiche « (+n) ». - Avant l’envoi, le bloc vérifie les quotas mensuels d’e-mails et de SMS ; un canal ayant épuisé son quota est exclu (
msg.metadata.notify.quota). Ce n’est que si tous les canaux ont épuisé leur quota que le bloc échoue aveclimit. - Un message tardif n’avertit personne.
out transporte msg.metadata.notify : recipients, delivered, failed, suppressed, invalid, quota, held. Erreurs : no_recipients, too_many_recipients, members_unavailable, invalid_attachment, notify_failed, node_not_ready, circuit_open, limit.
Voir Notifications from rules and flows pour les modèles, les e-mails HTML et les pièces jointes.

