• Real Time Device Power Meter for Home Assistant

    I created a nice real-time power meter with device-level info to display on my Home Assistant dashboard. This shows the current overall power usage in the house, along with a bar chart that shows how it breaks down by appliance type. Here’s how I made it.

  • Mounting NAS Shares for Frigate in Home Assistant OS

    I recently switched my Network Video Recorder (NVR) from Synology Surveillance Station to Frigate, and will never look back. It turns out people say “Frigate is awesome” for a reason. However, if you run Frigate in Home Assistant OS, it is a challenge to record video files to a network share instead of local storage. I finally found a strategy that works. Here’s how I did it.

  • Improving the Ezviz DB1 doorbell

    I am preparing to replace my Nest doorbell with the Ezviz DB1. But first of all, it desperately needed facelift. This wonderful device has two asthetic issues I just couldn’t live with: First, it’s not obvious where the button is, and second, the Ezviz logo looks ugly and cheap. Here’s how I fixed it.

  • Real-Time Picture-in-Picture Camera Feeds on your TV with Home Assistant

    I’ve found a way to get a RTSP camera feed to display in a picture-in-picture popup on my TV, without interrupting any other viewing that might be going on. This all happens locally, without any cloud services, and should work with any IP camera that provides an RTSP stream. This is achieved using a modest IP camera, an Android TV (in my case an Nvidia Shield set top box), a side-loaded app called Pipup on the Android TV and Home Assistant. Read on to find out how.

  • Docker Swarm Lowers the Shields

    Today I learned that Docker automatically does extremely wreckless and dangerous things to the firewall on every node in a docker swarm, which leaves various swarm services wide open to the internet, and that Docker provides no way to turn off this behavior. I spent a lot of time today trying to understand what the hell was happening, and then a lot more time trying to find a solution to fix it. I think I found a better solution than suggested anywhere else, so here it is for anyone who stumbles here via a search engine.

  • Virtual Energy Meters with PowerCalc

    In my last post I described how I optimised my home heating with Home Assistant and then created virtual energy sensors to monitor my estimated gas usage from Home Assistant’s Energy Dashboard. In this post I’ll describe how I used the same strategy to monitor the real-time energy use of the majority of devices in my house without using any power meters. A big shout out to the amazing Powercalc integration for Home Assistant, which makes this a relatively simple process, with extremely powerful results.

  • Automating Heating with Home Assistant

    I’ve been on a mission to use Home Assistant to optimize my home heating, with the dual goals of reducing gas usage and increasing comfort. It’s worked out very well - I’ve mostly eliminated wasteful overheating, and I now have much more consistent temperatures throughout the house. Thanks to the power of Home Assistant, I managed to do this without having to invest in new smart devices. In fact, I ended up selling my Google Nest thermostat! I thought I’d share some notes on the process.

  • Automating the HY367 / HY368 Smart Radiator Actuator in Home Assistant

    The HY367 and HY368 Smart Radiator Actuators are relatively cheap smart thermostatic valves that you can attach to the radiators in your house, effectively turning each room into an individually-controlled heating zone. They seem to be on sale rebadged as Hysen, Blinli, Moeshouse and Tuya (I think Tuya is probably the real manufacturer). As of February 2020, you can get these for as little as $22 each on AliExpress. Unfortunately, the instruction leaflet that they come with is pretty cryptic and omits some important information. After hours of experimentation, here are some notes that may be useful for anyone else trying to integrate these into Home Assistant.

  • The road to native ES6 SPAs

    TL;DR. In this post I go on a major rant against the Javascript/Babel/Webpack/Node development stack, and then talk about the problems I’m facing in my attempt to jettison that stack and instead make my javascript application run natively in web browsers. (Run javascript in a browser? Revolutionary, I know!)