ThingHTTP App
ThingHTTP ermöglicht die Kommunikation zwischen Geräten, Websites und Webdiensten, ohne dass das Protokoll auf Geräteebene implementiert werden muss. Sie geben Aktionen in ThingHTTP an, die Sie mithilfe anderer ThingSpeak™-Apps wie TimeControl und React auslösen.
Erstellen einer ThingHTTP-Anforderung
Erstellen Sie eine neue ThingHTTP-Anfrage. Klicken Sie auf Apps > ThingHTTP und dann auf New ThingHTTP.

Geben Sie die Einstellungen an. Nicht alle Einstellungen sind für jeden Anfragetyp erforderlich. Die folgenden Parameter sind für alle ThingHTTP-Anfragen erforderlich.
Erforderlicher Parameter Beschreibung Name Geben Sie einen eindeutigen Namen für Ihre ThingHTTP-Anfrage ein. API Key Automatisch generierter API-Schlüssel für die ThingHTTP-Anfrage. URL Geben Sie die Adresse der Website oder des Webdienstes ein, von dem Sie Daten anfordern, beginnend mit https://. (Beachten Sie, dasshttp://zwar unterstützt wird, aber dringend davon abgeraten wird.)Method Wählen Sie eine der folgenden HTTP-Methoden aus, die für den Zugriff auf die URL erforderlich sind: GET, POST, PUT oder DELETE.
HTTP Version Geben Sie 1.1 an, sofern Ihr Server nichts anderes angibt. Je nach Art Ihrer Anfrage können Sie zusätzliche Parameter angeben. Beispielsweise werden Benutzername und Passwort für eine ThingHTTP-Anfrage an einen Server benötigt, der eine Authentifizierung erfordert.
Optionaler Parameter Beschreibung HTTP Auth Username Wenn für Ihre URL eine Authentifizierung erforderlich ist, geben Sie den Benutzernamen zur Authentifizierung ein, um auf private Kanäle oder Websites zuzugreifen. HTTP Auth Password Wenn für Ihre URL eine Authentifizierung erforderlich ist, geben Sie das Kennwort zur Authentifizierung ein, um auf private Kanäle oder Websites zuzugreifen. Content Type Geben Sie den MIME- oder Formulartyp des Anforderungsinhalts ein. Beispiel: application/x-www-form-urlencoded.Host Wenn Ihre ThingHTTP-Anfrage eine Hostadresse erfordert, geben Sie den Domänennamen ein. Beispiel: api.thingspeak.com.Headers Wenn Ihre ThingHTTP-Anforderung benutzerdefinierte Header erfordert, geben Sie den Namen des Headers und einen Wert ein. Geben Sie beispielsweise einen Bytebereich mit Range: bytes=500-999an.Body Geben Sie eine Nachricht ein, die Sie in Ihre Anfrage aufnehmen möchten.
Sie können im Body-Abschnitt auch Daten einfügen, die mithilfe von Ersatzschlüsseln an die ThingHTTP-App gesendet werden sollen. Ein Beispiel finden Sie unter Daten mit ThingHTTP-Trigger weitergeben.
Parse String Geben Sie eine Bezeichnung ein, nach der in den Antwortdaten gesucht werden soll.
Sie können eine eindeutige ID oder den XPATH verwenden, um bestimmte Daten aus HTML zu analysieren. Wenn es sich bei den zurückgegebenen Daten um ein JSON-Objekt handelt, können Sie die JSON-Punktnotation verwenden, um die Antwortdaten nach einem bestimmten Wert zu analysieren. Weitere Informationen finden Sie unter Zeichenfolge analysieren.Speichern Sie die Anfrage. Ihr ThingHTTP ist für die zukünftige Verwendung verfügbar, indem Sie auf Apps klicken und ThingHTTP auswählen.
Auslöser ThingHTTP
Lösen Sie Ihr ThingHTTP mit einer GET- oder POST-HTTP-Anfrage, TimeControl oder React aus. Verwenden Sie eine POST-Anfrage, wenn Sie Daten einschließen oder benutzerdefinierte Ersatzschlüssel verwenden. Durch POST, TimeControl oder React ausgelöste Anfragen können bestimmte Variablen an ThingHTTP übergeben. Weitere Informationen finden Sie unter Daten mit ThingHTTP-Trigger weitergeben. Wenn Sie beispielsweise TimeControl zum Auslösen Ihres ThingHTTP verwenden, können Sie die Zeit übergeben, zu der es ausgelöst wurde. Diese Tabelle enthält Eingabe- und Ausgabeparameter sowie einen Beispielaufruf für die Verwendung einer HTTP-Anforderung zum Auslösen eines ThingHTTP.
Hinweis
Wenn ThingHTTP mehr als einmal pro Sekunde ausgelöst wird, führt dies zu einem HTTP-Statuscode 429. Der Statuscode wird weiterhin angezeigt, bis Sie die Rate auf unter eine Anfrage pro Sekunde reduzieren.
ThingHTTP mit HTTP-Anforderung auslösen
| Titel | HTTP-POST-Anforderung zum Auslösen von ThingHTTP |
|---|---|
| URL | https://api.thingspeak.com/apps/thinghttp/send_request |
| HTTP-Methode | POST |
| HTTP-Header | Content-Type: application/x-www-form-urlencoded |
| Datenparameter | api_key=XXXXXXXXXXXXXXX |
| Erfolgreiche Antwort | 200 OK |
| Fehlerantworten | 400 Invalid API key |
| Hinweise | Ihr ThingHTTP-API-Schlüssel muss entweder im HTTP-Header oder im Body-Abschnitt erscheinen, er kann aber auch in beiden erscheinen. Wenn Sie keine Daten an ThingHTTP übergeben, können Sie eine GET-Anfrage verwenden, um ThingHTTP auszulösen: GET https://api.thingspeak.com/apps/thinghttp/send_request?api_key=XXXXXXXXXXXXXXX. |
ThingHTTP gibt das Ergebnis der HTTP-Anfrage zurück.
Daten mit ThingHTTP-Trigger weitergeben
Sie können Daten mithilfe von Ersatzschlüsseln an ThingHTTP senden, einschließlich Schlüsseln innerhalb von zwei Prozentzeichen. Sie können in jedem verfügbaren Abschnitt Ihres ThingHTTP einen Ersatzschlüssel einfügen. Sie können beispielsweise ein Tag in den ThingHTTP-Textkörper einfügen und die Daten mithilfe des POST übergeben, der Ihre ThingHTTP-Anfrage auslöst. Dieses Beispiel zeigt, wie Sie mithilfe einer ThingHTTP-Anfrage eine Nachricht an einen ThingSpeak-Kanal senden. Erstellen Sie Ihr ThingHTTP und verwenden Sie den benutzerdefinierten Ersatzschlüssel %%message%% im Text.

