NEWS
[HowTo] mit IFTTT eine geofence Alternative für Android
-
@kortos:ich bin gerade auch einer IFTTT Anwesenheits-Erkennung dran, und bin daher auf Deinen Artikel gestoßen.
Auf meinem ersten Gerät läuft das alles auch schon problemlos, jetzt wollte ich ein zweites Gerät hinzufügen.
Dabei hatte ich es zuerst so vor, dass das zweite Geräte auch einen eigenen IFTTT Account.
Problem tritt aber dann bei der Kopplung mit dem KEY in ioBroker auf, da ich hier ja nur einen Key eingeben kann. `
Mist, daran habe ich nicht gedacht. Gestern habe ich mich auch an das Thema Anwesenheitserkennung mit IFTTT gemacht und das mit einem Account zum fliegen gebracht. Und dachte heute auf dem Weg von der Arbeit bei der Frage wie ich die zweite Person integriere auch "warum ein zweiter Adapter, einfach den Namen oder so wie apollon77 vorgeschlagen hat Thema, Event und Name mitgeben und bei dem ioBroker-Event 'Wert wurde geändert' parsen und in unterschiedliche lokale Variablen schreiben."
Aber das scheitert wohl in der Tat an dem einen IFTTT Key. Ist das ein konzeptionelles Problem dass für den Webhook hier nur ein Aufrufer-Key möglich ist, oder könnte man in dem Adapter nicht auch eine Liste erlaubter Keys generieren? Ich dachte immer bei einem Webhook gibt der aufrufende für einen Callback seine eigene URL mit, und der Key validiert doch nur ob der Aufrufende legitimiert ist? Aber von dem Konzept bin ich zu weit weg, das weiß der Entwickler des Adapters sicher besser. Eine Liste (kann ja auch statisch sein, z.B. 5 Keys das dürfte ja 99% aller Anwendungsfälle abdecken) wäre schon cool wenn nicht irgendein grundsätzliches Konzept dagegen spricht.
-
Edit: die folgende Beschreibung ist veraltet. Anstatt des cloud-Adapters nimmt man den iot-Adapter. Im iot-Adapter findet man auch die korrekte Adresse, die man bei ifttt einträgt.
Mit der folgenden Anleitung kann man anhand vom GPS des Handys einen Bereich angeben, der beim Verlassen und Eintreten etwas triggered, z.B. eine Variable.
Das ganze läuft ohne lange Testphase ganz gut mit Android (7.1.1) und Handy OnePlus 3T. Zusätzlicher Akkuverbrauch muss ich mal beobachten.
Voraussetzung:
- cloud Adapter ab 1.0.2
- IFTTT App auf dem Handy
1.) IFTTT einrichten:
Man kann die Einstellungen vornehmen über die Internetseite (https://ifttt.com) oder über die Handy-App. Ich habe es über die Internetseite gemacht:
a) Das Prinzip ist das gleiche wie das Beispiel 2 unter https://github.com/ioBroker/ioBroker.cl … c/ifttt.md Bitte ergänzend anschauen.
Unter dem User Namen oben rechts -> New Applet
b) +Zeichen anklicken, choose service "location" eintragen und auswählen

c) "You enter an area" wählen und Adresse eingeben und Durchmesser des Bereichs anpassen, anschließend "create trigger".d) Dann +Zeichen wählen.

e) choose action service "web" eintragen und "Maker webhooks" auswählen

f) "make a web request" anklickeng) web request ausfüllen mit URL aus dem cloud Adapter (ganz unten unter "Use following link for IFTTT:"), Method: post, content type: text/plain, Body: z.B. "anwesend" (kann irgendein Wort sein, muss nur später im Script übereinstimmen), Create Action

h) Finishi) Schritte a) bis h) wiederholen mit dem Unterschied: unter c) "You exit an area" auswählen. Auch sollte man dann einen etwas anderen Durchmesser wählen als bei "Enter an area", sonst kann es hin- und her springen wenn man auf der Grenze steht. Und unter g) ein anderes Wort wählen, z.B. "abwesend".
j) im cloud Adapter muss auch unter "IFTTT key:" der Schlüssel eingetragen werden. Diesen bekommt man, wenn man unter ifttt.com unter search "web" einträgt und "Maker Webhooks" auswählt und auf Documentation klickt. Ganz oben steht der Key.
Soweit so gut. Nun würde also beim Eintreten des Bereichs immer das Wort "anwesend" unter Objekte cloud.0.services.ifttt geschrieben bzw. "abwesend" beim Verlassen des Bereichs.
2.) Script (Blockly) erstellen:

Blockly Export:<xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml"> <block type="create" id="qu7W2Y5SH-*+[8(LonoR" x="88" y="38"><field name="NAME">anwesend</field></block> <block type="on_ext" id="dbg(X)^b2OxZmo_S(0U*" x="87" y="163"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="3hN7xt0ku4N}6Gr7:8_q"><field name="oid">cloud.0.services.ifttt</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="mD.f%F*8a0^UgmsIiT_Z"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="M,T+P1^nQ`r}*v!n+pO("><field name="OP">EQ</field> <value name="A"><block type="get_value" id="X|T?jzNLp]YCJ^9#n:JJ"><field name="ATTR">val</field> <field name="OID">cloud.0.services.ifttt</field></block></value> <value name="B"><block type="text" id="@[^rX@`vScz#trZ:GymZ"><field name="TEXT">abwesend</field></block></value></block></value> <statement name="DO0"><block type="control" id="otX=gfMr9!^yJv{ypT4|"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.anwesend</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="{GV[yA.UL;F)iWnV(4:~"><field name="BOOL">FALSE</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="Ny++x_(LNU/~2NI02uT4"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="B5E{E33tf-?wA|%XKK=B"><field name="ATTR">val</field> <field name="OID">cloud.0.services.ifttt</field></block></value> <value name="B"><block type="text" id="IuBo%n*7yI4|#@|%NG8h"><field name="TEXT">anwesend</field></block></value></block></value> <statement name="DO1"><block type="control" id="kpI@vP}XwBll,e+y!@++"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.anwesend</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="@Yo!J4e]3e19!]wC;ib{"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></xml>@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
Mit der folgenden Anleitung kann man anhand vom GPS des Handys einen Bereich angeben, der beim Verlassen und Eintreten etwas triggered, z.B. eine Variable.
Hallo!
Habe gerade mit deiner Beschreibung bei IFTTT alles erstellt.
Obs funktioniert sehe ich morgen Vormittag. Da gehts zum shoppen!
Aber wenn ich dein Blockly importiere (! hab ich entfernt, die durch die Forumumstellung erstellt wurden), bekomme ich nur einen einzigen leeren Block.
So hab ich es importiert:
Kannst du mir bitte weiterhelfen?
-
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
Mit der folgenden Anleitung kann man anhand vom GPS des Handys einen Bereich angeben, der beim Verlassen und Eintreten etwas triggered, z.B. eine Variable.
Hallo!
Habe gerade mit deiner Beschreibung bei IFTTT alles erstellt.
Obs funktioniert sehe ich morgen Vormittag. Da gehts zum shoppen!
Aber wenn ich dein Blockly importiere (! hab ich entfernt, die durch die Forumumstellung erstellt wurden), bekomme ich nur einen einzigen leeren Block.
So hab ich es importiert:
Kannst du mir bitte weiterhelfen?
@Negalein ich kann den Import leider nicht testen. Bin unterwegs.
Aber es ist ein simples Blockly:
Trigger auf Änderung von "cloud.0.services.ifttt". Dann je nach Inhalt "anwesend/abwesend" eine Aktion ausführen, z. B. eine Variable "anwesend" true/false schalten. -
@Negalein ich kann den Import leider nicht testen. Bin unterwegs.
Aber es ist ein simples Blockly:
Trigger auf Änderung von "cloud.0.services.ifttt". Dann je nach Inhalt "anwesend/abwesend" eine Aktion ausführen, z. B. eine Variable "anwesend" true/false schalten.@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein ich kann den Import leider nicht testen. Bin unterwegs.
Aber es ist ein simples Blockly:
Trigger auf Änderung von "cloud.0.services.ifttt". Dann je nach Inhalt "anwesend/abwesend" eine Aktion ausführen, z. B. eine Variable "anwesend" true/false schalten.Hallo
Ich habe IFTTT nach dieser Beschreibung eingerichtet. 1 Applet für "kommen" und 1 für "gehen"!
Aber unter cloud.0.services.ifttt zeigt er mir nichts an.

