RPi Home Automation Software

What are other emoncms users running for home automation, is it on the same device as your emoncms, and how easy do you find connecting emoncms data to its dashboard? Do they take up much space in memory or on the SD card? Do they use much CPU?

I know there are some homeassistant users on here and I want to love homeassisstant because it’s python (one of my favourite languages) but I just can’t seem to get going with it. I can install it, I can configure some things, but then I seem to need to write some yaml pidgin or some javascript to get things done… and the latest versions require python 3.9 which means upgrading the RPi from debian 10 and there are (vague so far) reports of problems with emoncms on debian 11.

For something so popular, there seem to be a lot of things in homeassistant still needing plenty of extra configuration to do what I feel are obvious tasks: most importantly, attach scheduling widgets to switch and temperature settings that then get modified before making a decision based on them.

So if I’m going to have to write javascript, then pimatic looks interesting. Nodejs is already installed because node-red has been handling my GPIO LCD display and buttons for a while (it was the fastest way to prototype it and I still haven’t replaced it with a python script). I’ve built a basic node-red dashboard but I don’t feel the UI controls are flexible enough to automate much because the flow diagrams get complicated quickly, so I’d need to write javascript to simplify that and I feel like they’re problems which should have probably been mostly solved by someone by now. So I wonder if pimatic has better tools to control smart switches, heating and lights with nice user interfaces including schedules and triggers. Its demo seems to be offline. Is anyone here using it?

I’m also interested to hear from anyone using jeedom, domoticz or anything else. I’m not as wild on their languages, but if they already do most of the task, I’d consider them. I’m not keen on OpenHAB because I don’t find Java fun and I see it enough for work.

I think HA will become dominant if it isn’t already. They are building the commercial backing around it and it is getting better all the time. I’m not a fan of how the Devs operate but I put up with it. With a Nabu Casa account I get secure external access as well.

Easiest way is to run the HA OS - it all just updates. However, you get the same issues with SDCards dying unless you run it from an SSD.

Personally I have one of the HA Blues (discontinued now I think) which is just excellent. Low power and just works (I went for that as it is what the Devs use so they are most interested in it working flawlessly).

In a discussion on Facebook, I was pointed to this Git repo GitHub - tteck/Proxmox: Proxmox Helper Scripts. I already use PVE on an old laptop for a number of things (including EmonCMS, Node-RED, PiHole etc) and these helper scripts really piqued my interest. If the Blue dies, this is the way I’ll go - install it on PVE with one of these scripts.

Yes, the blue is discontinued and was a first go at an HA device. There’s now the HA Yellow which is based on RPi 4 and about $200 shipped complete to the UK.

If you think it just works, what are you using it for, if you don’t mind telling, please?

As mentioned above, it looked like I’d have to write yaml pidgin and javascript before it even replaced my rudimentary Node-Red heating and smart plug controls. The main immediate benefit looked like control of my enigma2 from the same interface rather than its own openWebif, but that’s not visible in the “Add Integration” list so I guess it needs a later version than runs on emonSD’s python 3.7. And it’s also a bit disappointing that the RPi GPIO Integration has been removed and replaced with something to do with ESP Home that I don’t understand, which means Node-Red (and so Node) might have to stay too.

Everything. It controls;

  • Boiler / hot water / Under Floor Heating - Tasmota relays controls by temperature sensors on the tank and BLE sensors in rooms.
  • Other heating (climate controls based on Bluetooth temperature sensors)
  • Lights by motion
  • lights and heating by motion in Study (only heats if someone in the room)
  • Change MVHR speed depending on number of people in house - time of day - CO2 level
  • provide remote control for garage doors
  • switch things off when I am away
  • change schedule when Holiday mode is on
  • monitor stuff (weather / daylisght & Sun / Rainfall)
  • turn lights on and off at different times for different purposes.
  • records weight off scales (by BLE) - pushes it to FitBit to record and also to TTS.
  • Control humidifier - again by presence & time not just humidity.

That’s just some examples! I’ve been using it for 3-4 years now I guess.

So much of this is now in the UI and very little needs to be done in YAML now.

I’d doubt that but YMMV.

Certainly I have no Javascript, and very minimal YAML now.and quite a bit of that could now be moved to the UI (light groups for instance). Most of the YAML is for an AppDaemon addon called Schedy which has a really powerful scheduling engine to set temperatures and control switches.

