Monday, April 15, 2019

Smart Home


Smart home or IoT (Internet of Things) has certainly been the talk du jour! Having been experiementing in this trend since 2016 and have numerous "smart" devices around the house and others that's in the "bin" collecting dust, I can certainly begin to share some stories.

Back in the early days, before 2019, there were many different startups and things/devices are not uniformed -- they were difficult to configure and there aren't any standards, per se. Since the arrival of some of the bigger players, Amazon and Google, the devices community begin to play more intune with one another. The following are some of my observations and experiences.

  1. Begin with WiFi devices first. Z-Wave and Zigbee are interesting, but will add another level of complexity that one may not want to deal with from the start.
  2. Choose either Amazon Echo or Google Home as one's starting point for consolidation and control. I graduated from this to Home Assistant (HA) a year ago, but HA should not be someone's starting point.
  3. Choose "smart" devices that are competible. Lighting control is a simple starting point. I started with a WeMo smart plug way back when. But now I would advice against WeMo devices because they cannot be controled with a multiple houses/locations perspective (say I have a primary residence and my mom's senior apartment - I cannot control both locations' devices). A better alternative would be a Kasa or Tuya (a device that can be controlled by Smart Life app - Android or iPhone). I now prefer Tuya devices because I can easily erase the operating system and replace that with an open source (tasmota) one (so that the Chinese government or whoever need not know that I turn on the device at 7:30PM every night)... Privacy is important if one thinks about it. But this is for advance or paranoid people.
  4. Begin to compose simple routines such as:
    1. Turn on the porch light when the sun sets and turn that off at around midnight
    2. Turn off all the house lights around midnight
    3. Lock the door and garage at night
  5. Begin to add presence detection and combine that with other routines, like:
    1. Let me know when the kids arrive at their schools
    2. Lock the doors, garage and arm the security alarm when the last person leaves the house
    3. Tell me when I need to leave the house in the morning to make it to the appointment location
  6. The possibilities are endless when one adds more "smart" or "connected" devices

Monday, September 4, 2017

Light Switch - WeMo Smart Light Switch

Belkin's Wemo has been the "standard" for quite a while now and their smart plugs are very popular. Therefore, when I consider to change my light switch into a "smart" one, I consider Wemo first, although it is nearing the expensive end of the spectrum.

Upon opening up the package and start to read their brief installation guide, I knew I was in for an adventure. Since I don't really know house wiring too much, I quickly get online and consult YouTube and Google for how electrical wiring, especially light switch wiring, works. To my surprise, there are 4 wires to this WeMo light switch instead of 2 or 3. Also, the existing wiring does not really color code, as clearly and as nicely, as the instructions would have me believe. For instance, which of the wires inside of the wall is the "ground" wire? After trying to figure things out a little, I finally get the WeMo installed and manually working. Here comes the other obstacle! WeMo app on the phone can only control 1 WiFi location, but I have 2 and this is not in my house, the primary location. There is also no other way to configure the switch besides using the phone app, such as a website or a desktop app. Quite frustrating and a definite design issue. Once I install the app on another phone and configure the device, things are OK, but still far from ideal. Why would a name-brand maker created a situation like this where the app cannot control multiple houses and/or locations? Why hadn't the community cried about this already and insist Belkin to change their ways? Ultimately, I am considering to change this out to another brand where this is not a restriction anymore.

The phone app, outside of the above-mentioned restriction, is quite capable. It can configure the switch to turn on and off at certain time of the day or at sunrise or sunset. One can also configure it to turn itself off after x minutes from being turned on (good for the times you don't remember to turn off the light).

IFTTT

WeMo and IFTTT get along quite well and the applets got created easily. Although, there really isn't a need to do so because the phone app is quite capable in making things work. It can, nonetheless, be integrated to other triggers, such as the ringing of the door bell or the opening of the garage door.

Alexa

Alexa integration comes as a skill (WeMo). After enabling that skill, you tell Alexa to scan for smart home devices again and it will find all the WeMo devices. On the Alexa website, you can give the device(s) names. From point forward, all you need to say is, "Alex, turn on porch light" so some such. Quite handy, really.

Conclusion

I am not exactly happy with WeMo because of the multiple house location issue. This switch is also a single-pole switch (meaning it is a two-way switch) and cannot be used when there's a tree-way switch installed already (such as a stairwell situation with 2 light switches controlling a single light, which can be turned on when downstairs and turn off when upstairs [or vice versa]). As far as I know, there isn't a WiFi enabled light switch that addresses three-way situation. Going back to Z-Wave or Zigbee is also not desirable because I have yet to get either Wink or SmartThing hub to work properly and I had dumped Iris already...

Garage Door Controller - Garadget

One of the many frustrating things is when you are away from your home and you don't remember if you had closed your garage door. Garadget can be a fix for that.

This is billed as a "cloud-enabled garage door controller". When I first implemented this IoT device, the integration that it has with IFTTT or Amazon Alexa is nonexistent. Meaning, I have to "hack" my way around to get the REST API integration to work with IFTTT and others. Fortunately, this is not too hard and I was able to get the tokens and on my way to use the "maker" or "webhook" service to have it open or close the door. Today, there is an existing IFTTT service already and Amazon's Alexa also recognizes the device; making the whole integration thing quite easy.

In essence, this device simulates the pressing of the garage door button and it detects the "open" or "close" status of the door via reflected laser. Quite ingenious, really. There is a small caveat, however - the WiFi receiver is not strong and it cannot handle double-NAT network configuration. Therefore, do consider this and other IoT devices when you design your house's network (Ubiquiti EdgeRouter X with 3 NAT'ed networks and double-NAT for each) and how to secure it.

IFTTT

Created "button" applets to open and close a garage door. Also integrate with location-based services to trigger closing of the door (just in case I forgot to close the door manually) when I exist a half-mile radius. There's also the timed based schedule to close the door at night and a notification whenever the garage door is open. Future integration maybe to consider a more complex orchestrator instead of IFTTT - Stringify is a good candidate and maybe even Microsoft Flow where time and location are just 2 of the few conditions to trigger something to be done.

Alexa

Unfortunately, Alexa integration is only action orientated. Commands such as "Alexa, ask Garadget open garage door 1" or the reverse of that. Alexa also can't distinguish my voice with anyone else's and that can be a security issue.

Conclusion

This is a first iteration of a garage door controller and what it can do is quite good. The reliability for it to remain on-line and cloud'ed is an important issue. One which will be improved in the future, I am sure.