Connected Field Service automatisieren

Abgeschlossen

Nach Generierung einer IoT-Warnung in Connected Field Service (CFS), müssen Sie die weitere Vorgehensweise bestimmen. Der IoT-Warnungsdatensatz selbst enthält einige Informationen, wie z. B. Warnungstyp, Zeit, Geräte-ID und Warnungsdaten. Das Feld Alert Data besteht aus JSON-Daten, die die genauen Details zum Ereignis enthalten. Die enthaltenen Daten können je nach gewähltem Gerät variieren. Die Informationen im Feld Alert Data schreiben im Allgemeinen vor, welcher bestimmte nächste Schritt unternommen werden soll. Wenn Sie mit dem Erstellen von Automatisierungen um die nächsten Schritte herum beginnen, ist es wichtig zu verstehen, welche Tools und Informationen verfügbar sind, und wie Sie Ihr Ziel mithilfe dieser Tools erreichen.

Eine Möglichkeit, den Umgang mit Warnungen zu vereinfachen, besteht darin, zu definieren, wie sie beim Auslösen von Warnungen gruppiert werden. Standardmäßig werden ähnliche Warnungen basierend auf dem Gerät gruppiert, das die Warnung ausgelöst hat. Es kann jedoch vorkommen, dass es sinnvoll ist, eine weitere Gruppierungsebene hinzuzufügen. So kann beispielsweise eine Organisation Warnungen nach verwandten Daten wie Gerätekategorie, Konto oder Kundenanlage gruppieren.

Diese Einstellungen sind unter Einstellungen - IoT-Einstellungen - Aggregationsregeln der Warnungen verfügbar. Warnungsaggregationen können basierend auf der IoT-Warnung, dem zugehörigen Gerät oder der zugehörigen Kundenanlage definiert werden.

Mit Warnungsdaten arbeiten

Standardmäßig enthält die Connected Field Service-Lösung verschiedene Aktionen und Workflows, mit denen die Automatisierung von Elementen wie das Erstellen und das Registrieren von Geräten und das Auffüllen von relevanten Daten in Datensätzen unterstützt wird.

Einige der wichtigsten Aktionen im Zusammenhang mit IoT-Warnungen sind:

Anzeigename Beschreibung
JSON-basierter Feldwert – Zahl abrufen Liest eine numerische Eigenschaft im angegebenen JSON-Objekt.
JSON-basierter Feldwert – Zeichenfolge abrufen Liest eine Zeichenfolge-Eigenschaft im angegebenen JSON-Objekt.
JSON-basierter Feldwert – Booleschen Wert abrufen Liest eine boolesche Eigenschaft im angegebenen JSON-Objekt.

Die Daten im Feld Alert Data sind im JSON-Format. Der folgende Text enthält ein Beispiel dafür, was bei Auslösung einer IoT-Warnung in das Feld „Alert Data“ übertragen wird.

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

Im Allgemeinen können Sie die Inhalte des Feldes „Warnungsdaten“ nicht direkt verwenden, da Sie möglicherweise eine Abfrage auf Grundlage einer der Eigenschaften – und nicht aller Eigenschaften – durchführen möchten. Sie müssen zunächst die relevanten Parameter, mit denen Sie arbeiten möchten, analysieren, um diese zu verwenden und mit den nächsten Schritten fortzufahren.

Wenn wir die JSON-Zeichenfolge auswerten, können wir sehen, dass sie folgende Parameter und Werte kommuniziert:

Parameter Wert
deviceid Smt-1298
readingtype Temperature
reading 113
eventtoken c802338d-60f2-4a79-b45c-e164e2191ce0
threshold 70
ruleoutput AlarmTemp
time 06.09.2018 06:58:08 Uhr

Zur Unterstützung bei der Analyse des bestimmten Parameters, den Sie möglicherweise aus der JSON-Zeichenfolge benötigen, können Sie eine der Aktionen unter JSON ‑Based Field Value verwenden.

Die JSON ‑Based Field Value-Aktionen enthalten die folgenden Parameter:

Parameter Typ Beschreibung
JSON Eingabe Das zu überprüfende JSON-Objekt. (In diesem Fall das Feld „Warnungsdaten“.)
PropertyPath Eingabe Eigenschaftenname oder Pfad des Werts zur Vorbereitung. (Groß-/Kleinschreibung beachten)
DefaultReturnValue Eingabe Zurückzugebender Standardwert, wenn eine angegebene Eigenschaft nicht gefunden wurde.
Antwort Ausgabe Der Antwortwert für die angegebene Eigenschaft.

Je nach der von Ihnen angegebenen JSON-basierter Feldwert-Aktion ist der Ausgabeparameter möglicherweise eine Textzeichenfolge (Zeichenfolge), ein numerischer Wert (Zahl) oder ein boolescher Wert (Boolesch).

Beispiel: Wenn Sie bisher die Aktion JSON ‑Based Field Value – Get Number verwendet haben, um den Messungswert für diese Alert Data JSON-Zeichenfolge zu extrahieren:

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

Sieht es möglicherweise wie diese Tabelle aus:

Parameter Wert
JSON Alert Data (Feldname)
PropertyPath Wird gelesen...
DefaultReturnValue 70 (stellt den aktuellen Temperaturschwellenwert dar)
Wert 113

