I was looking for a way to turn my aircon zones on and off depending on the localised temperature with individual temperature preference and some hysteresis. I started going down the path of creating automations to do it, but it started to get untidy, so I cracked open code and wrote a basic appdaemon app. I’m no python developer, so it’s probably pretty untidy and ugly, but it’s been working perfectly for me over the last few days, opening and closing zones as required when the temperature thresholds are hit.
There are also a couple of zones I only want to turn on if there is presence (for example the media room), so there is the ability to configure conditions that must be met for the zone to open. There’s also a manual override option, so you can set an input_boolean that will stop automatic control if in the on state.
At this stage it doesn’t control the climate device, just whether a zone is on or off and I built the app in a way that each zone needs to be specified as an app in the apps.yaml. I’m looking at consolidating and updating the code, so that multiple zones can be specified, with the same flexibility, but as I haven’t run into any issues so far I’ve left it.
Anyway, I really created this for my own use case, so can’t guarantee it will work for anyone else, but thought I would share. Code is available over at dgaust/smartzone (github.com)
Unfortunately as an appdaemon, there’s no pretty pictures to share, but here’s some of the logging showing it tracking changes and determing what to do