Contact us for all your questions
Sending API calls to smart home devices
(can we integrate the HC2 with Apple's homekit?)
ROBBshop believes that a mature smart home system is not only capable of controlling its own devices (i.e. Z-wave or Zigbee) but which can also control other smart devices like Philips HUE lampen, the Sonos musicsystem or the Nest thermostat. Fibaro for example supports this and with V4 of their firmware they have introduced the plugin module. Plugins are small apps which can sent and recieve API-calls to other devices like the Nest thermostat. This means you can set the temperature from your Fibaro HomeCenter 2.
What exacly is the benifit of this API-stuff. A manufacterers own app is always the best way to control a device? Yes and you should use the makers app to control the device, but the downside of this is that when you leave your house you need to start multiple apps to switch all smart devices off...Wouldnt it be great to shut down all apps, turn of the light, switch of the TV, stereo etc with the push of one button?
Z-wave smart home gateways like the Fibaro Homecenter 2 can do this for you. Via a HTTP-call (API-call) we can controll all the smart devices that are present in your network. They only thing is we need the API from the device. And not all manufacterers will share their API calls.
So when a manufacterer has published their API we can controll it from our smart home controller, withou you loosing functionality, since you can keep using the manufacteres app.
The other way around is also an option, for example, a smart device that can sent a command to the Fibaro Homecenter 2 or Vera Edge controller.
For the Fibaro controllers the command would look like this:
Many API calls are available. We can even sent a API-call from a Fibaro controller to a GetVera Edge controller, controlling Z-wave devices in another controller.
local thisId = fibaro:getSelfId()
local thisIp = fibaro:getValue(thisId, 'IPAddress')
local veraId = fibaro:getValue(thisId, 'TCPPort')
local dimValue = _sliderValue_;
Vera = Net.FHttp(thisIp,3480)