Créer des processus et automatisations Connected Field Service

Effectué

La solution Connected Field Service de Dynamics 365 vous permet de surveiller à distance les appareils compatibles IoT pour suivre la durée de bon fonctionnement, les statistiques des appareils, les anomalies et plus encore. Dès qu’un appareil IoT communique une anomalie ou une exception, les informations sont transmises à Connected Field Service sous forme d’alerte. Une fois l’alerte capturée, la capacité de Dynamics 365 à créer une automatisation et un processus métier nous permet de développer des processus automatisés pour agir en fonction des problèmes, les acheminer et les résoudre.

L’objectif de ce labo pratique est de vous présenter la création et l’automatisation des processus Connected Field Service et de vous montrer comment ces éléments peuvent être utilisés dans le cadre d’une solution IoT globale.

Scénario

Vous travaillez pour une entreprise de plomberie et de chauffage qui vend et assure la maintenance d’appareils domestiques intelligents. Comme bon nombre des appareils dont vous effectuez la maintenance sont des appareils intelligents, les informations provenant de ceux-ci peuvent être capturées à distance pour faciliter la maintenance de l’équipement. Votre organisation dispose de plusieurs scénarios et processus définis pour la maintenance de l’équipement. Ces processus peuvent varier en fonction de plusieurs facteurs, notamment :

  • Type d’appareil nécessitant de la maintenance

  • Gravité du problème détecté

  • Ancienneté de l’appareil

  • Emplacement de l’appareil

  • Disponibilité des ressources pour effectuer la maintenance d’un appareil spécifique

Les éléments ci-dessus représentent seulement une petite partie des facteurs sur lesquels votre organisation s’appuie pour déterminer le processus de maintenance de l’équipement.

Vous avez récemment installé beaucoup de thermostats intelligents. Ces appareils ont été pratiques pour pouvoir suivre les relevés de température et d’humidité dans les zones où il est important de maintenir une température et une humidité constantes. Comme vous avez à présent plus d’informations disponibles, vous devez créer de nouveaux processus pour gérer et résoudre les problèmes signalés par ces appareils. Vous devez en premier lieu vous concentrer sur l’automatisation du processus utilisé pour les problèmes de température.

Votre organisation cherche à implémenter le processus suivant :

  • Si un appareil relève une température supérieure à 70 degrés, une alerte doit être émise dans votre environnement Connected Field Service.

  • Si le relevé de température est compris entre 70 et 85 °, une commande doit être envoyée pour réinitialiser l’appareil à distance et voir si le problème se résout de lui-même.

  • Si le relevé de température est compris entre 86 et 100 °, un conseiller de service doit être en mesure de créer un incident pour tenter de résoudre le problème.

    • Si le conseiller de service ne peut pas résoudre le problème, un ordre de travail doit être créé et un technicien sur site doit être planifié pour l’élément.
  • Si le relevé de température est supérieur à 100 °, il s’agit d’un événement considéré comme potentiellement catastrophique. Un ordre de travail doit être créé et un technicien sur site doit être planifié pour l’élément.

Exercice : automatiser et personnaliser

Avant de commencer : cet exercice suppose que vous avez déjà un déploiement de Connected Field Service connecté avec Azure IoT Hub ou une instance d’IoT Central. Si vous ne disposez pas d’un environnement Connected Field Service, nous vous recommandons de suivre le module Présentation de Connect Field Service. Ce module vous permet d’installer et de configurer un environnement Connected Field Service.

Tâche : créer une solution Processus d’alerte IoT

