this post was submitted on 28 Jan 2024
12 points (70.0% liked)

Selfhosted

39854 readers
1259 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
12
submitted 9 months ago* (last edited 9 months ago) by TCB13 to c/selfhosted
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 21 points 9 months ago (2 children)

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

[–] Zeoic 11 points 9 months ago (2 children)

Yeah, home assistant is tiny... I'm not sure what he expects? Does he need it to run on a pi zero or something? Lol

[–] mangaskahn 1 points 9 months ago* (last edited 9 months ago)

He's trying to run it on an esp32, didn't you read the title? /s

load more comments (1 replies)
[–] TCB13 -3 points 9 months ago (4 children)

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.

[–] ikidd 11 points 9 months ago (1 children)

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.

[–] TCB13 3 points 9 months ago (2 children)

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.

[–] ikidd 6 points 9 months ago (1 children)

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.

[–] TCB13 1 points 9 months ago (1 children)

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.

[–] iarigby 1 points 9 months ago (1 children)

setup on a container run without docker

??

[–] TCB13 2 points 9 months ago* (last edited 9 months ago) (1 children)

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.

[–] iarigby 1 points 9 months ago (1 children)

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

[–] TCB13 1 points 9 months ago (1 children)

Yes, but I would rather do it inside a LXC container.

[–] iarigby 1 points 9 months ago

ah got it, thanks

[–] [email protected] 0 points 9 months ago (1 children)

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

[–] TCB13 2 points 9 months ago

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

[–] [email protected] 6 points 9 months ago (1 children)

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

[–] TCB13 2 points 9 months ago (1 children)

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.

[–] [email protected] 2 points 9 months ago (1 children)

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

[–] TCB13 1 points 9 months ago

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

[–] scarilog 5 points 9 months ago

In what world is this is a resource monster??

[–] [email protected] 1 points 9 months ago (1 children)

Do you have the entire hass-os image running in a VM?

[–] TCB13 1 points 9 months ago
[–] [email protected] 6 points 9 months ago (1 children)

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.

[–] TCB13 -1 points 9 months ago

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

[–] [email protected] 4 points 9 months ago (1 children)

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.

[–] TCB13 -3 points 9 months ago (1 children)

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.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago) (1 children)

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

[–] TCB13 0 points 9 months ago (1 children)

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.

[–] [email protected] 2 points 9 months ago (1 children)

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.

[–] TCB13 1 points 9 months ago

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.

[–] [email protected] 3 points 9 months ago (1 children)

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.

[–] TCB13 -1 points 9 months ago* (last edited 9 months ago) (2 children)

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.

[–] [email protected] 2 points 9 months ago (1 children)

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.

[–] TCB13 -1 points 9 months ago (1 children)

And how do I go about that?

[–] [email protected] 2 points 9 months ago (1 children)

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

[–] TCB13 1 points 8 months ago* (last edited 8 months ago)

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.

[–] [email protected] 1 points 9 months ago (1 children)

Curious, you might want to look into what is generating your data then first. It's very easy to generate data, it's a lot harder to only generate and keep useful data.

[–] [email protected] 3 points 9 months ago

Check out FHEM, you connect them via MQTT

[–] TheInsane42 3 points 9 months ago

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.

[–] ikidd 3 points 9 months ago (1 children)
[–] [email protected] 2 points 9 months ago (1 children)

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.

[–] ikidd 3 points 9 months ago (1 children)

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.

[–] [email protected] 2 points 9 months ago (1 children)

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.

[–] ikidd 2 points 9 months ago

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.

[–] MigratingtoLemmy 2 points 9 months ago (1 children)

Why aren't you using Node-red and ntfy/MQTT brokers? HA is feature-bloat for me

[–] TCB13 1 points 9 months ago (1 children)

I wasn't aware that node-red existed until this post :P

[–] MigratingtoLemmy 2 points 9 months ago
[–] [email protected] 1 points 9 months ago* (last edited 8 months ago)

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]