For anyone active on the discord server, forums, and reddit - one thing is abundantly clear - people are recreating the wheel everyday!
People are creating home modes, away modes, guest modes, etc because these things don’t just “exist” in home assistant ready to be configured.
People are needing to learn advanced jinja templating and complicated automation formatting to do simple tasks that a majority of users would benefit from and use often. Blueprints aren’t a solution here because they are not trivial to make changes to and are frankly hard to find ones that perfectly fit with a use case. The documentation is also very developer-centric for blueprints.
With all of that being said, I am looking forward to positive communication about these topics above
Probably because it is a hugely configurable option. There are an enormous combination of of modes that each person individually may want. Party? Pets inside? Guest while home? Guest while away? Power save? etc…
And because there is a simple solution that fits everyone.
Create an input select helper that lists the available modes you want.
Then use that in automation conditions, triggers and actions. No templates required.
That may be true. However, there are probably +80% of HA users that would be perfectly happy with one simple (and reliable) solution. The other 20% are welcome to tinker around.
the responses from tom here are exactly why i have never felt comfortable contributing to these forums. the users are very helpful and friendly, the moderators and power users not so much…
For home and away you have zones to track where you are and thereby using it for automations etc.
for all others I also think it’s highly individual and thereby creating an out of box solution would be very tricky.
Your post was not flagged by a moderator, the flag was acted on by a moderator. Don’t make this into a witch hunt. Your flag was marked as off topic by a community member because the bottom whole paragraph has nothing to do with the home assistant software and is largely just a complaint about the dev and mod team. You’re welcome to create a #social post to voice your frustrations there. The month of WTH is about aspects of the Home Assistant software that bother you.
Maybe yes it is too complicated to do the whole thing, but I do wonder if their are some portions of the structure that could be improved.
For example having the status on the individual user profiles, and then a rollup that shows the total state for the house. Thats only one example and quite small, but then it atleast locks in something that is “standard”
An easy solution for mode functionality is a controller like radio-button. With this controller just one option can be selected and the (others are automatically deselected).
Then scripts, automations, service calls can be triggered by this controller.
The radio-button should have options for displaying the radio-button-group as buttons, checkboxes, dropdown-list or radio-buttons.
With some help from the forum I have made this functionality and it works fine. But for HA not have radio-button as a built in helper is a mystery.
At the very least a pre-installed Guest user and a corresponding Guest dashboard which is all they can see would be really useful if pre-configured in the core install.
I’ve iterated on this for several years (I operate 3 different HA environments, including one at an AirBNB which guests can control). One problem I’ve seen is that people try to jam too much into a single mode. Conceptually there is a difference between Home/Away and what the people in a house (or area/zone) are actually doing.
Privacy mode is useful for guests who, for example, do not want security cameras active at all or any kind of automated tracking/automated experiences based on that data.
I think the general concept of a single “presence” for an entire home…or an area/zone is useful, independent of any of the modes above. I’ve found two features very useful.
presence hold - useful for testing especially remotely this simulates presence for 10 minutes (with input_boolean)
presence lock - input_boolean to force presence on until some regular reset (nightly)
The presence_lock is EXTREMELY useful in situations where there are lots of shared users of a space AirBNB, event space, etc) where you want to make sure NO automation happen that day which might turn off lights, turn on alarms, stop music, etc.
This is my standard presence config file used in all HA installations:
# The core mechanics to support presence within Home Assistant environments:
#
# REQUIRED TO BE DEFINED:
# - binary_sensor.any_people # PEOPLE (known)
# - binary_sensor.any_area_occupied # OCCUPANCY (any area)
# - binary_sensor.any_motion_sensors # MOTION (triggered)
# - binary_sensor.any_active_use # USAGE (someone is actively using tv, oven, appliances, shower, etc)
#
# From Home Assistant docs:
# occupancy : on means occupied (detected), off means not occupied (clear)
# presence : on means home, off means away
# motion : on means motion detected, off means no motion (clear)
#
# My interpretation:
# 1. occupancy is close to a motion detector, they are instananoues temporary sensors;
# 2. occupancy feeds into presence sensors, which have a longer hold period before clearing
#
# NOTES:
# - presence indicates someone is there sourced from various types of triggers:
# motion, usage, local/area proximity, holds, occupancy
# - area_presence_hold switches for forcing presence (from auto area or magic area or self defi
ned)
input_boolean:
home_presence_lock:
name: Home Presence Lock
icon: mdi:motion-sensor
initial: off
home_presence_hold:
name: Home Presence Hold (10 Min)
icon: mdi:motion-sensor
initial: off
timer:
considered_away:
name: "Presence Considered Away"
duration: "00:45:00"
restore: true
automation:
- alias: "Reset Home Presence Hold"
trigger:
- platform: state
entity_id: input_boolean.home_presence_hold
to: 'on'
for:
minutes: 10
action:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.home_presence_hold
- alias: "Reset Home Presence Lock (daily 2:00am)"
trigger:
- platform: time
at: 02:00:00
action:
- service: input_boolean.turn_off
data:
entity_id: input_boolean.home_presence_lock
- alias: Presence Considered Away Timer Start
trigger:
- platform: state
entity_id: binary_sensor.home_presence
to: 'off'
action:
- service: timer.start
data:
entity_id: timer.considered_away
- alias: Presence Considered Away Timer Stop
trigger:
- platform: state
entity_id: binary_sensor.home_presence
to: 'on'
action:
- service: timer.cancel
data:
entity_id: timer.considered_away
binary_sensor:
- platform: template
sensors:
home_presence_overrides:
friendly_name: Home Presence Overrides
device_class: presence
value_template: >
{{ is_state('input_boolean.home_presence_lock', 'on') or
is_state('input_boolean.home_presence_hold', 'on') }}
- platform: group
name: Home Presence
device_class: presence
entities:
- binary_sensor.home_presence_overrides
- binary_sensor.any_people
- binary_sensor.any_area_occupied
- binary_sensor.any_motion_sensors
- binary_sensor.any_active_use