Dans cette première tâche, nous créons une solution Dynamics 365 qui nous permet de stocker l’ensemble des personnalisations et processus que nous créons dans ce module. Non seulement cela facilite le transport potentiel de ces personnalisations ultérieurement, mais cela nous permet également de nettoyer nos environnements après avoir terminé le cours.

  1. Accédez au site Power Apps et vérifiez que vous êtes dans l’environnement correct.

  2. Cliquez sur Solutions, puis sur Nouvelle solution.

  3. Donnez le nom Processus d’alerte IoT à la solution.

  4. Cliquez sur la liste déroulante Éditeur et sélectionnez Éditeur.

  5. Configurez l’Éditeur comme suit :

    • Nom d’affichage : Cours sur Connected Field Service

    • Nom : Cours sur Connected Field Service

    • Préfixe : cfs

  6. Cliquez sur Enregistrer.

  7. Recliquez sur la liste déroulante Éditeur et sélectionnez l’éditeur que vous avez créé.

  8. Dans le champ Version, saisissez 1.0.0.0. Cliquez sur Créer.

  9. Cliquez sur la solution Processus d’alerte IoT que vous avez créée pour l’ouvrir.

  10. Cliquez sur Ajouter un élément existant, puis sélectionnez Table.

  11. Sélectionnez les tables Incident, Alerte IoT et Ordre de travail, puis cliquez sur Suivant.

  12. Sélectionnez Inclure tous les objets pour les trois tables, puis cliquez sur Ajouter.

Tâche : personnaliser la table Alerte IoT

Pour faciliter l’automatisation des éléments et actions basés sur les alertes IoT, nous devons être en mesure d’extraire des informations spécifiques pour les alertes IoT générées. Nous pouvons interroger et déclencher des éléments basés sur ces données. Comme les données d’alerte ne comportent qu’une chaîne JSON comportant toutes les données, nous devons créer d’autres champs dans la table Alerte IoT. Elle nous permet d’envoyer des données spécifiques et de créer des requêtes à partir de ces champs.

  1. Vérifiez que vous vous trouvez toujours dans la solution Processus d’alerte IoT.

  2. Cliquez sur la table Alerte IoT pour l’ouvrir.

  3. Cliquez sur l’onglet Colonnes, puis sur Nouvelle colonne.

  4. Saisissez Relevé pour Nom d’affichage, sélectionnez Nombre entier pour Type de données, puis cliquez sur Options avancées.

  5. Saisissez 0 pour Valeur minimale et 250 pour Valeur maximale, puis cliquez sur Enregistrer.

  6. Répétez le processus pour ajouter ces colonnes :

    • Seuil

      • Nom d’affichage : Seuil

      • Type de données : Nombre entier

      • Valeur minimale : 0

      • Valeur maximale : 250

    • Type de relevé

      • Nom d’affichage : Type de relevé

      • Type de données : Oui/Non

      • Remplacez la valeur Non par Température.

      • Remplacez la valeur Oui par Humidité.

      • Choix par défaut : Température

    • Sortie de la règle

      • Nom d’affichage : Sortie de la règle

      • Type de données : Une seule ligne de texte

    • Client

      • Nom d’affichage : Client

      • Type de données : Recherche

      • Type d’enregistrement cible : Compte

  7. À l’aide des chemins de navigation, cliquez sur Alerte IoT.

  8. Cliquez sur Relations sous Schéma.

  9. Cliquez sur Nouvelle relation et sélectionnez Un-à-plusieurs.

  10. Sélectionnez Incident pour l’Entité associée, saisissez Alerte IoT pour Nom d’affichage de la colonne de recherche, puis cliquez sur Terminé.

  11. Sélectionnez le nom de la solution.

  12. Cliquez sur Publier toutes les personnalisations, puis attendez la fin de la publication.

  13. Cliquez sur le bouton , puis sélectionnez Basculer vers l’affichage classique.

  14. Développez Entités et l’entité Alerte IoT, puis sélectionnez Relations 1 à N.

    Capture d’écran de la relation entre les entités Incident et Alerte IoT.

  15. Cliquez sur Mappages, puis sur Nouveau.

  16. Configurez le mappage à partir de la liste comme suit, puis cliquez sur OK :

    • Champ d’entité source : cfs_customer

    • Champ d’entité cible : customerid

  17. Cliquez sur Enregistrer et fermer.

  18. Cliquez sur Publier toutes les personnalisations, puis attendez la fin de la publication.

  19. Fermez l’Explorateur de solutions.

Tâche : créer un flux pour renseigner les valeurs

