Website-Icon Dein Smart Home Blog

IFTTT für Fibaro HC2 - so gehts

Fibaro IFTTT

Jetzt ist alles möglich! In diesem Tutorial zeige ich dir wie du mit der Fibaro - IFTTT ansprechen kannst und andersherum, wie du IFTTT als Trigger nutzt. Im Beispiel schalten wir die Belkin WeMo Geräte.

IFTTT sollte für viele von euch ein Begriff sein. Dabei handelt es sich um einen kostenfreien Webservice, welcher sogenannte "Kanäle" und Rezepte anbietet. Die Kanäle können wiederum Webdienste sein wie: Google Mail, Office 365, eBay, Yahoo Wetter, Soundcloud, RSS Feeds und so weiter... Ein Kanal kann aber auch ein IoT Device sein (Modewort und steht für Internet of Things Gerät), also ein Gerät was selbstständig mit dem Internet kommuniziert. Beispielsweise die netatmo Wetterstation, Wink Smart Home Produkte, SmartThings, Philips Hue Leuchten, Google Nest Thermostat und Rauchmelder, Belkin WeMo, Switch, LED Leuchten ach ja und Blink (1) :-) aber dazu vielleicht ein andermal mehr.

IFTTT steht dabei für "IF-THIS-THEN-THAT" zu deutsch: "Wenn dies, dann das". Also eine sehr einfache Regel die ausgeführt wird aber dabei Geräte und Dienste unterschiedlicher Hersteller verbindet. So könnte man sagen:

Hier ist also wirklich viel möglich. Wäre doch super, Wenn man einen Z-Wave Wandschalter drückt und dann die WeMo LEDs angehen, oder der WeMo Switch. Wenn Fibaro Motion Bewegung erkennt, dann eine Nachricht auf die Android Uhr senden, oder wenn jemand auf deinem Android Telefon anruft, dann TV oder Musik via Fibaro Virtual Device leiser machen.

Ich hätte da so viele Ideen. Cool das es jetzt geht !! :-D

Seit kurzem gibt den Kanal "Maker" - dieser kann:

  1. Trigger also Auslöser sein, dann ruft er einen http Befehl auf
  2. http Befehle annehmen und eine Aktion ausführen.

Heißt wir können mit der Fibaro in beide Richtungen mit IFTTT kommunizieren. So kannst du nun eine Szene auf der Fibaro Starten wenn Yahoo Wetter meldet das es Regnet, oder du eine neue eMail hast oder der im Google Kalender ein Ereignis startet, oder wenn du mit deinem iPhone einen definierten Bereich verlässt bzw. erreichst, oder das Fitbit Armband meldet das du schläfst....

Andersrum kannst du so natürlich auch einen HTTP Befehl abfeuern, welcher den WeMo Switch, die WeMo LEDs, die Philips Hue, das Google nest Thermostat, blink(1) ;-) ein- / ausschaltet, steuert oder eine eMail bzw. Pushnachricht versendet, einen Kalendereintrag oder ein Evernote Event setzt und so weiter ...

Da geht echt viel! - und so geht´s!

IFTTT Maker einrichten

Ich setze mal voraus, dass du einen IFTTT Account besitzt, wenn nicht: einfach hier registrieren. Wenn du in deinem Account eingeloggt bist, gehst du oben im Menü auf Channels, suchst nach "Maker" - und fügst ihn hinzu. Dadurch bekommst du schon automatisch einen "secret key". Diesen brauchst du später, wenn wir per http Aufruf in Richtung IFTTT Aktionen auslösen wollen.

IFTTT Kanal Maker - kann via http Befehl gesteuert werden

IFTTT startet Szene auf deiner Fibaro

Den folgenden Teil will ich nicht so ausführlich erklären. Das liegt nicht daran das diese Geschichte unspannend ist - im Gegenteil, dieser Teil hier ist hochgradig spannend! Er erlaubt uns zum Beispiel den Standort unseres iPhone zu nutzen um Szenen auszulösen oder Geräte direkt zu schalten. Die Geolocation Funktion hat die Fibaro App zwar auch, aber diese beruht auf GPS und saugt den Akku extrem schnell leer. Hier, bei der IFTTT Lösung sprechen wir von der Ortung via: Mobilfunk-, Wi-Fi und GPS-Netzen, was den Akku deutlich mehr schont. Ausserdem können wir eine Szene auslösen, wenn in Google Calendar ein Event ansteht und vieles mehr.

Der Kanal "Maker" ruft dabei einen http Befehl auf. Darüber lässt sich jedes einzelne Gerät, in der Fibaro steuern. Der http Befehl sieht dann so aus:

Was du hier benötigst, ist ein DynDns Account (da gibt es viele Anbieter wie DynDns, noIP.com, selfhost usw), denn alle 24h bekommst du von deinem Provider eine neue IP Adresse. Der "Maker" Kanal auf IFTTT benötigt aber eine feste Adresse um deine Fibaro zu erreichen. Deswegen brauchst du den DynDns Account. Die Zugangsdaten kannst du in deinem Router unter dem entsprechenden Menüpunkt hinterlegen. Immer wenn dein Router eine neue IP von deinem Provider bekommt, meldet er diese ab sofort an den DynDns Account. Der hinterlegt die IP und mappt sie zu deiner DynDns Adresse, die da lautet: http://deineAdresse.dyndns.org.

