Automatiser Connected Field Service

Effectué

Une fois qu’une alerte IoT est générée dans CFS, vous devez identifier la prochaine action à effectuer. L’enregistrement d’alerte IoT lui-même comporte plusieurs informations, notamment le type d’alerte, l’heure, l’ID d’appareil et les données de l’alerte. Le champ Alert Data se compose de données JSON qui comportent des détails spécifiques sur l’événement. Les données incluses peuvent varier selon l’appareil. Les informations du champ Alert Data dictent généralement la prochaine mesure spécifique à prendre. Lorsque vous commencez à créer des automatisations au cours des étapes suivantes, il est important de comprendre les outils et informations disponibles, et comment ces outils vous permettent d’atteindre votre objectif.

L’un des moyens de simplifier le traitement des alertes consiste à définir la manière dont elles seront regroupées une fois déclenchées. Par défaut, les alertes similaires sont regroupées en fonction de l’appareil qui a déclenché l’alerte. Cependant, il est parfois judicieux d’ajouter une couche de regroupement supplémentaire. Par exemple, une organisation peut choisir de regrouper les alertes en fonction de données associées telles que la catégorie d’appareils, le compte ou l’actif client.

Ces paramètres sont disponibles dans Paramètres - Paramètres IoT -Règles d’agrégation des alertes. Les agrégations des alertes peuvent être définies en fonction de l’alerte IoT, de l’appareil associé ou de l’actif client associé.

Utiliser les données d’alerte

Prête à l’emploi, la solution Connected Field Service comporte plusieurs actions et flux de travail permettant d’automatiser des éléments tels que la création et l’enregistrement d’appareils et le renseignement des enregistrements avec les données pertinentes.

Voici certaines des actions clés relatives aux alertes IoT :

Nom d’affichage Description
JSON-Based Field Value - Get Number Lit une propriété numérique dans l’objet JSON spécifié.
JSON-Based Field Value - Get String Lit une propriété de chaîne dans l’objet JSON spécifié.
JSON-Based Field Value - Get Boolean Lit une propriété booléenne dans l’objet JSON spécifié.

Les données du champ Alert Data sont au format JSON. Le texte suivant représente un exemple de ce qui serait transmis au champ Alert Data lorsqu’une alerte IoT est déclenchée :

{"deviceid":"smt-1298","readingtype":"Temperature","reading":113,"eventtoken":"c802338d-60f2-4a79-b45c-e164e2191ce0","threshold":70,"ruleoutput":"AlarmTemp","time":"2018-09-06T15:58:08.964Z"}

En général, vous ne pouvez pas utiliser le contenu du champ Données d’alerte directement, car vous pouvez chercher à créer une requête basée sur l’une des propriétés, et non toutes. Vous devez d’abord analyser les paramètres pertinents que vous souhaitez utiliser, afin qu’ils vous permettent de générer des requêtes et piloter les étapes suivantes.

Si nous analysons la chaîne JSON, nous pouvons voir qu’elle communique ces paramètres et valeurs :

Paramètre Valeur
deviceid Smt-1298
readingtype Temperature
reading 113
eventtoken c802338d-60f2-4a79-b45c-e164e2191ce0
threshold 70
ruleoutput AlarmTemp
time 09/06/2018 06:58:08 AM

Vous pouvez faciliter l’analyse du paramètre spécifique dont vous pourriez avoir besoin à partir de la chaîne JSON à l’aide de l’une des actions JSON-Based Field Value.

Les actions JSON-Based Field Value comportent les paramètres suivants :

Paramètre Type Description
JSON Entrée Objet JSON à examiner (dans ce cas, le champ Alert Data).
PropertyPath Entrée Nom de la propriété ou chemin d’accès de la valeur à préparer. (Respecte la casse.)
DefaultReturnValue Entrée Valeur par défaut à renvoyer si la propriété spécifiée est introuvable.
Réponse Sortie Valeur de réponse de la propriété spécifiée.

En fonction de l’action JSON-Based Field Value que vous spécifiez, le paramètre Sortie peut être une chaîne de texte (Chaîne), une valeur numérique (Nombre) ou une valeur booléenne (Valeur booléenne).

Par exemple : si vous extrayez la valeur de la propriété reading pour ce champ JSON Alert Data à l’aide de l’action JSON-Based Field Value - Get Number :

{"deviceid":"smt-1298","readingtype":"Temperature","reading":113,"eventtoken":"c802338d-60f2-4a79-b45c-e164e2191ce0","threshold":70,"ruleoutput":"AlarmTemp","time":"2018-09-06T15:58:08.964Z"}

cela pourrait ressembler à cette table :

Paramètre Valeur
JSON Alert Data (nom du champ)
PropertyPath reading
DefaultReturnValue 70 (représente le seuil de température actuel)
Valeur 113