So sieht es im Cloud-Adapter aus:

Hab ich irgendwo einen Fehler?
Kann ich irgendwie testen, ob von IFTTT zu ioBroker übertragen wird?Danke
-
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein ich kann den Import leider nicht testen. Bin unterwegs.
Aber es ist ein simples Blockly:
Trigger auf Änderung von "cloud.0.services.ifttt". Dann je nach Inhalt "anwesend/abwesend" eine Aktion ausführen, z. B. eine Variable "anwesend" true/false schalten.Hallo
Ich habe IFTTT nach dieser Beschreibung eingerichtet. 1 Applet für "kommen" und 1 für "gehen"!
Aber unter cloud.0.services.ifttt zeigt er mir nichts an.

So sieht es im Cloud-Adapter aus:

Hab ich irgendwo einen Fehler?
Kann ich irgendwie testen, ob von IFTTT zu ioBroker übertragen wird?Danke
@Negalein du kannst unabhängig von ifttt prüfen ob Befehle an den Service von der cloud ankommen. Also einfach die Adresse in Browser eingeben und schauen ob der Befehl ankommt, also ob im Objekt von cloud.service sich was ändert.
Es steht hier beschrieben wie die Adresse auszusehen hat. Entweder von Pro cloud oder ohne Pro. -
@Negalein du kannst unabhängig von ifttt prüfen ob Befehle an den Service von der cloud ankommen. Also einfach die Adresse in Browser eingeben und schauen ob der Befehl ankommt, also ob im Objekt von cloud.service sich was ändert.
Es steht hier beschrieben wie die Adresse auszusehen hat. Entweder von Pro cloud oder ohne Pro.@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
Es steht hier beschrieben wie die Adresse auszusehen hat. Entweder von Pro cloud oder ohne Pro.
Ich bekomme lt. Log von IFTTT einen 502!
Adresse hätt ich eigentlich richtig eingetragen.
https://iobroker.net/ifttt/@pro_XXXXXXXXXXXXXXXXXXXXX
Das @ muss doch dabei stehen? Gehört so zum Key?
-
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
Es steht hier beschrieben wie die Adresse auszusehen hat. Entweder von Pro cloud oder ohne Pro.
Ich bekomme lt. Log von IFTTT einen 502!
Adresse hätt ich eigentlich richtig eingetragen.
https://iobroker.net/ifttt/@pro_XXXXXXXXXXXXXXXXXXXXX
Das @ muss doch dabei stehen? Gehört so zum Key?
@Negalein ich glaube die Adresse ist falsch. Mit pro dürfte es nicht .net sein.
Aber eventuell muss/kann es auch mit dem iot-Adapter funktionieren. Zumindest wird hier bei mir im Adapter die korrekte vollständige Adresse angeben: https://service.iobroker.in/v1/iotService?service=ifttt&key.... -
@Negalein ich glaube die Adresse ist falsch. Mit pro dürfte es nicht .net sein.
Aber eventuell muss/kann es auch mit dem iot-Adapter funktionieren. Zumindest wird hier bei mir im Adapter die korrekte vollständige Adresse angeben: https://service.iobroker.in/v1/iotService?service=ifttt&key....@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein ich glaube die Adresse ist falsch. Mit pro dürfte es nicht .net sein.
Also, den Cloud weg und stattdessen den IOT Adapter?
-
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein ich glaube die Adresse ist falsch. Mit pro dürfte es nicht .net sein.
Also, den Cloud weg und stattdessen den IOT Adapter?
@Negalein genau. Und einmal testweise alles lassen nur das "net" gegen "pro" tauschen in der Adresse. Hast doch pro, wenn ich es richtig sehe?
Edit: mit dem iot Adapter ist es richtig!
Siehe: https://forum.iobroker.net/topic/16197/iobroker-iot-und-iobroker-pro/1 -
@Negalein genau. Und einmal testweise alles lassen nur das "net" gegen "pro" tauschen in der Adresse. Hast doch pro, wenn ich es richtig sehe?
Edit: mit dem iot Adapter ist es richtig!
Siehe: https://forum.iobroker.net/topic/16197/iobroker-iot-und-iobroker-pro/1@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein genau. Und einmal testweise alles lassen nur das "net" gegen "pro" tauschen in der Adresse. Hast doch pro, wenn ich es richtig sehe?
Edit: mit dem iot Adapter ist es richtig!
Siehe: https://forum.iobroker.net/topic/16197/iobroker-iot-und-iobroker-pro/1Hallo
Iot hab ich eingerichtet.
Als URL hab ich im Applet bei IFTTT jetzt https://service.iobroker.in/v1/iotService?key=@pro_christian@xxxxxxxx.at_xxxxxxxxxxxxxxxxxxxx&user=christian@xxxxxxxx.at&service=ifttt eingegeben.
Passt das so?
Muss ich aus der Homezone raus um zu prüfen ob es funktioniert, oder geht es auch anders?PS: soll ich den Cloud-Adapter nun ausschalten und nur den IOT aktiv lassen?
-
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein genau. Und einmal testweise alles lassen nur das "net" gegen "pro" tauschen in der Adresse. Hast doch pro, wenn ich es richtig sehe?
Edit: mit dem iot Adapter ist es richtig!
Siehe: https://forum.iobroker.net/topic/16197/iobroker-iot-und-iobroker-pro/1Hallo
Iot hab ich eingerichtet.
Als URL hab ich im Applet bei IFTTT jetzt https://service.iobroker.in/v1/iotService?key=@pro_christian@xxxxxxxx.at_xxxxxxxxxxxxxxxxxxxx&user=christian@xxxxxxxx.at&service=ifttt eingegeben.
Passt das so?
Muss ich aus der Homezone raus um zu prüfen ob es funktioniert, oder geht es auch anders?PS: soll ich den Cloud-Adapter nun ausschalten und nur den IOT aktiv lassen?
-
@Negalein ich kann den Import leider nicht testen. Bin unterwegs.
Aber es ist ein simples Blockly:
Trigger auf Änderung von "cloud.0.services.ifttt". Dann je nach Inhalt "anwesend/abwesend" eine Aktion ausführen, z. B. eine Variable "anwesend" true/false schalten.@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein ich kann den Import leider nicht testen. Bin unterwegs.
Aber es ist ein simples Blockly:
Trigger auf Änderung von "cloud.0.services.ifttt". Dann je nach Inhalt "anwesend/abwesend" eine Aktion ausführen, z. B. eine Variable "anwesend" true/false schalten.Hallo
IFTTT funktioniert jetzt 1A!
Beim Blockly bin ich mir nicht sicher.
Vorallem, wo ich das "Nega anwesend" einstelle.

