Automation

Smart Plugs - a Year Later

Computer:  Tea, Earl Grey. Hot.

It's a beautiful dream and with Amazon Alexa, Google Home, Siri, Bixby (ha) and others we get a little closer each time.   Add matter-energy conversion, intra-spacial tunneling that isn't bound by relativity and the speed of C and we may one day find ourselves in the Cosmos facing off against goatee-clad alien warriors.

My generation may have to wait to fully experience Roddenberry's utopian future vision for humanity, at least we can talk to our computers now and sometimes that can even carry a level of utility with it. Last year I shared some stuff here about using Amazon Echo and related Alexa Smart Home Skills and Wifi-enabled smart switches to power games on and off and to play music in the game room.  

After living with two brands of smart plugs for about a year, in our game room and other parts of the home, I thought it might be a good time to do a deep dive in how that's been working out.   What works, what doesn't.

Smart Plugs

I went with two brands of plugs in my implementation, not necessarily intentionally but that's just sort of how it shook out through coupons, rebates, coupons, etc. iHome and Belkin Wemo.   There are others out there but I'll stick with what I know.  Here are my thoughts on each.

iHome Plugs

The Hardware

IMAGE.JPG

Originally, I favored the iHome plugs because of their convenient size and form-factor.  The plugs have a convenient button, two convenient status indication lights: One signifying power state and one signifying wifi connectivity status.

The iHome plugs have convenient HomeKit ID labels or adding them to your HomeKit setup and for adding to the iHome app.

Based on the plug size, you can fit two on a standard wall plate or a few on a power strip with the correct plug orientation.

 

IMG_2582.PNG

 


The App and Setup

Plug setup is pretty simple and standard for these sorts of things.  These plugs are Homekit compatible (mostly) so I opted for an iPhone to manage them.  You can use the Homekit discovery features of iOS to set them up or configure them within the iHome Control app (available from the App Store and Google Play).

The setup app attempts to OCR the HomeKit ID label while adding a new plug.  It sounds like a good idea except that in most cases, that ID window is nearly impossible to get to while the plug is in an outlet. (It is on the bottom.)     That aside, points for trying to save me the step of entering a code.

The plugs join your WiFi network and can be organized in Locations (DoddHome in this picture), Rooms, Zones, and Scenes / Macros.  You can classify a plug based on it's service type, things like fans, outlets, video games, etc.   This doesn't seem to really do much of anything, just provide at a glance the type of object on a plug.

The iHome Control app is a little kludgy in terms of device editing.  I very often power on a device by accident, trying to edit the specific device definition. Sorting, doesn't work.   

Another fuzzy aspect to the iHome setup is they have a portal account associated with ihomeaudio.com and the nature of that account is a little on the mystical side.  My original setup process required me to create an account with a username.  Later on, integrations with other services required integration to an account with an email address as the password.   Somehow in that mess, I apparently have two accounts on their backend and had to go through these extra steps of essentially sharing the plugs with myself.

Apparently they have that solved now.  The need for an account given HomeKit's nebulous infrastructure makes sense, your device definitions need to live somewhere in the cloud so that they aren't lost when your phone is reset.  It appears their original implementation didn't consider the concept of integration to third party services (Alexa Skills, Google Home, IFTTT, Stringify, etc) so I believe that is the cause for the initial account mess.


A couple of engrish emails in June of last year after all of the plugs stopped working and my accounts were merged successfully.

This made it ...slightly .. more reliable..

IMG_2529.PNG

Service Reliability

The service reliability has improved some since my accounts were merged but still isn't exactly rock-solid.  Occasionally all of the plugs just fall away.   More often, they work from the iHome Control app but aren't available to Alexas, IFFT and other services.


Sometimes but not always I can trace this to internet connectivity outages or power outages.   If the cable modem disconnects but wifi remains up, it seems as if the plug times out connecting to the cloud.  Even though the plug LED's indicate successful operation it becomes unavailable to iHome Control, Apple HomeKit, IFFT, Alexa, etc.

The solution, annoying as it is, seems to be to just unplug the iHome plug - plug it back in once the internet is available again.

This is .. annoying, especially considering the whole point of this is to have plugs located in inconvenient-to-reach areas, like behind big-assed video games or floor lamps tucked away behind the couch in the Den.



 

 

 

 

 

 

 

 

 

 

 

 

 

 

Network Presence and Data Consumption

On the wifi-side, the iHome plugs seem to work out well in terms of connectivity to our mesh network.   They stay connected to our wifi, despite loosing connectivity to their parent cloud services.

They do, however consume more traffic than the Wemo.   Below is one plug, for 60 days. (Left)   Not a ton of data for 60 days if you compare to something like an IP camera, though. (right)  But still, 200 mb U/D of data consumption to turn something on and off might be a consider if you are living the mobile-broadband / limited data lifestyle.

IMG_2588.PNG

Customer Service

IMG_3D94A857C8A9-1.jpeg