La valeur représente la valeur renvoyée par l’action, 113 dans ce cas, car il s’agit de la valeur associée à la propriété « reading ». Nous utilisons l’action Get Number, car nous pouvons transmettre la valeur à un champ numérique, puis déterminer quoi faire avec l’élément à l’aide d’options de requête numérique sur la valeur.

Application pratique

À présent, examinons une application pratique de ce concept.

Supposons que nous disposions d’un thermostat intelligent enregistré comme appareil IoT. Si le relevé de l’alerte dépasse 70 °, une alerte IoT est générée dans CFS.

  • Si le relevé de l’appareil est compris entre 70 et 85 °, demandez à Connected Field Service d’envoyer automatiquement une commande à l’appareil afin de le redémarrer.

  • Si le relevé de l’appareil est supérieur à 85 °, demandez à un technicien d’effectuer un dépannage manuel.

Nous pouvons y parvenir en créant un flux de travail qui :

  • exécute d’abord l’action JSON-Based Field Value - Get Number pour capturer la valeur de la propriété « reading ».

  • Ensuite, il écrit la valeur de sortie renvoyée dans un champ personnalisé sur l’enregistrement d’alerte IoT, par exemple Relevé de l’appareil.

  • Un autre flux de travail peut être déclenché lors de la mise à jour du champ Relevé de l’appareil qui effectue les actions suivantes :

    • Si la valeur du champ Relevé de l’appareil est comprise entre 70 et 85 ° : il crée une commande associée à l’alerte IoT qui envoie une commande de réinitialisation à l’appareil.

    • Si la valeur du champ Relevé de l’appareil est supérieure à 85 degrés Fahrenheit, le flux de travail se termine avec le statut « réussi ».

Important

Même si la solution Connected Field Service comprend les flux de travail et actions susmentionnés, de nombreuses organisations n’utilisent pas la fonctionnalité Flux de travail Dynamics 365. Comme cette application offre de la flexibilité et une plus grande sélection de services avec lesquels elle peut fonctionner, de nombreuses organisations analysent le code JSON à l’aide de Power Automate.

Utiliser Power Automate

Ce même concept peut être utilisé avec Power Automate. Au lieu d’utiliser les actions personnalisées JSON-Based Field Value, nous pouvons utiliser l’action Parse JSON dans le flux. Lorsque vous déclenchez l’action Parse JSON, le code JSON du champ Alert Data est analysé dans les propriétés individuelles. Le schéma doit être défini afin que la commande sache comment analyser les données. Des exemples de charges utiles provenant de l’alerte IoT permettent de générer le schéma.

Dans l’image suivante, nous avons créé le schéma à l’aide de la même chaîne JSON incluse dans une alerte IoT :

{"deviceid":"nest1234","readingtype":"Temperature","reading":80,"eventtoken":"cfd5e690-ee88-4ca8-a75d-3b86ac61295c","threshold":70,"ruleoutput":"AlarmTemp","time":"2019-10-19T16:42:26.457Z"}

Vous pouvez voir qu’elle a créé plusieurs propriétés qui représentent chaque élément transmis dans le code JSON, comme deviceid, readingtype, reading, etc

Capture d’écran de plusieurs propriétés qui représentent chaque élément transmis dans le code JSON.

Une fois les données analysées, elles permettent de renseigner d’autres champs dans l’alerte IoT, tout comme nous l’avons fait avec le flux de travail. Chaque propriété peut maintenant être utilisée en tant que contenu dynamique à toute étape ultérieure du flux.

Capture d’écran des champs de données renseignés dans l’alerte IoT.

Si nous revenons à notre exemple de thermostat intelligent précédent, nous pouvons obtenir le même résultat en créant un flux dans Power Automate qui effectue les actions suivantes :

  • Tout d’abord, le flux s’exécute lorsqu’un enregistrement d’alerte IoT est créé.

  • L’action Parse JSON est exécutée pour analyser le code JSON dans les propriétés individuelles.

  • Ensuite, le flux met à jour l’enregistrement d’alerte IoT avec la valeur de sortie de l’une des propriétés renvoyées. Par exemple, la propriété « reading » permet de mettre à jour le champ Relevé de l’appareil.

  • Un autre flux peut être déclenché lors de la mise à jour du champ Relevé de l’appareil qui effectue les actions suivantes :

    • Si la valeur du champ Relevé de l’appareil est comprise entre 70 et 85 ° : il crée une commande associée à l’alerte IoT qui envoie une commande de réinitialisation à l’appareil.

    • Si la valeur du champ Relevé de l’appareil est supérieure à 85 °, le flux de travail se termine avec le statut Réussi.