Maintenant que nous disposons des champs permettant d’enregistrer les données nécessaires, nous devons les renseigner avec les données adéquates. Nous y parvenons à l’aide de certaines des actions de valeur de champ basées sur JSON incluses dans la solution Connected Field Service. Nous créons un flux qui exécute une action de valeur de champ basée sur JSON pour extraire une donnée spécifique du champ de données d’alerte. Ensuite, nous renseignons cette donnée dans l’un des champs que nous avons créés dans la tâche précédente.

  1. Accédez au site Power Apps et vérifiez que vous êtes dans l’environnement correct.

  2. Cliquez sur Solutions, puis sur la solution Processus d’alerte IoT pour l’ouvrir.

  3. Cliquez sur Nouveau, puis sélectionnez Automatisation>Flux de cloud>Automatisé.

  4. Définissez le champ Nom du flux sur Renseigner les champs d’alerte.

  5. Recherchez Microsoft Dataverse et sélectionnez Dataverse. Veillez à sélectionner le connecteur Dataverse vert.

  6. Sélectionnez Lorsqu’un enregistrement est créé, mis à jour ou supprimé, puis cliquez sur le bouton Créer.

  7. Sélectionnez Ajouté pour Condition de déclenchement, Alertes IoT pour Nom de la table et Organisation pour Étendue, puis cliquez sur Nouvelle étape.

  8. Recherchez Parse et sélectionnez Parse JSON.

  9. Cliquez sur le champ Contenu, puis sélectionnez Alert Data dans le volet Contenu dynamique.

  10. Collez ce schéma Json dans le champ Schéma, puis cliquez sur + Nouvelle étape.

    {
        "type": "object",
        "properties": {
            "deviceid": {
                "type": "string"
            },
            "readingtype": {
                "type": "string"
            },
            "reading": {
                "type": "integer"
            },
            "eventtoken": {
                "type": "string"
            },
            "threshold": {
                "type": "integer"
            },
            "ruleoutput": {
                "type": "string"
            },
            "time": {
                "type": "string"
            }
        }
    }
    
  11. Recherchez Mettre à jour une ligne et sélectionnez Mettre à jour une ligne. Veillez à sélectionner le connecteur Dataverse vert.

  12. Redéfinissez le nom de l’étape sur Mettre à jour l’alerte.

  13. Sélectionnez Alertes IoT pour Nom de l’entité, cliquez sur le champ ID de ligne et sélectionnez IoT Alert dans le volet Contenu dynamique.

    Capture d’écran de l’option IoT Alert dans le volet Contenu dynamique.

  14. Cliquez sur Afficher les options avancées.

  15. Cliquez sur le champ Relevé et sélectionnez l’option reading de l’étape Parse JSON dans le volet Contenu dynamique.

    Capture d’écran de l’option reading sous Parse JSON.

  16. Cliquez sur le champ Type de relevé et sélectionnez Saisir une valeur personnalisée.

  17. Cliquez sur l’onglet Expression, collez cette expression, puis cliquez sur OK. Assurez-vous que Parse_JSON correspond au nom de l’étape Parse JSON.

    if(equals(body('Parse_JSON')?['readingtype'], 'Temperature'), false, true)
    

    Capture d’écran de l’expression collée dans l’onglet Expressions.

  18. Cliquez sur le champ Sortie de la règle et sélectionnez ruleoutput depuis l’action Parse JSON dans le volet Contenu dynamique.

  19. Cliquez sur le champ Seuil et sélectionnez threshold depuis l’action Parse JSON dans le volet Contenu dynamique.

  20. Votre flux terminé devrait ressembler à cette image :

    Capture d’écran d’un exemple de flux terminé.

  21. Cliquez sur Enregistrer.

  22. Ne fermez PAS cette page.

Tâche : ajouter les étapes du flux de réinitialisation à distance

