Hello Robert
At long last I have both a working heating system and some time to spare on my use of heaty. I have a couple of questions I’d like to ask.
- I have now upgraded to Appdaemon3, and heaty seems happy. However, it has been a few weeks since I updated heaty, and I suspect that you have released a new version by now. I cannot seem to find update instructions in the docs - do you have any?
- (On a related note, you may want to edit the top post of this thread to make it easier for newcomers to find the heaty code. The number of times I have clicked through the obsolete link … )
- I have put my current heaty.yaml below. You will see that I am yet to include a hot water heating schedule. The reason for this is that in HA my heating has modes {“heat”, “auto”, “off”} but my hot water has modes {“on”, “auto”, “off”}. Do you have any suggestions how I can cope with this difference in heaty?
As ever, thank you for any thoughts you may have.
heaty_full:
module: hass_apps_loader
class: HeatyApp
# master_switch: input_boolean.heating_master
thermostat_defaults:
set_temp_retries: 10
set_temp_retry_interval: 60
temp_service: climate/set_temperature
opmode_heat: "heat"
opmode_off: "off"
schedule_snippets:
downstairs_winter_default:
- { weekdays: 1-5, start: "05:00", end: "06:00", temp: "23 if app.get_state('sensor.temperature__outside_front_hall') <= '-2' else Ignore()" } # Boost if chilly now
- { weekdays: 1-5, start: "06:00", end: "08:30", temp: 23 }
- { weekdays: 1-5, start: "08:30", end: "16:30", temp: "23 if app.get_state('group.someone_is_home') == 'on' else 21" } # Boost if someone at home
- { weekdays: 1-5, start: "16:30", end: "22:00", temp: 23 }
- { weekdays: 6, start: "05:00", end: "06:00", temp: "23 if app.get_state('sensor.temperature__outside_front_hall') <= '-2' else Ignore()" } # Boost if chilly now
- { weekdays: 6, start: "06:00", end: "10:30", temp: 23 }
- { weekdays: 6, start: "08:30", end: "16:30", temp: "23 if app.get_state('group.someone_is_home') == 'on' else 21" } # Boost if someone at home
- { weekdays: 6, start: "16:30", end: "22:00", temp: 23 }
- { weekdays: 7, start: "05:00", end: "06:00", temp: "23 if app.get_state('sensor.temperature__outside_front_hall') <= '-2' else Ignore()" } # Boost if chilly now
- { weekdays: 7, start: "06:00", end: "22:00", temp: 23 }
- { temp: "20 if app.get_state('sensor.pws_weather_1n_metric') <= '-2' else 18" } # Boost if probably chilly tonight
downstairs_shoulder_default:
- { weekdays: 1-5, start: "06:30", end: "07:30", temp: 22 }
- { weekdays: 1-5, start: "07:30", end: "16:30", temp: "22 if app.get_state('input_boolean.janeathome') == 'on' else 20" } # Boost if wife at home
- { weekdays: 1-5, start: "16:30", end: "22:00", temp: 23 }
- { weekdays: 6, start: "06:30", end: "09:00", temp: 22 }
- { weekdays: 6, start: "09:00", end: "16:30", temp: "22 if app.get_state('group.someone_is_home') == 'on' else 20" } # Boost if someone at home
- { weekdays: 6, start: "16:30", end: "22:00", temp: 23 }
- { weekdays: 7, start: "06:30", end: "22:00", temp: 22 }
- { temp: 17 }
downstairs_summer_default:
- { temp: 15 }
upstairs_winter_default:
- { weekdays: 1-5, start: "05:00", end: "08:30", temp: 20.5 }
- { weekdays: 1-5, start: "16:30", end: "21:30", temp: 21 }
- { weekdays: 6-7, start: "05:00", end: "06:00", temp: "21 if app.get_state('sensor.temperature__outside_front_hall') <= '-2' else Ignore()" } # Boost if chilly now
- { weekdays: 6-7, start: "06:00", end: "10:00", temp: 21 }
- { weekdays: 6-7, start: "16:30", end: "22:00", temp: 21 }
- { temp: 18.5 }
upstairs_shoulder_default:
- { weekdays: 1-5, start: "05:00", end: "08:00", temp: 20.5 }
- { weekdays: 1-5, start: "18:00", end: "21:30", temp: 21 }
- { weekdays: 6-7, start: "06:00", end: "10:00", temp: 21 }
- { weekdays: 6-7, start: "16:30", end: "22:00", temp: 21 }
- { temp: 18.5 }
upstairs_summer_default:
- { temp: 15 }
rooms:
downstairs:
friendly_name: Downstairs
# thermostats:
# climate.downstairs_heating:
schedule:
- start_date: { month: 1, day: 1 }
end_date: { month: 3, day: 15 }
temp: IncludeSchedule(schedule_snippets["downstairs_winter_default"])
- start_date: { month: 3, day: 31 }
end_date: { month: 5, day: 30 }
temp: IncludeSchedule(schedule_snippets["downstairs_shoulder_default"])
- start_date: { month: 6, day: 1 }
end_date: { month: 9, day: 15 }
temp: IncludeSchedule(schedule_snippets["downstairs_summer_default"])
- start_date: { month: 9, day: 16 }
end_date: { month: 10, day: 30 }
temp: IncludeSchedule(schedule_snippets["downstairs_shoulder_default"])
- start_date: { month: 11, day: 1 }
end_date: { month: 12, day: 31 }
temp: IncludeSchedule(schedule_snippets["downstairs_winter_default"])
friendly_name: Upstairs
# thermostats:
# climate.upstairs_heating:
schedule:
- start_date: { month: 1, day: 1 }
end_date: { month: 3, day: 15 }
temp: IncludeSchedule(schedule_snippets["upstairs_winter_default"])
- start_date: { month: 3, day: 31 }
end_date: { month: 5, day: 30 }
temp: IncludeSchedule(schedule_snippets["upstairs_shoulder_default"])
- start_date: { month: 6, day: 1 }
end_date: { month: 9, day: 15 }
temp: IncludeSchedule(schedule_snippets["upstairs_summer_default"])
- start_date: { month: 9, day: 16 }
end_date: { month: 10, day: 30 }
temp: IncludeSchedule(schedule_snippets["upstairs_shoulder_default"])
- start_date: { month: 11, day: 1 }
end_date: { month: 12, day: 31 }
temp: IncludeSchedule(schedule_snippets["upstairs_winter_default"])
friendly_name: Hot water
# thermostats:
# climate.hot_water:
schedule: