Home Assistant Presence Simulation
github.com
github.com
It's amazing _but_ do NOT use a raspberry pi to run it. Save yourself a ton of headaches and buy a mini pc (there was a list of used mini pcs posted here yesterday from ebay). Also I recommend using HAOS (or whatever the "we install and run the whole OS" option is called) so that you can use things like plugins without messing around with docker. I love docker but trust me, life is easier on HAOS.
I liked HA but felt like it wasn't really "stable". I used a Pi 3 for a while, then a Pi 4 decked out (highest ram, NVME storage, super nice case, etc) and still felt like it was unstable. I chalked this up to HA but then rolled the dice on a Beelink mini pc and it has been rock solid ever since. Also don't be misled by the lower price of the Pi, I paid more for my Pi 4 setup than the Beelink (or about the same).
I blamed everything from the Zigbee/Z-wave dongles, to HAOS, to HA itself, etc but in the end it was RPi. The 4 was the last Pi I'll ever buy.
EDIT: I was in a hurry and didn't add my normal disclaimer when I talk about the RPi's:
Yes I know some of you have a Pi 1 that been running you entire life since it first came out and you think I'm full of crap. I've owned every Pi 1-4 and never been truly happy with them. I bought them "raw" and sourced all the parts myself, I bought high-end (at least in price) kits with everything included, I bought all official accessories (like power), they always were just that little bit unstable.
It would work great for days/weeks then randomly not be reachable (wired or wireless). I spent just shy of $200 for my last "builds" which included a NVME drive (240G, lest you think this is where the cost was), RPi case, RPi NVME hat, RPi 4 8gb model, SD card, power, etc and the result was still instability. I don't know what to tell you. Maybe I'm a moron but my experience with them has not been great. That said I want to love them and I loved my RPi 1B even with all it's warts, a $35 "credit card sized" computer was awesome. Maybe I just don't want to tinker as much anymore and value stability.
I only had issues once, when I tried to run the Unifi Network Application addon. A RPi is not strong enough for that, but I just uninstalled it and moved on.
Have been using Western Digital purple 64GB MicroSD for years without problems (support the same number of writes as SSD)
Oh, of course, for a casual user it's simple, unfortunately no casual users know about HA or how to physically integrate HA in a smart home, so the idea of making a generic end-user system it's a failure in principle, no matter the implementation. Aside nothing is forever so even if for some it's easier to go for a WebUI, when it will break, because it will (and with HA I've experienced issues various time, an update at a time) you need to waste big time instead of simply adapting a damn simple config.
Hell, even NixOS with it's damn nix language is enormously simpler than the YAML hell + WebUI of HA. And yes, NixOS is far more stable and simple than playing with an entire distro just to run a Pythonic app.
It's a common issue in modern software: devs are so inhabited to use cloud stuff not knowing what's behind they are mentally unable to comprehend why doing so it's a totally absurd thing. Software MUST REPLICATE with easy, your home infra should be replicated from scratch without much more than booting a custom live. You shouldn't need to re-do the same step again. In *nix we have this concept since decades, those from Windows land simply do not understand because replication for them it's a myth.
Give NixOS or Guix System a try and you'll understand: your setup is just a single or few text files, a command read them and generate a new deploy for you. No need to traveling ever changing UIs by hand, no YAML hell.
At another level it's the same for those from stratis/mdraid/lvm/btrfs vs zfs. Zfs is done for the operation, as a storage should be, flexible, simple, effective, the others are a pile of CRAP those who develop them do not even recognize why, because they have no real idea of automation even if they are core devs of some very low level system stuff. Another example: "systemctl status something" is a CLI designed by some who have no idea of the real world needs, otherwise it would be "systemctl something status" because typically when you look for a service status you might want thereafter reload/restart/stop it, if not the word exchange does change nothing to you. These are the sign of devs born on Windows that have never go behind their desktop or someone else cloud service so they have no idea about how to build an infra.
For HA most of it's devs I suppose have no p.v. at home, or they have no personal automation to maximize self-consumption so they do not know how many lines of YAML and wasted time on their UI such design imply. Instead with "dumb end users" in mind, people who NEVER EVER use HA seriously simply because they lack too much knowledge even if someone gives the a ready made system, they focus on "visual code" like Node Red, augmenting them messiness level while still no option exists to establish sensor data retention and pruning, you need aside InfluxDB so another dependency for next to nothing and an issue at a time HA became just a part of a system with NO UI at all because to use InfluxDB you need for instance Grafana and so you entirely replace HA slick UI. In the end you have done A MONSTER to handle simple automation of many stuff due to wrong design ideas, while it could perfectly be a single simple app, HA itself, for instance exposed in python directly.
At some level many start to understand and from UIs they tend to REPL, from disappearing menus to "dashes", from widgets to NotebookUIs for some scientific software, LLM prompts and so on, but even with that most still have to understand a decades old IT principle.
Unfortunately it works well enough, and there are little or no alternatives to it as far as I can tell. Were there a reasonable alternative, with a configuration as an actual code (YAML isn't), I would dump HA in a heartbeat. I mean I could even live without the GUI - just configuration as a code, and stable support for Zigbee (and BLE etc devices). But then again HA mostly works. And if it works, then...shrug.
My use case is mostly to be able to 1) monitor/understand our electricity consumption, 2) be able to turn off all/selected electrical devices when leaving house etc., 3) automatically lower/raise outside shutters based on weather/where sun is(!) to keep house cooler, 4) and as a bonus, have leak detectors send me a text if there is a leak. My setup is some 30 zigbee smart switches / sockets, couple of IKEA badring leak sensors, solar inverter and something zigbee in main electric panel to get total electric consumption. And five door/window sensors (that aren't really used for anything, but you know how one goes down the rabbit hole with these things...).
How I've made it somewhat manageable is that I run it in a following manner (first in Pi5, now in N100 -- no difference between those observed regarding HA):
- have /opt/homeassistant/config mounted to zram
- on boot unpack /opt/homeassistant/backup/latest.tar.zst -> /opt/homeassistant/config
- run HA from docker (where /opt/homeassistant/config is now on zram)
- cron will make a backup of /opt/homeassistant/config weekly (or I can run backup manually if I've made changes/addedd devices) and then these are backed up 'offsite'.
So now whenever HA goes bonkers, or more likely I've messed something up with it, end result being the same, I simply roll back to some earlier known good configuration. Docker is wonderful in this regard. Really, I don't know how else people live with the HA, other than backing up their entire config, and then re-installing.
Just as an example (no ads) https://kfx.fr/posts/2024-02-21-shellyfloodandha/ how is possible to demand such amount of line to get a damn flood notification on mobile?
As you rightly say HA works well enough and have less issues than OpenHAB, but as long as something less yaml-illish and webui-tied appear I'll switch instantaneously. My setup have probably far less devices than you, bus some have a gazillion of sensors (i.e. my main battery inverter a Victron MultiPlus with ECV charging station have at least 1248 lines of yaml, NOT counting the template code for many sensors usages) while it could be a simple python data structure of 1/5 of the size. My main usage is just monitoring and a bit of automation to maximize self-consumption like piloting hot water heater, running A/C etc, videosurveillance and co are managed separately.
Sadly, I've yet to find a viable alternative.
I've found that just getting an old toughbook is much more reliable for projects that don't require miniaturization.
But yeah, then you're competing with a minipc. The pi5 now has niceties like a power button and you can battery backup the clock with a wired coin cell, but then it is more time and expense to get to what minipcs had basically forever.
I guess USB power is also historically not great on RPI. I haven't played with them in a few years but I remember needing powered hubs. That might explain issues with Zigbee and Z-wave dongles. Note also the '700 series' z-wave dongles have a lot of issues. You can update the firmware to fix some. Mine's been flakey and I'm on the latest firmware from ~2 weeks ago that's supposed to fix all of that.
I was running HAOS on VirtualBox, with the disk image on ZFS. I switched to running docker out of the same ZFS filesystem and it's much faster and more reliable, notably I don't get random filesystem corruption. Anecdote. YMMV.
I don't see this as being unique to HAOS, if a filesystem is corrupted in a certain way then _no OS_ is going to be able to boot.
There are distros that are specifically optimized for the Pi (with, eg specific logging choices [1]) that try to avoid problems (with trade-offs).
I've used something before (can't remember/find it now, but maybe thought it was in Yocto?) where there were 3 partitions: one was read-write used for persisting user data, and two were for the OS/apps. One would be live and mounted as read-only, the other was for the next system update using a blue-green deploy strategy. I think it also used RAM for log and temp files.
Theoretically true if you are very unlucky, however, that's not true at all for the vast majority of filesystem failures.
I am talking about failures where if I inspect the disk image outside the VM and fsck it, everything is fine.
Also, given that HA leans so heavily on docker, it would be a reasonable feature for it to rebuild some docker images should the disk damage them.
Traditional hard disk failures are common, but also, SD card failure is really common. If you've worked on a sufficiently popular mobile app you've probably seen tons of it. It's reasonable to plan for it at the application layer. To say nothing of at an OS layer. There's a very good reason why Unix traditionally ships with fsck tools and sometimes runs them at boot. Whoever designed HAOS not to do this made a big mistake, and I would hit this a few times a year in my old setup.
Install proxmox and HAOS and you can use the rest for other stuff.
And honestly, if you're in many states of the US - power's consumption is not necessarily an issue. Electricity is dirt cheap in the States, but I see your point.
HAOS caused so many issues for me while it tried to set up the other containers (such as Node Red), specially during home assistant updates, and it also made the whole UI extremely confusing because it would "redirect" some things to HAOS while others would be done inside HASS itself. With it auto trying to manage the containers it was also never clear when things were still booting/loading or crash looping and when you had issues the extremely limited access HAOS gives you was painful to deal with.
As with other personal anecdotes in this thread, it may not be relevant to you, but I'd share my own experience as well, as someone that has had HASS running for 6+ years now.
My only prior HA experience was around 2017 before they had multiple options; I used a RPi which burned through microSD cards and it was pretty miserable. Gave up by 2019. Not making that mistake again.
If you don’t use HAOS you miss out on Home Assistant add-ons, which themselves sometimes integrate in Home Assistant.
version: "3"
services:
## wyoming
whisper:
container_name: whisper
image: rhasspy/wyoming-whisper
command: --model base-int8 --language en
volumes:
- ./whisper-data:/data
environment:
- TZ=Europe/Brussels
restart: unless-stopped
ports:
- 10300:10300
piper:
container_name: piper
image: rhasspy/wyoming-piper
command: --voice fr-siwis-medium
volumes:
- ./piper-data:/data
environment:
- TZ=Europe/Brussels
restart: unless-stopped
ports:
- 10200:10200Be careful with the beelinks though, I have one with a nice ryzen API that's basically useless because the USB gave out and it's a chicken and the egg problem trying to get Bluetooth on it. Haven't gotten around to attempt manually configuring Bluetooth on the SSD yet (from another computer) or otherwise fixing those ports
I use an old Mac mini.
After that, zero problems.
Currently running in docker, which was a godsend when I migrated from Raspbian to NixOS about 18 months or so ago with no issues.
Have used an SSD wherever possible, perhaps that's why it's been so stable.
I use the GPIO, which is one reason I've stuck with the Pi!
Or, if you consider Lego DUPLO trains to be model trains, there's this: https://community.home-assistant.io/t/lego-duplo-train-contr...
Edit: there's also this https://github.com/aaron9589/esphome-for-model-railroading for the more serious model railroad enthusiast, though I'm not 100% sure if that actually controls the trains themselves (or just the switches and lights)
HA is just a nicer experience, but I wouldn’t say it (or any home automation) is a “need”. It’s better seen as something for tech people to tinker with once they’ve settled a bit in life and are looking for something to do.
Of course you can make things more complicated if you want to in HA, or you can set it and mostly forget it if you just use timers.
Cameras with backup power and backup internet connection is your first priority.
When I was at my last house, I didn't have kids, and people would knock on my door every day. It was because my block was full of neighbors who were friendly and nice to one another, and not shut in their houses like hermits.
The way many people in the suburbs live these days, they'd might as well live in windowless metal shipping containers.
I ask because my neurodivergent wife loses things, and often Tile either doesn't work or isn't load enough. I read that UWB promises 10cm² or 10cm³ accuracy, which would be ideal for finding lost stuff.
I've seen a couple of commercial offerings, but they didn't have pricing.