Skip to “present day” if you don’t want any background:-) As a current Node-Red/MQTT fanatic with some leanings toward HASS, It’s no secret that I’ve been playing with home automation since the mid-80s when a company founded by Aidan Ruff and myself created something called APPCON (for Application Controller). I won’t delve any further into that as it is generally documented elsewhere, other than to say that 7 years ago I wrote about my original work on Appcon along with various articles about the then popular NETIO home automation user interface.
It is fair to say that after that initial intense burst of activity in wired home control, too much of my time from the ’90s through to early this decade was spent on serious but more mundane business subjects. Today I’m free to indulge in what I find truly interesting.
From Arduino to ESP8266
I’ve been through dozens of user interfaces for home automation over the years including my own (and written about most of them in here and on my YouTube channel). For controllers, at around the time I moved from Arduino (with various radio interfaces few of which were any good) to the ESP8266 in 2013, I also shifted from NETIO and similar Apps and started taking an interest in Node-Red which started as a side project by Nick O’Leary and Dave Conway-Jones of IBM’s Emerging Technology Services group.
Look how far we’ve all come since then. For front ends, some of you may recall Imperihome which I got enthusiastic about way back in 2016. I put a lot of work into using that program but ultimately I decided that Blynk was a better solution. The Blynk App for Android and IOS worked a treat but was not that easy to share and there was a cost per “widget” which I ultimately found off-putting particularly as my wife wanted her own mobile controls. I also found lack of a PC version a disadvantage.
Gone in the Blynk of an eye
I still use Node-Red as the underlying controller for my homes in Spain and the UK and I work on improvements to my setup most days when not taking advantage of the wonderful Spanish weather – you’ll see I’ve made my share of contributions to Node-Red including the popular BigTimer which I still regularly update and use massively. Only this week, on the user-interface side, I finally abandoned Blynk (who’s servers have been running since around 2015), partly due to my dislike for the screen-space-consuming “Zergba” but for other reasons including their move away from my core interests. I used Blynk for some years on and off with success but now it is gone. Of course as well as using their cloud-based servers, you can run a local Blynk server on (for example) a Raspberry Pi if you wish (and mine is still sitting running in the background in case I have a change of heart).
Present day
Which brings us to today – I use Node-Red Dashboard both on my PCs and mobile phone a LOT and despite having a lack-lustre RGB control, said control can be made to consume VERY little screen space while expanding on demand. I still don’t have anywhere NEAR all my controls on Dashboard – but at least I’m no longer relying on Blynk. Here’s a small sample…
Recently I’ve taken an interest in Home Asisistant (HASS) and am currently running a HASS Docker container alongside my traditional Node-Red/MQTT setup on Raspberry Pi 4. I’m still not entirely convinced about HASS, as not everything works exactly as I’d expect but my friend Antonio (Mr Shark) is doing a grand job of talking me into giving it a fair run. It has the potential to be MUCH prettier than NR Dashboard. #It soes however seem to put a significant load on a Raspberry Pi 4 2G (with SSD) and I have no intention of upgrading the hardware AGAIN just for HASS.
IOT User Interface State of the Art?
At the time of writing, HASS (version 0.117) seems to work well (in a Docker container) with the latest development version of Tasmota (9.1.0.1) -the first of these updates was made available near the end of October 2020 – Tasmota was just updated to 9.1.0.1 in the first week of November 2020 – amazing how tech just keeps improving regardless of Covid (which has struck down so many other areas of life recently – and just keeps coming).
That HASS interface is fantastic but not everything works as well as that spectacular pop-up colour wheel).
As a complete aside I noted yesterday that while AT&T seem to be abandoning rural America en-masse – miraculously, SpaceX’s Starlink satellite network is getting ready to fill the gap (sadly USA-centric right now but it’s a start) – good timing given the current circumstances – meanwhile here in rural Spain I look forward to moving to 100Mbps+ downloads with claims of sub-20ms latency next year – the price doesn’t yet sound universally attractive however. I do like the idea of broadband immune to cable damage – something we may have to contend with more and more in a world of climate change.
But I digress – as our experience with HASS improves I’ll write more on the subject but lest my NR Dashboard colour control and simple buttons don’t appeal, remember I wrote about custom buttons some time ago – indeed as far back as 2016. So you don’t like my choice of colours? Easy to change.
But first, I still have a shedload of tech and not quite so tech gadgets to write about.
The Home Assistant community is moving away from using HASS to using HA as HASS translates to Hate.
Similar journey, but I have put a lot of my systems in containers running under Proxmox VE on an old laptop with improved memory. I have separate containers for Mosquitto, Node-Red, PiHole, Unifi controller, Emoncms, and NGINX. It really is brilliant. Low power consumption, built-in UPS, easy backup (USB and rsync to a NAS) – what’s not to like. The only Pi I now run production on is for HA as some of the stuff really does not like running on non-Pi hardware (Zigbee primarily).
if on containers, try IOTStack, resembles Pete’s script, with additional features of update and backup of all the containers you’ll use: https://sensorsiot.github.io/IOTstack/
and no problems in running zigbee2mqtt on x86 hardware… you have more issues in running it on rpi, frankly: if you don’t put the usb dongle FAR on an usb lead, it’s affected by rpi radio noise… Pete’s can testify this, he had exactly these issues…
LXC containers are part of PVE and can be built on any OS there is a template for (Ubuntu, Debian etc). PVE has a native snapshot backup tool that just works.
Passing through the Bluetooth (BLE) & Zigbee USB is a bit hit and miss so it is easier to leave it on the Pi (ain’t broke; don’t fix). As both report through MQTT (on it’s own LXC container), picking it up on HA is no big deal.
Interesting re noise, I have one BT dongle at the other end of the house via adapters and Cat6 structured cable and another one plugged in locally as the range was better than the builtin one. They do drop sometimes, but I think that is OS related.
Similarly my main system is NR/MQTT. I too am running NR/MQTT on a Pi4/SSD. I have had a few outages (maybe power supply issues) so I just spun up an old PC that I had sitting around with Ubuntu and installed NR/MQTT on it as well. This is now my main NR/MQTT server. I still have the PI configured as before. I have started coding NR to have a hot failover.
There are 3 things I will be accomplishing with my work to give me the realtime failover capabilities:
1. Make NR redundant: Using some base code that another developer created I modified it to work. (it had errors). So now the two NRs “talk” to each other and either one is able to take over the work at any time.
2. Because I am using MQTT I need to tell the clients to change the broker ip address. I have been successful in having NR change this in the Tasmota switches on a trial basis. I need to finish the code to control all of them yet.
3. I only want to code in a single NR and have it automatically update the other NR instance. I have found base code that looks like it will work. But I have not started this journey yet.
In the end I hope to have redundant NR/MQTT systems.
It’s very interesting, reading the pros and cons of HA and Node Red. I’ve been using HA on a RPi for home automation for some years now with never a falter. I have an interconnected mix of X10 (yes, I know!!), Tasmota and a couple of commercial wifi light and fan switches as well as an Ecobee wifi aircon thermostat (unusual here in Australia – I had to import and fit it myself!); a connected security system and Clipsal C-Bus lighting (if you aren’t familiar, it’s a sort-of ethernet connected lighting system). Yes, it took a bit of work to make it all talk via a MQTT server on a second RPi, but automation works perfectly. One thing is that I have resisted the temptation to constantly upgrade HA. Why? Mine works – don’t fix it if it ain’t broken! Maybe I have simpler requirements. I don’t need to use any remote access, for example. Our climate (Perth) is fairly hot in summer and warm in winter. Aircon is a ‘nice to have’ rather than a necessity – and we never ever get frost, so don’t need to guard against frozen pipes! But notwithstanding all this, it’s still very interesting to read the comments!
Well, thats one hell of a mix you have there Mike. As you say, if it works… and I’m jealous of the weather. One reason we’re (almost) permanently in Spain is the climate. The Northeast of the UK gets warm (rarely actually hot) for a while in summer but can be quite miserable in winter. Inland Southern Spain on the other hand gets HOT in summer and can get quite cool in winter BUT even then the sun is usually out. In the UK, heating is a must, in Spain, reversible aircon makes more sense (in our case with a log fire for the depths of winter). As I travel back and forth, remote access is a must. Glad you enjoy the blog.
Hey Peter,
HA is brilliant and the integrations that lots of people provide are out of this world – have a look on YT – there are a number of good channels that follow through lots of themes on HA.
The one thing you HAVE to do is have constant backups – out to an external device and if running on a PI – make sure you have a blank image you can quickly restore the backups back to (they are not image backups just data and DBs etc) – they have very annoying habits of breaking key things with updates and then seemingly ignoring people pleading for a resolution/identifying the cause.
The biggest issue you will find and it is REALLY hard to get your head aorund – is that the HASS system fires off containers of its own and itself runs in a container – when it comes time to try to troubleshoot they have you locked into a small weird purpose built linux kernel – and you will have shedload of new commends to find and learn – if i could advise you anything – i would probably deploy their container solution on top of a standard OS on a PI. SO at least you are familiar with your standard troubleshooting tools etc.
Hi Craig – I’m aware of many of the integrations (but not even remotely expert at using them). Mr Sharks keeps encouraging me to go down that route and greed for more gadgets is helping as well – I like pretty interfaces – but life is FAR too short for any backups that take more than “clone” which is my BASH function call for rpi-clone – sometimes followed by B or M and even less regularly prefixed by C (for clean clone on a previously unused SD or SSD etc). I do that pretty much every day due to it being that simple. When I’ve tried anything that takes more effort – it rarely ever happens.
Right now, I’m running Node-Red as normal and MQTT as normal – and HA is running in a Docker container (see how I managed to sound like I know what I’m talking about just there – in reality what I know about Docker would fit on and A5 sheet of paper – one side). We did of course document the HA/Docker install so it can be replicated without thinking and I DO like the EGB controls – I don’t like the fact that HA seems by default to add the most useless items to the dashboard – so I’m a long way off HA becoming my standard IOT tool. Oh, did I mention, I did a lot of work a couple of years ago on NR Dashboard templates and trying to make the best of the crappy colour tool in there – and my own Dashboard-based mobile Thermostat is part of my daily routine in real world use. I’ve recently turned off all my BLYNK controls and with a couple of question marks I’m pretty much fully in charge of the house on NR Dashboard – converting all of that to HA is going to take time and patience. Another brain and 2 more hands would help as I also work on my own tools – BigTimer for NR needs updates from time to time and not that long ago I improved the thermostat. Anyway, that’s my excuse for taking time to develop HA expertise.
Keep the feedback coming.
Hey Peter,
Yep HA is great – you just need to be aware of some limitations and hard bits with it.
Not sure if your scripts that you run to get copies of your normal systems will be enough with HA and Docker. I guess your best bet is to try it and see,
Take one of the backup SD cards/SSDs and see if it will boot and bring up HA with up to date DATA – i assume you have used external volumes for the data i.e. the data is not residing within the containers but is on a separate nominated volume on the host file system.
If you are going to do much with docker longer term (and i suggest you should as it is great (and could longer term be used to replace THE SCRIPT)) then you should investigate Cockpit and Watchtower with are two essential tools for Docker management.
Craig
Right now I am “playing” with HA under Docker as the user interface looks nice. My NR/NR-Dashboard/Mosquitto/Grafana setup runs under basic Raspbian and that is the basis of my Home Automation setup, talking to mainly Tasmota (generic boards inc sensors, power controllers, lamps etc) and ESP-GO boards with a couple of Espurna boards thrown in.
Hi Peter,
I read your blog quite a lot, and sometimes I learn stuff, but this article went completely over my head.
I think I need to start at the beginning (2012 I think) and read it all.
Keep up the good work.
Regards,
Paul
Well, Paul, HASS (HA) is a little over my head too – mainly as they keep changin it – for that reason I’m just toying with it – not relying on it – for all it’s faulst, Node-Red Dashboard has been consistentr for some time now – and I have a real house to monitor and control (2 in fact, one here in Spain, one in the UK which I can’t physically get to thanks to Covid) and cannot chance something breaking because of changes so I RELY on NR Dashboard and PLAY with HA. See the comment by Craig above.
Hi and thanks to your blog I’ve picked up a lot of things over the last couple of years. I’m running HA on an old Nuc with SSD and it’s been very reliable. Probably overkill for what I need but works well. Reason for commenting is something I only came across last week which I’ve had a chance to play with over the last few days. You could check out Tileboard which allows development of multiple HA dashboards using CSS and JS. So far I’m delighted with what I’ve been able to achieve even though I’m definitely not a coder – but trying to learn!
Thanks again for all your pointers!
I have followed a very similar path and right now like you I’m down to a combination of HA, Tasmota and Node Red with MQTT providing the glue to bring it all together. If only the comms was as simple I have Wi-fi, RF433, RF868, LORA, Zigbee, ZHA, Bluetooth etc. etc and keeping track is painful. Two things I would advise anyone following this course 1) HA is great for implementing many systems and displaying dashboards on PC and mobile but for automations it cannot hold a candle to Node-Red. 2) Anyone who does get into HA should be aware that it is a system that is changing rapidly and breaking changes are a common feature of just about every release and anything you knew about this product even a short while ago will probably have been replaced. The main thing that blows me away (and as I speak as someone involved in software my whole adult life) is the incredible range and quality of these products that are available FOC based on the time and efforts of volunteers.
My combo is not unlike your first para, Steve, except I’m only toying with the latest HA as it is prettier than NR Dashboard… and strangely I’ve just added Bluetooth. RPI4 BT is CRAP., Just disabled it and plugged in a dongle.
Here’s all I had to do.
sudo nano /boot/config.txt
# Disable Bluetooth
dtoverlay=pi3-disable-bt
(Save)
1
2
3
sudo systemctl disable hciuart.service
sudo systemctl disable bluealsa.service
sudo systemctl disable bluetooth.service
sudo reboot
That’s it – I plugged in my CSR 4.0 BT dongle on a 1 metre lead into USB2 on the PI…. and I have FAR better range for my MI Flora device I covered earlier.
Yes, I too notice that HA is changing fast – like – from last week to this week… making use of stuff added to Tasmota 9.0.0.3 – that’s a bit TOO leading edge really…
Yes – it’s the support that will make or break HASS… As for NR – I can’t gripe there st all – other than the crappy RGB controller in NR Dashboard – I reduced it to a tiny square and pop up colour picker as the colour wheel is worse than useless. But now I have it all set up to maintain state through power cycling etc… I just wish it was as pretty as the HASS colour wheel but there you go. Here’s a question for HASS fans out there. As I use my BigTimer for everything, on/off controls are generally of little use to me – I need on-auto-off. A single tiny slider to do all 3 states would be good.
Pete
None of these are precisely what you asked for but I would suggest you can either use a pair of buttons — one to turn auto on or off, the other to choose manual state if auto is off. The other choice is an input select drop down as per the example at the bottom of https://www.home-assistant.io/integrations/input_select/
I’m not ignoring this Steve – everything is currently getting in the way of me following up on various home projects this week – like suicidal wild boar trying to end it all on the front of my car.. and chasing up wood supplies for the rapidly approaching winter here in Southern Spain (it is wonderful during the day but the minute the sun disappears for the night… quite chilly.
I too have played with HA. I do not like YAML at all and much prefer NR. It has been a while since I played with HA though. I do remember trying the version (I am lost with the names with the changes they made) that is the actual HA OS. I thoroughly detested it as all of the commands that I would normally use to manage a system were unavailable. I had no desire to learn a whole new set of system commands. So that system was deleted in short term. Since then I have not gone back to play with it any more. I have been more focused on using voice and inexpensive 433MhZ devices to control my home automation efforts.
I am currently rewriting a custom Alexa dev process written by Joachim Baumann (with permission) so that it is updated and works in the US. Joachim is from Germany. Thanks goodness for Google translate. 🙂 This will allow me to use Alexa in the short term.
Long term I am testing two currently under development local voice processing software systems. Mycroft and Project Alice. With these I am also experimenting with a Nvidia Jetson so that I can process all of the voice response needs under my control.