My early impressions with iHome customer service was pretty dismal, especially considering the added bonus of complexity and burden of proof associated with the concept of: "Your service's integration with (other service) is down."    The classic technical support tendency where multiple vendors are involved to point to the other guy takes hold.

In order to get support at all, I had to distill the issues down to distinct failures with iHome products themselves.  The integrations with Alexa, IFFT, Google Home and others just isn't something they are set up to support.

One step in the right direction is that recently I received a proactive email blast to let me know their services were unavailable.   The outage lasted for about 18 hours, which was a bummer but at least they owned it. 

IMG_2570.PNG

iHome Conclusion

iHome seems to be improving but hasn't been a trouble-free experience.  My plugs are in the "not bad enough to replace but not good enough for me to keep buying" category, for now.   If the service continues to improve, I'll consider them for future growth.


Belkin Wemo Plugs

The other brand of smart plug that I engaged with was Belkin Wemo.   Sort of, by accident.  It was a function of coupons, rebates and Christmas, Birthday and Father's Day gifts that put me into multiple ecosystems.

The Hardware

The Belkin Wemo smart plug originally was released on only the gigantic wall-wart format (below, left) and more recently is available in a new mini-plug design that is still larger than iHome's mini plug but small enough to not take up an entire outlet, or small city block like the original plug.

IMAGE.JPG
IMG_4548.JPG

In addition to the smart plug, Belkin was wise to offer a wall switch and they were one of the first to market with a Wifi / Cloud Services enabled wall-switch like this. 

IMG_8235.JPG

 

The App and Setup

IMG_2561.PNG

 

Setting it up

Setting up the Wemo plugs using their app isn't quite a walk in the park but has gotten better over the year.  Originally, I experienced considerable weeping and gnashing of teeth using their setup process to add plugs to the network.  The Wemo plugs join and present themselves as Wifi endpoints.  You set up the plug by starting the app, initiating the new device process, then jumping out of the app, joining that temporary Wifi endpoint and re-opening the app.

That's not unheard of for these devices but two issues persisted during my initial setup of Wemo devices.   The first was that the app open / close - join / rejoin activities would crash the app and leave the plug in some sort of half-configured state.    The second was that the original firmware for the plugs (circa 2015) didn't include support for strong Wifi passwords.  If your router has a strong wifi password with spaces, special characters - you'd have to join the plug to an insecure endpoint, allow it to update firmware, then rejoin the secured endpoint after the firmware update.   Classic technical chicken-egg complex.  I need wifi to get the firmware update but  I can't join the wifi because of the firmware.   SUPER FRUSTRATING....


Good news is, they seem to have most of those issues ironed out.  The last five plugs I've installed came boxed with an appropriate minimum firmware and the app is considerably more stable.   

Living with it

The Wemo app has received alot of nice little quality of life additions over the last year.   Inclusion of thumbnails, a simple but effective editing interface and simplified new-device-onboarding have all been added and work extremely well.

Wemo still doesn't natively support Homekit but the service is so good, I really don't miss it.

It was a rough start but Wemo has gone from barely able to get it working to, rock solid in a very short period of time.

 

Service and Reliability

Where day-to-day use is concerned, the Wemo's stand out.   They just work.   All of the time.   Power outages, cable outages, intermittent internet connectivity, foam rave parties (ahem), whatever.  They just always work and they always work on all vectors.   They self correct, they stay updated, they work in the App, they work with IFFT and Stringify, they work via Alexa Skills.   

Did I mention: they just work?

 

Network Presence and Data Consumption

On the network, the Wemo Plugs consume a tiny amount of data.   11/16mb U/D for 6 months.    That's some efficient use of data!   Sipping it like a nice wine instead of gulping it down like fermented grape juice sold in a bladder.

IMG_1D62293D49FA-1.jpeg
IMG_2567.PNG


Network Naming

and...  I didn't even know that I wanted this but... the Wemo plus are piping the device name over NetBios, meaning each plug shows up on my network with the name of the device I have set in the app, versus the random Mac-Address fragment I get from iHome.  Most routers allow you to alias a Mac with a network name or establish a static lease to accomplish this.

It was so refreshing that I didn't have to do any of that... 


Again, it just worked.

 

Wemo Conclusion

Adding Wemo plugs to my network with the early firmware was problematic but modern incarnations of the plug appear to be shipping with more complete and stable firmware from the factory.   The Wemo app tended to have minor issues setting up new plugs originally but has since become quite stable.   The app features lots of nice features and the backend cloud services are especially solid.  The addition of a Wemo mini plug that splits the difference in size between the original wall plug and the smaller, iHome plug alternatives combined with service stability make Wemo my first choice for future additions.

Bringing it all Togehter

In my scenario, a humble $29 Echo Dot brings it all together.   I chose a Dot over the original Echo because, well: I had one sitting around from a work-related thing.  (Proof of concept of an Alexa Skill.) 

IMG_5036.JPG

Also, I didn't need the full speaker capability of a full-sized Echo, this Dot is plugged in via  headphone jack to an audio receiver.  This allows us to hear (or optionally mute) Alexa's responses and gives the added benefit of voice-controlled music through connected music services.

