NEWS
[gelöst] IFTTT-Webhooks werden nicht getriggert
-
@dtp
ah, okay, stimmt. -
@dtp
ich habe mal versucht so ein Beispiel aus der Beschreibung nach zu bauen, aber bei mir tut sich auch nix ? Meine Anwesenheit funktioniert damit recht zuverlässig, also die Daten in Richtung ioBroker. Anders herum tut sich irgendwie nix. -
OK mit Javascript geht es natürlich^^. Dachte du machst das direkt im iot-Adapter.
Meine Problem ist die Zeitliche Abfolge. Ich hab nen Kontaktsensor an meiner Tür (den kann ich nicht direkt in den ioBroker einbauen, da der Tuya Adapter nicht mehr funktioniert). Also zwei Routinen in Alexa die dann IFTTT auslösen welche dann als "THEN" Webhooks triggert welcher den Status an den iot Adapter sendet. Bei offen "open" und bei geschlossen "close".
Problem ist jetzt, dass wenn ich die Tür sehr schnell wieder zu mache, beim iot Adapter erst der "close" Status an kommt und DANACH der "open" Status (oder nur der "open" Status, da bin ich nicht sicher). Also Tür ist zu und der ioBroker denkt die Tür ist offen. Ich weiß jetzt nicht genau wo der Fehler liegt. Entweder die Alexa Routinen sind zu träge und starten irgendwie in falscher Reihenfolge (was ich nicht glaube) oder IFTTT ist zu lahm/ausgelastet und verarbeitet dann erst die zweite Anfrage und dann die Erste oder der iot Adapter ist das Problem, dass er nicht 2 Befehle so kurz nacheinander verarbeitet und den zweiten "close" ignoriert.
Die Notlösung war jetzt erstmal das Alexa im der "Close Routine" mehrfach den close Status an IFTTT sendet. Besser wäre natürlich wenn ich in der Routine sagen könnte "schick den close Befehl, warte 1 Sekunde und schicke ihn nochmal". Leider ist das Minimum an Wartezeit 5 Sekunden was möglich ist in der Alexa Routine. Das wäre wieder viel zu lang.
-
@dslraser sagte in IFTTT-Webhooks werden nicht getriggert:
ich habe mal versucht so ein Beispiel aus der Beschreibung nach zu bauen, aber bei mir tut sich auch nix ? Meine Anwesenheit funktioniert damit recht zuverlässig, also die Daten in Richtung ioBroker. Anders herum tut sich irgendwie nix.
Danke. Dann ist es also, wie bei mir.
Ich hatte das mal über die Homebridge mit dem dortigen IFTTT-Plugin realisiert und dort klappte es problemlos. Hoffe, dass sich bald jemand der Sache hier annehmen wird.
IFTTT ist jetzt zwar aus meiner Sicht nicht die optimale Lösung für eine Hausautomation, aber manche Dinge scheinen leider nur darüber zu funktionieren. Aktuell gilt dies z.B. auch für das Auslesen der Werte von Withings/Nokia Health, weil es dafür immer noch keinen ioBroker-Adapter gibt.
-
noch mal bissel gespielt, kommt doch was an, nur bisher bin ich zu blöd es richtig ein zu stellen.
Test 2:
Edit: Ich hatte immer versucht das Trigger Wort z.B. state in den Objekten ein zu tragen, bei services, da ist nix passiert. Ich dachte das käme da rein, weil da auch Werte von ifttt ankommen, aber da passiert nix, nur über den Blockly Baustein kam was bei ifttt an.
-
Hm. Ich mach nix mit Blockly. In der Anleitung hier steht aber, dass es auch direkt über den ifttt-Datenpunkt gehen müsste.
Und auf den sendTo-Befehl im Javaskript gab es irgendwie gar keine Reaktion. Hab ich wohl was falsch gemacht.
-
@dtp
selbst wenn ich es mit dem Testblockly mache, steht das nicht in dem Datenpunkt unter services. -
Okay, dann versuche ich es heute Abend noch mal mit dem sendTo-Befehl. Melde mich. Danke für die Hilfe.
-
Klappt leider nicht.
Hab jetzt ein kleines Skript mit folgendem Inhalt geschrieben:
var timer = null; on({id:'javascript.0.ifttt.KaffeemaschineAusschalten', change:'any', val:true}, function(){ sendTo("iot.0", "ifttt", {event: 'Kaffeemaschine_ausschalten'}); if(timer) clearTimeout(timer); timer = setTimeout(function(){ setState('javascript.0.ifttt.KaffeemaschineAusschalten', false); }, 200); });
Aber es passiert leider nichts.
-
Hab's gestern nicht mehr ausprobiert, aber kann es sein, dass die drei values Pflichtfelder sind? Die kann man ja aus dem Blockly auch nicht einfach entfernen, oder?
-
@dtp
ja, das denke ich auch. -
Ich probier's heute Abend mal aus und melde mich wieder.
-
@dtp
aus der Beschreibung.Also its possible to set the variable iot.0.service.ifttt with some value and it will be send, too.
-
Na ja, "with some value" ist ja nun ziemlich vielsagend. Sprich, "event" ist irgendwie auch ein "value".
-
Also irgendwie kapier ich das nicht. Das Skript wird ordnungsgemäß ausgeführt, es passiert aber nichts mit dem IFTTT-Webhook.
Komischerweise hatte es heute Früh ein einziges Mal zumindest einen Run gegeben. Aber das bekomme ich nicht mehr reproduziert.
Keine Ahnung, was da schief läuft und wo die Ursache dafür liegt. Vielleicht versuche ich es doch mal mit den von mir so ungeliebten Blocklies.
-
@dtp
das ungeliebte Blockly, das hier (ohne Trigger)sieht in JS so aus
sendTo("iot.0", "ifttt", {event: 'state', value1: 'Test 1', value2: 'Test 2', value3: 'Test 3'}); console.log("ifttt_iot: " + 'state');
-
Ja,
ziemlich exakt so, wie mein Javaskript.
Aber ich glaube, ich habe die Ursache gefunden. Irgendwie hatte sich der IFTTT Webhook-Key geändert.
Mal sehen, ob's jetzt funzt.
-
Kurze Info. Es funktioniert jetzt.
Lag wohl wirklich einfach daran, dass man erstens alle drei Values mit übergeben muss und dass - peinlich - sich mein Webhook Key zwischenzeitlich änderte.
-
@dtp
Prima