Smarter climate zone controller for Home Assistant. Built to enhance the capabilities of my Daikin Airbase system.
Python
smarterzones
An appdaemon app to automatically control climate zones (on/off) only depending on localised temperatures. Supports multiple conditions being set before action is taken (ALL conditions must be met), and manual override with an input_boolean
Here is what every option means:
Minimum Configuration
Name
Type
Default
Description
climatedevice
string
Required
An entity_id within the climate domain.
exteriortempsensor
string
Required
An entity_id with a temperature value as state
common_zone_switch
string
Optional
If your AC requires a common zone, specify the switch entity here, and the zone will always be on. This is an alternate approach to leaving the zone out of the list
force_auto_fan
bool
False
Whether the fan should be set to an auto mode.
zone
object
Required
Zone objects that will be controlled
Zone Object
Name
Type
Default
Description
name
string
Required
Name of the zone
zone_switch
string
Required
An entity_id within the switch domain.
local_tempsensor
string
Required
An entity_id that has a temperature as its state.
target_temp
string
Required
An entity_id that has a temperature or number as its state.
manual_override
string
Optional
Entity_id of an input_boolean
coolingoffset
object
Optional
Temperature offset object. If no object provided defaults to 0.3
heatingoffset
object
Optional
Temperature offset object. If no object provided defaults to 0.3
conditions
object
Optional
Condition object. Multiple conditions can be specified
Temperature Offset Object
Name
Type
Default
Description
upperbound
float
Required
Value above setpoint that local_tempsensor can reach. Required if coolingoffset or heatingoffset is specified. This will be the amount over the preferred temperature (ie. 20 degrees + upperbound)
lowerbound
float
Required
Value below setpoint that local_tempsensor can reach. Required if coolingoffset or heatingoffset is specified. This will be the amount below the preferred temperature (ie. 20 degrees - lowerbound)
Condition Object
Name
Type
Default
Description
entity
string
Required
Entity_id of the entity to match. Required if conditions is specified.
targetstate
string
Required
The state the entity must be in for the automtic control to work. Required if conditions is specified.
A typical example of the configuration in the apps.yaml file will look like