Finally are now able to communicate both ways between Fibaro and IFTTT, It is not an official release by Fibaro but the Maker Channel have released a channel for HTTP recipes. It is time consuming to set ip but it is definitely the best solution for IFTTT to date.

Tutorial

I have previously written several post regarding IFTTT.com and what it does. This guide will not cover the functions of IFTTT but rather the setup of the Maker channel and Fibaro.

Log in to your IFTTT account and activate the Maker channel. The channel supports both Triggers and Actions. The trigger will trigger based on a sent HTTP command. The action will let you send various types of HTTP commands.

Maker Actions

The actions method will allow you to send a Fibaro HTTP API message with the HTTP GET method. You can access the Fibaro API by entering HTTP://"Your_Fibaro_IP"/docs. An action to turn on a light may look like this: http://admin:admin@Your_Fibaro_IP:Your_Fibaro_port/api/callAction?deviceID=33&name=turnOn

When you send this code to your Fibaro HomeCenter it will turn on device 33. The device number is found in the browser address while you have navigated to the device you want.

To be able to talk to the Fibaro Home Center remotely when you are not on your local IP you have to open up a port on your internet router. Opening up ports is different on every router and depends on your make. Head on over to Portforward.com and it will guide you through the setup on your router. Caution: Doing this may expose your Fibaro Home center to hackers. They still need your username and password to be able to use the HC but in the guide below some of these commands are sent through un-secure HTTP commands so both username and password are open for anyone interested in sniffing it out.

So after creating a task with your wanted trigger you are presented with the screen underneath on step 6 of the IFTTT setup. This is where you paste your Fibaro API Call.

Now that is it. The example below is assigning an Android Wear Button to turn on living room lights.

Maker Triggers Unsecure HTTP

Now the beauty of this channel is that it can react based on commands sent from another device capable of putting an HTTP command, like HC2. This first method of Trigger uses a virtual device, this method is unsecure in the way that Fibaro Virtual device only supports sending HTTP commands and not HTTPS. The secure method is listed below. Go to devices in Fibaro and create a new virtual device. In this device we are going to use the LUA code to send a HTTP command. The Trigger command in IFTTT looks like this:

Remember to check of to use Lua Code and not a String in the virtual device properties. The Lua code to use in the virtual device is:

Maker Triggers Secure HTTPS

The next possible solution to trigger the Maker channel is to use a scene to send a request to the with HTTPS. This method is more secure but it means you have to have a separate scene for each command you want to send. The Virtual Device option lets you assign as many as you want in one device. It is possible with more coding to create a large scenes to send diffrent HTTPS requests if you use variables for each command. To use the secure method navigate to Scenes in Homecenter and create a new scene using lua:

Summary

So this lets you establish a two way communication between Fibaro and IFTTT. The setup is simple and works really well. Beyond this it is only your imagination which decides what you can do with it. So what is your next IFTTT Trigger or Action?

Thanks for the blog. But are you not sending over the www een clear username and password with this solution???

Reply

Stian

26/7/2015 04:03:21 pm

Yes that is correct and it was warned in the post as well: They still need your username and password to be able to use the HC but in the guide below some of these commands are sent through un-secure HTTP commands so both username and password are open for anyone interested in sniffing it out.

Reply

Stian

26/7/2015 09:05:11 pm

I have now updated with method two: Using Lua Scene to trigger secure HTTPS request.

Alex

26/7/2015 06:46:45 am

Great tutorial! Thank you. Question: How do I reach my Fibaro from outside the network? The 192.168.1.13 IP is only a local IP and can not be found from outside? Is there a simple solution? Would be great if you could share. Thanks!

Reply

Stian

26/7/2015 04:06:20 pm

Checkmyip.com and you will find your outside IP. If you have not set up with static IP through your ISP then this may change. A Dynamic DNS solution is then the way to go.

Reply

PatrickVH

2/8/2015 08:06:15 am

or use the free Foscam ddns service if you have a Foscam IP Cam. I suppose other IP Cam suppliers also offer free dns services?

sammy Singh

8/6/2018 05:04:39 am

dom.fibaro.com, configure HCL for remote access, via email and then just access it from dom.fibaro.com ...no need for any port fw or DDNS

Reply

Alex

2/8/2015 03:50:48 pm