Der dargestellte Wert wurde von der Aktion zurückgegeben. In diesem Fall lautet er 113, da dieser Wert der Eigenschaft „reading“ zugeordnet ist. Wir verwenden die Aktion „Get Number“, damit wir den Wert in ein numerisches Feld weiterleiten und abschließend die numerischen Abfrageoptionen auf den Wert anwenden können, um zu bestimmen, was mit dem Element geschehen soll.

Praktische Anwendung

Nun schauen wir uns eine praktische Anwendung dieses Konzepts an.

Angenommen, wir haben ein intelligentes Thermostat als IoT-Gerät registriert. Übersteigt der Messwert der Warnung 70 Grad, wird eine IoT-Warnung in CFS generiert.

  • Wenn die Gerätemessung zwischen 70 und 85 Grad liegt, lassen Sie Connected Field Service automatisch einen Befehl an das Gerät zum Neustart übermitteln.

  • Wenn die Gerätemessung mehr als 85 Grad beträgt, weisen Sie einen Techniker zur manuellen Problembehebung an.

Dies erreichen wir durch Erstellung eines Workflows, der:

  • Zuerst die Aktion JSON ‑Based Field Value – Get Number ausführt, um den Wert der Eigenschaft „reading“ zu erfassen.

  • Anschließend wird der Ausgabewert geschrieben, der an ein benutzerdefiniertes Feld im IoT-Warnungsdatensatz zurückgegeben wird, wie z. B. Gerätemessung.

  • Ein anderer Workflow könnte bei der Aktualisierung des Felds „Gerätemessung“ ausgelöst werden, der dann folgende Aktionen ausführt:

    • Wenn das Feld „Gerätemessung“ zwischen 70 und 85 Grad anzeigt, wird ein Befehl in Bezug auf die IoT-Warnung erstellt, durch den ein Befehl zum Zurücksetzen an das Gerät gesendet wird.

    • Wenn das Feld Gerätemessung mehr als 85 Grad anzeigt, schließt der Workflow mit dem Status „Erfolgreich” ab.

Wichtig

Während die Connected Field Service-Lösung die oben genannten Workflows und Aktionen umfasst, verwenden viele Organisationen die Dynamics 365-Workflow-Funktionalität nicht. Da es Flexibilität und eine größere Auswahl an Diensten bietet, mit denen es arbeiten kann, werden viele Organisationen Power Automate zum Analysieren des JSON verwenden.

Power Automate verwenden

Das gleiche Konzept kann mit Power Automate verwendet werden. Anstatt die benutzerdefinierten Aktionen „JSON ‑Based Field Value“ zu nutzen, können wir die Aktion „JSON analysieren“ im Flow verwenden. Wenn Sie die Aktion „JSON analysieren“ auslösen, wird die JSON-Datei aus dem Feld „Alert Data“ in „Einzelne Eigenschaften“ zerlegt. Das Schema muss definiert werden, damit der Befehl weiß, wie die Daten analysiert werden sollen. Beispielnutzlasten aus der IoT-Warnung können zum Generieren des Schemas verwendet werden.

In der Abbildung haben wir dieselbe JSON-Zeichenfolge verwendet, die in einer IoT-Warnung enthalten war, um das Schema zu erstellen:

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

Sie sehen, dass es mehrere Eigenschaften erstellt hat, die jedes in JSON übergebene Element darstellen, z. B. deviceid, readingtype, reading usw.

Screenshot mehrerer Eigenschaften, die jedes im JSON übergebene Element darstellen

Sobald die Daten analysiert wurden, können sie verwendet werden, um andere Felder in der IoT-Warnung zu füllen, so wie im Workflow. Jede Eigenschaft kann jetzt in jedem zukünftigen Schritt im Flow als dynamischer Inhalt verwendet werden.

Screenshot der mit Daten ausgefüllten Felder in der IoT-Warnung

Wenn wir unser Beispiel des intelligenten Thermostats von vorhin noch einmal betrachten, können wir dasselbe Ergebnis erzielen, wenn wir einen Flow in Power Automate erzeugen. Dies sorgt für folgende Aktionen:

  • Zuerst wird der Flow ausgeführt, sobald ein neuer IoT-Warnungsdatensatz erstellt wird.

  • Die Aktion „JSON analysieren“ wird ausgeführt, um die JSON-Datei in einzelne Eigenschaften zu zerlegen.

  • Als Nächstes aktualisiert der Flow den IoT-Warnungsdatensatz mit dem Ausgabewert einer der zurückgegebenen Eigenschaften. Die Messungseigenschaft wird beispielsweise zum Aktualisieren des Felds „Gerätemessung“ verwendet.

  • Ein anderer Flow könnte bei der Aktualisierung des Felds „Gerätemessung“ ausgelöst werden, der dann folgende Aktionen ausführt:

    • Wenn das Feld „Gerätemessung“ zwischen 70 und 85 Grad anzeigt, wird ein Befehl in Bezug auf die IoT-Warnung erstellt, durch den ein Befehl zum Zurücksetzen an das Gerät gesendet wird.

    • Wenn das Feld „Gerätemessung“ mehr als 85 Grad anzeigt, schließt der Workflow mit dem Status „Erfolgreich“ ab.