Reaktions-App
React funktioniert mit den Apps ThingHTTP, ThingTweet und MATLAB® Analysis, um Aktionen auszuführen, wenn Kanaldaten eine bestimmte Bedingung erfüllen. Beispielsweise können Sie eine mobile App Ihren Breiten- und Längengrad an einen ThingSpeak™- Kanal melden lassen. Wenn sich Ihr Standort in einer bestimmten Entfernung von Ihrem Haus befindet, lassen Sie ThingHTTP die Beleuchtung Ihres Wohnzimmers einschalten.
Hinweis
Wenn Sie die React
- App verwenden und Test Frequency auf On Data Insertion eingestellt ist, wenn Bulk-Write JSON Data verwenden, wird Ihr React
wird einmal pro Massenaktualisierungsanforderung ausgelöst. Es wird ausgelöst, wenn Condition mit ConditionType übereinstimmt, auch wenn Condition mehr als einmal übereinstimmt.
Wenn Sie Ihren React
so einstellen, dass er auf einem bestimmten Test Frequency mit einem bestimmten Condition Type läuft, achten Sie darauf, wie Ihr React
wird ausgelöst. Die Daten werden nun im Laufe der Zeit gesammelt und als Stapel aktualisiert, und der Condition Type , der den React
auslöst, kann innerhalb eines einzelnen Datenstapels variieren.
Definieren Sie Reaktionen auf Kanaldaten
Wählen Sie Apps > React.
Klicken Sie auf New React.
Wählen:
Condition Type
Test Frequency
Action
Options
Klicken Sie auf Save React.
Bedingungstypen
ThingSpeak- Kanäle unterstützen numerische Sensordaten, Text, Zeichenfolgen, Statusaktualisierungen und geografische Standortinformationen. Mit diesen Bedingungstypen können Sie Bedingungen festlegen, die auf Basis Ihrer Kanaldaten Reaktionen auslösen.
Zeichenfolge
Diese Bedingung testet eine Textzeichenfolge mit ASCII-Zeichen in einem ThingSpeak- Kanalfeld. Beispiel: „Wenn Kanal 1, Feld 1 gleich Blau ist, dann stellen Sie mein Licht auf Blau ein.“
Überprüfen Sie die Daten beim Testen auf Zeichenfolgen anhand dieser Einschränkungen:
enthält
beginnt mit
endet mit
ist gleich
ist ungleich zu
Status
Diese Bedingung testet einen ThingSpeak- Status in einem Kanal. Das Statusfeld ähnelt dem Text in einem Tweet. Sie können den Status nach einem Wort durchsuchen und eine ThingHTTP-Anfrage senden, wenn die Testbedingung erfüllt ist.
Überprüfen Sie die Daten mit diesen Einschränkungen, wenn Sie den Kanalstatus ThingSpeak testen:
enthält
beginnt mit
endet mit
ist gleich
ist ungleich zu
Numerisch
Wenn Sie Sensordaten oder numerische Daten in den Feldern eines ThingSpeak- Kanals haben, verwenden Sie die numerische Bedingung. Wenn Ihr Stromverbrauch beispielsweise über 300 Watt liegt, verwenden Sie eine numerische Bedingung, um diesen Tweet mit der ThingTweet -App zu posten:
„Ich verbrauche zu viel Strom“
Außerdem können Sie mit ThingHTTP einen Steuerbefehl an einen anderen Dienst oder ein Gerät senden, das HTTP-Anfragen akzeptiert.
Überprüfen Sie die Daten mit diesen Einschränkungen, wenn Sie auf Zahlen in einem ThingSpeak- Kanalfeld testen:
ist größer als
größer oder gleich ist
ist weniger als
kleiner oder gleich ist
ist gleich
ist ungleich zu
Geografischer Standort
Diese Bedingung überprüft die Standortdaten in einem ThingSpeak- Kanal. Wenn Sie beispielsweise über eine mobile App verfügen, die Ihren Breiten- und Längengrad an einen ThingSpeak- Kanal meldet, können Sie die Beleuchtung Ihres Wohnzimmers einschalten, wenn sich Ihr Standort in einer bestimmten Entfernung von Ihrem Haus befindet.
Überprüfen Sie die Daten mit diesen Einschränkungen, wenn Sie Standortinformationen auf einem ThingSpeak- Kanal testen:
ist drinnen
ist weiter als
Keine Datenprüfung
Diese Bedingung prüft, ob der ThingSpeak- Kanal Daten im angegebenen Intervall empfängt. Wenn innerhalb des angegebenen Zeitraums keine Datenaktualisierungen erfolgen, wird die in Ihrer React-App ausgewählte Aktion ausgelöst. Wenn Ihr Gerät beispielsweise durch einen Stromausfall unterbrochen wird und Ihr Kanal nicht aktualisiert wird, können Sie eine Aktion auslösen. Geben Sie an, wie lange Ihr Kanal keine neuen Daten erhält, bevor die Aktion ausgelöst wird.
Testhäufigkeit
Wählen Sie die Häufigkeit aus, mit der Sie den angegebenen Zustand testen können.
On Data Insertion: Testen Sie jedes Mal, wenn Daten eingefügt werden. Sie können nicht mehr als einen React mit
On Data Insertion
für genau die gleichen Bedingungen konfigurieren.Every 10 minutes: Testen Sie alle 10 Minuten auf der Uhr. Beispielsweise wird eine Reaktion, die um 10:08 Uhr erstellt wurde, um 10:10 Uhr und danach alle 10 Minuten ausgelöst.
Every 30 minutes: Testen Sie alle 30 Minuten auf der Uhr.
Every 60 minutes: Testen Sie stündlich, rund um die Uhr.
Aktion
Sie können einen MATLAB Analysis, ThingHTTP auslösen oder einen Tweet mit der ThingTweet- App senden.
Ersatzschlüssel
Mithilfe von Ersatzschlüsseln können Sie Daten an Ihre Apps übergeben. Die folgende Tabelle fasst die Standard- und benutzerdefinierten Ersatzschlüssel zusammen, die Sie verwenden können. Einige Schlüssel sind spezifisch für eine bestimmte Art von Anfrage, wie in der letzten Spalte angegeben.
Schlüssel | Beschreibung | Beispiel | Benutzen mit |
---|---|---|---|
%%YOUR_CUSTOM_LABEL%% | ThingHTTP ersetzt diesen benutzerdefinierten Ersatzwert durch Daten in der Triggeranforderung mit der Bezeichnung „YOUR_CUSTOM_LABEL“. | field1=%%YOUR_CUSTOM_LABEL%% POST-Daten: YOUR_CUSTOM_LABEL=1234 .ERGEBNIS: field1=1234 . | Jede Anfrage |
%%channel_CHANNEL_ID_field_FIELD_NUMBER%% | Der letzte Wert des angegebenen Kanals und Felds. Ersetzungsanfragen an private Kanäle, die nicht demselben Benutzer gehören wie die ThingHTTP-Anfrage, geben leere Werte zurück. | The latest value is %%channel_12_field_1%%.ERGEBNIS: The latest value is „2,5“. | Jede Anfrage |
%%datetime%% | Das vollständige Datum und die vollständige Uhrzeit der Ausführung von TimeControl oder React. | The date and time the event occurred is %%DatumUhrzeit%%.ERGEBNIS: The date and time the event occurred is 24.09.2014 17:32 Uhr. | TimeControl oder React |
%%day%% | Der Name des Wochentags, an dem TimeControl ausgeführt wurde. | The day the event occurred is %%day%%.ERGEBNIS: The day the event occurred is „Mittwoch“. | TimeControl |
%%day_index%% | Der nullbasierte Index des Wochentags, der am Sonntag beginnt. | The number of days used this week is %%day_index%%.ERGEBNIS: The number of days used this week is 3. | TimeControl |
%%hour%% | Die Stunde des Tages, zu der TimeControl ausgeführt wurde. | The hour that the event occurred is %%Stunde%%.ERGEBNIS: The hour that the event occurred is 5. | TimeControl |
%%minute%% | Die Minute der Stunde, in der TimeControl ausgeführt wurde. | The minute the event occurred is %%Minute%%.ERGEBNIS: The minute the event occurred is „30“. | TimeControl |
%%trigger%% | Der Wert, der React ausgelöst hat. | It is way too hot in here at %%trigger%% C .ERGEBNIS: It is way too hot in here at 40 C . | Reagieren |
%%channel_id%% | Die Kanal-ID, die React ausgelöst hat. | The channel that tweets is %%channel_id%%.ERGEBNIS: The channel that tweets is „1256“. | Reagieren |
Optionen
Run action only the first time the condition is met: Lösen Sie die Aktion aus, wenn die Bedingung zuvor falsch war und derzeit wahr ist.
Run action each time condition is met: Lösen Sie die Aktion jedes Mal aus, wenn die Bedingung wahr ist.
Reagieren Sie auf die App mit MATLAB- Analysecodefehlern
Wenn Sie MATLAB Analysis-Code haben, der ein React verwendet, stoppt React die Ausführung, wenn im MATLAB Analysis-Code mehrere aufeinanderfolgende Fehler auftreten. Sie können wählen, ob Sie eine Benachrichtigung per E-Mail erhalten möchten, indem Sie in der Notify me via email if this MATLAB Analysis fails when triggered by TimeControl or ReactMATLAB aktivieren.