Heating Setpoint, Schedules and Boost

I’d like to set up my heating in HA, Can someone tell me how I go about creating a “set point” (I guess it would be an input boolean) so that if the heating goes below that, it comes on and then turns off say 1 degree above. Ideally, i’d also like to implement a schedule, and a “boost” override that will switch the heating on for 15 minutes.

I already have thermometers in the house feeding into HA, and I have a switch coming next week that I can connect to boiler.

Thanks In advance.

1 Like

Have you considered using the Generic Thermostat platform?

For scheduling, you may want to look at Heaty or its successor called Schedy.

I haven’t I wasn’t even sure where to start tackling this problem from to be honest.

So I assume my configuration would look like below, but how would I go about changing the target_temp from the dashboard / AppDaemon / something in AD that looks like a nest control with the information and target would be great.

climate:
  - platform: generic_thermostat
    name: Heating
    heater: switch.boiler_relay1
    target_sensor: sensor.averagehometemperature
    min_temp: 15
    max_temp: 25
    ac_mode: False
    target_temp: 17
    cold_tolerance: 0.3
    hot_tolerance: 0
    min_cycle_duration:
      minutes: 10
    initial_operation_mode: "auto"
    away_temp: 17
    precision: 0.1

I also currently don’t have Day / Night / Home / Away Modes setup either, but want to configure those too.

You would use either the Lovelace UI’s default Thermostat Card or a custom card like this one by @ciotlosm.

1 Like

Lol, not using love lace either. I really need to look into that! Using appdaemon on numerous wall mounted tablets. The generic thermostat worked, i just need to get the cards and components working for appear on. Thanks for your help.

If I restart HA, the thermostat goes back to 17, can I change it so that it remembers the previous settings?

Also, i’m not using hassio, i’m running unraid in adocker, can i still setup schedy?

Here is something I’m using for scheduling my central heating:

Thanks Intel, and @vladosam
Just implementing this now, however, I’m being faced with the following error:

Invalid config for [input_boolean]: [min] is an invalid option for [input_boolean]. Check: input_boolean->input_boolean->alarmhour_heater->min.

I have a slip configuration, so each area has its own file, i.e. input boolean, climate, switch, lighting etc, are all called from the configuration.yaml. I’ve got each part in the right area I think, it just doesn’t like the “min” argument.

mqtt: !include mqtt.yaml
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
light: !include lights.yaml
switch: !include switches.yaml
sensor: !include sensors.yaml
media_player: !include mediaplayers.yaml
binary_sensor: !include binsensors.yaml
device_tracker: !include trackers.yaml
camera: !include cameras.yaml
notify: !include notify.yaml
climate: !include climate.yaml
input_boolean: !include inputboolean.yaml

Forget that last post!

I didn’t realise there was an input number, created that file and called it!

“Configuration Valid”

Awsome!
Hope this will solve ur heating problems :wink:

Thanks so much.
I noticed there was a timer on here, can I setup a schedule (i think i need the inputs below) so that it is on for say an hour between 6:30 - 07:00 then again from 10:00 - 12:30 etc? does the timer switch the heating on at the end of the schedule?

I’d also like to set it up so that the “away mode” is triggered by presence detection (I already have presence detection setup)

Thanks.

