Smarter Lights: I wanted smart lights and I got dumb lights. How can I make them smarter?

I'm a tech guy. I like to live in the future. I'm also a renter and frugal to a fault, which means I'm not in a position to ball out on a crazy smarthome system. I bought a Wemo mini smart plug because I wanted to be able to say "Alexa, turn on the lights", like a wizard. I set up the Wemo, configured Alexa, and plugged in the main lamp inside my studio apartment. Turns out just because you can, doesn't mean you should – controlling the lights with only my voice was extremely limiting, and this experience wasn't gonna cut it yet. 

Proposition: Can I use Android to make Wemo mini smart plugs just as convenient (if not more) than a traditional light switch, without using my voice every time?

Proposition: Can I use Android to make Wemo mini smart plugs just as convenient (if not more) than a traditional light switch, without using my voice every time?

IMG_9234E2

The main limitation with these new 'smart' lights was that the only way of activating them in my new smart-ecosystem was using my voice with Alexa (Echo Dot). It's inconvenient to be limited to only using voice control, there's a noticeable delay/response time, and the actual light switch is just sitting there, mounted to the wall, mocking me in its ancient, lightspeed, Thomas Edison glory. I won't be the first to admit that I got caught up in the smarthome hype. However, I was determined to configure a solution to make my smart lights more convenient. Below, I explore 3 different implementations that I tried to make my smart lights smarter.

Hey, who turned on the lights?

Take One: A light switch, but make it wireless.

Take One: A light switch, but make it wireless.

I wanted something that worked similarly to a lo-fi light switch. If we break it down, that means a trigger or a button mounted to a wall. I was aware that people hacked Amazon Dash buttons to do weird stuff, so I figured I could give it a shot too. The actual Dash buttons were unavailable at the time, so I bought the enterprise version that links directly to AWS. I even affixed it to the wall with 3M velcro so that I could remove it and use it anywhere in the apartment.

The key to making it work was linking the Wemo with the Webhooks. Loading the unique Webhook HTTP link toggles the Wemo using IFTTT's service. I plugged a simple program into AWS which triggers the Webhook link when I press the Dash button. Tada, it works! Not so fast, here's the problem: there was a significant 6 second delay. The button works exactly as intended – it takes about 5 seconds to connect to wifi, and then contact the Amazon servers, and finally trigger the Wemo device locally. This button solution wasn't gonna cut it because it simply took way too long to activate the light, and I could use my voice with Alexa way faster. 

Take One Result: Way too slow – 6 second button connect delay.

Take One Result: Way too slow – 6 second button connect delay.

Take Two: What if my phone could activate an NFC light switch?

Take Two: What if my phone could activate an NFC light switch?

The button was a worthy approach, but natural technical limitations rendered it too slow to be usable. What if the real light switch was in my pocket the whole time? Still thinking within the bounds of a light switch, I used an NFC sticker tag I had lying around and mounted it to the wall. Using the Automate Android app, I set up my phone to load the Webhook link when the phone interacts with this particular NFC tag. The idea was to simply tap my phone on the wall and trigger the light system.

The result was much more formidable than the original button. The wireless trigger delay was usually no more than 1 second, which meant fast on and off times. However, the natural drawback to this solution was that I still needed to get up and walk across the room to turn my lights on and off using my phone – remember, I wanted to make this smart light solution just as convenient, if not more, than a regular light switch. Additionally, Android tech limitations only allow NFC tags to be read when the phone is completely unlocked, which was another negative point for convenience and usability. Overall it worked pretty well, and the tag could be mounted behind a light switch cover for extra wireless wizardry (see above). However, it still wasn't seamless or intuitive enough for my taste.

Take Two Result: Decent implementation, but not entirely seamless or hassle-free.

Take Two Result: Decent implementation, but not entirely seamless or hassle-free.

Take Three: Get smart and make it stupid simple! Ditch the wall mounted implementations.

Take Three: Get smart and make it stupid simple! Ditch the wall mounted implementations.

I so desperately needed to justify this Wemo purchase and my adoption into the smarthome lifestyle, and I was determined to make something work. I'm an avid Tasker user and I knew there had to be a way. Tasker, simply put, is an Android app that allows for almost every type of custom phone automation and programming on Android phones – users can trigger specific events to occur when specific conditions are met. The hope was that I could program my lights to turn on and off with a simple button press on my phone; anytime, anywhere.

I got to work – teeth clenched, a bead of sweat on my brows. The final light solution came to me after a bit of tinkering and forum digging. Android reserves a special hardware event shortcut – long holding both volume buttons at the same time – for activating certain accessibility features such as a screen reader or grayscale color mode. I'll spare you the dirty details, but I researched and engineered a custom solution using Tasker to override this button shortcut. Holding the volume buttons could now turn my apartment lights on and off with speed and ease. The benefit to this implementation is that the trigger is always at my fingertips, it responds instantly, it's entirely tactile, and the phone doesn't have to be unlocked to use it. 

Take Three Result: This solution is the sauce. I'm literally living in Bladerunner 2049.

Take Three Result: This solution is the sauce. I'm literally living in Bladerunner 2049.

In all seriousness, this implementation works seamlessly and I use it every day. It was a fun journey to explore various tech solutions and implementations, and my light-summoning abilities are truly more convenient as a result. Sometimes the simplest solution takes trial and error to get to. Now I have 5 different ways to toggle my stupid Wemo.

9264-3

September 2020 Update: Android 11 updated the power button menu UI to add smart device control shortcuts. A wildly convenient feature, but my solution still works better.

September 2020 Update: Android 11 updated the power button menu UI to add smart device control shortcuts. A wildly convenient feature, but my solution still works better.

Some stuff I've done:

PR MicrositesUI design

Home BaseUX research, case study

Smarter LightsUsability, case study

Privates SchoolBranding

Read This BookAnti-interactive, illustration