Nutzung des Body in WebHooks im JSON-Format mit IFTTT

Hat es schon mal jemand geschafft bei einem Webhook den Body zu benutzen?

Laut Anleitung sollen damit drei Parameter übergeben werden können.
Bei IFTTT im Channel Maker kommt aber nichts an oder wird nichts ausgewertet.
Ich habe mich an die Vorgaben aus dem Maker Channel gehalten.
Der WebHook an sich funktioniert. Ich nutze dafür das application/json Format und die WebHook Methode GET.

Der Body sieht wie folgt aus:

{"value1":"Rauchmelder","value2":"Flur","value3":"Temperatur"}

Ich möchte es auf diese Weise nutzen, um nicht Unmengen von Receipes im Maker Channel zu erzeugen.

2 „Gefällt mir“

Ich bin mir nicht sicher ob das dein komplettes Problem löst, aber du verwendest auf jeden Fall die falsche HTTP-Methode. Eine GET Anfrage enthält laut HTTP-Spezifikation keinen Body (obwohl es technisch möglich ist einen Body anzuhängen). Jegliche Server werden den womöglich angehängten Body einer GET Anfrage komplett ignorieren.

Um den Body zu verwenden, solltest du daher wahrscheinlich die Methode POST verwenden.

Danke für den Tipp Thomas. Hat leider auch mit POST nicht funktioniert. Habe die geschweiften Klammern weggelassen, habe Leerzeichen eingefügt, habe andere Content Typen ausprobiert, aber alles ohne Erfolg. Bin etwas ratlos.
Hast Du vielleicht noch einen Tipp oder jemand aus der Community?

Hallo @andy167,

der Beitrag ist zwar schon etwas älter, aber ich stehe jetzt vor dem gleichen Problem.
Deshalb die Nachfrage: Hast Du inzwischen eine Lösung ?

Danke, Dieter

Hallo Dieter,
leider nein. Ich habe ein paar Kombinationen durchprobiert, aber hat nichts funktioniert. Ggf. müßte man noch mal einen IP-Sniffer nutzen, um zu sehen, ob das Problem eher auf IF Seite oder Core Seite liegt.
Gruß
Andreas

1 „Gefällt mir“

Hallo @homee -Team (@Thomas ?),
da die Nutzung von Body bei einem Webhook angeboten wird, sollte das ja auch nutzbar sein. Habt ihr das selbst schon getestet und könnt uns sagen, welche Syntax hier verwendet werden muss ? Insbesondere für IFTTT, das möchten @andy167 und ich gerne verwenden (vielleicht auch ein paar Anwender mehr).

VIelen Dank schon mal und viele Grüße,
Dieter

Hallo @andy167 (und alle anderen die das interessiert natürlich auch),
ich habe das nochmal in allen Varianten, die mir eingefallen sind getestet (mit ’ und ", maskiert mit \ und ohne, mit umschließenden ’ oder "). Ich habe es nicht hinbekommen, über den Body im JSON-Format die Variablen im IFTTT-Maker-Channel zu füllen.

Vielleicht könnte sich doch mal ein @homee -Entwickler dazu äußern, wie das im hommee realisiert ist und welche Syntax im Body verwendet werden muss,

Aber (und jetzt bitte einen Trommelwirbel!!!) ich habe einen Weg gefunden, Werte aus dem homeegramm an den IFTTT-Maker-Channel zu übergeben: Die Weitergabe über die URL funktioniert.

Hier die genaue Syntax:
https://maker.ifttt.com/trigger/{event}/with/key/{secret_key}?value1=xxx&value2=yyy&value3=zzz

Damit kommen die Werte “xxxx”, “yyyy” bzw. “zzz” in IFTTT als Value1, Value2 bzw. Value 3 an und können dort in der App verwendet werden. Ich nutze das inzwischen fleißig und ohne Probleme.

Viele Grüße und viel Spaß damit, Dieter

Update: Fehler in der Syntax korrigiert.

5 „Gefällt mir“

Was genau kann ich denn damit machen? Sorry steh auf Schlauch …

1 „Gefällt mir“

Ich habe beispielsweise Applets in IFTTT (die früheren Receipts), welche Informationen die vom homee kommen in Evernote in eine Notiz schreiben, quasi als Logbuch über bestimmte Ereignisse. Hier musste ich bisher für jede zu schreibende Information ein eigenes Applet in IFTTT erstellen, da ich die Information im Applet erzeugen musste und nicht vom homeegramm übergeben konnte.

Da ich jetzt die Variablen (Value1, Value2 und Value3) im homeegramm füllen kann benötige ich nur noch ein einziges Applet in IFTTT dafür.

1 „Gefällt mir“