I have these in my in my inputsboolean and in the groups file.

  heating_timer_00_00:
    name: Heating timer 00:00 
    initial: off
    icon: mdi:radiator
  heating_timer_00_15:
    name: Heating timer 00:15 
    initial: off
    icon: mdi:radiator
  heating_timer_00_30:
    name: Heating timer 00:30 
    initial: off
    icon: mdi:radiator
  heating_timer_00_45:
    name: Heating timer 00:45 
    initial: off
    icon: mdi:radiator
  heating_timer_01_00:
    name: Heating timer 01:00 
    initial: off
    icon: mdi:radiator
  heating_timer_01_15:
    name: Heating timer 01:15 
    initial: off
    icon: mdi:radiator
  heating_timer_01_30:
    name: Heating timer 01:30 
    initial: off
    icon: mdi:radiator
  heating_timer_01_45:
    name: Heating timer 01:45 
    initial: off
    icon: mdi:radiator
  heating_timer_02_00:
    name: Heating timer 02:00 
    initial: off
    icon: mdi:radiator
  heating_timer_02_15:
    name: Heating timer 02:15 
    initial: off
    icon: mdi:radiator
  heating_timer_02_30:
    name: Heating timer 02:30 
    initial: off
    icon: mdi:radiator
  heating_timer_02_45:
    name: Heating timer 02:45 
    initial: off
    icon: mdi:radiator
  heating_timer_03_00:
    name: Heating timer 03:00 
    initial: off
    icon: mdi:radiator
  heating_timer_03_15:
    name: Heating timer 03:15 
    initial: off
    icon: mdi:radiator
  heating_timer_03_30:
    name: Heating timer 03:30 
    initial: off
    icon: mdi:radiator
  heating_timer_03_45:
    name: Heating timer 03:45 
    initial: off
    icon: mdi:radiator
  heating_timer_04_00:
    name: Heating timer 04:00 
    initial: off
    icon: mdi:radiator
  heating_timer_04_15:
    name: Heating timer 04:15 
    initial: off
    icon: mdi:radiator
  heating_timer_04_30:
    name: Heating timer 04:30 
    initial: off
    icon: mdi:radiator
  heating_timer_04_45:
    name: Heating timer 04:45 
    initial: off
    icon: mdi:radiator
  heating_timer_05_00:
    name: Heating timer 05:00 
    initial: off
    icon: mdi:radiator
  heating_timer_05_15:
    name: Heating timer 05:15 
    initial: off
    icon: mdi:radiator
  heating_timer_05_30:
    name: Heating timer 05:30 
    initial: off
    icon: mdi:radiator
  heating_timer_05_45:
    name: Heating timer 05:45 
    initial: off
    icon: mdi:radiator
  heating_timer_06_00:
    name: Heating timer 06:00 
    initial: off
    icon: mdi:radiator
  heating_timer_06_15:
    name: Heating timer 06:15 
    initial: off
    icon: mdi:radiator
  heating_timer_06_30:
    name: Heating timer 06:30 
    initial: off
    icon: mdi:radiator
  heating_timer_06_45:
    name: Heating timer 06:45 
    initial: off
    icon: mdi:radiator
  heating_timer_07_00:
    name: Heating timer 07:00 
    initial: off
    icon: mdi:radiator
  heating_timer_07_15:
    name: Heating timer 07:15 
    initial: off
    icon: mdi:radiator
  heating_timer_07_30:
    name: Heating timer 07:30 
    initial: off
    icon: mdi:radiator
  heating_timer_07_45:
    name: Heating timer 07:45 
    initial: off
    icon: mdi:radiator
  heating_timer_08_00:
    name: Heating timer 08:00 
    initial: off
    icon: mdi:radiator
  heating_timer_08_15:
    name: Heating timer 08:15 
    initial: off
    icon: mdi:radiator
  heating_timer_08_30:
    name: Heating timer 08:30 
    initial: off
    icon: mdi:radiator
  heating_timer_08_45:
    name: Heating timer 08:45 
    initial: off
    icon: mdi:radiator
  heating_timer_09_00:
    name: Heating timer 09:00 
    initial: off
    icon: mdi:radiator
  heating_timer_09_15:
    name: Heating timer 09:15 
    initial: off
    icon: mdi:radiator
  heating_timer_09_30:
    name: Heating timer 09:30 
    initial: off
    icon: mdi:radiator
  heating_timer_09_45:
    name: Heating timer 09:45 
    initial: off
    icon: mdi:radiator
  heating_timer_10_00:
    name: Heating timer 10:00 
    initial: off
    icon: mdi:radiator
  heating_timer_10_15:
    name: Heating timer 10:15 
    initial: off
    icon: mdi:radiator
  heating_timer_10_30:
    name: Heating timer 10:30 
    initial: off
    icon: mdi:radiator
  heating_timer_10_45:
    name: Heating timer 10:45 
    initial: off
    icon: mdi:radiator
  heating_timer_11_00:
    name: Heating timer 11:00 
    initial: off
    icon: mdi:radiator
  heating_timer_11_15:
    name: Heating timer 11:15 
    initial: off
    icon: mdi:radiator
  heating_timer_11_30:
    name: Heating timer 11:30 
    initial: off
    icon: mdi:radiator
  heating_timer_11_45:
    name: Heating timer 11:45 
    initial: off
    icon: mdi:radiator
  heating_timer_12_00:
    name: Heating timer 12:00 
    initial: off
    icon: mdi:radiator
  heating_timer_12_15:
    name: Heating timer 12:15 
    initial: off
    icon: mdi:radiator
  heating_timer_12_30:
    name: Heating timer 12:30 
    initial: off
    icon: mdi:radiator
  heating_timer_12_45:
    name: Heating timer 12:45 
    initial: off
    icon: mdi:radiator
  heating_timer_13_00:
    name: Heating timer 13:00 
    initial: off
    icon: mdi:radiator
  heating_timer_13_15:
    name: Heating timer 13:15 
    initial: off
    icon: mdi:radiator
  heating_timer_13_30:
    name: Heating timer 13:30 
    initial: off
    icon: mdi:radiator
  heating_timer_13_45:
    name: Heating timer 13:45 
    initial: off
    icon: mdi:radiator
  heating_timer_14_00:
    name: Heating timer 14:00 
    initial: off
    icon: mdi:radiator
  heating_timer_14_15:
    name: Heating timer 14:15 
    initial: off
    icon: mdi:radiator
  heating_timer_14_30:
    name: Heating timer 14:30 
    initial: off
    icon: mdi:radiator
  heating_timer_14_45:
    name: Heating timer 14:45 
    initial: off
    icon: mdi:radiator
  heating_timer_15_00:
    name: Heating timer 15:00 
    initial: off
    icon: mdi:radiator
  heating_timer_15_15:
    name: Heating timer 15:15 
    initial: off
    icon: mdi:radiator
  heating_timer_15_30:
    name: Heating timer 15:30 
    initial: off
    icon: mdi:radiator
  heating_timer_15_45:
    name: Heating timer 15:45 
    initial: off
    icon: mdi:radiator
  heating_timer_16_00:
    name: Heating timer 16:00 
    initial: off
    icon: mdi:radiator
  heating_timer_16_15:
    name: Heating timer 16:15 
    initial: off
    icon: mdi:radiator
  heating_timer_16_30:
    name: Heating timer 16:30 
    initial: off
    icon: mdi:radiator
  heating_timer_16_45:
    name: Heating timer 16:45 
    initial: off
    icon: mdi:radiator
  heating_timer_17_00:
    name: Heating timer 17:00 
    initial: off
    icon: mdi:radiator
  heating_timer_17_15:
    name: Heating timer 17:15 
    initial: off
    icon: mdi:radiator
  heating_timer_17_30:
    name: Heating timer 17:30 
    initial: off
    icon: mdi:radiator
  heating_timer_17_45:
    name: Heating timer 17:45 
    initial: off
    icon: mdi:radiator
  heating_timer_18_00:
    name: Heating timer 18:00 
    initial: off
    icon: mdi:radiator
  heating_timer_18_15:
    name: Heating timer 18:15 
    initial: off
    icon: mdi:radiator
  heating_timer_18_30:
    name: Heating timer 18:30 
    initial: off
    icon: mdi:radiator
  heating_timer_18_45:
    name: Heating timer 18:45 
    initial: off
    icon: mdi:radiator
  heating_timer_19_00:
    name: Heating timer 19:00 
    initial: off
    icon: mdi:radiator
  heating_timer_19_15:
    name: Heating timer 19:15 
    initial: off
    icon: mdi:radiator
  heating_timer_19_30:
    name: Heating timer 19:30 
    initial: off
    icon: mdi:radiator
  heating_timer_19_45:
    name: Heating timer 19:45 
    initial: off
    icon: mdi:radiator
  heating_timer_20_00:
    name: Heating timer 20:00 
    initial: off
    icon: mdi:radiator
  heating_timer_20_15:
    name: Heating timer 20:15 
    initial: off
    icon: mdi:radiator
  heating_timer_20_30:
    name: Heating timer 20:30 
    initial: off
    icon: mdi:radiator
  heating_timer_20_45:
    name: Heating timer 20:45 
    initial: off
    icon: mdi:radiator
  heating_timer_21_00:
    name: Heating timer 21:00 
    initial: off
    icon: mdi:radiator
  heating_timer_21_15:
    name: Heating timer 21:15 
    initial: off
    icon: mdi:radiator
  heating_timer_21_30:
    name: Heating timer 21:30 
    initial: off
    icon: mdi:radiator
  heating_timer_21_45:
    name: Heating timer 21:45 
    initial: off
    icon: mdi:radiator
  heating_timer_22_00:
    name: Heating timer 22:00 
    initial: off
    icon: mdi:radiator
  heating_timer_22_15:
    name: Heating timer 22:15 
    initial: off
    icon: mdi:radiator
  heating_timer_22_30:
    name: Heating timer 22:30 
    initial: off
    icon: mdi:radiator
  heating_timer_22_45:
    name: Heating timer 22:45 
    initial: off
    icon: mdi:radiator
  heating_timer_23_00:
    name: Heating timer 23:00 
    initial: off
    icon: mdi:radiator
  heating_timer_23_15:
    name: Heating timer 23:15 
    initial: off
    icon: mdi:radiator
  heating_timer_23_30:
    name: Heating timer 23:30 
    initial: off
    icon: mdi:radiator
  heating_timer_23_45:
    name: Heating timer 23:45 
    initial: off
    icon: mdi:radiator

