Zum Hauptinhalt springen

HTTP-Anfragen in einer Szene senden

In Szenen ist es manchmal nützlich, eine externe API aufzurufen, um Geräte zu steuern, die nicht von Gladys Assistant verwaltet werden. Vielleicht möchtest du auch einfach einen externen Dienst aufrufen, ohne extra dafür eine eigene Integration zu entwickeln.

Voraussetzungen​

Du brauchst Gladys Assistant v4.0.3 (oder neuer), um diese Funktion nutzen zu können.

Eine HTTP-Anfrage in einer Szene senden​

In Szenen kannst du die Aktion „HTTP-Anfrage senden“ erstellen, mit der du eine HTTP-Anfrage vom Typ GET, POST, PATCH, PUT oder DELETE senden kannst.

Bei Bedarf kannst du Header hinzufügen, zum Beispiel für die Authentifizierung.

Aktion „HTTP-Anfrage“ in Gladys-Szenen

Konkretes Beispiel: Eine IFTTT-Aktion aus einer Szene in Gladys Assistant auslösen​

Wahrscheinlich kennst du IFTTT, einen Dienst, mit dem sich verschiedene Dienste miteinander verbinden lassen. Der kostenlose Tarif ist auf eine Handvoll Applets pro Konto begrenzt – das reicht aber völlig, wenn du IFTTT nur nutzen möchtest, um eine fehlende Funktion in Gladys auszugleichen.

In diesem Beispiel nutzen wir IFTTT, um bei jedem Aufruf einer Szene einen Wert in einem Google Sheet zu speichern.

Ziel ist es, ein Ereignis „Haus verlassen“ an IFTTT zu senden und es in einem Google Sheet protokollieren zu lassen. So können wir nachverfolgen, wann wir das Haus verlassen.

Das ist natürlich nur ein Beispiel, das du an deine Bedürfnisse anpassen kannst 😁

Maker Webhooks in IFTTT konfigurieren​

Gehe in IFTTT auf https://ifttt.com/maker_webhooks, um die Maker Webhooks zu konfigurieren.

Folge dem Tutorial von IFTTT, um die Maker Webhooks einzurichten.

Nach der Konfiguration der Webhooks solltest du auf einer Seite wie dieser landen:

IFTTT Maker Webhook

Ersetze {event} durch den Namen deines Ereignisses, in meinem Beispiel „left_home“, und kopiere dann die URL.

Bewahre die URL für später auf.

Den Google-Sheets-Dienst in IFTTT konfigurieren​

Suche auf der IFTTT-Seite „Explore“ nach dem Dienst „Google Sheets“ und verbinde dein Google-Konto. Es wird für den Rest des Tutorials benötigt.

Ein Applet erstellen​

Suche nach dem Dienst „Webhooks“, den du gerade konfiguriert hast.

Applet suchen

Wähle „Receive a web request“:

Eine Webhook-Anfrage empfangen

Gib den Namen des Ereignisses ein, den du im vorherigen Schritt festgelegt hast, hier „left_home“:

Namen des Ereignisses eingeben

Wähle aus, wo IFTTT die Daten speichern soll (in welcher Tabelle in deinem Google Drive):

Google-Drive-Ordner zum Speichern der Daten auswählen

Klicke auf „Save“.

IFTTT-Applet abschließen

Klicke anschließend auf „Finish“.

In Gladys eine Szene erstellen​

Erstelle in Gladys eine neue Szene und füge ihr die Aktion „HTTP-Anfrage senden“ hinzu.

Wähle „Methode: POST“ und gib als URL die URL des IFTTT-Webhooks ein, den du zuvor konfiguriert hast.

Aktion „HTTP-Anfrage“ erstellen

Speichere die Szene und starte sie.

Wenn du jetzt in dein Google Drive schaust, solltest du im Stammverzeichnis einen Ordner „IFTTT“ finden, der einen Ordner „MakerWebhook“ und in diesem Fall einen Ordner „let_home“ enthält.

Darin findest du eine Tabelle mit einer Zeile, die festhält, wann du das Haus verlassen hast:

Ergebnis in Google Sheets

Fazit​

Das war nur ein Beispiel. Mit dieser Aktion kannst du in Szenen unzählige Dinge umsetzen:

  • Die API einer anderen Smart-Home-Zentrale aufrufen
  • IFTTT aufrufen, um beliebige APIs zu steuern: Musik über Sonos? Dein Telefon klingeln lassen? Eine E-Mail senden? Einen Tweet absetzen?
  • Die API von Zapier aufrufen, um beliebige APIs anzusprechen (Gmail, Kalender, Trello und Hunderte weitere)

Kurz gesagt: Die Möglichkeiten sind grenzenlos.

Die Antwort eines HTTP-Aufrufs in einer Szene verwenden​

Du kannst die Antwort einer HTTP-Anfrage auch in Szenen weiterverwenden.

Hier ein Beispiel, das die Coinbase-API abfragt, um den Bitcoin-Kurs zu erhalten, und ihn per Telegram an den Benutzer sendet:

Den Wert kannst du mit einer Aktion „Nur fortfahren, wenn“ vergleichen:

Nur fortfahren, wenn

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