Most of the YAML is to extract the data and to control my Komfovent MVHR as there is no integration for it.

[edit]
Most of my complexity is extracting data to send to EmonCMS - I use The node-RED add-on for that with its HA specific nodes which work really well.

Oh and I also use it to push alerts to me via Telegram - such as low battery on my Fitbit and again when charged, my PVE setup stops charging (as it does occasionally), my doorbell is rung (so I know it has been rung when out or in the garden - I’m too cheap to buy a Ring Doorbell).

1 Like

I manage 2 Home Assistant installations.
One installation has HA OS VM running on an Ubuntu server.
A second installation has EmonPi running an extra HA container.

The EmonPi installation does work, but you need to increase swap space, it can get a little slow when upgrading mainly and you miss out on some functions.
I recommend the OS approach (directly installed or as a VM) to get started as it includes the Supervisor, you can easily add add-ons like Visual Studio Code to edit the YAML directly from the web interface.

There is a bit of a learning curve, but I get the sense this has improved a lot. I definitely don’t write javascript, but about 50% of integrations still require to add a few lines of YAML in the config file.

The amount of available integrations is mind blowing, and the rate at which updates come out is great. It helps if you have some understanding of how linux works, and you do need to stay on top of the logs, and backward compatible breaking changes in the release notes.

So it’s not for everyone just yet, but it is easier than getting started with EmonCMS imo.

Yes, always read the breaking changes! I only ever update at the end of the month when all the patches have come out :grin:

And yes keep up with the logs and fix issues identified - it’ll break eventually otherwise. :slight_smile:

Which functions are missing, please? Is that specific to emonPi or if installed on any Pi alongside emoncms?

I think for me that would be a last resort. It just seems like the wrong time to be adding another energyvore to the household.

Monthly updates with breakages aren’t attractive either. I sometimes don’t have the time for that and I really feel that sensors, schedules, calculations and controls shouldn’t require living on the so-called bleeding edge.

Sadly, it is a zombie. It looks alive but when you dig in a bit, there’s this unresolved bug asking if it’s still alive and hinting that some of its users have gone to ioBroker, another node-based solution. PiMatic still supported/under development ? · Issue #1174 · pimatic/pimatic · GitHub

I’d estimate I save more than I use in running it and you are looking for some automation system and that has an energy cost.

It is the price of development and unlike other systems that force the update, you are in control. If they didn’t, it would never expand! It is better than it was as they have ironed out some of the wrinkles in the original design / schema. The only one I have had recently was to restructure the YAML of my MQTT sensors. They deprecate it for 3 months before forcing the update on you usually.

You are not forced to keep up, but there is an advantage in that jumping several iterations can be more problematic. Bit like routine maintenance on a car (tyres and windscreen wash).

I also do pay for remote access via Nuba Casa - yes a cost but to my mind a worthwhile one.

Overall, the benefits outweigh the disadvantages IMNSHO but YMMV.

But it’ll be lower cost in energy too if whatever automation system can cohabit with emoncms on the existing Pi.

Not entirely. As you point out, jumping several iterations is often more problematic, plus there will come a point where some bugfix or new device you want to add basically forces you to update (well, more like blackmails you into it: update or no enhancement). You only really get the choice of when. Monthly development cycles screams that the system is for developers not users. It’s not quite like car tyres and windscreen wash because if you don’t touch the car then it takes a long time for the tyres to perish and washer fluid to evaporate.

That’s a bit alarming. I never suspected that remote access would be a pay-for feature. I assumed I could just VPN in, like for emoncms.

It’s not just for remote access that’s a side feature, it’s more for Alexa/Google Assistant integration, which you can do without the subscription but it’s very complicated.
I just run WireGuard and use that to VPN in.

1 Like

If you are that worried, put emoncms on a PiZero. Works perfectly well on that.

My lowest cost energy solution is an old laptop with PVE installed. Running 7 containers and uses bugger all power to do so.

Assumptions are the mother of all F&*% ups.

Of course you can. It is just simpler to buy the service - you also get better TTS with Google IIRC, but it is simple and I’ve never bothered setting up a VPN for home - I’m not that paranoid (plus it’s another service running on something!).

It also supports the development so I’m happy to do that - I pay small amounts to a fair few developers of stuff I use.

