First of all thank you all for trying out indilinq and giving your feedback! It means a lot to everyone working on this little project!
First of all to answer some questions about the company, forum account and so on as by all means everything is in the open and nothing is secret and there is no need for anyone to be suspicious.
My name is Kostas and I have been an indigo domotics user for many years now (my user account is KostasV) after migrating from a horrible Fibaro experience. Over a year ago I founded Pegnio Ltd as a limited company based in the UK in order to create and publish some of the projects we have been working with friends under that company name. The reasons are mainly legal around potential liability, tax, accounting among others and also because we are developing a number of other initiatives including mobile games. We are a team of passionate developers who love getting things done!
Jay has been kind enough to share the low-level API and we will have a look and evaluate if it is maybe better to migrate to that instead of having a plugin, there are pros/cons but it looks like a fun project anyway! Also here I need to say a big thanks to everyone supporting indigo domotics for all the helpful answers they have given, it is vary rare these days this level of friendliness and support!
I have been taking note on some of the features that have been requested and we will discuss with the team as well to see what we can include in the next release. A bit thanks to all those taking the plunge and giving us their honest opinion.
On the questions of Terry around the security, we have taken every possible measure, maybe overdone it a bit as we have SSL certificates created on the first time the plugin is activated (so they are unique per installation) and also encrypt the messages using AES that are transmitted back and forth between the plugin and the mobile app. The password you enter into the plugin config screen is also stored encrypted (we opted not to use the key chain for now for other reasons). Also the app when switching from Cell plan to WiFI will check via Bonjour if the indilinq is there locally and will connect there again for both security and to avoid using external connections where possible. Keys are combination of static and dynamic, will not go into more detail, it was part of the fun of creating it!
As for Cython, we opted to use it for both speed, integrity of data (so users can't alter things and then comms get all messy) but it has many many limitations. We ideally wanted to compile the entire 'package' as a library but Cython doesn't work this way (yet) so we opted to include all the Open Source dependencies inside the plugin. Not the best way to distribute an application but the guys at indigo made it so easy as the 'package' can have directories and they run in an isolated python shell not affecting the user's experience in any way.
Once more a big thanks and please keep the feedback coming - good or bad - it is useful for us!
Pegnio Ltd