Après avoir extrait les données adéquates et les avoir placées dans les champs adéquats, nous devons ajouter de nouvelles étapes au flux. Ces étapes déterminent la valeur de température dans le champ Relevé. Si elle est comprise entre 71 et 85 °, elle doit entraîner la création automatique d’une commande d’appareil IoT qui effectue une réinitialisation de l’appareil, puis son envoi à l’appareil.

  1. Revenez au flux et cliquez sur Nouvelle étape.

  2. Sélectionnez Condition.

  3. Cliquez sur le champ Choisir une valeur et sélectionnez Reading depuis l’étape Mettre à jour l’alerte dans le volet Contenu dynamique.

    Capture d’écran de l’option Reading sélectionnée sous Mettre à jour l’alerte.

  4. Sélectionnez l’option est supérieur ou égal à.

  5. Saisissez 71 pour Valeur, cliquez sur Ajouter, puis sélectionnez Ajouter une ligne.

    Capture d’écran du champ Valeur de Reading défini sur 71 et de la fonctionnalité Ajouter une ligne.

  6. Cliquez sur le champ Choisir une valeur et sélectionnez Reading depuis l’étape Mettre à jour l’alerte dans le volet Contenu dynamique.

  7. Sélectionnez est inférieur ou égal à.

  8. Saisissez 85 pour Valeur.

  9. Votre condition devrait maintenant ressembler à cette image :

    Capture d’écran de la condition actuelle.

  10. Accédez à la branche Si oui et cliquez sur Ajouter une action.

  11. Recherchez Ajouter une nouvelle ligne, puis sélectionnez Ajouter une nouvelle ligne.

  12. Redéfinissez le nom de l’étape sur Créer une commande de réinitialisation.

  13. Sélectionnez Commandes d’appareil IoT pour Nom de la table, cliquez sur le champ Nom, puis sélectionnez Description depuis l’action Lorsqu’un enregistrement est créé, mis à jour ou supprimé dans le volet Contenu dynamique.

    Capture d’écran de l’option Description de l’appareil IoT sous l’action Lorsqu’un enregistrement est créé, mis à jour ou supprimé.

  14. Ajoutez Réinitialisation de l’appareil dans le champ Nom, puis cliquez sur Afficher les options avancées.

  15. Cliquez sur le champ Actif client et tapez msdyn_customerassets().

  16. Placez le curseur entre ( et ) et sélectionnez Customer Assets (Value) depuis l’action Lorsqu’un enregistrement est créé, mis à jour ou supprimé dans le volet Contenu dynamique.

    Capture d’écran de l’option Customer Asset (Value).

  17. Cliquez sur le champ Appareil et tapez msdyn_iotdevices().

  18. Placez le curseur entre ( et ) et sélectionnez IoT Device (Value) depuis l’action Lorsqu’un enregistrement est créé, mis à jour ou supprimé dans le volet Contenu dynamique.

    Capture d’écran de l’option IoT Device (Value) mise en évidence.

  19. Cliquez sur le champ Alerte principale et tapez msdyn_iotalerts().

  20. Placez le curseur entre ( et ) et sélectionnez IoT Alert depuis l’action Mettre à jour l’alerte dans le volet Contenu dynamique.

    Capture d’écran de l’option IoT Alert mise en évidence.

  21. Collez ce code JSON dans le champ Message :

    {"CommandName":"Reset Thermostat","Parameters":{}}
    

    Capture d’écran du code JSON collé dans le champ Message.

  22. Cliquez sur Masquer les options avancées.

  23. Cliquez sur Ajouter une action.

  24. Recherchez Mettre à jour une ligne et sélectionnez Mettre à jour une ligne.

  25. Redéfinissez le nom de l’étape sur Désactiver l’alerte.

  26. Sélectionnez Alertes IoT pour Nom de la table, cliquez sur le champ ID d’enregistrement et sélectionnez IoT Alert depuis l’action Mettre à jour l’alerte dans le volet Contenu dynamique.

    Capture d’écran de l’option IoT Alert mise en évidence.

  27. Cliquez sur Afficher les options avancées.

  28. Recherchez le champ Statut et définissez-le sur Inactif.

  29. Cliquez sur Masquer les options avancées.

  30. Le nouveau composant du flux devrait maintenant ressembler à cette image :

    Capture d’écran du nouveau composant du flux.

  31. Cliquez sur Enregistrer.

Tâche : modifier le flux CFS - Processus d’alerte IoT

