I am failing to see the interest in having tons of IOT devices to manage, connect, segment, etc…
Why would someone want to do it? To be clear, I have friends deep in it but… I still don’t understand.
Can anyone try to explain the magic I am failing to see?
Edit:
Thank you all for sharing your experiences!
The ones I found more interesting are those that can easily translate in reducing or tracking consumption. The rest I hear but makes more sense when I look at it from an hobbyist perspective.
Texting me and/or my wife whenever the washer or dryer in the basement finishes a load of laundry, but only if we’re home. If neither is home then it waits until one of us is and only texts that person.
Turns on exterior / driveway lights when one of us arrives home after dark.
Turns off exterior / driveway lights when we have both left home.
Sets our Ecobee thermostats to “away” when we have both left home, and to “home” when somebody arrives home.
I also have a “bedtime” button that ensures all lights are off, thermostats are set to their “sleep” profile, and doors are locked.
Those are the nicer things we use pretty much daily. We have others as well.
I am starting with home automation and I am always fascinated by some of the idea I read on the Internet. Did you come up with this yourself or is there a list of conditions and triggers with devices somewhere I can use with Home Assistant?
I came up with these myself over time, they started 10+ years ago using a Mac platform called Indigo, but since moving into our new house a year ago I've switched over to Home Assistant as well. I have a background that includes 10 years of software development & another 15 of IT, so these sorts of things come fairly easily to me when I think about it a bit.
My wife and I use iPhones and I found iCloud3, which is a great add-on that tracks locations based on those devices. I started out with the washer/dryer notification with the simple realization that we regularly forgot about laundry in our washer in the basement since we'd forget that we had started a load. So I figured out how to have HA send us alerts when the washer or dryer finished. But I quickly realized that wasn't all that useful if one or both of us was at work, shopping, etc. I then realized I could set up a trigger based on a time schedule that checks if we're home or not, and only sends the alert if we are. So I have a HA automation that is triggered every 10 minutes by a timer, but the timer is disabled by default. That automation uses iCloud3 to check if either of us are home. If we are then the automation calls a script to notify us. If we're not home then the automation resets the timer for 10 minutes. When the washer completes it triggers an automation that just starts that timer running. That gives us a little time to park the car, bring in any groceries, etc. before being reminded that we have laundry waiting.
If they're using Home Assistant then it's pretty straightforward. You can either have the devices report back their location and update based on a Geofence or you can check and see if everyone's on the wifi or not
Since we're an iPhone family I use iCloud3 in HomeAssistant to track our devices. After setting that up and associating the phones with people in HA it was just a matter of creating triggers based on us entering the home zone:
alias: Somebody Arrives Home
trigger:
- platform: zone
entity_id: person.jack
zone: zone.home
event: enter
- platform: zone
entity_id: person.jill
zone: zone.home
event: enter
We live at the end of a dead-end, so I set up the home zone to extend down the road a bit. That gives iCloud3 enough time to figure out we're home and trigger the automation in HA while we're still approaching. I combine the above with a check to see if it's roughly sunset to sunrise, and if it is then turn on the outdoor lights.
For doing things like turning off the lights when nobody is home, I have a similar trigger for everybody leaving the home zone, followed by a conditional that verifies everybody is away:
condition:
- condition: or
conditions:
- condition: template
value_template: >-
{{ states('person.jack') != 'home' and states('person.jill') != 'home' }}