Bolting on to this comment with some other neat things, as a fellow HASS enthusiast:
* Every single light in my house moves from dim/orange -> bright/bluer -> very dim/orange throughout the day (basically like an whole-home f.lux or Night Shift). Sadly still third party, but it's easy to use: Circadian Lighting component will find it
* I have "night" modes in all my rooms. This is usually a single bulb in lowest-brightness full red. You can barely see it during the day, but at night it makes bathroom trips a non-blinding affair
* I have 6+ speaker zones, on Raspberry Pis mostly. Snapcast runs the audio stream, but turning on/off a room mutes the speakers in it (walking into a room turns on the lights via motion detectors and music continues to follow, which is neat)
* I pipe a lot of text-to-speech messages. Some rooms won't play them if the room is off (outer stuff like my garage), but others always do (so I hear them). This is more custom now, and I even duck the playing music stream for the TTS portion. It can take in text, so I do things like have my automation say a bunch of things every morning (my age in days, some web-scraped snippets, etc)
* $10 power sensor is enough to know when your washer is finished. Power for awhile -> running state, no power after awhile in running state -> finished. This goes right into the text to speech system
* Every room has a 10-button remote (the very, very cheap zap remote kind). Most of the layout is the same--room on, room off, start music (or skip track if playing), stop music, full-bright lights, night lights. This still leaves a few for custom-to-the-room buttons, which I use
* Contact sensors on all openings to the house. I let me cats into the backyard during the day. Cat access via any configuration is still open, and sun is below X degrees? Text to speech
* Most of my logic is Node-RED (another comment here about that), which gives me a lot of flexibility. I have a global "house" mode, which I can set to guests or party to suppress most of my assumptions that I'm home alone
* Example of one of those: My setup knows if I'm using one of my two desk computers. If I am, and house is in "home" (alone) mode, I turn off all the other rooms in the house
I could go on--I went pretty deep when I first set up Home Assistant, but that was years ago now. Every now and then I do a major update or add functionality to smooth over something that's been bugging me
Once you hit some tipping point of soooo many things available as sensors or services in HASS, adding completely new functionality is a very incremental change
It’s a few hours a month here and there over several years. I started with a few smart bulbs while renting and I have evolved the system as I moved to a new home and installed more things to solve a problem. I didn’t do all of this in a weekend!
What’s nice is the Home Assistant automations tend to stay working without major overhaul far longer than stuff I used in the past, such as SmartThings which I no longer use. Always better to use your own small server and code for things like this. IOT platforms and services change way too much and it’s a lot more work to maintain than local HA.
the Home Assistant automations tend to stay working without major overhaul far longer than stuff I used in the past
This is a major selling point, and also why I haven't bought into any cloud-based home automation system (unlikely I ever could get past the surveillance aspect anyway). These systems are supposed to last as long as your home does, you don't want to replace/overhaul the system every few years because the supplier wants to earn more money from you.
I don't even know offhand how old my installation is, but it's been a couple of years for sure. Two things really help with longevity:
* Local-only devices. My only cloud-integrated thing is a Nest thermostat, and only because I already had it before my HASS adventures. Lights/sensors/etc is all offline, so it can't break from some company giving up on a product line
* Home Assistant itself is quite stable as software! I do keep my install up to date here and there, but not religiously. Once every year or so, a minor deprecation thing might finally drop off completely and need a quick configuration update, but very rarely. (I'm pretty deep into a "homelab" style setup too; my HASS install is a linux VM, I have a separate storage layer, etc)
So early on, it was probably a few hours of work a week, but these days I can go several months without even thinking about it or changing anything.
Quick note on audio: I use Spotify out of sheer laziness. I think they've lightened up since I did my initial setup--or just stabilized API maybe, but years ago it was common for libspotify-type client integrations to break and need an update.
So now my audio stream is routed out of the linux VM itself at the system level. Unless Spotify is willing to drop the linux client completely, they can't break my use case. And if I ever switch back to my own local file collection, I just need something that can play audio on linux to do it. I could even have a line-in wire hanging off that hardware to play any audio source broadcast to my Snapcast network too.
It's all pretty impressive until I start to imagine myself renting an apartment or house like this or being a guest in house like this. Then it fills me with dread and starts to send shivers down my spine. Every damn single activity monitored, human being like NPC in Sims game - wth,bed occupancy sensors?
I think that's a fair response! It's worth clarifying a few things. In general, I think people tend to have that reaction because there's a growing assumption that "technology" = "the cloud"--i.e. a Google or Alexa kind of smart speaker that is very clearly vacuuming all kinds of data:
- Home Assistant runs locally, in my house. None of this data is uploaded anywhere outside of my control
- I live alone. And really, the vast majority of my automation really uses/needs that assumption (computer activity turning off other rooms, etc)
- I don't have any interior-facing cameras, because yeah--even with those also purely-local, it's very odd to know they're there. Years ago, when I did leave the house every day for work, I had a living room camera to keep an eye on my cats. I completely de-powered its PoE port based on whether my automation knew I was home or not--it was only on if I was gone. There are a couple of ways to do person tracking, but I just used my phone and Home Assistant's app
- I do have a global override for a "guest" mode, mostly so lights don't inexplicably turn off. That mode turns on automatically when my girlfriend uses her keypad to unlock my door
That said, I do occasionally browse the wider HASS forums and communities. I don't have kids, but I see people use some automation pretty effectively for things like chore management/reminders. People do stuff like put cheap tablets somewhere central with status updates of who is supposed to take out the trash, reminders if any perimeter doors are open, etc
> walking into a room turns on the lights via motion detectors
Do you know if there's anything good in this space yet for detecting presence (not just entry)? There are some spots in my home where I only want the lights on while I'm there, and I haven't found anything yet that can reliably detect that somebody's actually left a space other than Hiome (https://www.hiome.com), and that doesn't work for something not delineated by a doorway.
Room occupancy is something I’ve been playing with for several years, and I’m yet to find a really good solution to it. Having said that Hass has a Bayesian filter component which can give you a probability of occupancy based on a bunch of weighted inputs, for example if a motion sensor triggered in the last minute the room is probably occupied, likewise if the TV in the living room is playing video.
I keep toying with the idea of a bunch of BLE beacons in every room and then using signal strength triangulation in a mobile app to determine which room someone is in but that falls over the moment someone leaves their phone in a room.
I’ve just recently found out about ESPrensense [1], which does this, but running on ESP32 microcontrollers, so it should be much less resource intensive.
It's a good question! I'm super curious about that myself.
I do have a bed occupancy sensor, in the form of a SparkFun OpenScale under the legs. There was a Raspberry Pi in the room for speakers already, so it's just on that.
It needs some fancy calibration to deal with temperature changes, but I just constantly tare it when my desktop computer is active (and I'm home alone I'm certainly not on the bed). That's been super responsive and great. Bed transitioning from empty->occupied when bedroom is in night mode turns off all the other rooms again.
In general, I've found that it's a lot easier to track actions than presence. So computer activity, or a door opening.
I did just flash some ESP32s with this, which is a way to report bluetooth signal for a single device across a network of listeners. They can report direct to HASS via MQTT, but it also has its own persistent python thing to more carefully triangulate. No idea if it'll work reliably or fast enough to really be useful: https://espresense.com/
If you're willing to tinker, a camera that compares the current image with a "baseline" image and says it's occupied if there's enough change.
You'd have to have an IR or NIR camera to work at night, and take special care around things like doors/drawers/curtains that move.
My washer is pretty low power consumption. I forget what exactly I set the threshold to, but when I did I was watching its output history. It spends a lot of time under 100w, and only irregularly spikes higher.
It is possible to watch much higher-power systems with power clamps--the same magnetic sensor kind you can put on your entire house power feed. I have one on my 220v dryer for completeness, although I never even bothered to rig up automation. There's no real penalty for ignored dry clothes like there is for ignored wet clothes--I guess it'd be useful for people with roommates, though.
Specifics devices will depend on zigbee vs z-wave vs wifi. If I were starting totally fresh, I'd go all zigbee.
* Every single light in my house moves from dim/orange -> bright/bluer -> very dim/orange throughout the day (basically like an whole-home f.lux or Night Shift). Sadly still third party, but it's easy to use: Circadian Lighting component will find it
* I have "night" modes in all my rooms. This is usually a single bulb in lowest-brightness full red. You can barely see it during the day, but at night it makes bathroom trips a non-blinding affair
* I have 6+ speaker zones, on Raspberry Pis mostly. Snapcast runs the audio stream, but turning on/off a room mutes the speakers in it (walking into a room turns on the lights via motion detectors and music continues to follow, which is neat)
* I pipe a lot of text-to-speech messages. Some rooms won't play them if the room is off (outer stuff like my garage), but others always do (so I hear them). This is more custom now, and I even duck the playing music stream for the TTS portion. It can take in text, so I do things like have my automation say a bunch of things every morning (my age in days, some web-scraped snippets, etc)
* $10 power sensor is enough to know when your washer is finished. Power for awhile -> running state, no power after awhile in running state -> finished. This goes right into the text to speech system
* Every room has a 10-button remote (the very, very cheap zap remote kind). Most of the layout is the same--room on, room off, start music (or skip track if playing), stop music, full-bright lights, night lights. This still leaves a few for custom-to-the-room buttons, which I use
* Contact sensors on all openings to the house. I let me cats into the backyard during the day. Cat access via any configuration is still open, and sun is below X degrees? Text to speech
* Most of my logic is Node-RED (another comment here about that), which gives me a lot of flexibility. I have a global "house" mode, which I can set to guests or party to suppress most of my assumptions that I'm home alone
* Example of one of those: My setup knows if I'm using one of my two desk computers. If I am, and house is in "home" (alone) mode, I turn off all the other rooms in the house
I could go on--I went pretty deep when I first set up Home Assistant, but that was years ago now. Every now and then I do a major update or add functionality to smooth over something that's been bugging me
Once you hit some tipping point of soooo many things available as sensors or services in HASS, adding completely new functionality is a very incremental change