À l’heure actuelle, un flux de processus métier nommé Flux CFS - Processus d’alerte IoT nous permet de guider les utilisateurs dans la résolution d’une alerte lorsqu’elle est déclenchée. Lorsqu’un relevé de température est compris entre 86 et 100 °, nous devons créer un enregistrement d’incident dans le processus métier. Ensuite, nous devons créer un ordre de travail si nous ne pouvons pas résoudre l’incident. Si le relevé de température est supérieur à 100 °, le processus métier doit ignorer la phase d’incident et passer directement à l’ordre de travail. Dans cette tâche, nous allons modifier le flux CFS - Processus d’alerte IoT pour refléter ces besoins spécifiques.

  1. Accédez au site Power Apps et vérifiez que vous êtes dans l’environnement correct.

  2. Cliquez sur Solutions, puis sur la solution Processus d’alerte IoT pour l’ouvrir.

  3. Cliquez sur Ajouter un élément existant, puis sélectionnez Automatisation>Processus.

  4. Recherchez CFS, sélectionnez Flux CFS - Processus d’alerte IoT, puis cliquez sur Ajouter.

  5. Ouvrez le Flux CFS - Processus d’alerte IoT.

  6. Cliquez sur le bouton Désactiver pour désactiver le processus.

  7. Confirmez la désactivation.

  8. Développez Détails dans la phase Création d’alerte IoT.

    Capture d’écran des détails développés dans la phase Création d’alerte IoT.

  9. Sous Composants, faites glisser Étape de données sous l’étape Heure de l’alerte.

  10. Configurez l’Étape de données comme suit :

    • Nom de l’étape : Relevé

    • Champ de données : Relevé

  11. Cliquez sur Appliquer pour enregistrer vos modifications.

  12. Répétez les étapes 9 à 11 pour ajouter les Étapes de données suivantes à la phase Création d’alerte IoT :

    • Seuil

    • Type de relevé

    • Sortie de la règle

  13. Cliquez sur l’onglet Composants, puis faites glisser le composant Condition à droite de la phase Création d’alerte IoT.

    Capture d’écran de l’onglet Composants avec le composant Condition à droite de la phase Création d’alerte IoT.

  14. Dans Nom d’affichage de la condition, saisissez Condition de température.

  15. Configurez la règle 1 comme suit :

    • Champ : Relevé

    • Opérateur : Est supérieur ou égal à

    • Type : Valeur

    • Valeur : 86

  16. Cliquez sur le bouton Nouveau pour ajouter une autre règle.

  17. Configurez la règle 2 comme suit :

    • Champ : Relevé

    • Opérateur : Est inférieur ou égal à

    • Type : Valeur

    • Valeur : 100

  18. Vérifiez que le champ Logique de la règle est défini sur And.

    Capture d’écran du champ Logique de la règle défini sur And.

  19. Cliquez sur Appliquer.

  20. Sélectionnez la phase Condition de température, cliquez sur l’icône Connecteur, puis sélectionnez Reconnecter dans le menu qui s’affiche.

  21. Sélectionnez la phase Créer un ordre de travail comme 2e point.

  22. Votre flux de processus métier devrait maintenant ressembler à cette image :

    Capture d’écran du flux de processus métier.

  23. Cliquez sur Enregistrer, puis sur Activer pour activer le Flux CFS - Processus d’alerte IoT.

  24. Fermez la fenêtre ou l’onglet de navigateur de l’éditeur de processus.

  25. Cliquez sur Terminé dans la fenêtre précédente pour la solution.

  26. Cliquez sur Solutions, puis sur Publier toutes les personnalisations.

Tâche : tester l’automatisation que vous venez de créer

