- Part 1 - Design
- Part 2 - Where to start
- Part 3 - "Smart" Appliances
- Part 4 - Ceiling Fans
- Part 5 - Bin Day
- Part 6 - Lighting
- Part 7 - Motorised Gate
- Part 8 - Motorised Blinds
- Part 9 - Door Locks
- Part 10 - Debugging!
- Part 11 - House sitter mode (this post)
- Part 12 - Backups
- Part 13 - Wall Mounted Dashboards
- Part 14 - Motion, Occupancy, and Presence
- Part 15 - Generative AI and Notifications
- Part 16 - Seasonal Automation's
When designing a smart home I’ve reiterated many times that the goal was to make it work regardless of who was there and that existing expectations of how things like switches work are maintained.
But naturally as you start to evolve the smart home more you will end up doing customisations around your household routines. In our house we have a few, one example is the night time routine for the kids bedrooms - at a scheduled time their light will come on, then when they flip the switch to turn it off it will also turn on their night light (there’s a few nuances to it though).
This kind of thing works for us and our kids, but it might not work for others, and it was something we had to tackle recently when we went on holidays and had a house sitter.
Entre House Sitter Mode
The astute reader might have noticed when I talked about smart door locks that I have a generic automation that will enable/disable a PIN for any user one of those users was called house_sitter
. This is combined with a script that I have to generate a new four-digit PIN for that user.
|
|
I have this called from another script:
|
|
To use these I have added a input_boolean
to indicate if we want to enable or disable the house sitter mode:
|
|
And then we have an automation that listens for the changes to its state:
|
|
Great, now we have a way to know within Home Assistant if we are in house sitter mode or not, and with that we can adjust our automations.
Tweaking the automations
There are two approaches that I’ve tackled for this problem space and I’ll cover both of them here. The first is that we can add a condition to our automations to check if we are in house sitter mode or not, and either let the automation run or not.
I initially went down this route for automations but I ultimately found that it wasn’t scalable, you would have a lot of automations that you add this condition to, and if you add more conditions to the automation you have to be careful that they don’t conflict with each other.
Instead, I went down the route of creating an automation that would run when the input_boolean
is triggered and then it would enable/disable the automations that I wanted to change. The idea is that you disable the automations that are unique for how your household operates, and then enable the automations that are generic and work for anyone.
|
|
The automation will look at the state of the input_boolean
and generate two variables using a template to work out which service we need to call, turn_on
or turn_off
, and then it will call the service for the family and house sitter automations.
I find that this approach, enable/disable automations rather than conditions, a much better option for me, as it’s easy to add more automations to the list and it’s clear when looking at the automation list in Home Assistant what is enabled and what isn’t (and that makes debugging easier!).
Conclusion
This is a simple approach to managing the automations that you want to enable/disable when you are in house sitter mode, and it’s one that I’ve found works well for me. I’m sure there are other approaches that you could take, and I’d love to hear about them if you have any.