Alternative to Home Assistant for ESPHome Devices

TCB13@lemmy.world to Selfhosted@lemmy.world – 11 points –

Hello,

My IoT/Home Automation needs are centered around custom built ESPHome devices and I currently have them all connected to a HA instance and things work fine.

Now, I like HA's interface and all the sugar candy, however I don't like the massive amounts of resources it requires and the fact that the storage usage keeps growing and it is essentially a huge, albeit successful, docker clusterfuck.

Is there any alternative dashboard that just does this:

  1. Specifically made for ESPHome devices - no other devices required;
  2. Single daemon or something PHP/Python/Node that you can setup manually with a few systemd units;
  3. Connects to the ESPHome devices, logs the data and shows a dashboard with it;
  4. Runs offline, doesn't go into 24234 GitHub repositories all the time and whatnot.

Obviously that I'm expecting more manual configuration, I'm okay with having to edit a config file somewhere to add a device, change the dashboard layout etc. I also don't need the ESPHome part that builds and deploys configurations to devices as I can do that locally on my computer.

Thank you.

50

How has home assistant become a resource monster? What kind of integrations are you using aside from ESPHome?

I'm not using any other integration. Isn't this a resource monster?

I just don't want to keep running an entire VM with their image. Something more simple that could be used on a LXC / systemd-nspawn container or directly on a base system would be nicer.

It's half a GB of ram and virtually no CPU usage. You could run it on a Pi 3 with a 16Gb SD card and have resources to spare.

This is just weird.

What is weird is having to waste almost 700MB of ram + 10GB of storage for a simple webui that charts sensor data and only keeps it for 10 days. As a comparison my NAS container runs Samba4, FileBrowser, Syncthing, Transmission, and a few others under 300MB of RAM with pontual spikes on operations.

There's a lot of difference between a container and a VM. You can install HA on a container, all you have to do is set it up according to the manual install instructions, and work around any hardware interfacing issues that come up. You'll save 200MB of RAM and will have to do any upgrades manually. Doesn't seem worth it to me, but to each their own.

What I'm going to do is setup HA Core on a container manually and run without addons / docker. That will be about installing python and should waste way less resources.

setup on a container run without docker

??

If you don't need the addons you don't need Docker. HA Core is a python script with a few dependencies that can run with pyenv and a simple systemd service unit at every boot.

yeah but that’s not setting up a container that’s just setting up python env

You have found the smallest, tiniest, itty bittiest potatoe to get upset about here. You could run this on a toaster.

I'm not upset, just wondering / looking for way to keep the potato from growing further and/or alternatives.

If this is what you consider a resource monster you’re gonna have a really, really rough time

This isn't reasonable at all, 700MB of ram + 10GB of storage for a simple webui that charts sensor data and only keeps it for 10 days.

You need to edit your configuration.yaml file to exclude certain sensors or values. I excluded some of the more chatty sensors that I didn't need and my disk use went from around 40gb to 150mb

Interesting. I'll have to check what might be logging so much info.

Node-Red can do dashboards. I don't know if it does data logging, but I would guess so since it can do dashboards. It also supports MQTT so it should handle ESPHome devices without a problem.

It's made for automations (and great at it) but it can be a minimalist HA hub too.

Hmm.. that's interesting. I'll have to explore further. Thanks.

Consider running HA in a light weight systemd-nspawn container with minimal debian. No docker, only install the repositories you need. HACS if needed. Run your own database on the side somewhere and let HA use it.

By itself HA is fairly lightweight already.

I was trying to go that route with LXC actually and while it seems great what about the ESPHome addon? I'm not even sure if that thing is required to use ESPHome devices or not.

It's not needed, and you can run it separately standalone if you do want it as well.

It’s not needed,

For what exactly? Can I still add the ESPHome devices to HA without the addon installed, is the addon only for flashing the devices?

Thanks.

Correct, the discovery process where you add them doesn't actually involve the addon and works fine without it. The addon is just a wrapper for the standalone ESPhome web UI. It's also not the only way to author and flash a config to a device, you can do it from any computer and on the command line.

Thank you for clarifying this. I was aware I could flash devices on my computer (I did a few times because a few of my boards ESP32-S2-Mini have to be flashed once by the Flash Download Tool from espressif). Maybe I'll run the ESPHome WebUI on my computer or use the cli, I'll see.

I'll proceed to install the HA Core + HACS on a LXC container and see how it goes.

I'm running domoticz with an rflink interface for my rf433 devices. No clue if they support ESPHome, but you can check. It runs confined to my network.

Node Red.

I run nodered within Homeassistant in a vm on one of my nucs, I do all of my actual automation in there and homeassistant is just an IO layer for zigbee and bluetooth stuff.

I started out that way, but I've moved to doing most of it in HA directly since they massively improves the UI. I still use NR for complicated stuff though. I've recently started using Pyscript for modbus integrations too.

The UI is definitely better than it used to be, but nodered can do some more powerful stuff like pulling the html of a devices web ui and parsing data straight from the page when there's no API to use for example. I used to do that for a solar inverter at my last house.

Now I use it to control my AV switcher that distributes video through the house, it has no native homeassistant integration and only supports things like control4 and RTI so I implemented my own control using their REST API and hooked it all up to buttons and selectors in homeassistant. works great.

Also my home theatre receiver has a homeassistant integration but its terrible, so again, I've manually implemented the tcp controls in nodered.

pulling the html of a devices web ui

I've done something similiar in NR to scrape the CUPS webpage on my desktop and turn on a tasmota plug for the printer when it sees a job waiting in the queue. I wouldn't even try to do that in HA directly. But I wouldn't be surprised if there's an integration somewhere that would do it.

I went with the virtual appliance when I installed Home Assistant several years ago, turned out to be a great decision looking at how it's architected. I only self-host the database separately, which i've found easier to manage.

the fact that the storage usage keeps growing

There should be a setting to reduce how long Home Assistant retains data for - I removed the limit on mine, however its possible that on newer versions they've changed the default

Hope you find a solution though - I think node red (capable of doing dashboards on its own) with something else is going to get you part way there.

I've been doing this. I'm running HA under LXD (VM) and it works.

$ lxc info havm
Name: havm
Status: RUNNING
Type: virtual-machine
Architecture: x86_64
PID: 541921
Created: 2023/12/05 14:14 WET
Last Used: 2024/01/28 13:35 WET

While it works great and it was very easy to get the VM running I would rather move to something lighter like a container. About the storage I just see it growing everyday and from what I read it should be keeping for 10 days however it keeps growing. Almost 10GB for a web interface and logs from a couple of sensors, wtf?

I would be very happy with HA, really no need to move other stuff as long as things were a bit less opaque than a ready to go VM that runs 32434 daemons and containers inside it.

Curious, you might want to look into what's generating your data first. It's easy to generate data, it's harder to only keep the data that's useful.

And how do I go about that?

One logs into the VM and starts checking the files of course. Go from there.

FYI the DB isn't even that big and the total space is growing at around 100MB every 2 days.

I just don't get it.

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
HA Home Assistant automation software

~ | High Availability LXC | Linux Containers MQTT | Message Queue Telemetry Transport point-to-point networking NAS | Network-Attached Storage


4 acronyms in this thread; the most compressed thread commented on today has 11 acronyms.

[Thread #457 for this sub, first seen 28th Jan 2024, 18:25] [FAQ] [Full list] [Contact] [Source code]