Building Home Control Terminals
Although voice assistants are a great resource for controlling a smart home, they are by no means perfect, and are often slower than just pressing a button. Home Assistant is a great tool for connecting devices and designing smart automations, and I have customized it heavily enough with contact and motion sensors through my home that I rarely need to use voice commands. I wanted to further improve this UX by placing command “terminals” in various rooms to provide another way to view data at a glance and quickly interact. Thankfully, Home Assistant has a dashboard function that can create custom touch-friendly control panels visible through either a smartphone app or a web browser.
I had thought that would be my only console for a while (I didn’t want to invest money in buying and installing consoles while I was still renting) but an interesting opportunity presented itself to improve my system.
Separately, my old first-gen Surface Pro had been running slow and hot for some time, and I had decided to replace its job as home server with a more modern laptop. However, during this process, I noticed that its screen had bulged out of its housing. It was immediately clear that there was a major problem: The batteries were bulging and at risk of catching fire. They had to be removed, and so I began the disassembly of the device. The surface pro uses an insane number of screws, but is still heavily reliant on glue to hold the screen to the rest of the housing. Thankfully, the expanding batteries already helped popping the screen off, and I simply had to use my iFixit tool set to shimmy around the rest of the edges to remove the glue.
After that, and many screws later, I got to the batteries and removed them. With most laptops I’ve disassembled in the past, the power delivery system was built into the battery charging system, so removing the batteries would make the computer unusable. Fortunately for the me, the power management system seems to be built into the Surface’s motherboard instead.
After a very careful reassembly (I didn’t have the screen data ribbon fully plugged in on my first try, and had to open up and rebuild again) the device booted!
The big question now was: What should I do with this machine? I already had a superior device running as my primary server, so I didn’t have much use for a device wit
h limited horsepower and no battery. Fortunately, the Surface still had a nice large touchscreen, and the ability to run web apps. It quickly became clear that this could be a perfect stationary home control console. I first built out a web dashboard with controls for the living room lights and for the TV and sound system, and displays for air quality in that room and my car’s charge. Then, I configured the Surface to display that page, and refresh automatically every few minutes. Setting an aggressive 2 minute screen sleep time, and skipping the lock screen means that simply tapping on the screen anywhere wakes the device and shows all the relevant information, but also avoids wasting power from a screen that is on 24/7.
I used a few strips of 3M portrait hanging tape to mount it on my wall, and routed the power cable to my bookshelf. Now I have a responsive, decently large terminal in my living room. After the success of this project, I hope to salvage other touchscreen devices for the same purpose.