-
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein ich kann den Import leider nicht testen. Bin unterwegs.
Aber es ist ein simples Blockly:
Trigger auf Änderung von "cloud.0.services.ifttt". Dann je nach Inhalt "anwesend/abwesend" eine Aktion ausführen, z. B. eine Variable "anwesend" true/false schalten.Hallo
IFTTT funktioniert jetzt 1A!
Beim Blockly bin ich mir nicht sicher.
Vorallem, wo ich das "Nega anwesend" einstelle.

@Negalein du musst den obersten Trigger Block nehmen.

Dort klickst du auf default und suchst dir den Ort wo die Variable liegt, in etwa: Javascript. 0 - variable - ifttt.
Und dann wie du es fast schon gemacht hast, bei Änderung auf true eine Aktion ausführen, sonst bei false andere Aktion.Kann sein, dass der oberste Block bei dir das gleiche macht. Bin mir nicht sicher.
-
@Negalein du musst den obersten Trigger Block nehmen.

Dort klickst du auf default und suchst dir den Ort wo die Variable liegt, in etwa: Javascript. 0 - variable - ifttt.
Und dann wie du es fast schon gemacht hast, bei Änderung auf true eine Aktion ausführen, sonst bei false andere Aktion.Kann sein, dass der oberste Block bei dir das gleiche macht. Bin mir nicht sicher.
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
Dort klickst du auf default und suchst dir den Ort wo die Variable liegt, in etwa: Javascript. 0 - variable - ifttt.
Und dann wie du es fast schon gemacht hast, bei Änderung auf true eine Aktion ausführen, sonst bei false andere Aktion.Danke
"nega anwesend" liegt unter iot.0.services.ifttt
Da gibt es kein true/false.Müsste ich quasi mit einem Script einen Datenpunkt unter javascript.0 erstellen?
Könntest du mir da helfen?
Scripts sind wie ein Buch mit 1000 Siegeln für mich. -
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
Dort klickst du auf default und suchst dir den Ort wo die Variable liegt, in etwa: Javascript. 0 - variable - ifttt.
Und dann wie du es fast schon gemacht hast, bei Änderung auf true eine Aktion ausführen, sonst bei false andere Aktion.Danke
"nega anwesend" liegt unter iot.0.services.ifttt
Da gibt es kein true/false.Müsste ich quasi mit einem Script einen Datenpunkt unter javascript.0 erstellen?
Könntest du mir da helfen?
Scripts sind wie ein Buch mit 1000 Siegeln für mich. -
@Negalein true/false war quatsch. Dort wird bei dir doch anwesend/abwesend stehen. Darauf muss getriggert werden.
Also zuerst auf Änderung von iot. 0.services.ifttt und dann falls anwesend Aktion ausführen.@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein true/false war quatsch. Dort wird bei dir doch anwesend/abwesend stehen. Darauf muss getriggert werden.
Also zuerst auf Änderung von iot. 0.services.ifttt und dann falls anwesend Aktion ausführen.Danke
Ich kann da nirgends "Nega anwesend" eingeben, bzw. auswählen.

