IFTTT Modul

IPSymconIFTTT

Modul für IP-Symcon ab Version 4.1 ermöglicht die Kommunikation mit dem Dienst IFTTT. Anbindung von IFTTT an IP-Symcon über den Maker Channel.

Update Readme / Google Home über IFTTT

1. Funktionsumfang

Der Internet Dienst IFTTT bietet die Möglichkeit verschiedene Internetdienste miteinander zu verknüpfen und so jeweils aus einem Trigger und einer Aktion eine Arbeitsablauf zu erstellen, genannt Recipe. Im Gegensatz zu andern Diensten lassen sich bei IFTTT nur ein Trigger mit einer Aktion verknüpfen. Der Maker Channel von IFTTT kann als Trigger (THIS) oder auch als Aktion (THAT) in IFTTT Recipes eingebunden werden. Dabei kann der Maker Channel mit beliebigen anderen Channels zu einem IFTTT Recipe verbunden werden.

Trigger

Der Trigger des Maker Channel erlaubt die Definition eines Events und lässt 3 Variablen zu die übertragen werden können. Mit dem Modul können Variablen verlinkt werden oder im Modul selber Werte als Konstante eingetragen werden, die dann von IP-Symcon an IFTTT geschickt werden um ein Trigger für ein Recipe auszulösen. Die übergebenen Variablen können dann in einer IFTTT Aktion weiterverwertet werden. Auf dieser Weise lassen sich Kanäle von IFTTT mit IP-Symcon 4 triggern.

Aktion

Bei Auslösen eines Triggers eines IFTTT Recipes kann eine Aktion ausgelöst werden, die Informationen an IP-Symcon weiterleitet. Hierbei hängt es vom gewählten Trigger ab welche Zutaten (Ingredients) zur Verfügung stehen. Bei einem Email Channel könnten zum Beispiel From Subject und Body übertragen werden. Abhängig vom Trigger stehen dann unterschiedliche Auswahlen zur Verfügung. Da die Anzahl der Kombinationsmöglichkeiten an Channels und damit die zu übermittelnden Daten von Fall zu Fall unterschiedlich sind, müssen die Anzahl der Variablen im Modul eingestellt werden. Weiterführende Information zu IFTTThttps://ifttt.com

Zum Senden an IP-Symcon sind die Daten wie folgt in IFTTT einzugeben. Die Anzahl der übergebenen values hängt vom Recipe ab.


Als objectid ist die Objekt ID der IFTTT Instanz anzugeben die die Daten empfangen soll.

2. Voraussetzungen

[ul]
[li]IPS 4.1[/li][li]IP-Symcon Connect[/li][li]Account bei IFTTT Learn how IFTTT works[/li][li]IFTTT Account mit eingerichteten Maker Channel[/li][/ul]

Installation & Anleitung
GitHub - Wolbolar/IPSymconIFTTT: IPSymcon Modul ab 4.1 zur Verbindung von IFTTT mit IP-Symcon

Das Modul nutzt Dynamische Konfigurationsformulare und ist daher erst ab IP-Symcon Version 4.1 lauffähig.

Bis zur Version 4.1-520 ist es notwendig nach dem Ändern der Variablenanzahl oder der Kommunikationstyps die Instanz nach dem Übernehmen einmal zu schließen und dann wieder zu öffnen um das angepasste Konfigurationsformular sichtbar zu machen.

Ab IP-Symcon Version 4.1-522 ist ein Schließen der Instanz nach Übernehmen einer Änderung nicht mehr notwendig dann aktualisiert sich das Konfigurationsformular nach dem Drücken von Übernehmen selbstständig.

Update für internes Webhookskript ab4.1 bccf26a3d3de

Update für IP-Symcon 4.1 Stable es wird kein Interface Skript mehr genutzt sondern der Webhook wird direkt vom PHP Modul entgegen genommen. Bitte vor dem Modulupdate auf die aktuelle IP-Symcon 4.1 Stable aktualisieren wenn IP-Symcon 4.1 benutzt wird.

Hallo Fonzo,
ich habe mich gerade an deinem Modul versucht, leider kommt der Trigger nicht bei IFTTT an. Wenn ich den key und den Triggername über den Webbrowser sende, startet IFTTT korrekt. Ich habe die aktuelle IPS 4.1 beta am laufen.
Danke für deine Module und deine Hilfe

