Wednesday, August 18, 2021

Smart Garage Door

 Early into my smart home journey I made the mistake of choosing a MyQ-G0301 to control the garage door. I have nothing against Chamberlain, but I regret this purchase since it requires internet access to work and is exposed to a third party.  Leaving an entry point to my home exposed started to worry me when I was researching smart door locks. 

Rather than replace the controller/hub with some other solution  or updating the garage door opener that is as old as I am I chose to accept the risk of the hub being compromised. The worst thing that this hub can do is flash, beep, and send a signal to open/close the door. I don't have to care about the device sending the door open signal if the door opener is not powered on. I was able to accomplish this by adding a locally controlled HS103 TP Link smart outlet

To make this as seamless as possible I have integrated it into existing automations that are triggered by my location.  As soon as I leave my home area the outlet is turned off.  As soon as I re-enter my home area  the outlet is turned on and after a 15 minute delay it is tuned off. This only requires that I manually turn the outlet on in order to open the garage.  I might have to look into smart buttons to more easily trigger this going forward.




Choosing to cut power to the garage door opener since I don't know how efficiently the MyQ would work if it was only powered on when I wanted to use it. Choosing this route also has the added benefit of not having to worry about anyone/thing else sending the open/close signal, which I know is not a big risk. 

Saturday, August 14, 2021

Smart Deadbolt

 About 6 months ago my electronic keypad deadbolt died. A couple of batteries in its battery pack had leaked causing the electronic control to stop working. This left me with a dumb key based lock with a useless keypad. 

I have finally selected a suitable replacement, the Kwikset SmartCode 910. This keypad integrates into smart homes by using the Z-Wave Plus protocol. This hardware was chosen since Kwikset has a proven track record with building quality locks and I have personally seen some of their basic digital locks last at least ten years even when constantly exposed to the weather. 

Since my Home Assistant didn't already have any existing Z-Wave hardware I chose to add a Nortek GoControl USB stick. I chose this Z-Wave radio since it also contains Zigbee radio which could come in handy if I ever choose to migrate from using a physical Raspberry Pi with a RaspBee II to a containerized installation. 

As this was my first foray into Z-Wave, I had to setup both the Z-Wave JS official add-on and add the Z-Wave JS integration. This was pretty straightforward once I realized both were required. To step the add-on, all that needs to be done is generate a random network key that is 16 bytes long and select the device. The GoControl has the Z-Wave hardware as port0 and the Zigbee hardware as port1.

Once the add-on is ready, I simply had to add the  Z-Wave JS integration and select configure form the integrations page. From that page I selected Add Node  to add my new device. Since this is literally a security device it needs to utilize the secure inclusion. Then all that had to be done was pressing the A button which my specific smart lock uses for pairing. 

Finally the new device is visible. Now I just need to figure out what useful automations or notifications I need to setup to make the most of this new device. 





Wednesday, August 11, 2021

TP Link Local API

 Due to recent issues I have experienced with my TP Link outlets becoming unavailable for a brief moment causing some automations to be triggered, I have decided to reset all of my smart outlets to local only control to see if it resolves the issue. This has the added bonus of removing one of my dependencies on web services. 

To do this I had to sign out of the TP Link Kasa app. TP Link does not currently let you opt for local only control if you are signed into their app. Then one by one place the outlets in pairing mode by holding down the power button for a few seconds.

Local Only Access


Once each device was set to local only control I was able to remove the old Home Assistant GUI integration and instead configure it via the configurations.yaml. In order to make this a one time change I first had to set static IP addresses for each device. Since I make use a a PI Hole adblocker as both my DNS and DHCP server, I was able to easily find each device based on their hostname reported to the DHCP server matching their TP Link model number. The MAC address can also easily be found by reading the label on the physical device or checking the device info in the Kasa app.

         
MAC ADDRESS


Once the devices have a static IP it is just a simple matter of adding the appropriate config to Home assistant.  The below example shows the config I ended up using.  One interesting thing to note was that my existing automations and Dashboards in Home Assistant  didn't require reconfiguration. I don't know if that was due to the mac addresses not changing or the device descriptions in Kasa were not changed. 

Configuration.yaml


Monday, August 9, 2021

Hello World

 

This site will follow the crazy thing I choose to implement with my smart home. I realize no one will probably read this, but at the very least this will serve as documentation of my decent into madness trying to get every last thing in home to communicate together as locally as possible.

As of the start of this blog my smart home consists of:
18 TP-Link smart plugs
19 various Hue bulbs
8 Third Reality smart switch adapters
1 Nest Smart Thermostat
1 Google Nest Mini
1 Google Nest Hub 7″
6 Samsung SmartThings water sensors
4 Samsung SmartThings door sensors
1 Shark Smart Vacuum
1 MyQ Garage Door Gateway
1 Raspberry Pi Running Home Assistant

Every time I make a major change to my setup I plan to document it here. Some planned changes I am currently thinking through are updating all the TP-Link device to only support the local commands and to find the perfect hardware to make use of Home Assistants new energy monitoring feature set.

Server Monitoring

I have a headless Linux server that I have previously written about for ripping media disks.  While I have had MQTT integrated into the bash...