Is there any secure way to trigger action on the Fibaro from the outside network? I used the HTTP and port forwarding last week and had some security trouble of the weekend of somebody hacking into the Fibaro.

Stian, do you use the LUA code to send commands or to receive actions? Could you please share the code?

Is there an API for the secure home.fibaro.com connection?

Thank you all for the great advice.

Reply

Stian

3/8/2015 12:17:22 am

Have you read the modified version in the post with using https through LUA in a scene? It is currently the most secure way.

Reply

Alex

4/8/2015 06:41:56 am

Dear Stian, yes I have looked at your comprehensive post. Sending commands from Fibaro to IFTTT is not my issue. I am using email on IFTTT.com for this and it works very fast and is secure w/o any LUA code. Nevertheless, thank you for sharing this great approach.

My question is how to trigger an event from the outside on the Fibaro HC in a secure way? The inbound is my problem, not the outbound. Using HTTP and sharing the username and password resulted in some nice people hacking on my HC2 and even changing my password. I would love to avoid this happening again :-) Any advice is highly welcome!

umbex

18/10/2015 02:52:23 pm

If you are going to expose your HC2 user/password, do not use the admin: create a new user granting access only to one (two...) specific device or scene.

Reply

Stian

20/10/2015 11:12:57 am

Yes, i have seen that being mentioned in the forums. Very smart, thank you.

Reply

nico

6/11/2015 03:08:00 am

I tried to push a button (#1 or#2) on a virtual device like this:
http://usr:pwd@dyndns:port/api/CallAction?deviceID=255&name=pushButton&arg1=1
(location based trigger)
but the action is never triggered. Is there something wrong?

Reply

Lars Kristian

14/1/2016 06:10:16 am

Hi, Have you tough about using interface unit made by Mitsubishi for heat pumps so it can be controlled by WiFi Enabled Thermostats and then communicate the thermostat with Smarthings/Fibaro?

Hi! Posted last comment in the wrong blog post, should be in http://www.duppeditten.com/blog/heatpump-as-an-iot

Reply

TomRitchey

19/2/2016 03:04:52 am

Hi, thanks for tutorial.

I have problem. When i send HTTP GET method, like you described nothing happens :(. I also can't change device state from web interface or Fibaro iPhone and android tablet apps.

Reply

TomRitchey

19/2/2016 03:09:00 am

Also all devices have empty actions item in JSON (actions = { };) when called /api/devices

Reply

Stian Øien

23/2/2016 02:25:57 pm

are you using a public IP accessible by IFTTT and not your local IP address?

TomRitchey

24/2/2016 02:14:20 am

Stian Øien, I am not using local IP. I don't even have physical access to device.

Stian Øien

24/2/2016 02:25:36 am

what do you mean by you do not have access to physical device? In order for IFTTT to be able to reach HC2 you need to have a fixed external IP and a port redirect to the HC2

Martin

23/2/2016 02:07:32 pm

Does this work for the Fibaro Home Center Lite (HCL) ?

Reply

Stian Øien

23/2/2016 02:24:39 pm

I think so. is lua scenes available in HC Lite ?

Reply

Christian

12/3/2016 01:21:25 pm

Event id is that the same as Recipe number? Can´t get it to work.

Reply

Stian

13/3/2016 11:39:05 pm

Event is a name you can choose for example "start_tv" then you need to make sure that the Event name is identical on th HC2 and on the IFTTT page. Remember you have to use the HC2 Public ip and set up a port on your router.

Reply

Marcel

6/6/2016 01:25:56 pm

I have connected my Ring doorbell with Maker IFTTT. It works very well, but now I want to make a scene with a VD for my Fibaro HC2. Is this possible with a scene that if my Ring detects motion that one light will turn on and will turn off after 1 minute.

Reply

ADEL

14/10/2016 04:29:13 pm

Thank you

Reply

Marc Wahlstrom

2/11/2016 03:32:11 pm

Know what to type in the scene when i need to send this:
https://api.xxx.com/Script/SendSMS.aspx?login=xxxx&password=xxxx&to=+45xxxxxx&from=Santa&Text=Christmas
I tried with your above version but doent work.

Reply

Rajat

6/11/2016 05:10:04 am

Hello!
If I want to command Alexa by saying a particular phrase and use IFTTT to switch on fibaro relay through Fibaro HC2, what would be the procedure then? Thank you!