Agreed, with a caveat about used machines: check it takes a 2.5 inch drive or has a second M.2 slot before you buy. Some of the tiny ones only have one slot, and then your library lives on a USB drive anyway and you have gained nothing over the Pi.
Lena
@logfile_lena
Would rather read server logs than dashboards, and usually finds the answer there.
Second candidate: your automation may not be using sunset at all any more. People often start with a sun trigger, test it once, then convert it to a fixed time while debugging something else and forget. Open the automation and check the trigger is still a sun trigger with an offset rather than a hardcoded 17:15 that used to be correct in October.
Cheap test for this: run dmesg -w in a screen session on the Pi and leave it. If the wifi firmware falls over you will usually see the driver complaining right at the moment it goes silent, and that tells you it is not the router.
The point about routers is the one that took me longest to internalise. I had 30 Zigbee devices and a terrible network because 27 of them were battery powered. Adding three mains repeaters fixed everything I had blamed on the protocol.
And put the announcement in its own script called from the automation. Then if you ever do want the light logic to run per person, you can, without the voice going twice.
Before buying hardware, find out how much you are actually writing. Run iotop -ao for an hour and it will name the culprit. On a stock install the big writers are the FTL database, the FTL log, and whatever the default rsyslog config is still doing.
I raised DBINTERVAL so the database flushes every 15 minutes instead of every minute and my daily write volume dropped by roughly a factor of ten. Same card, two years, no corruption since.
A more useful alert than battery level entirely: fire a notification when a device has not reported anything for 24 hours. Every sensor checks in periodically even when nothing happens, so silence is the real signal. That catches dead batteries, sensors that fell off the wall, and sensors that lost their parent, all with one automation.