Hallo Dieter,
Trommelwirbel und Danke :slight_smile:.
Hab’s ausprobiert und funktioniert. Nur, soweit meine Erfahrung" darf man beim Erstellen des Webhooks die Values nicht in den Body schreiben, sondern direkt in die URL, also genau wie bei Dir beschrieben.

Schön wäre, wenn man die drei Values jetzt noch aus z.B. Meßwerten der für das Homeegramm verwendeten Geräte eintragen könnte.

Gruß und Danke
Andreas

1 „Gefällt mir“

Ich versteh hier nur Bahnhof. !!!
Ich hab gerade einmal einigermaßen verstanden wie die webhooks funktionieren. Aber was genau machst du mit den Variablen.

Wo ziehst du sie raus. Wo bringst du sie hin. Und was machst du dann damit?
Wäre super wenn du uns das etwas erklärst.
Dann könnten vielleicht noch mehr etwas damit anfangen.
Ich glaube ich bin hier nicht der einzige dem es so geht.

Hallo Thorben,
das Rausziehen z.B. aus Schaltzuständen eines Gerätes funktioniert meines Erachtens noch nicht mit dem Homee.

Aber was wäre ein praktisches Beispiel:

Man hat mehrere Rauchmelder, die wenn sie anschlagen über IFTTT eine SMS an Dich versenden sollen.
Du definierst also ein Trigger Namens “Alarm”.
Für jeden Rauchmelder erstellst Du ein Homeegramm, das ein Webhook mit dem Trigger “Alarm” auslöst.
Jetzt kommts: Jeder Webhook ist genau gleich, bis auf den Value1.
Den definierst Du z.B.als Flur, Schlafzimmer und Kinderzimmer.
Wenn Du jetzt ein Applet auf IFTTT erstellst, kannst Du den SMS Text so formulieren, dass es wie folgt aussieht:
Im {{Value1}} hat der Rauchmelder ausgelöst. Schau nach, dass es nicht brennt.
Dann erhälst Du beim Auslösen des Homeegramms im Flur eine SMS mit dem Text:
Im Flur hat der Rauchmelder ausgelöst. Schau nach, dass es nicht brennt.

Value1 ist also quasi eine Variable, deren Wert (“Flur”) beim Aufruf der Funktion (Webhook mit Trigger Alarm) übergeben wird.

1 „Gefällt mir“

Hallo Andreas,
ja, das mit der URL ist korrekt, den Body kann man dafür nicht nutzen.
Und auf die Nutzung von Messwerten in homeegrammen warten ja schon mehr, dann könnten wir über Webhook und den drei Values solche Werte an IFTTT übergeben. Das würde die Möglichkeiten nochmal erheblich erweitern.
Viele Grüße, Dieter

Hallo Torben,
Andreas hat ja schon beschrieben, wie man damit Nachrichten über IFTTT variabel gestalten kann, ich nutze exakt diesen Weg um bestimmte Ereignisse aus homee in Evernote zu loggen. Das kann ich jetzt mit einem einzigen Applet in IFTTT machen, bisher habe ich dafür mehrere benötigt.

Es gibt auch einige Nutzer, die homee über IFTTT mit anderen Geräten koppeln, die von homee noch nicht unterstützt werden. Auch das kann ich jetzt durch die Übergabe von Werten aus dem homeegramm über diese drei Values an IFTTT viel variabler gestalten.

Viele Grüße, Dieter

Hallo,

Ich kann aber keine Werte von Sensoren als “Value” übermitteln, oder?

Guten Morgen, es ist {{Value1}}Uhr. Die Temperatur beträgt {{Value2}}.

Gruß
JayJay

Nein, das geht noch nicht. Es gibt aber entsprechende Feature Vorschläge, die Du gerne “liken” darfst :smiley:
Viele Grüße, Dieter

Schade, schade, schade…
Das werde ich sofort und gerne liken… :smiley:

1 „Gefällt mir“

Hi, ich würde das Feature auch gern “liken” kann einen entsprechenden Vorschlag aber nicht über die Suche finden. Der Link zum Feature würde helfen. Danke & Grüße, Jan

Es gibt mehrere Vorschläge, deshalb hatte ich keinen Link eingefügt. Ich sitze auch jetzt wieder im Zug und schreibe hier über Smartphone, das ist doch etwas umständlich.
Suche einfach mal hier in der Community nach “Variable” oder “Parameter”, dann solltest du die Vorschläge finden.
Gruß, Dieter

Hey Shamrock,

ich bastel gerade mit deiner Syntax herum und wollte kurz nachfragen: Alles in geschweifter Klammer ist individuell anzupassen und die Klammern entfallen, richtig? Ist es richtig, dass die runde Klammer vor Secret_key geöffnet, nicht aber geschlossen wird? Event ist ja ein beliebiger Begriff, welchen ich dann im Maker-Channel eintrage. Muss ich den noch an anderer Stelle in Homee anlegen?