Habe gerade einen simplen Test gemacht mit einem Applet das mir eine Email bei einem Event schickt. Die Email kommt ganz normal an.

Was für ein Applet willst Du denn starten. Hast Du noch mal den IFTTT Makerkey überprüft das dieser richtig übernommen wurde und hast Du auf groß und klein Schreibung beim Event geachtet? Eventuell kannst Du ja mal einen Screenshot von dem Applet und den Einstellungen im Modul posten. Ich selber konnte zumindest bei mir nichts Auffälliges finden warum es nicht funktionieren sollte.

Mal eine Grundsatzfrage in die Runde. Nutzt das Triggern eines IFTTT Events und das verschicken von Variablen an IFTTT durch das Modul jemand und wenn ja funktioniert das wie bei mir oder gibt es da eventuell eine Fehlermeldung?

Hallo,

ja bei mir funktioniert das Triggern eines IFTTT Events und das verschicken von Variablen an IFTTT wie es soll.

Gruß
zkra

Danke für die Rückmeldung, bei blacksblacks4270 funktioniert es nämlich nicht und irgendwie weis ich beim Besten Willen nicht was da die Ursache sein könnte.

Hast Du es zufällig mal hinbekommen direkt von IFTTT was über den Maker Channel an IP-Symcon abzusetzten? Ich habe das irgendwann entnervt aufgegeben und nutze den Umweg über Flow. Ich habe aber keine Ahnung ob das mit dem Maker Channel von IFTTT zusammenhängt oder irgendwas in IP-Symcon ist was verhindert das das bei mir sauber direkt vom Maker zu IP-Symcon funktioniert. Falls das jemand mal hinbekommt würde ich mal über einen Screenshot bzw. kurze Info freuen.

Update zum direkten Empfangen von Daten von IFTTT. Konfigurationsbeispiel im ersten Post.

Hi zusammen,

woher bekomme ich denn das Webhook User Name und Passwort?

Danke

mb

Die IP-Symcon Console öffnen. Dort unter I/O Instanzen den IFTTTIO mit doppelklick öffnen. Dort befindet sich ein Feld in das man seinen eigenen gewählten Webhook Benutzernamen Namen und Webhook Passwort eintragen kann. Anschließend mit Übernehmen bestätigen.

oh man…
ich kriegs nicht hin…
vielleicht kann mir da ja mal jemand helfen.
Ich hab erst mal ein „checktime“ genommen… möchte das aber gerne für Strava nutzen…

User/pw habe ich im IFTTT IO gesetzt…

Dachte eigentlich ich hab mich an die Anleitung gehalten…

Probier mal die " " vor und nach Checktime rauszunehmen. Wenn das ein Integer ist brauchst Du das nicht das wäre nur bei einem String notwendig.

Ah und im JSON String musst Du den Key ersetzten der ist fest und wird nur im Modul zugewiesen.

Also das verwenden:


{"username":"xxx","password":"xxx","objectid":37516,"values":{"EventName":"{{EventName}}", "Value1":"{{Value1}}", "Value2":"{{Value2}}","Value3":"{{Value3}}", "OccurredAt":"{{OccurredAt}}"<<<}>>>}

statt falsch:


{"username":"xxx","password":"xxx","objectid":37516,"values":{"EventName":"{{EventName}}", "Activityname":"{{Value1}}", "Strecke":"{{Value2}}","Zeit":"{{Value3}}", "OccurredAt":"{{OccurredAt}}"<<<}>>>}

Das „<<<}>>>}“ hab ich übrigens schon selber berichtigt und kriege nun eine Fehlermeldung:

(immerhin mehr als vorher)

erledigt…
warte auf 15:30 :wink:

Ah ok geht es jetzt ja?

Nur zum Testen ist es im Übrigen das einfachste sich von IPS ein Event in IFTTT zu triggern und dann das gleiche Event zu benutzten um wieder was zu empfangen. Dann kann man sehen ob alles richtig eingestellt ist und kann das jederzeit selbst prüfen indem man das Event in IPS triggert.

nöö… gab noch nicht mal mehr ne Fehlermeldung…

Ich schau mal, melde mich.