Maintenant que nous pouvons créer les personnalisations, le flux et les flux de processus métier nécessaires, un simulateur nous permet de tout tester afin de nous assurer qu’il exécute les fonctionnalités souhaitées.

  1. Accédez au site Power Apps et vérifiez que vous êtes dans l’environnement correct.

  2. Cliquez sur Actifs client, puis sur le bouton Nouveau.

  3. Saisissez Démarrer le thermostat pour Nom et sélectionnez Adventure Works pour Compte, puis cliquez sur Enregistrer.

  4. Dans le champ ID d’appareil, saisissez smt-9876, puis cliquez sur Enregistrer.

  5. Cliquez sur Enregistrer des appareils.

  6. Cliquez sur OK.

  7. Dans votre navigateur web, cliquez sur un nouvel onglet et accédez au portail Azure. (Connectez-vous à Azure si vous y êtes invité. Vous avez besoin d’un abonnement Azure associé au compte que vous utilisez.)

  8. Cliquez sur Groupes de ressources et ouvrez votre groupe de ressources.

  9. Ouvrez le IoT Hub que vous utilisez avec Connected Field Service et sélectionnez le Simulateur.

  10. Sélectionnez l’URL du simulateur pour ouvrir le simulateur de thermostat. (Le simulateur devrait s’ouvrir dans un nouvel onglet.)

  11. Sur le simulateur, cliquez sur Connexion.

  12. Basculez vers votre abonnement Azure, puis fermez l’écran App Service du simulateur.

  13. Ouvrez le Hub IoT.

  14. Mettez le nom du hub IoT en surbrillance et copiez-le.

  15. Basculez vers l’écran du simulateur et collez le nom du hub IoT dans le champ Hôte.

  16. Basculez vers votre abonnement Azure, puis sélectionnez Stratégies d’accès partagé.

  17. Ouvrez la stratégie iothubowner et copiez la clé primaire.

    Capture d’écran de la stratégie iothubowner avec la clé primaire copiée.

  18. Basculez vers l’écran du simulateur et collez la clé primaire dans le champ Clé.

  19. Cliquez sur le bouton Connecter.

  20. Cliquez sur le bouton Actualiser pour vous assurer que tous les appareils enregistrés sont disponibles.

  21. Dans la liste déroulante Sélectionner un appareil, sélectionnez l’appareil smt-9876. (Un point vert doit s’afficher en regard du bouton Actualiser et, après quelques secondes, il devrait commencer à transmettre des informations.)

    Capture d’écran du champ Sélectionner un appareil avec smt-9876 sélectionné.

  22. Réglez le Curseur de température sur 75 degrés et attendez que le statut de la température soit enregistré dans la fenêtre Messages envoyés.

    Comme la température était comprise entre 71 et 85 °, une commande est envoyée à l’appareil pour le redémarrer. (L’envoi de la commande de redémarrage à l’appareil peut prendre plusieurs minutes, selon la vitesse d’Internet.)

  23. Basculez vers l’onglet de navigateur dans lequel Connected Field Service est chargé.

  24. Cliquez sur Alertes IoT.

  25. Basculez vers la vue Alertes IoT inactives.

  26. Ouvrez l’alerte Relevé de température de 75 supérieur au seuil de 70.

  27. Cliquez sur l’onglet Commandes. (Vous devriez voir qu’une commande a été envoyée à l’appareil.)

    Capture d’écran de l’onglet Commandes avec une commande envoyée à l’appareil.

  28. Basculez vers l’onglet de navigateur web qui comporte le Simulateur.

  29. Définissez le paramètre Température sur 90 ° et attendez qu’il s’enregistre dans la fenêtre Messages envoyés.

  30. Basculez vers l’onglet de navigateur dans lequel Connected Field Service est chargé.

  31. Cliquez sur Alertes IoT.

  32. Ouvrez l’alerte Relevé de température de 90 supérieur au seuil de 70.

  33. Sélectionnez la phase Créé. (Notez que les informations que nous avons extraites précédemment s’affichent. Comme le relevé est compris entre 86 et 100 °, la phase suivante est la création de l’incident.)

    Capture d’écran de la phase Créé avec les valeurs Relevé et Seuil mises en évidence.

  34. Dans le Menu, sélectionnez Envoyer une commande.

  35. Cliquez sur Basculer en mode JSON.

  36. Saisissez le code ci-dessous pour la commande, puis cliquez sur Envoyer :

    {"CommandName":"Reset Thermostat","Parameters":{}}
    
  37. Basculez vers votre Simulateur et attendez que l’appareil redémarre.

  38. Réglez le Curseur de température sur 106 degrés et attendez que le statut de la température soit enregistré dans la fenêtre Messages envoyés.

  39. Basculez vers l’onglet de navigateur dans lequel Connected Field Service est chargé.

  40. Cliquez sur Alertes IoT.

  41. Ouvrez l’alerte Relevé de température de 106 supérieur au seuil de 70.

  42. Notez que comme l’alerte était supérieure à 100 degrés, la phase Créer un incident a été complètement ignorée.

    Capture d’écran de la phase Créer un ordre de travail avec la phase Créer un incident ignorée.