-
Notifications
You must be signed in to change notification settings - Fork 23
Description
Love Schedy! I have my baseboard heater schedules setup with presence sensing as well as outdoor temperature checks (they will turn off if the temp is above 10 C). I've also implemented rescheduling delays that work amazingly.
There is one thing that I can't figure out and maybe it's impossible: if the temperature is above 10 (meaning that the heaters are OFF), if I turn them back on for specific cases, I'd like for them to turn back to their previous state (OFF) after the set time, but that doesn't happen. I can probably circumvent this issue by dropping the temperature instead of turning them off, but I prefer them to be off.
How can I achieve this? Code below:
schedy_heating:
module: hass_apps_loader
class: SchedyApp
actor_type: thermostat
watched_entities:
- group.family
- input_boolean.guest_mode
- sensor.openweatherdetailed_temperature
- light.basement_sitting_area_main_lights
- light.basement_work_area_main_lights
- media_player.vizio_tv_3522
- switch.master_bathroom_fan
- switch.second_bathroom_fan
schedule_append:
- v: "19"
rooms:
basement:
actors:
climate.basement:
schedule:
- v: 17
rules:
- rules:
- x: "Next() if (state('group.family') == 'home' or state('input_boolean.guest_mode') == 'on') and (state('light.basement_sitting_area_main_lights') == 'on' or state('light.basement_work_area_main_lights') == 'on' or state('media_player.vizio_tv_3522') == 'ok') and float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- v: 21
- rules:
- x: "Next() if float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- v: 17
- rules:
- v: 'OFF'
rescheduling_delay: 15
entrance:
actors:
climate.entrance_room:
schedule:
- v: 19
rules:
- rules:
- x: "Next() if (state('group.family') == 'home' or state('input_boolean.guest_mode') == 'on') and float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- { v: 23, start: "07:00", end: "22:00", weekdays: 1-7 }
- rules:
- x: "Next() if float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- v: 19
- rules:
- v: 'OFF'
powder room:
actors:
climate.powder_room:
schedule:
- v: 19
rules:
- rules:
- x: "Next() if (state('group.family') == 'home' or state('input_boolean.guest_mode') == 'on') and float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- { v: 20.5, start: "07:00", end: "22:00", weekdays: 1-7 }
- rules:
- x: "Next() if float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- v: 19
- rules:
- v: 'OFF'
rescheduling_delay: 10
second bathroom:
actors:
climate.second_bathroom:
schedule:
- v: 19
rules:
- rules:
- x: "Next() if state('switch.second_bathroom_fan') == 'on' and float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- v: 22
- rules:
- x: "Next() if (state('group.family') == 'home' or state('input_boolean.guest_mode') == 'on') and float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- { v: 21, start: "07:00", end: "08:00", weekdays: 1-7 }
- { v: 22, start: "19:00", end: "20:00", weekdays: 1-7 }
- rules:
- x: "Next() if float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- v: 19
- rules:
- v: 'OFF'
rescheduling_delay: 30
master bathroom:
actors:
climate.master_bathroom:
schedule:
- v: 19
rules:
- rules:
- x: "Next() if state('switch.master_bathroom_fan') == 'on' and float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- v: 22
- rules:
- x: "Next() if (state('group.family') == 'home' or state('input_boolean.guest_mode') == 'on') and float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- { v: 22, start: "06:30", end: "08:00", weekdays: 1-7 }
- { v: 22, start: "20:00", end: "22:00", weekdays: 1-7 }
- rules:
- x: "Next() if float(state('sensor.openweatherdetailed_temperature')) < 10 else Break()"
- v: 19
- rules:
- v: 'OFF'
rescheduling_delay: 15