Hello everyone,
Friend from Apple suggested I look into Indigo since I'm not very happy with my ISY994i setup. I considered Indigo a while back when deciding on a system but chose the ISY because it was a small net connected appliance that used very little power and didn't want to dedicate a Mac to home automation. Two years later and I'm rethinking my decision. I have never fully been able to wrap my head around their "state machine" approach to programming and it has been a struggle. Some of the things I want to do is too difficult for me and getting help sometimes makes me feel an idiot. Those people are way smarter than me. This community seems much more evolved and robust.
So I want to run my some questions about my current setup and my future goals with you all and see if I should go down this road.
About me and my abilities.
I have managed to hack my way thru the ISY and surprisingly got Apache working on a raspberry Pi using bash as a CGI engine to translate between some devices. However, I'll be honest: I'm more of a person who can take some existing code and bend it to my will rather than engineer something from the ground up (the Arduino mentioned below was really my first something from scratch and even then I had some help). I know AppleScript some and no Python... willing to learn.
Current system:
Running an ISY994i Pro with about 20 to 30 (varies during Christmas) insteon devices. All dual band:
(1) 240V Switch (Pool pump), (3) inline dimmers, (1) micro dimmer, (4) dual outlets, (3) single outlets, (1) EZIO8 running various valves (pool equipment) and a couple voltage inputs (for heater), (1) inline on-off, (2) Toggle Link on-off, (2) KPL's, (8) Lamp Link outlets, (1) 1200W Toggle Link, (3) outdoor outlets. Orchestrated MobiLinc Pro for iOS. (I know I'm missing something)...
My current system can run things as simply as on/off with a KPL (running programs) or thru the iOS app or scened (a couple toggle links linked together for some outdoor lights) to incredibly complex (the pool equipment).
I have the usual programs that turn on outdoor lights with a schedule (dusk to dawn), to the more complex: pool equipment that checks valve states, turns on things in certain orders, KPL buttons that have multiple purposes based on what part of the pool system is on or off. I even push temps into the ISY so that it can determine how long to run the pool pump for circulation based on the days temps (and even have freeze protection programs to run it as well).
Why I want to switch.
Still struggling with the ISY's state programming and the JAVA interface it is extremely difficult to follow logic when you have to have 3, 4 or 5 different programs to accomplish one thing. You can never look at programs more than one at a time and its hard to debug the flow with this limitation. So there's one of my huge problems.... I can get confused easily (parents dropped me on my head way too much).
Secondly, I have been wanting to expand my systems capabilities by removing the EZIO8 (horrible product that never reports back correctly the correct state). I want to replace them with these WEB CONTROL relays I have that allow me to issue a HTTP GET URL and change a relay state. That I can do now, but I can't poll the device to get its state without an intermediary device like a raspberry P... and that was a struggle... I hacked at my Pi until it gave in. I have some Dallas 1-Wire temp probes installed in the pool plumbing to get water temp readings, which I can use with the WEB CONTROL or an arduino so that I can have better control over the heating of the spa.
I want to install a few PIRs that run with say an Arduino that can push its state into the Indigo so that the Indigo can do (whatever).
I'd like to look into Beacons as occupancy solution as PIR's are only good for motion but not occupancy.
The ISY has a REST interface for controlling and pushing or pulling variables into it. Can I do this with Indigo?
Can I have the Indigo push out a URL to the WEB CONTROL (or arduino) thru a program?
Can the Indigo poll a network device and save that info in Indigo?
Can I create virtual device that behaves like a real insteon switch? (Example would be one of the relays on the Web Control) and then turn it on and off thru the interface or the iOS app just like a regular insteon device? It has to act as just another switch.
Can I create a limited use dashboard to use on a iPad or iPhone to use a wall-mounted virtual KPL's? (Right now I can only turn on my landscape lighting thru my phone because I have run out of room on my KPL's).
Has anyone gotten this to work with HomeKit (thru Home Bridge)?
Can device and program names be nested and or made into human readable names for devices like iOS or a dashboard?
Can I have a reduced set of "device" control on iOS for my Dad? It will be his primary way of controlling things. Don't want him being confused by all the programs or behind the scene stuff when it comes to control.
One thing I'll say about the ISY is that its bullet-proof (and Dad proof)... It works 24/7 and never needs rebooting. It just has to work. How stable is Indigo? I really don't do a lot of new stuff with my current solution as well 1) it works with what I have and 2) I have hit a wall with the other things I want to do.
One of the things I like about the ISY is that I like to keep control within my network - I don't want any cloud service involved with my home. If accessing Indigo thru the web or thru an iOS app, is anything going thru a third party or is it direct? (I can punch holes thru my router to allow external access)... is the communication secure? SSL? HTTPS? Can I install my own certs?
I posted a question in another sub-forum about running the PLM at a great distance but I'll look for my answer there.
I have one more question: I built my first Arduino that is installed at the community gate. It basically detects which gate is open and then pushes that gates state back to a Raspberry Pi. The Pi then tells my Synology Surveillance station to start recording on certain cameras. When the gate closes, it tells the recording to stop (it also triggers some massive LED floodlights aimed at the back end of cars to illuminate the plates). It also reports back the temp of the equipment box as well. That gave me an idea - can I use the Indigo to handle this "translation" between my Arduino and the Synology instead of using a Pi? Because I do want to have more sensors around the exterior of the house that do similar things and it would be cool if I could use Indigo as the backend.
I haven't downloaded the software trial yet as I have to carve out time to test it and make it work (and buy a new Mac). I figure I'll run both systems concurrently (moving a few devices at a time to Indigo and get them behaving the same way), until I unplug the ISY.
Thanks for your time and I hope I wasn't too verbose or obscure. I look forward to your feedback and hopefully joining the community.