Dingereignisse
Ereignisse sind interessante oder kritische Eigenschaftsstatus, die das Ding für Abonnenten veröffentlicht. Ereignisse sind Initiatoren, um einige Funktionen in einem
Abonnement auszulösen (im Grunde ein ausgelöster Dienst). Wenn Sie innerhalb einer Dienstdefinition auf das Ereignis doppelklicken, wird für das Skript, das notwendig ist, um das Ereignis auszulösen, ein Stub im Dienst für Sie ausgeführt. Trigger sind wohldefinierte Statusänderungen (beispielsweise
Motor ist überhitzt) eines Assets oder Systems (Ding). Trigger erfordern häufig eine Reaktion auf die Änderung (beispielsweise
Warnleuchte anzeigen, um anzugeben, dass der Traktor überhitzt ist). Komplexe Vorhersagen aus analytischen Algorithmen können Ereignisse auslösen und es dem Anwendungsentwickler ermöglichen, auf diese Ereignisse mit Geschäftslogik zu reagieren.
Geschäftslogik und Aktionen in einer ThingWorx Anwendung werden von Ereignissen gesteuert. Ein Ereignis kann einfach (neuer Datenwert von einem Rechner) oder komplexer sein (viele Datenpunkte und ihre Abhängigkeiten). Beispielsweise kann durch das ThingWorx Analytics Echtzeit-Scoring ein Ausfall vorhergesagt und ein Ereignis zur IoT-Laufzeit-Engine ausgelöst werden, damit Sie Maßnahmen ergreifen können. Ereignisse können von einem Benutzer in einer Anwendung über API-Anforderungen ausgelöst werden, oder ein Gerät kann eigene Ereignisse basierend auf lokaler Datenanalyse oder Diagnoseroutinen auslösen.
Ein Ereignis muss einen Abonnenten haben. Um ein Abonnement zu initiieren, wird dem Abonnenten ein Datenpaket gesendet.
ThingWorx stellt Standardereignisse und zugehörige Datenpakete bereit, wie durch
Data Shapes definiert. Der häufigste Ereignistyp ist eine Datenänderung, die mit einer Dingeigenschaft verknüpft ist. Wenn Sie eine Eigenschaft definieren, gibt es zahlreiche Konfigurationsaspekte. Wenn Sie beispielsweise
DataChangeEvent verwenden, können Sie festlegen, dass ein Ereignis ausgelöst wird, wenn es neue Daten für eine Eigenschaft gibt, wenn sich Daten geändert haben, wenn die Daten wahr oder falsch sind oder wenn der neue Wert über einem definierten Schwellenwert liegt. Alle Datenänderungsereignisse senden ein Datenpaket mit demselben vordefinierten Data Shape.
Sie können benutzerdefinierte Ereignisse im Modell erstellen. Beispiel: Sie haben einen Rechner, der Diagnoseprüfungen ausführt. Wenn die Diagnoseprüfung feststellt, dass der Rechner kalibriert werden muss, können Sie eine benutzerdefinierte Kalibrierungswarnung für diese Klasse von Ausrüstung erstellen (normalerweise auf Dingform- oder Dingvorlagenebene). In der Definition können Sie einen
Data Shape erstellen, der die Daten von dem Rechner enthält, der eine Aktion ausführen muss. Sie können den Rechner-Agent konfigurieren, um dieses Ereignis über die ThingWorx API auszulösen, wenn die Bedingung erkannt wird. Im Abonnement können Sie Geschäftslogik implementieren, um auf das Ereignis zu reagieren. Sie können Ereignisse auch über die standardmäßige
ThingWorx REST-API auslösen, sodass Mashups und benutzerdefinierte Anwendungen Ereignisse über ThingWorx Analytics auslösen können.
Ereignis DynamicSubscriptionInvalidated
In ThingWorx 9.4 und höher steht ein neues Ereignis zur Verfügung: DynamicSubscriptionInvalidated. Dieses Ereignis tritt für ein Ding auf, wenn ein anderes dynamisches Abonnement, das von diesem erstellt wurde, gelöscht wird. Die dynamischen Abonnements können gelöscht werden, weil das Ding angehalten oder neu gestartet wird oder weil Eigenschaften oder das Ding selbst gelöscht werden.
Dieses Ereignis wird in erster Linie von Mashups verwendet, wenn das Kontrollkästchen Werte automatisch aktualisieren, wenn neue Werte vorhanden sind aktiviert ist.
Dies ermöglicht es dem Mashup, den Benutzer zu warnen, dass ThingWorx Platform nicht länger Aktualisierungen bereitstellt, wenn sich ein Ding geändert hat (z.B. eine Aktualisierung der Dingeigenschaft).
Ereignisse mit ThingWorx Analytics auslösen
ThingWorx Analytics kann Daten untersuchen und anomales Verhalten erkennen oder mit historischen Daten trainiert werden. ThingWorx Analytics kann Echtzeitdaten aus ThingWorx verwenden, um Ergebnisse vorauszusagen. Ein einfaches Beispiel ist Predictive Analytics. Sie können die Analyse-Engine für eine Klasse von Ausrüstung auf Grundlage historischer Daten trainieren, einschließlich Ausfallinformationen. Sie können Laufzeitdaten von einzelnen Dingen an die Analyse-Engine senden. Wenn die Analyse-Engine ein Muster erkennt, das in der Vergangenheit zu einem Ausfall geführt hat, kann sie ein Ereignis zu diesem Ding auslösen und es Ihnen ermöglichen, Maßnahmen über ein Abonnement zu ergreifen. Diese Aktion kann beispielsweise das Erstellen eines Dienst-Tickets oder Senden einer Benachrichtigung an den Kundendienst sein. Warnungen oder Abonnements für benutzerdefinierte Ereignisse ermöglichen es Ihnen, eine bestimmte Aktion und Geschäftslogik mit Ereignissen (nahezu in Echtzeit) zu verknüpfen.