Dein Router ist somit immer über diese Domain erreichbar. Damit auf Port 80 (Webanwendung) deine Fibaro antwortet, musst du diesen Port noch forwarden, also auf deine Fibaro weiterleiten. Sei dir aber bewusst, das du damit eine potentielle Tür zu deiner Fibaro ins Netz stellst. Befehle die via http übermittelt werden sind unverschlüsselt und könnten mitgelesen werden.

Rezept erstellen

Nun, wenn deine Fibaro von aussen per Domain / DynDns erreichbar ist, kannst du ein Rezept anlegen. So nennen sich bei IFTTT die Wenn-Dann Begingungen. Dazu gehst du wieder in deinen IFTTT Account und gehst oben im horizontalen Menü auf "My Recipes" -> "Create Recipe"

Als erstes wählst du den Auslöser, also die Bedingung aus. Das kann die Veränderung von deinem Standort sein, oder wenn du eine eMail, bzw. eine eMail von einer bestimmten Person (Chef? ;-p) erhalten hast, oder das Wetter Regen meldet usw. Tipp: Welche Trigger, also Auslöser ein Kanal bietet, siehst du bereits bevor du den Kanal verknüpfst, indem du auf "Channels" gehst und irgend einen Kanal anklickst. Scrolle nun etwas nach unten und auf der linken Seite stehen alle verfügbaren Auslöser, rechts alle möglichen Aktionen.

[carousel arrows="display" buttons="display" caption="display"] [panel title="Maker Channel IFTTT" description="IF this -> Trigger / Auslöser auswählen"]

IF this -> Trigger / Auslöser auswählen

[/panel] [panel title="Maker Channel IFTTT" description="IF this -> Trigger Event auswählen"]

IF this -> Trigger Event auswählen

[/panel] [panel title="Maker Channel IFTTT" description="IF this -> Trigger Event Standort via iOS"]

IF this -> Trigger Event Standort via iOS

[/panel] [panel title="Maker Channel IFTTT" description="IFTTT - THAT Maker Kanal wählen"]

IFTTT - THAT Maker Kanal wählen

[/panel] [panel title="Maker Channel IFTTT" description="IFTTT - Maker Kanal spricht Fibaro Api an"]

IFTTT - Maker Kanal spricht Fibaro Api an

[/panel] [panel title="Maker Channel IFTTT" description="IFTTT Rezept erstellen"]

IFTTT Rezept erstellen

[/panel] [/carousel]

Im THAT Befehl suchst du nun nach "Maker" und wählst dort die einzig verfügbare Aktion "make a web request" aus. in die URL gibst du nun den Befehl ein, welcher dein Gerät schaltet, bzw. deine Szene startet. Hier will ich auch gar nicht tiefer in die Materie gehen, denn diese API Calls für die Fibaro hat Daniel für seine Sprachsteuerung via Google Now mit Tasker schon verwendet. Deswegen setze ich hier einfach mal den Querlink mit der Bemerkung, das du die Links 1:1 übernehmen kannst, lediglich die IP Adresse musst du gegen deine DynDns Domain austauschen. Voran stellst du den Benutzernamen und das Passwort:

Beispiel:

Es macht mehr Sinn eine Szene zu steuern als ein einzelnes Device via http anzusprechen, denn die Szene kannst du bei Bedarf auf deiner Fibaro schnell ändern oder ergänzen. Ansonsten kannst du ein einzelnes Gerät so ansprechen:
Was auch ganz interessant sein könnte sind virtuelle Module, diese steuerst du so:
Alles weitere in Daniels Artikel nachlesen ;-)

IFTTT Aktion auslösen

Wie beschrieben, können wir mit der Fibaro auch ein http Befehl senden, welcher dann ein IFTTT Rezept triggert (auslöst). Wir könnten also via Tastendruck auf einer Fernbedienung, wie der KFOB oder einem Wandschalter die WeMo LEDs, die Philips Hue, oder den WeMo Switch einschalten. Wir können via Szene, zeitgesteuert die WeMo LEDs in den "Sleep fader" (langsames herunterdimmen) versetzen. Alternativ kannst du so auch bei Bewegung eine Pushmitteilung ins iOS Notification Center senden lassen, oder eine eMail.

Hierzu gibt es zwei Möglichkeiten, diesen http Befehl zu senden. Entweder:

  1. via Button auf einem virtuellen Device
  2. per Szene

Beide Varianten haben Ihre Vorteile und jeweiligen Einsatzmöglichkeiten:

  1. Das virtuelle Device würde ich immer für Hardware Geräte nehmen, wenn ich zum Beispiel Philips Hue, Google nest, blink(1) :-D , WeMo Switch, LEDs oder den WeMo Maker steuern will. Die Knöpfe des Virtual Device lassen sich auch in "Szenen" drücken.
  2. Eine Szene eignet sich recht gut um Webdienste per IFTTT zu steuern. So kannst du Beispielsweise eine eMail via google Mail versenden, oder eine Nachricht in das iOS Notification Center. In der Szene lassen sich die Value Werte individuell füllen, die später der Inhalt der eMail oder Pushnachricht sind, bzw. der Wert auf den eine Lampe gedimmt werden soll ect.