and this is in my groups.yaml

  Heating_timer_group_0:
    name: Timer group 00:00 - 04:00
    control: hidden
    entities:
     - input_boolean.Heating_timer_00_00
     - input_boolean.Heating_timer_00_15
     - input_boolean.Heating_timer_00_30
     - input_boolean.Heating_timer_00_45
     - input_boolean.Heating_timer_01_00
     - input_boolean.Heating_timer_01_15
     - input_boolean.Heating_timer_01_30
     - input_boolean.Heating_timer_01_45
     - input_boolean.Heating_timer_02_00
     - input_boolean.Heating_timer_02_15
     - input_boolean.Heating_timer_02_30
     - input_boolean.Heating_timer_02_45
     - input_boolean.Heating_timer_03_00
     - input_boolean.Heating_timer_03_15
     - input_boolean.Heating_timer_03_30
     - input_boolean.Heating_timer_03_45
  Heating_timer_group_1:
    name: Timer group 04:00 - 08:00
    control: hidden
    entities:
     - input_boolean.Heating_timer_04_00
     - input_boolean.Heating_timer_04_15
     - input_boolean.Heating_timer_04_30
     - input_boolean.Heating_timer_04_45
     - input_boolean.Heating_timer_05_00
     - input_boolean.Heating_timer_05_15
     - input_boolean.Heating_timer_05_30
     - input_boolean.Heating_timer_05_45
     - input_boolean.Heating_timer_06_00
     - input_boolean.Heating_timer_06_15
     - input_boolean.Heating_timer_06_30
     - input_boolean.Heating_timer_06_45
     - input_boolean.Heating_timer_07_00
     - input_boolean.Heating_timer_07_15
     - input_boolean.Heating_timer_07_30
     - input_boolean.Heating_timer_07_45
  Heating_timer_group_2:
    name: Timer group 08:00 - 12:00
    control: hidden
    entities:
     - input_boolean.Heating_timer_08_00
     - input_boolean.Heating_timer_08_15
     - input_boolean.Heating_timer_08_30
     - input_boolean.Heating_timer_08_45
     - input_boolean.Heating_timer_09_00
     - input_boolean.Heating_timer_09_15
     - input_boolean.Heating_timer_09_30
     - input_boolean.Heating_timer_09_45
     - input_boolean.Heating_timer_10_00
     - input_boolean.Heating_timer_10_15
     - input_boolean.Heating_timer_10_30
     - input_boolean.Heating_timer_10_45
     - input_boolean.Heating_timer_11_00
     - input_boolean.Heating_timer_11_15
     - input_boolean.Heating_timer_11_30
     - input_boolean.Heating_timer_11_45
  Heating_timer_group_3:
    name: Timer group 12:00 - 16:00
    control: hidden
    entities:
     - input_boolean.Heating_timer_12_00
     - input_boolean.Heating_timer_12_15
     - input_boolean.Heating_timer_12_30
     - input_boolean.Heating_timer_12_45
     - input_boolean.Heating_timer_13_00
     - input_boolean.Heating_timer_13_15
     - input_boolean.Heating_timer_13_30
     - input_boolean.Heating_timer_13_45
     - input_boolean.Heating_timer_14_00
     - input_boolean.Heating_timer_14_15
     - input_boolean.Heating_timer_14_30
     - input_boolean.Heating_timer_14_45
     - input_boolean.Heating_timer_15_00
     - input_boolean.Heating_timer_15_15
     - input_boolean.Heating_timer_15_30
     - input_boolean.Heating_timer_15_45
  Heating_timer_group_4:
    name: Timer group 16:00 - 20:00
    control: hidden
    entities:
     - input_boolean.Heating_timer_16_00
     - input_boolean.Heating_timer_16_15
     - input_boolean.Heating_timer_16_30
     - input_boolean.Heating_timer_16_45
     - input_boolean.Heating_timer_17_00
     - input_boolean.Heating_timer_17_15
     - input_boolean.Heating_timer_17_30
     - input_boolean.Heating_timer_17_45
     - input_boolean.Heating_timer_18_00
     - input_boolean.Heating_timer_18_15
     - input_boolean.Heating_timer_18_30
     - input_boolean.Heating_timer_18_45
     - input_boolean.Heating_timer_19_00
     - input_boolean.Heating_timer_19_15
     - input_boolean.Heating_timer_19_30
     - input_boolean.Heating_timer_19_45
  Heating_timer_group_5:
    name: Timer group 20:00 - 24:00
    control: hidden
    entities:
     - input_boolean.Heating_timer_20_00
     - input_boolean.Heating_timer_20_15
     - input_boolean.Heating_timer_20_30
     - input_boolean.Heating_timer_20_45
     - input_boolean.Heating_timer_21_00
     - input_boolean.Heating_timer_21_15
     - input_boolean.Heating_timer_21_30
     - input_boolean.Heating_timer_21_45
     - input_boolean.Heating_timer_22_00
     - input_boolean.Heating_timer_22_15
     - input_boolean.Heating_timer_22_30
     - input_boolean.Heating_timer_22_45
     - input_boolean.Heating_timer_23_00
     - input_boolean.Heating_timer_23_15
     - input_boolean.Heating_timer_23_30
     - input_boolean.Heating_timer_23_45
  Heating_timer_group:
    name: Heating timer
    control: hidden
    entities:
    - group.Heating_timer_group_0
    - group.Heating_timer_group_1
    - group.Heating_timer_group_2
    - group.Heating_timer_group_3
    - group.Heating_timer_group_4
    - group.Heating_timer_group_5

my heating control is now configured like this:

Central heating:
    name: Central Heating
    control: hidden
    entities:
     - climate.heating
     - switch.heating
     - group.Heating_timer_group
     - input_number.set_temp_heater

but i’m not sure it all ties together yet. I’ve also just noticed that changing the input number slider, doesn’t change the heating set-point.

Wow, that’s a lot of timer’s!
I think you could replace them with a template and input number, but can’t help there, didn’t figure out templating yet.

I’ve got to admit, i cheated a little, i found this, and they have created a script to create the timer…

I then used an online python compiler to give me the output…

1 Like

if you change your input slider does it change the target temp of the heating? As my slider doesn’t seem to be.

Yes it does, or at least it did…
I just gave it a try after updating to 0.83.2

Sorted it, it was down to the automation. Just running through these now to try and get it setup for the other timers. I’m sure there is an easier way though. - maybe @vladosam might have a solution to this too?

Out of interest, is there anyway of adjusting the “input slider” for argument sake, if someone tells alexa to set the heating to say 23 the slider might still be set to 19.

@karldonteljames now i want to see screenshot of your frontend with all those timers. :slight_smile:
You want to schedule turning on heating?
You can use template trigger this is for my wake up alarm.

  trigger:
    platform: template
    value_template: "{{ states.sensor.time.state == states.sensor.alarm_time.state }}"

And this is alarm_time sensor formated to for example 08:00

- platform: template
  sensors:
    alarm_time:
      entity_id:
        - input_number.alarm_hour
        - input_number.alarm_minute
      friendly_name: "alarm"
      value_template: "{{ '%0.02d:%0.02d' | format(states('input_number.alarm_hour') | int, states('input_number.alarm_minute') | int) }}"

And two input_numbers for hour and minute.

alarm_hour:
  name: "Alarm hour"
  icon: mdi:timer
  initial: 7
  min: 0
  max: 23
  step: 1

alarm_minute:
  name: "Alarm minute"
  icon: mdi:timer
  initial: 0
  min: 0
  max: 59
  step: 1

Maybe Schedy is better option but i’m not using it so can’t help you with that.

Thanks @vladosam, I think that is what I had when I duplicated intel’s install, however like I said I want to be able to add a schedule. so on and off at specific times of the day. it doesn’t look like the above will do that will it?

No it won’t. You will need multuple triggers for on and off. I believe schedy is your best bet for scheduling.