40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
"""Configuration constants for Heating MPC."""
|
|
DOMAIN = "heating_mpc"
|
|
CONF_CLIMATE = "climate_entity"
|
|
CONF_HEATER = "heater_entity"
|
|
CONF_OUTSIDE = "outside_entity" # v0.1 legacy single temperature source
|
|
CONF_ROOMS = "room_entities"
|
|
CONF_WEIGHTS = "weights"
|
|
CONF_HORIZON = "horizon_minutes"
|
|
CONF_MIN_ON = "minimum_on_minutes"
|
|
CONF_MIN_OFF = "minimum_off_minutes"
|
|
CONF_SWITCH_COST = "switching_cost"
|
|
CONF_HEAT_COST = "heating_cost"
|
|
CONF_BAND = "comfort_band"
|
|
|
|
# Each source list is ordered: first valid sensor wins; remaining are fallbacks.
|
|
WEATHER_SOURCES = {
|
|
"temperature": "outside_temperature_sources",
|
|
"wind": "outside_wind_sources",
|
|
"clouds": "outside_clouds_sources",
|
|
"humidity": "outside_humidity_sources",
|
|
"feels_like": "outside_feelslike_sources",
|
|
"pressure": "outside_pressure_sources",
|
|
"visibility": "outside_visibility_sources",
|
|
"rain": "outside_rain_sources",
|
|
"snow": "outside_snow_sources",
|
|
}
|
|
WEATHER_MAIN = ("temperature", "wind", "clouds")
|
|
WEATHER_EXTRA = ("humidity", "feels_like", "pressure", "visibility", "rain", "snow")
|
|
|
|
DEFAULTS = {
|
|
CONF_HORIZON: 120,
|
|
CONF_MIN_ON: 15,
|
|
CONF_MIN_OFF: 10,
|
|
CONF_SWITCH_COST: 0.15,
|
|
CONF_HEAT_COST: 0.025,
|
|
CONF_BAND: 0.15,
|
|
}
|
|
SAMPLE_MINUTES = 5
|
|
BLOCK_MINUTES = 15
|