One thing I liked about using an Alexa-enabled device over a Google Home (personally) was that I have experience building Alexa Skills and utilizing Amazon Web Services.  If I need something custom, I can whip it up pretty quickly.   So far, the stock capabilities are working just fine for my purposes, though.

Connecting the plugs


You enable the connectivity between your smart plug (or other devices) and the Echo / Alexa devices through the skills interface.  

You basically pick the skills from the Alexa Skills catalog related to the plug vendor, sign in if necessary and then the Echo devices can discover those plugs on your network using those Alexa Skills integrations.

 

IMG_C3B114181B95-1.jpeg

Once discovered, your smart devices will appear in the Smart home screens in the Alexa App.   These screens recently underwent a design change and they feel a little clunky in terms of design and layout but the app is solid, functionally.

IMG_2565.JPEG

From here you can organize devices into groups.   So, define a group names "The Pinball Machines" and choose all of those devices connected to pinball machines and Alexa will control those devices together.   

IMG_2562.PNG

Likewise, the group definitions give you an opportunity to alias or rename individual devices.   Pictured here, Donkey Kong is an alias to the plug named Donkey Balls, which.. is an Expanse tv show reference among other things.   

Sometimes grouping and aliasing is handy when the name of a plug doesn't work well with voice services.   For instance, prepositional phrases can confuse Alexa.    "Alexa, turn on Revenge from Mars" should control the plug for that pinball machine.   However, "Alexa, play my awesome playlist from Spotify" plays music from a connected service.  Including "from" in the name of the game made controlling that device difficult.   Aliasing it as "Revenge" or "RFM" alleviates this pain and AI Intent confusion.

So, that's about I have for this post.    Voice control in the game room is pretty danged cool.  I'm sure one day, someone will shut down a game on me while I'm playing it in an irresistibly evil move.   Hopefully voice recognition will improve and more plug options with better support will emerge..

Until then, if you need me - I'll be in the gameroom plugging and unplugging iHome plugs trying to keep them working. 

Game Room Voice Control w/ Amazon Echo

Playing around with Amazon Echo for controlling stuff in the game room

One of the (minor) annoyances in Arcade and Pinball collecting is that over the last 40 years the amusement industry hasn't really build up a great deal of standards around common things, simple things: like the power switch.  

On Tron, the power switch is on the Top / Right.   On Donkey Kong, the power switch is on back- bottom right.   On many pinball machines the power switch is located on the bottom right, near the front of the game though annoyingly Revenge from Mars put the toggle switch half-way down the middle of the cabinet where I have to crawl underneath to power it on.    More recently, Stern Pinball puts the power switch under the lip of the head of the machine.

(GAH!)  - First world problems, I know.  

For Christmas, Dina bought me an Amazon Echo, a couple of Amazon Dots and some wifi enabled switches.  Having attended an Amazon Developer's conference just last month and knowing this is the direction I'd like to go, I've been planning for this for quite awhile. 

This video shows a pretty stock setup, just triggering devices by grouping and playing music and I'm pretty darned happy with the result.  I am playing with some custom Alexa skills to do a bit more, though...  

More on that later :)

A couple of things of note.. The 2nd generation Amazon Dot is fully functional. You can have a Dot only and still get most the features you want.   I used a combination of iHome plugs (like them for their size) and Belkin WeMo wall-switches connected to switched outlets.   You could potentially save a little money by going with a hub-based solution like Z-Wave, Zigbee but I found the savings versus convenience was sort of minimal, at least for my uses.

The WeMo software seems to be more mature.  iHome is integrated with HomeKit and installs pretty quickly but I did have a few snags getting it married up to the Alexa app.   It is almost as if you end up with two iHome accounts, one with a userID, associated by the app - and one with an email as the username as part of the OAuth handshake when you enable the skill.   The secret sauce, in my case - was to set up Device sharing in the iHome application, to basically share the {MyUserNameAccount} on the app devices with the {MyEmailAccount} on their portal.  Once I did this, Alexa was able to discover all of the iHome devices without a hitch.

The WeMo plugs work really well but they are big, generally blocking part of the outlet or at least preventing to WeMo plugs from going into one outlet.  The iHome plugs, however - have the added benefit of being the size of a standard plug, so you could have two iHome plugs in out outlet, if you wanted to.   WeMo has the better wall-switch offering, however.    

Being split across the two ecosystems is annoying if you plan to use their apps to control things but Alexa is the glue for the end result - since you can group devices regardless of manufacturer.

Echo also supports integration with Nest and IFTT, though my IFTT recipes for triggering the lights on Nest motion sense - seem to be spotty, at best.

All in all, being able to enter the room and saying things like "Alexa, turn on the Pinball Machines only" or "Alexa, turn on Mario Kart" or "Alexa, turn on the classic arcades" - is very-very nice.   Now, if I can just keep Miles from saying "Alexa, turn off the pinball machines" - while I'm in the middle of a game... :)