Wenn Sie eine Nachricht in einen POST einfügen, der Ihr ThingHTTP auslöst, löst der HTTP POST Ihr ThingHTTP aus, ersetzt %%message%% durch „1234“ und aktualisiert den Kanal auf ThingSpeak. Die Body-Parameter für Ihr ThingHTTP unterscheiden sich von den Body-Parametern für die HTTP-Trigger-Anforderung. Die Anforderungsparameter des HTTP-Triggers sind in der folgenden Tabelle aufgeführt.
| Titel | HTTP-POST-Anforderung zum Auslösen von ThingHTTP |
|---|---|
| URL | https://api.thingspeak.com/apps/thinghttp/send_request |
| HTTP-Methode | POST |
| HTTP-Header | Content-Type: application/x-www-form-urlencoded |
| Datenparameter | api_key=XXXXXXXXXXXXXXX |
| Erfolgreiche Antwort | 200 OK und HTTP, JSON oder Text, abhängig von Ihrem ThingHTTP |
| Fehlerantworten | 400 Invalid API key |
| Hinweise | Ihr ThingHTTP-API-Schlüssel muss entweder im HTTP-Header oder im Body-Abschnitt erscheinen, er kann aber auch in beiden erscheinen. |
POSTMAN-Anforderung mit Ersatzschlüssel
Sie können POSTMAN verwenden, um Ihre HTTP-Anfragen mit der RESTful-API für ThingSpeak auszuprobieren. Im Folgenden wird gezeigt, wie Sie Ihr ThingHTTP mit Ersatzschlüsseln mithilfe von POSTMAN testen.
Wählen Sie
POSTund geben Sie die Anforderungs-URL ein.Wählen Sie im Autorisierungsabschnitt Body aus.
Wählen Sie x-www-form-urlencoded.
Geben Sie
api_keyein und kopieren Sie Ihren ThingHTTP-API-Schlüssel in den Abschnitt value.Geben Sie
messageund den Nachrichtentext im Abschnitt value ein.

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 |
Zeichenfolge analysieren
ThingHTTP sendet die vollständige, durch die Anfrage generierte HTTP-Antwort, die eine Webseite, ein Text oder ein JSON-Objekt sein kann. Um ein einzelnes Datenelement aus der Antwort zu extrahieren, geben Sie in Ihrer ThingHTTP-Anfrage Parse String an. ThingHTTP kann Daten mithilfe eindeutiger Tag-IDs oder XPATH-Daten analysieren. JSON-Objekte können analysiert werden, um Komponenten des Objekts abzurufen.
| XPath | |
Sie können XML Path Language (XPath) verwenden, um einen bestimmten Wert auf einer Webseite anzugeben. Geben Sie den XPath eines Elements auf einer Webseite an, um nach diesem bestimmten Element zu suchen. Einige Browser stellen XPATH-Informationen bereit, wenn Sie in der Quellansicht auf die Daten klicken. Beispielsweise stellt die Webseite |
|
| JSON | |
JSON (JavaScript Object Notation) wird häufig zum Formatieren von Webdaten verwendet. Wenn Ihre Anfrage ein JSON-Objekt zurückgibt, können Sie die entsprechende Punktnotation verwenden, um den gewünschten Wert abzurufen. ThingSpeak Kanal 12397 bietet Wetterinformationen aus dem Parkhaus bei MathWorks® in Natick. Mithilfe der Anforderungs-URL gibt Hier ist ein Beispiel des JSON-Objekts der Wetterstation, das vom Wetterstationskanal MathWorks ThingSpeak zurückgegeben wurde. { "channel": {
"id": 12397,
"name": "WeatherStation",
"description": "MathWorks Weather Station, ...",
...
"field1": "Wind Direction ... ",
"field2": "Wind Speed (mph)",
... },
"feeds": [
{
"created_at": "2017-03-13T14:33:21Z",
"entry_id": 1272044,
"field1": "21",
"field2": "5.0",
... } ]}
|
|

