Controlling Lights : Software

Mark Zachmann
Home Wireless
Published in
2 min readDec 4, 2016

The ISY994 controller I’m using has really not-good user interface software.

ISY User Interface

You can go to the lamp controls via an insecure port — which requires sending a password in plaintext…

… or you can go via HTTPS which does this. Once you click past that it requires a login and then you got one of two not-nice GUIs that both take many seconds to come up.

Here are the two possible GUIs.

The two possible GUIs. The one on the left is the default. The right is the Dashboard (?).

Neither of these does much for me.The one on the right displays wrong in many browsers (my tablet sometimes has no sliders I can touch-move, my phone has them wrap funny). And note both are showing my room controller devices — which aren’t lamps. Overall it’s a bust.

The functionality is great, user-interface not-so-much.

My User Interface

So, I wrote my own user interface using Angular2 and Typescript (like Javascript) and hosted it on a Raspberry PI running NGINX. That way anyone in my house can go straight to the web page (no login security as long as you’re in-home) and it then proxies the REST requests to the real ISY994 device using HTTPS which hides the password. So- way better security, ease of use, and a better GUI.

It looks like this:

The Lamp Controller Software I wrote/use

My son called it garish, which is fair — but it’s awfully easy to use on a small format or large format device. Also note the URL is just lamps.home — which i think is classy :) Changing colors or other formatting is trivial since it’s just an html template.

I stuck a simple shortcut on my wife’s phone and on my tablets and phone and the gui comes up quickly and easily. What a great solution.

Angular2 Code

If you’re really curious i’ve embedded the lampservice source below.

--

--

Mark Zachmann
Home Wireless

Entrepreneur, software architect, electrical engineer. Ex-academic.