Ok, so this is a little bit difficult for me to explain, so if I’m not explaining this well, please try to bear with me. I’d like to see the useability of Persons expanded a bit. Right now I’m pretty sure they just link multiple device trackers together, but I think adding one feature would really make them shine: custom fields/settings.
Create a single list of global custom fields for Persons, but the state of each of those is stored uniquely for each person and listed on the Persons configuration page. Booleans and text inputs should be enough. Each field for each user should be exposed as its own entity that we can then read/write to from automations or scripts.
This is definately more of a qualtify of life and ease of use addition, you could almost certainly accomplish the same thing in a roundabout way by creating custom booleans input fields, etc and making one for each user, but making this addition would really simplify use and add a central place to manage settings for each person.
I have a couple different use cases for this off the top of my head, but honestly this could be used for anything.
Use case 1 - Notifications
- Right now its really easy for a user to disable notifications–all notifications. Its not as easy for a user to disable specific notifications. We could change that.
- Lets say I have an automation that notifies me when my garden needs some attention.
- I could expose a setting for each person that allows them to control whether or not they want to be notified
- Person 1 usually does the gardening - they want to be notified
- Person 2 does not - they don’t want to be notified for this particular thing
- Have the automation check the person’s settings to see if they want to receive this notification or not and only send it to those people who’ve opted in. Maybe its not the best example, but you see the point.
Use case 2 - Physical Access Control
- This is the one I’m the most excited about.
- Create a field a door code
- Create a boolean for each lock in the house
- Create fields for schedules, etc.
- Then you can have an automation check each person’s assigned door code, and have it automatically add/remove them from being able to open the lock based on things like if you’re away, if they’re allowed to open it at that time, if they have access to that particular door, whatever you need.
- Again, I recognize you could do this now with a lot of custom entities, but this addition would make managing it so much easier.
Another big benfit is if you were to do this right now the only way would be to clutter your interface with all of these person-specific settings. This would allow you to keep each person’s settings away from the main views and inside of the Person view in the configuration tab.
If I’m missing something please let me know, but I think this would be an awesome improvement. I’m not much of a programmer, but I’d be willing to help in anyway I can.