React App
React arbeitet mit ThingHTTP- und MATLAB®-Analyse-Apps zusammen, um Aktionen auszuführen, wenn Kanaldaten eine bestimmte Bedingung erfüllen. Sie können beispielsweise eine mobile App Ihren Längen- und Breitengrad an einen ThingSpeak™-Kanal melden lassen. Wenn Sie sich in einer bestimmten Entfernung von Ihrem Haus befinden, lassen Sie ThingHTTP die Beleuchtung in Ihrem Wohnzimmer einschalten.
Hinweis
Wenn Sie die React-App mit Test Frequency auf On Data Insertion eingestellt verwenden, wenn Sie Bulk-Write JSON Data verwenden, wird Ihr React einmal pro Massenaktualisierungsanforderung ausgelöst. Es wird ausgelöst, wenn Condition mit ConditionType übereinstimmt, auch wenn Condition mehr als einmal übereinstimmt.
Wenn Sie Ihr React so einstellen, dass es auf einem bestimmten Test Frequency mit einem bestimmten Condition Type ausgeführt wird, achten Sie darauf, wie Ihr React ausgelöst wird. Die Daten werden jetzt im Laufe der Zeit gesammelt und als Stapel aktualisiert, und das Condition Type, das das 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 Geostandortinformationen. Verwenden Sie diese Bedingungstypen, um Bedingungen anzugeben, die basierend auf Ihren 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 stelle mein Licht auf Blau ein.“
Überprüfen Sie die Daten beim Testen auf Zeichenfolgen mit diesen Einschränkungen:
enthält
beginnt mit
endet mit
ist gleich
ist nicht gleich
Status
Diese Bedingung testet einen ThingSpeak-Status in einem Kanal. 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 Status des ThingSpeak-Kanals testen:
enthält
beginnt mit
endet mit
ist gleich
ist nicht gleich
Numerisch
Wenn Sie Sensordaten oder numerische Daten in den Feldern eines ThingSpeak-Kanals haben, verwenden Sie die numerische Bedingung. Sie können mit ThingHTTP einen Steuerbefehl an einen anderen Dienst oder ein anderes Gerät senden, das HTTP-Anfragen akzeptiert.
Überprüfen Sie die Daten mit diesen Einschränkungen, wenn Sie in einem ThingSpeak-Kanalfeld auf Zahlen testen:
ist größer als
ist größer oder gleich
ist kleiner als
ist kleiner oder gleich
ist gleich
ist nicht gleich
Geostandort
Diese Bedingung überprüft die Standortdaten in einem ThingSpeak-Kanal. Wenn Sie beispielsweise über eine mobile App verfügen, die Ihren Längen- und Breitengrad an einen ThingSpeak-Kanal meldet, können Sie die Beleuchtung in Ihrem Wohnzimmer einschalten, wenn Sie sich in einer bestimmten Entfernung von Ihrem Haus befinden.
Überprüfen Sie die Daten mit diesen Einschränkungen, wenn Sie auf einem ThingSpeak-Kanal nach Standortinformationen suchen:
ist innerhalb
ist weiter als
Keine Datenprüfung
Diese Bedingung prüft, ob der ThingSpeak-Kanal im angegebenen Intervall Daten empfängt. Wenn innerhalb des angegebenen Zeitraums keine Datenaktualisierungen erfolgen, wird die in Ihrer React-App ausgewählte Aktion ausgelöst. Wenn beispielsweise ein Stromausfall Ihr Gerät unterbricht und Ihr Kanal nicht aktualisiert wird, können Sie eine Aktion auslösen. Geben Sie die Zeitspanne an, in der Ihr Kanal keine neuen Daten empfängt, bevor die Aktion ausgelöst wird.
Testhäufigkeit
Wählen Sie die Häufigkeit aus, mit der Sie auf die angegebene Bedingung testen können.
On Data Insertion: Testen Sie jedes Mal, wenn Daten eingefügt werden. Sie können nicht mehr als ein React mit
On Data Insertionfür genau dieselben Bedingungen konfigurieren.Every 10 minutes: Testen Sie alle 10 Minuten, gemäß der Uhr. Beispielsweise wird ein um 10:08 Uhr erstellter React um 10:18 Uhr, 10:28 Uhr und danach alle 10 Minuten ausgelöst.
Every 30 minutes: Testen Sie alle 30 Minuten, pünktlich.
Every 60 minutes: Testen Sie stündlich, pünktlich.
Aktion
Sie können eine MATLAB-Analyse oder eine ThingHTTP-Aktion auslösen.
Ersatzschlüssel
Mithilfe von Ersatzschlüsseln können Sie Daten an Ihre Apps weitergeben. In der folgenden Tabelle sind die Standard- und benutzerdefinierten Ersatzschlüssel zusammengefasst, die Sie verwenden können. Einige Schlüssel sind spezifisch für einen bestimmten Anfragetyp, wie in der letzten Spalte angegeben.
| Schlüssel | Beschreibung | Beispiel | Verwenden mit |
|---|---|---|---|
%%YOUR_CUSTOM_LABEL%% | ThingHTTP ersetzt diesen benutzerdefinierten Ersetzungswert durch Daten in der Triggeranforderung, die die Bezeichnung „YOUR_CUSTOM_LABEL“ haben. | field1=%%YOUR_CUSTOM_LABEL%%POST-Daten: YOUR_CUSTOM_LABEL=1234.ERGEBNIS: field1=1234. | Jede Anfrage |
%%channel_CHANNEL_ID_ | Der letzte Wert des angegebenen Kanals und Felds. Ersetzungsanfragen an private Kanäle, die nicht demselben Benutzer wie die ThingHTTP-Anfrage gehören, 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 Uhrzeit, wann TimeControl oder React ausgeführt wurde. | The date and time the event occurred is %%datetime%%.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, beginnend am Sonntag. | 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 triggers is %%channel_id%%.ERGEBNIS: The channel that triggers 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 erfüllt ist.
React App mit MATLAB-Analysecodefehlern
Wenn Sie MATLAB-Analysecode haben, der React verwendet, wird React angehalten, wenn im MATLAB-Analysecode mehrere aufeinanderfolgende Fehler auftreten. Sie können sich per E-Mail benachrichtigen lassen, indem Sie in der MATLAB-Analyse-App das Kontrollkästchen Notify me via email if this MATLAB Analysis fails when triggered by TimeControl or React aktivieren.