Hello everyone,
I have been using indigo for a while and as an iPhone user I wanted a bit more functionality on my phone so I embarked on a journey to learn how to program a native iOS app with the aim of managing my Z-Wave devices from my phone.
After many hours of coding, a bit of help from the guys at indigo and a bit of help from Stackoverflow I managed to get the first version of an iPhone app (indigolink) for iOS 8 and above (using my iPhone 6 plus as the initial layout) and a Python Server (indigolinkserver) that becomes the 'middle-ware' between the app and the indigo server.
I have made the source code available on GitHub:
indigolink - iPhone app (iOS
https://github.com/indigolink/indigolink
indigolinkserver - Python Server (2.7)
https://github.com/indigolink/indigolinkserver
The code can take a bit of an improvement as it was written when I had some free time and while learning Swift & Objective-C as well.
In short the indigolinkserver is a Python script that polls the indigo API every few seconds (user defined) and collects any changes. If there is a client (the indigolink app) connected it will push the changes (e.g. switch on/off, new temperature value, etc) to the device as it uses sockets. It has a number of other nice features like notifications APNs when the 'alarm' is set 'on' and a graphs page.
This is my first stab at this and there is still a lot to do but a million mile journey begins with a single step.
I'm open to all the (constructive) feedback so please try it and let me know.
Thanks!
Kostas
[Edit] - Adding some screen grabs: http://s292.photobucket.com/user/indigolink2015/slideshow/