Very handy considering myself (and most people I know) have their HA+devices setup with as local-only.
I don’t want my home automation connected to the internet at all, but I still want notifications if my kids room temps dropped too low or my garage door opens in the middle of the night.
I've been using the signal-cli add-on for this with a lot of success. I can add attachments, have the notifications show up on all my devices, and share a group with my partner so we both get the same notifications. All end-to-end encrypted.
I also use signal-cli for notifications including my own custom integrations using MQTT. And to connect remotely to the Home Assistant (HA) UI I use an SSH tunnel. But this is how I enjoy using HA, integrating with my own projects.
What I also learned to enjoy about HA is the diversity of the community of users that found success in home automation without completely relying on "cloud" solutions. I think this is the ethos of this project: local control comes first.
Yes. Local push would mean you’d only get notified when at home.
Home Assistant has had non-local push for a while now. I use that for door unlock and alarm notifications because I want them when I’m away. It’ll be handy to move less urgent ones to local only though.
What type of smart theromstat allow local only operation? The popular ones I've looked at (nest, ecobee, honeywell) all look like they require internet connection to work.
I have an ecobee and I actually wonder whether it needs an internet connection. For setup, certainly. But I have it connected to Apple HomeKit, which all runs on internal networking. My Apple TV then exposes HomeKit for use outside the house.
Either way, HA lets you use a whole load of random ZWave/ZigBee/whatever thermostats:
I would not recommend ecobee, it does not allow you to apply simple actions you may want to do. For example, using HA I am monitoring co2 in the bedroom, if the level rises above 1000ppm I wanted to turn on house fan until level reaches a value. You cannot simply turn central house fan on/off at will, you can only apply a hourly duty cycle controlled by ecobee. I wish I would have purchased a thermostat with basic api controls.
Do you have a one hour hold duration configured within your ecobee? I have a Home Assistant switch entity that turns the ecobee furnace fan “on”. Turning the switch off returns the ecobee to “auto”, or it will do so on its own after the two hour hold duration I have set in my ecobee. I believe you could accomplish what you want by setting your hold duration to “until I change it”.
You can add some protection by putting it behind a reverse proxy like HAProxy or nginx. It's mostly security through obscurity, but in this case it helps a lot unless you're being specifically targeted by someone.
Basically pick a subdomain on a domain you own and have that and only that forward to HA. So the only way to connect to the HA instance from the internet is to know the exact subdomain you've picked for it. Set the proxy to not pass any port 443 traffic unless the subdomain matches one that you've set.
I snagged a zwave dongle to run my lights and it works great.
People run it on everything from Raspberry Pis to Intel NUCs depending on what you wanna do. Some integrations need node, most python, and having a bunch of scheduled scripts firing at once can make the UI a tad slow. If you have a bunch of IoT stuff, I’d probably not throw it on a tiny pi zero for instance.
Two somewhat inexpensive NUC substitutes I've used:
a) Asus Chromebox CN60. Under $50 used. You have to open it up to put it in dev mode, then go to https://mrchromebox.tech/ to get a BIOS that can boot Linux. Uses removable DIMMS and M.2 SATA so it's easy to upgrade if needed. Includes WiFi.
b) Older Lenovo Tiny models, like the M72, M83, M93P, etc. A little larger than the NUC form factor, but not by much. You can find them under $100 with an i3 or i5, 8GB ram, and sometimes an HDD or very small SSD. Most of them also include WiFi.
I was keen to run it on Docker on my M1 Mac Mini ~6 months ago but, apparently on account of some limitation concerning the way Docker handles networking on M1 Macs - at least at the time - was unable to.
Has anyone managed to get this working? I run a bunch of homelab services as Docker containers on the always-on, power sipping M1 so getting this set up too would mean I could avoid having to use a separate, dedicated Pi.
Once the Linux on M1 becomes available you could run it that way. Right now the issue is that Home Assistant relies on being on the same network (bridged into the container) as the rest of your devices so it can see the broadcasted messages from IoT devices.
I'm running HA inside docker with two networks: one macvlan-based, which is connected to iot-VLAN host interface. Here, HA can talk to devices (this adapter is set in Settings | General | Network Adapters for the broadcast).
The other is bridge (docker net driver one, not linux one) - i.e. it is in it's private, host-only subnet and a reverse proxy running on a host publishes the web app for the users on the main LAN.
Sure, and that works great when you are using Linux to run Docker as you have full control over the networking. For docker on macOS as the OP is using, you only get a single network, and it is an emulated one using vpnkit into the VM. You can't attach a network adapter directly to the VM, which means the docker containers running inside the VM can't see the IoT devices.
Originally I had mine on a Pi3, but the SD card died. I have a Windows machine that's always on, so now I have HA OS running in a headless VM on there. I went from a USB Zigbee coordinator to tinkering with a separate coordinator that's got a wired connection to the network, so there's no need to pass a USB antenna to the VM and the coordinator can sit closer to the smart devices.
Maybe I'll move to something more container driven in the future, but for now it's been working well for me and I really like being able to snapshot the image before upgrading.
I apologize for being a bit late to this comment, but I would also like to suggest that people look into eMMC boards. As one commenter suggested, SD cards are prone to failures (we saw this as Seam and earlier at Sonder!). The Black Beaglebone was a decent choice a year ago. ODroid is good too.
Raspberry Pi 4. Just make sure to use Postgres as your storage backend and disable storage of past events (unless you specifically really care about it). Otherwise it’ll overwhelm your SD card IO.
I use openHAB, but they're comparable enough I guess. I have a Raspberry Pi 4 that runs it, with a connected Aeotec Z-Wave USB stick that I have all my smart switches, thermostat, security system, etc. connected to.
The OS is running off a SD card, and despite the horror stories I hear about them wearing out and dying, mine's been running for a couple years now without issue. I've been planning to replace it with a SSD or NVMe drive and USB adapter, but never seem to get around to it.
As for guides, honestly can't remember using any. I just followed the openHAB install guide (I assume HA has something similar) and went from there, DDG'ing and looking on forums for solutions to problems.
i jad a lot of problems at some point with the rPi staying running and the sd cards. i ended up moving them to a differn circut in my house when i suspected that it was overloaded and causing minor brown outs (this was older wiring with the slow trip fuses not a modern breaker)
everything cleared up after that and no problems since.
I burned through 3 SD cards (even "endurance" SD cards) before I finally switched to an NVMe over USB for my HA RaspPi. I highly recommend the switch even if you aren't having card failures. The performance improvement alone makes it worthwhile.
I've had my HA running on an RPi with a regular A1 SD card for close to 3 years now, and my ZWave log file is spammed and my database is 2GB, so not lack of activity.
I did experience some issues initially, but found it was due to a poor USB "charging" cable, it had 1 Ohm resistance! After swapping that it's been just smooth sailing.
I do take frequent backups to my NAS just in case though.
I run it on my Synology NAS inside a docker container, managed via the command line rather than the web GUI. I know this is not the best solution but since my NAS is on 24/7 anyway and has heaps of spare RAM and CPU, it's the best solution for me.
If you want to buy hardware, get the ODROID N2. It's the closest thing to an officially supported hardware platform in the HA universe. (The ODROID N2 was bundled and sold as "Home Assistant Blue" for a period.)
This doesn’t seem like a likely problem. However moving my install off a Synology and into a vm on a nuc (keeping it in docker) made a massive difference to response times and performance. It’s hard to beat the combo of more ram, more cpu and nvme.
I'm running two instances, one on Synology+Docker, other on Odroid (N2+, config like the HA-edition, minus the nice case).
I don't really see any performance issue with Synology (Avoton with 16 GB RAM), just the `docker-compose up` takes a few seconds. Response time-wise, it is fine. Plus, I'm using the Synology reverse proxy, so that one takes care of a few things too.
Of course, Core-i5/i7 will beat Atom-based NAS; but HA doesn't really need that.
I started with a Raspberry Pi, but as my setup got larger it got slower, so now I use an Intel NUC8 (not just for HA, I run ESXI on it and HA is one of the VMs). My network is predominantly Z-Wave so I use an Aeotec Z-Wave stick to interface with it.
This is very cool. I'm still hoping one day Home Assistant will add support for Google Home's Local API to avoid going over the internet to perform internal operations from a Home:
It’s implemented but it still requires an official Google Assistant smart home skill and a cloud connection to set-up. It works out of the box with Home Assistant Cloud.
It’s kinda cool how it works, as your Google Home Mini will run our JS app and let it interact with Home Assistant. In the case of Home Assistant Cloud, all commands are just forwarded as-is as all processing is always local. You can see the source here https://github.com/NabuCasa/home-assistant-google-assistant-...
Note, syncing local access, exposed devices and any command requiring 2FA still goes via the cloud.
Has Home Assistant settled on what you can configure via YAML and what needs to be done via the web UI yet? I left the ecosystem last year after the split became too hard to mentally keep track of.
The TL;DR: Authentication for devices and services are via the UI only (to deal with OAuth2, refresh tokens, auto-updating IPs via mDNS). Automations/scripts/scenes are both YAML or UI.
I bought a Hubitat earlier this year. It just works.
GUI's a bit dated, and you kind of have to get used to the philosophy. However, once you get the hang of it, it's reliable, easy, and flexible enough for my needs.
One by one my integration’s have been failing over the last 4 years. I have no idea how my alexa integration worked originally, less idea now. My kids enjoyed “alexa, TV off” while it lasted.
Started by moving all of my automations to node-red.
Most of my z-wave devices I’m interacting with directly over MQTT. After the bumpy switch to z-wavejs everything has been stable.
Of course not. Now there's a third way - Blueprints.
I've bitched about HA before and won't rehash all of it. The project requires a lot of time investment and the devs care mainly about playing with the latest tooling. From introducing and sunsetting a major installation method in the span of ~4 years to dropping Python 3.7 despite it not being EOL until 2023, I don't have time or patience to relearn everything with every little release.
Switched to Hubitat earlier this year. The GUI is ugly and there's a small learning curve. However it just works.
I’ve been increasingly annoyed by the forced migrations from yaml-configured components to the terrible integration system and have started thinking about alternatives.
Can you expand on your move to Hubitat? How’s the support for non-native integrations?
Hubitat user here as well, It's ugly but has been pretty solid for me. It's definitely punching above it's weight class in terms of what it cost. Hubitat has a groovy ide so you can write your own integration if necessary and the community is pretty good, I've rarely found something that doesn't already have an integration.
Will this work if I only have the external URL pointed at Nabu Casa? I tried adding my internal/private URL on iOS and it kept timing out connecting, even after adding my SSID.
HA is great and their support Discord is the easiest way I’ve had getting tech support for any software product ever. I wish they had a better system for packaging it than their current system (either you run their closed down Docker image or their even more closed down Linux distro where you can’t enable ssh without an add on). But once you get it up and running it does exactly what it says on the tin and does it well.
> either you run their closed down Docker image or their even more closed down Linux distro where you can’t enable ssh without an add on
What would you suggest? For their target audience (people who are tech savvy, but don't necessarily know anything about Linux or programming) this seems like the ideal way to distribute it.
Their website also has virtual machine images in various formats, and instructions to manually install it.
I also wish there was an option for people wanting to have a bit more control or fit it more tidily into an existing home stack. I hacked my own container image so that I could run it in my home k8s, but it wasn't easy — there are lots of undocumented dependencies, and there's no clear separation of state and config. It has by far the untidiest architecture of all the software I run on my home servers. Once it's up and running, though, HA is an amazing bit of software.
I run it the forbidden way, via NixOS, and I do have to run the cycle of adding an integration, checking logs and then declaring which dependencies it needs and trying again. But once it works, it just works.
The stock image does all sorts of horrible things like modifying its own configuration at runtime and installing a variety of Python packages into attached volumes.
So yes, you can "run" the stock image on k8s, if you abandon most of the advantages of deploying a container in the first place, but if you want to deploy it the way you would normally deploy a container, with the dependencies packaged into the image before it launches and tidily separated config & state, and have it behave predictably in future rather than just like a miniature pet server that needs care & attention, you have a little work to do.
The cloud push infrastructure doesn’t cost us that much actually, only around $30/month for both Android and iOS. We rate limit mostly to stop users from spamming themselves too much.
I believe this is the first iOS app that (publicly at least) supports the new iOS local push framework which requires a special entitlement from Apple.
Tangentially related: I frequently start long-running shell commands and go make a coffee. Is there an easy way to send a notification from my Mac to my iPhone?
You would think it would be a use case for Automator or Shortcuts but I don’t think it’s possible?
There are various apps that can do this but everyone I’ve found is very enterprise oriented and fairly expensive. I just want to send local network notifications to my phone once in a blue moon… (bonus if it would work while I’m talking a walk outside the range of my network too, but it’s not that important).
He probably wants a notification. I have my Slack notifications off, so I am not constantly interrupted when not in front of a computer. I do however leave things like iMessage and HomeKit to ping me.
During first wave of the pandemic the leading online grocery company in my country started slot system which opened at random times and people had to spend sleepless nights trying to see if the slot opens.
I wrote a script to automate[1] this and used Pushover for notification. It was used my many and so I guess they might have gained several new customers.
78 comments
[ 2.8 ms ] story [ 139 ms ] threadI don’t want my home automation connected to the internet at all, but I still want notifications if my kids room temps dropped too low or my garage door opens in the middle of the night.
What I also learned to enjoy about HA is the diversity of the community of users that found success in home automation without completely relying on "cloud" solutions. I think this is the ethos of this project: local control comes first.
Home Assistant has had non-local push for a while now. I use that for door unlock and alarm notifications because I want them when I’m away. It’ll be handy to move less urgent ones to local only though.
Either way, HA lets you use a whole load of random ZWave/ZigBee/whatever thermostats:
https://community.home-assistant.io/t/latest-and-greatest-th...
Look at this list and go into each page to see the “IoT class”.
“Local push” is the best but “Local polling” would satisfy your requirements as well.
Basically pick a subdomain on a domain you own and have that and only that forward to HA. So the only way to connect to the HA instance from the internet is to know the exact subdomain you've picked for it. Set the proxy to not pass any port 443 traffic unless the subdomain matches one that you've set.
I snagged a zwave dongle to run my lights and it works great.
People run it on everything from Raspberry Pis to Intel NUCs depending on what you wanna do. Some integrations need node, most python, and having a bunch of scheduled scripts firing at once can make the UI a tad slow. If you have a bunch of IoT stuff, I’d probably not throw it on a tiny pi zero for instance.
You can follow these instructions if you’re using an odroid: https://www.home-assistant.io/installation/odroid
a) Asus Chromebox CN60. Under $50 used. You have to open it up to put it in dev mode, then go to https://mrchromebox.tech/ to get a BIOS that can boot Linux. Uses removable DIMMS and M.2 SATA so it's easy to upgrade if needed. Includes WiFi.
b) Older Lenovo Tiny models, like the M72, M83, M93P, etc. A little larger than the NUC form factor, but not by much. You can find them under $100 with an i3 or i5, 8GB ram, and sometimes an HDD or very small SSD. Most of them also include WiFi.
Has anyone managed to get this working? I run a bunch of homelab services as Docker containers on the always-on, power sipping M1 so getting this set up too would mean I could avoid having to use a separate, dedicated Pi.
The other is bridge (docker net driver one, not linux one) - i.e. it is in it's private, host-only subnet and a reverse proxy running on a host publishes the web app for the users on the main LAN.
Maybe I'll move to something more container driven in the future, but for now it's been working well for me and I really like being able to snapshot the image before upgrading.
The OS is running off a SD card, and despite the horror stories I hear about them wearing out and dying, mine's been running for a couple years now without issue. I've been planning to replace it with a SSD or NVMe drive and USB adapter, but never seem to get around to it.
As for guides, honestly can't remember using any. I just followed the openHAB install guide (I assume HA has something similar) and went from there, DDG'ing and looking on forums for solutions to problems.
everything cleared up after that and no problems since.
I did experience some issues initially, but found it was due to a poor USB "charging" cable, it had 1 Ohm resistance! After swapping that it's been just smooth sailing.
I do take frequent backups to my NAS just in case though.
If you want to buy hardware, get the ODROID N2. It's the closest thing to an officially supported hardware platform in the HA universe. (The ODROID N2 was bundled and sold as "Home Assistant Blue" for a period.)
I don't really see any performance issue with Synology (Avoton with 16 GB RAM), just the `docker-compose up` takes a few seconds. Response time-wise, it is fine. Plus, I'm using the Synology reverse proxy, so that one takes care of a few things too.
Of course, Core-i5/i7 will beat Atom-based NAS; but HA doesn't really need that.
https://community.home-assistant.io/t/google-home-local-home...
It’s kinda cool how it works, as your Google Home Mini will run our JS app and let it interact with Home Assistant. In the case of Home Assistant Cloud, all commands are just forwarded as-is as all processing is always local. You can see the source here https://github.com/NabuCasa/home-assistant-google-assistant-...
Note, syncing local access, exposed devices and any command requiring 2FA still goes via the cloud.
The TL;DR: Authentication for devices and services are via the UI only (to deal with OAuth2, refresh tokens, auto-updating IPs via mDNS). Automations/scripts/scenes are both YAML or UI.
I eventually just stopped updating altogether due to the constant breaking changes, but haven't settled on anything else yet.
GUI's a bit dated, and you kind of have to get used to the philosophy. However, once you get the hang of it, it's reliable, easy, and flexible enough for my needs.
One by one my integration’s have been failing over the last 4 years. I have no idea how my alexa integration worked originally, less idea now. My kids enjoyed “alexa, TV off” while it lasted.
Started by moving all of my automations to node-red.
Most of my z-wave devices I’m interacting with directly over MQTT. After the bumpy switch to z-wavejs everything has been stable.
It's defined, but it's still a total mess as not everything is updated completely to support UI configuration.
I've bitched about HA before and won't rehash all of it. The project requires a lot of time investment and the devs care mainly about playing with the latest tooling. From introducing and sunsetting a major installation method in the span of ~4 years to dropping Python 3.7 despite it not being EOL until 2023, I don't have time or patience to relearn everything with every little release.
Switched to Hubitat earlier this year. The GUI is ugly and there's a small learning curve. However it just works.
Can you expand on your move to Hubitat? How’s the support for non-native integrations?
What would you suggest? For their target audience (people who are tech savvy, but don't necessarily know anything about Linux or programming) this seems like the ideal way to distribute it.
Their website also has virtual machine images in various formats, and instructions to manually install it.
https://www.home-assistant.io/installation/linux#install-hom...
So yes, you can "run" the stock image on k8s, if you abandon most of the advantages of deploying a container in the first place, but if you want to deploy it the way you would normally deploy a container, with the dependencies packaged into the image before it launches and tidily separated config & state, and have it behave predictably in future rather than just like a miniature pet server that needs care & attention, you have a little work to do.
You would think it would be a use case for Automator or Shortcuts but I don’t think it’s possible?
There are various apps that can do this but everyone I’ve found is very enterprise oriented and fairly expensive. I just want to send local network notifications to my phone once in a blue moon… (bonus if it would work while I’m talking a walk outside the range of my network too, but it’s not that important).
Is not enterprisey, the personal version is a one-time purchase.
[1] https://pushover.net/
During first wave of the pandemic the leading online grocery company in my country started slot system which opened at random times and people had to spend sleepless nights trying to see if the slot opens.
I wrote a script to automate[1] this and used Pushover for notification. It was used my many and so I guess they might have gained several new customers.
[1] https://abishekmuthian.com/bigbasket-slot-alert/
See https://help.ifttt.com/hc/en-us/articles/115010230347-Webhoo...
% long-running-job.sh ; sms "the job is done"