No, it tells you it is actively under development. I’d hate to lose the monthly cycle - so much changes and expands and improves - the development rate is actually exceptional. If you don’t want that, see if you can find something better.

175,000 active installs (reporting optional) and 100K of those are updated monthly. Installations | Home Assistant Analytics

What is the point in having a car I don’t use? Tyre pressures drop all the time and I’m always cleaning the screen.

If you are a no maint, install and forget sort of person, HA isn’t for you.

1 Like

I am also using HA.

My house is actually fully setup with Control4 (A commercial home system). If I have C4, why do I have HA? Well, mainly because whilst C4 has good control over media and provides a simplistic UX for the wife, personally I find that HA can do so much more and I’m in control.

I have HA installed in a docker container on my NAS, my EmonCMS is still running as it has for years on a Pi3b. Integration of the EmonCMS data to HA was a doddle, maybe added1 or 2 lines to the configuration.yaml file and it works, all of which has plenty of documentation and community support.

Im using HA to integrate with nearly every device in my house. The only things that C4 have control over that HA doesn’t currently are my garage doors and media playback. Once I have these sorted (whole house distributed TV and Audio is going to be tricky on HA as not many people have these kinds of setups), then I’ll most likely dump C4.

I haven’t written hardly any yaml, certainly no javascript and I have automations such as changing the target charge level on my EV day / night coupled with controlling my EVSE charger to ensure that the car is charged by the sun during the day but also kept to a minimum charge during cheap rate electricity overnight if the car is low on charge all using HA automations with no code required, simple UI created automations.

I setup Frigate NVR for monitoring 18 CCTV cameras with object detection (does require YAML configuration in Frigate), all plugged into HA without any YAML configuration and I have events firing to my phone when people / cars are seen entering my driveway as well as a better NVR system than my dedicated Lilin controller (installed with C4).

Don’t get me wrong, HA isn’t all plain sailing, but if you want to get into HA and you like tinkering (which I’m guessing you do with your python, node-red experiences), then you may well find that HA becomes a passion / hobby. Personally I find it amazing the things that I can get it to do.

I also pay for the NabuCasa subscription. This does provide an easy way for secure access from outside the home. Note that this is a subscription you would pay for under Control4 also. With that said, I no longer use the NabuCasa connection, preferring to use a reverse proxy setup as I have a number or other requirements. But I believe the NabuCasa piece makes it easier to integrate with Alexa / Google and also helps support the development of what is otherwise a free system. If you compared that to what I paid for a whole house C4 system, that’s a massive win!

I use a number of the energy feeds from EmonCMS to drive the energy dashboard in HA which makes it easier for me to keep an eye on everything in one place. I’m also hoping to be able to use HA to combine this information along with Alexa integration so that I can ask Alexa about my current energy status. This hopefully my wife will use to determine if she should put the tumble dryer on or not! :slight_smile:

1 Like

And I meant to say, you can connect to it using a VPN to the home from outside if that’s your preferred method, you don’t have to use NabuCasa or expose it via a reverse proxy, they’re just options for those that either don’t have the technical know how or simply prefer one approach over another.

1 Like

Yeah, this is something that I feel HA has got completely wrong at the moment. Setting a simple time schedule for something like changing a target level seems so common that it really shouldn’t need creating automations and, even if you do, the HA schedule helper was only added this year and looks pretty basic.

Computing and servers are work to me these days. It’s work I like, but still work. Home automation, like energy monitoring before it, is something I’ve rather stumbled into because of the energy crisis and because of the heatpump misbehaving (those things get expensive fast when they are set up wrong!), plus it’s a chance for my work skills to save me money.

So, I’m not keen to do work which seems like reinventing wheels which must already exist elsewhere many many times over, but HA either can’t include them for some reason, or its developers won’t include them.

It’s not likely to become a hobby because variety is the spice of life so my hobbies tend to take me outdoors, away from screens!

Our non-tumble heated-rail dryer tends to be my job. It’s going on a smart socket once the weather’s too bad for drying outdoors. (Which is not yet: one of the benefits of being in the driest part of the UK.)

Phew. I wondered if they were doing something sneaky like a default setting not to answer packets that seemed to come through a gateway. That can usually be hacked out of free/open source software, of course, but I’m still glad they’re not actively preventing remote access.

I’ve had a VPN for years so we can access our home media server while away, rather than remembering to copy photos to devices and so on.

