Hello everyone. I am new to HomeSeer and currently in the process of migrating from OpenHab after few years of usage (to which I migrated from Domoticz ).
I would like your oppinion on separating states from phisical devices, and action trigers from actions. A bit long explanation, but this is kinda important before I start, thanks for patience.
Since I am developer I sort of think about abstractions (and obviously sometimes overengineering things), so what I found that works for me logically is to separate states from devices, thus having less places to change things when adding/changing devices and actions. But does this makes sense in homeseer?
In my mind there are some states, actions, scenes and triggers
For example, the virtual device/state "someone in the house" would derive its state from virtual devices like "me in the house", "wife in the house" and "guests in the house". Wheres "me in the house" would come from my phones connection, and "wife in the house" would be her phone + motorcycle keys bluetooth beacon (as she forgets the phone sometimes). Guests are determined by their wifi connection to guest network on Unifi.
Other examples would be something like:
Here I can have one place that configures a state, since a lot of actions are using states I only have one place to change (f.eks. as kid is growing, "Kids preparing to sleep" changes a bit, or if I change how presense is determined I do it one single place).
I would then have actionable items
Then based on that I can then build some activities/scenes, f.eks.
Scenes:
Last thig are various triggers that would either control activities, or some simple automations (typical one motion - one light)
For example:
- time is "family dinner time period", and at least 2 chairs are occupied -> activate "having Dinner" scene (get more lights above dinner table, dim other lights in the room, play some music, maybe lower phones volume etc.)
- plex is playing something from home videos folder, and there are guests present -> activate "wathing home videos" scene (adjust lights, lower blinds, on pause adjust lights back).
The reason from separating activities and triggers is that some scenes can be triggered both automatically (time, activity) and manually (asking google/phone/tablet/phisical switch). And for this different proxy items and flag items are needed, to determine if lights are overriden manually and when should they go back to auto state etc. Also activities usually have "dead man's switch" directly in them, thus they will not activate regardles of which scene was activated.
I've read a lot of forum posts on organizing events and phisical devices, but obviously not all as it is quite huge (even though I am of those who believe that size is not important), so I am thanfull if you point me into related topics as well.
Does all this complication makes sense for experienced homeseer users, or am I overengineering very simple things?
Any thoughts about how to do this in homeseer before I start doing it "the wrong way"?
I would like your oppinion on separating states from phisical devices, and action trigers from actions. A bit long explanation, but this is kinda important before I start, thanks for patience.
Since I am developer I sort of think about abstractions (and obviously sometimes overengineering things), so what I found that works for me logically is to separate states from devices, thus having less places to change things when adding/changing devices and actions. But does this makes sense in homeseer?
In my mind there are some states, actions, scenes and triggers
For example, the virtual device/state "someone in the house" would derive its state from virtual devices like "me in the house", "wife in the house" and "guests in the house". Wheres "me in the house" would come from my phones connection, and "wife in the house" would be her phone + motorcycle keys bluetooth beacon (as she forgets the phone sometimes). Guests are determined by their wifi connection to guest network on Unifi.
Other examples would be something like:
- Presence:
- Someone home / no one home / all home
- Me home
- Wife home
- wasp result
- Guests present (wifi?)
- Someone on way from work (me, wife)
- Someone sleeping
- left bed side occupied
- Someone sitting at the table
- chair 1 occupied
- chair 2 occupied
- ...
- Someone home / no one home / all home
- Comfort
- Sun luminosity in the room
- Now
- Last two days
- Temperature (Yesturday / today / tomorrow)
- livingroom
- outside
- Time periods
- Deep sleeping time
- Work day waking period
- Family dinner time period
- Kids preparing to sleep
- Sun luminosity in the room
Here I can have one place that configures a state, since a lot of actions are using states I only have one place to change (f.eks. as kid is growing, "Kids preparing to sleep" changes a bit, or if I change how presense is determined I do it one single place).
I would then have actionable items
- Actionables:
- All blinds up / down
- Living room blinds up / down
- Office blinds up / down
- Lights color (per room)
- cool
- normal
- warm
- movies
- disco
- Lights luminocity
- min
- low
- normal
- dynamic
- Multimedia
- Watchi youtube
- Watch Plex movies
- Listen to Plex music
- All blinds up / down
Then based on that I can then build some activities/scenes, f.eks.
Scenes:
- having breakfast
- having lunch
- having Dinner
- Preparing kids to sleep
- watching movies
- watching home videos
- listening to music
- someone is vacuuming
- wife is studying
Last thig are various triggers that would either control activities, or some simple automations (typical one motion - one light)
For example:
- time is "family dinner time period", and at least 2 chairs are occupied -> activate "having Dinner" scene (get more lights above dinner table, dim other lights in the room, play some music, maybe lower phones volume etc.)
- plex is playing something from home videos folder, and there are guests present -> activate "wathing home videos" scene (adjust lights, lower blinds, on pause adjust lights back).
The reason from separating activities and triggers is that some scenes can be triggered both automatically (time, activity) and manually (asking google/phone/tablet/phisical switch). And for this different proxy items and flag items are needed, to determine if lights are overriden manually and when should they go back to auto state etc. Also activities usually have "dead man's switch" directly in them, thus they will not activate regardles of which scene was activated.
I've read a lot of forum posts on organizing events and phisical devices, but obviously not all as it is quite huge (even though I am of those who believe that size is not important), so I am thanfull if you point me into related topics as well.
Does all this complication makes sense for experienced homeseer users, or am I overengineering very simple things?
Any thoughts about how to do this in homeseer before I start doing it "the wrong way"?
Comment