Wir schauen uns beide Möglichkeiten mal an:

IFTTT als virtuell Device in Fibaro

Im Beispiel will ich dir mal eben zeigen, wie du einen WeMo Switch ( Steckdose) per Fibaro steuerst. Den Maker Kanal haben wir ja bereits vorhin mit unserem IFTTT Kanal verbunden und erhielten dabei auch unseren secret Key. Als nächstes benötigen wir den Eventnamen. Dazu gehe im IFTTT Kanal auf "My Recips" "Create a Recipe". Nun wählst du im "IF THEN" Teil als Auslöser den Kanal "Maker" aus. Hier hast du wieder nur eine Auswahlmöglichkeit: "Receive a web request".

Nun musst du einen Event Namen vergeben. Diesen kannst du frei nach deiner Fantasie verteilen. Es dient später dazu, dass Rezept eindeutig per http Befehl zu adressieren. Mit einem Klick auf "Create Trigger" geht es weiter zum "THAT" Teil, in welchem die Aktion festgelegt wird.

THAT: Hier kannst du nun aus allen Kanälen eine Aktion definieren, welche ausgeführt werden soll wenn Maker per http Befehl ausgelöst wurde. Wie bereits beschrieben wollen wir den WeMo Switch steuern, dazu suchst du nach "WeMo" und wählst den Kanal vom Switch aus.

[carousel arrows="display" buttons="display" caption="display"] [panel title="IFTTT - Fibaro " description="IFTTT- IF This: Kanal Maker auswählen"]

IFTTT- IF This: Kanal Maker auswählen

[/panel] [panel title="IFTTT - Fibaro " description="IFTTT - Maker - Event Namen festlegen"]

IFTTT- Maker Kanal: Event Name

[/panel] [panel title="IFTTT - Fibaro " description="IFTTT- THAT Aktion festlegen"]

IFTTT- THAT Aktion festlegen

[/panel] [panel title="IFTTT - Fibaro " description="IFTTT- THAT Aktion WeMo schalten"]

IFTTT- THAT Aktion WeMo schalten

[/panel] [/carousel]

Nun werden dir alle Aktionen angezeigt, welche möglich sind. Neben Einschalten und Ausschalten, können wir die Steckdose auch "toggeln" also in den "Gegenzustand" schalten. Das wähle ich auch aus, denn so kann ich mit einem virtuellen Button die Steckdose Ein-/ und Ausschalten.

Im nächsten Schritt musst du via DropDown nur noch auswählen, welcher deiner WeMo Switche gesteuert werden soll. Danach legt der Button "create Action" das "Rezept" an.

Virtuelles Device erstellen

Jetzt müssen wir nichts weiter machen, als den http Befehl, welcher unseren Eventnamen und den secure key beinhaltet abzusenden. Wie der aufgebaut sein soll, findest du übrigens im Kanal von "Maker" mit einem Klick auf "How to trigger Events"

Also erst einmal auf der Weboberfläche der Fibaro wechseln, dort auf Module -> links auf "Lösche oder füge Gerät hinzu" > und hier wähle: "virtuelles Device". Vergib diesem einen passenden Namen und wechsel auf die Registerkarte: "Erweitert". Dort fügst du einen Button hinzu. Schalte diesen von "Zeichenkette" auf "LUA" um. Das Script sieht wie folgt aus:

Beide benötigten Variablen sind uns ja bekannt: {event}, sowie auch {Userkey}. Der Userkey, ist der "secret Key" welchen du beim hinzufügen des "Maker" Kanal erhalten hast - das Event hatten wir gerade angelegt und selbst frei benannt. Diese Variablen fügst du nun in den Link ein (ohne die geschweiften Klammern -> {}). Das sieht dann so aus:

Jetzt nur noch speichern und fertig. Zeit für einen Test. Per Klick auf den Button, sollte nun die WeMo Steckdose eingeschaltet, bzw. ausgeschaltet werden. Im IFTTT solltest du einen entsprechenden Log Eintrag sehen, wenn du auf das "Rezept klickst" und links auf "Log".

[carousel arrows="display" buttons="display" caption="display"] [panel title="Fibaro Virtual Device" description="IFTTT WeMo"]

Fibaro virtual Device - IFTTT

[/panel] [panel title="Fibaro Virtual Device" description="IFTTT WeMo"]

Fibaro virtual Device - IFTTT

[/panel] [/carousel]

IFTTT in einer Szene

Fibaro Szene - IFTTT

Auch hier musst du lediglich die zwei Variablen "Event Name" und den "secret Key" entsprechend ersetzen.

So einfach lässt sich die Fibaro mit IFTTT verbinden und erweitert damit die Möglichkeiten enorm. Ich bin gespannt wofür Ihr es einsetzen werdet, berichtet doch mal, einfach unten in den Kommentaren.

Die mobile Version verlassen