Really? I only clean the screen when I’m going to drive ours. Tyres the same.

The point for us, sadly, is that our infrequent business use and occasional peak-time cross-country family journeys probably make it worth keeping a car, rather than occasional hiring and mass transport otherwise.

To continue the analogy, the current energy savings probably make it worth running smart home control software instead of relying on the imperfect default behaviours and built-in controls of certain devices… but I’d rather find a sleek lightweight bicycle of home control than have to build, fuel and maintain a tank!

I’m not that extreme. I’m comfortable with applying updates to software and maybe doing a conservative upgrade or two a year, but big monthly updates, each with a dozen or so breakages and feature removals is too much for me, not least the beta-quality features (which it looks like 2022.10’s iBeacon detection and auto-adding might be, from the reactions on unofficial forums to every passer-by’s fitbit or equivalent popping up on the device list).

I’m not sure we’re on the same page here. Creating these automations is easy with click and set UI, Do you expect it to work out what devices you want changed at certain times of the day for you? Maybe we’re not seeing the same things?

Again, seems our experiences differ. I’ve been surprised by how many components I’ve managed to integrate into HA and not had to go to the lengths of re-inventing any wheels to talk to them. I’ve added my VW ID3, my Vaillant Heat Pump, my Control4, my Lutron blinds, my TV’s, my Sky Boxes, my Xbox, my Energy Management (emon), my Car Charger, my Pool Air Source Heat Pump, bluetooth device tracking, Life360 tracking and CCTV DVR capabilities. All of this was done with add ons in the community. A couple of which were a little more than click to add and auto-setup I agree, but if you want it all ready to go in a single eco-system, you’ll need to pay major money and stump up for something like C4… Believe me, I’ve been there, and whilst it’s good, it’s even more limiting that what you are referring to here… by miles!

Im in software too and also trying to make sure that hobbies are away from the screen. But I do enjoy this. I’m also being more and more driven by the energy crisis, it’s somewhat awkward that I’m getting a kick out of checking that my EV is charging for free from the solar and energy control I have put in place!

Actually I’m going to retract that, it’s not “good” it’s “ok”, but if you factor in the cost and limitation, change that to “un-satisfactory”

1 Like

I think a lot of HA users will agree.

Personally I use an add-on called Schedy (strictly, in case you go looking, it’s an AppDaemon app) which is just brilliant, but you won’t like it as it takes some time to get to grips with, but it can do some amazing scheduling on all sorts of different conditions.

The key thing here is that it is not a finished product - it is more of a live Beta+, and they really don’t pretend otherwise. If you want a finished, mature, product, look elsewhere, be prepared to pay for it and don’t complain if the cloud service is shut down in a couple of years.

It is though, actively being developed, in some ways this is a downfall as, despite adding to the team, the number of Issues raised and PRs submitted is enormous. It will be around for a long time (IMNSHO), but will need at least 3 years before it even gets close to being stable.

I go through phases; I’ll go several months not doing anything except checking the Breaking Changes and updating at the end of every monthly cycle. Other times, like now, I’m tinkering quite a lot. I’ve got a couple of cheap AliExpress 433MHz window open/close sensors that I’ve had for ages. I really want to stop the heater coming on when the window is open so need to work out how to use these to do that. It’ll be fun and frustrating, but I know I can do it!

I love it and hate HA in equal measure - but use it as I don’t believe there is a better alternative. However, YMMV.

1 Like

For home automation, I like Domoticz. I run everything from a single openwrt open source router
(BPI R1 router, energymonitor, zigbeehub, VPN, database, visualization, weather prediction software and home automation). I even prefer to install openwrt on RPi to run Domoticz as its foot print is very low and you have very little long term issues. But to each their own.

1 Like

Probably not. The only smart calculation I want initially is “look at the current temperature target, adjust it by half a degree if the external temperature is warming or cooling, raise it by half a degree if the water heater is on, then if room temperature is more than a degree below, turn heating on, else if it’s a half degree or more above, turn heating off.”

I expect that will need scripting, whether written or blocks-style. But I don’t expect to need to create automations for turning switches on and off or setting the temperature target at fixed times daily.

More like straight beta in my opinion, still in heavy development with frequent compatibility breakages and some core features yet to implement in core. I suspect that’s a false dichotomy to suggest the only viable alternatives are closed cloud services, but that’s what I’m trying to find out in this discussion!