Introduction
Dans cet article nous allons nous baser sur les alarmes construites dans l’article précédent (voir ici) pour les faire évoluer et ajouter une notification dans Gotify lorsque la température ou l’humidité :
- sortent des seuils acceptables,
- reviennent dans les seuils acceptables.
Modification de la rule chain
Pour cela, nous allons ajouter des nœuds à la rule chain.
Nous utiliserons également un nœud que nous n’avons pas utilisé dans le précédent article :
-
REST API Call

Ce nœud envoie une requête à l’API configurée en utilisant le contenu du message (
msg) comme body.
Notification de dépassement des seuils
-
Ajouter un script de transformation pour formater le message selon les attendus de Gotify. Renseigner un nom (ici “Temp Alarms Created Gotify”), et le script :
var newMsg = {}; newMsg.title = "🌡 Device temperature alarm"; newMsg.message = "🟥 Device " + metadata.deviceName + " has temperature out of range: " + metadata.temperature + " °C."; newMsg.priority = 5; return {msg: newMsg, metadata: metadata, msgType: msgType};
Connecter ce nœud à la sortie du nœud “Create Alarm” avec une relation Created.
-
Ajouter un appel REST API, pour envoyer le contenu du message vers le serveur Gotify. Renseigner un nom (ici “Gotify Push”), et l’URL suivante dans le champ
Endpoint URL pattern:https://<serveur gotify>/message?token=<token applicatif gotify pour thingsboard>&title=$[title]&message=$[message]&priority=$[priority]- Le champ
<serveur gotify>correspond à l’URL ou l’adresse IP de votre serveur Gotify. - Le champ
<token applicatif gotify pour thingsboard>correspond au token que vous aurez généré dans l’interface de Gotify pour Thingsboard.

Connecter ce nœud à la sortie du nœud “Temp Alarms Created Gotify” avec une relation Success.
- Le champ
La chaine nouvellement modifiée doit ressembler à cela :

Notification de retour dans les seuils
-
Ajouter un script de transformation pour formater le message selon les attendus de Gotify. Renseigner un nom (ici “Temp Alarms Cleared Gotify”), et le script :
var newMsg = {}; newMsg.title = "🌡 Device temperature alarm"; newMsg.message = "🟩 Device " + metadata.deviceName + " has temperature back in range: " + metadata.temperature + " %."; newMsg.priority = 5; return {msg: newMsg, metadata: metadata, msgType: msgType};
Connecter ce nœud à la sortie du nœud “Clear Alarm” avec une relation Cleared.
-
Ajouter un appel REST API, pour envoyer le contenu du message vers le serveur Gotify (exactement le même que pour la création de l’alarme). Renseigner un nom (ici “Gotify Push”), et l’URL suivante dans le champ
Endpoint URL pattern:https://<serveur gotify>/message?token=<token applicatif gotify pour thingsboard>&title=$[title]&message=$[message]&priority=$[priority]- Le champ
<serveur gotify>correspond à l’URL ou l’adresse IP de votre serveur Gotify. - Le champ
<token applicatif gotify pour thingsboard>correspond au token que vous aurez généré dans l’interface de Gotify pour Thingsboard.

Connecter ce nœud à la sortie du nœud “Temp Alarms Cleared Gotify” avec une relation Success.
- Le champ
La chaine nouvellement modifiée doit ressembler à cela :

Exemples de notifications
Vous devriez avoir les notifications suivantes lors du dépassement ou du retour à la normale :