-
@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
@Negalein true/false war quatsch. Dort wird bei dir doch anwesend/abwesend stehen. Darauf muss getriggert werden.
Also zuerst auf Änderung von iot. 0.services.ifttt und dann falls anwesend Aktion ausführen.Danke
Ich kann da nirgends "Nega anwesend" eingeben, bzw. auswählen.

Hi,
ich habe ein anderes Problem.
ich habe soweit iftt eingerichtet, wenn ich die URL im Browser eingebe um zu testen, steht dort nur "null".
Beim iot-Adapter ist in den States "undefined". eigentlich sollte dort anwesend stehen wenn ich zu Hause bin. -
Hi,
ich habe ein anderes Problem.
ich habe soweit iftt eingerichtet, wenn ich die URL im Browser eingebe um zu testen, steht dort nur "null".
Beim iot-Adapter ist in den States "undefined". eigentlich sollte dort anwesend stehen wenn ich zu Hause bin.@Ludozine sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
ich habe soweit iftt eingerichtet, wenn ich die URL im Browser eingebe um zu testen, steht dort nur "null".
Beim iot-Adapter ist in den States "undefined". eigentlich sollte dort anwesend stehen wenn ich zu Hause bin.was hast du wo eingestellt?
Kannst du bitte Screenshots zeigen. -
@Negalein true/false war quatsch. Dort wird bei dir doch anwesend/abwesend stehen. Darauf muss getriggert werden.
Also zuerst auf Änderung von iot. 0.services.ifttt und dann falls anwesend Aktion ausführen.@lobomau sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
Also zuerst auf Änderung von iot. 0.services.ifttt und dann falls anwesend Aktion ausführen.
so dürfte es jetzt funktionieren!


-
@Ludozine sagte in [HowTo][Anleitung] mit IFTTT eine geofence Alternative für Android:
ich habe soweit iftt eingerichtet, wenn ich die URL im Browser eingebe um zu testen, steht dort nur "null".
Beim iot-Adapter ist in den States "undefined". eigentlich sollte dort anwesend stehen wenn ich zu Hause bin.was hast du wo eingestellt?
Kannst du bitte Screenshots zeigen.