Hello All,
I advanced in using Schedy for my heating schedules. The unsolved problem still is that the thermostats do not react when a window is opened. The used thermostats are Zigbee Tuya thermostats.
After browsing the web I found a configuration that promised being the solution but it is not:
actor_type: thermostat
actor_templates:
default:
off_temp: 5
supports_hvac_modes: false
The log still states the following:
2022-03-01 20:15:10.616086 INFO schedy_heating: --> Attribute 'state' of 'binary_sensor.door_window_sensor_wc' changed from 'off' to 'on', reevaluating <Room R:wc>.
2022-03-01 20:15:17.592606 INFO schedy_heating: --> Attribute 'state' of 'binary_sensor.door_window_sensor_wc' changed from 'on' to 'off', reevaluating <Room R:wc>.
Can someone suggest anything to fix this?
Here is my schedy_heating.yaml
schedy_heating:
module: hass_apps_loader
class: SchedyApp
actor_type: thermostat
actor_templates:
default:
off_temp: 5
supports_hvac_modes: false
expression_environment: |
def heating_mode():
return state("input_select.heating_mode")
schedule_snippets:
ss_aus:
- v: 5
ss_durchgehend_wohnen:
- v: 21
ss_durchgehend_sonstige:
- v: 19
ss_durchgehend_kids:
- v: 20
ss_abwesend:
- v: 18
start: "10:00"
end: "20:00"
ss_kz:
- v: 20
rules:
- weekdays: 1-5
rules:
- { start: "07:30", end: "17:59" }
- weekdays: 6-7
rules:
- { start: "08:00", end: "17:59" }
- v: 18
rules:
- weekdays: 1-5
rules:
- { start: "18:00", end: "07:29" }
- weekdays: 6-7
rules:
- { start: "18:00", end: "07:59" }
ss_sz:
- v: 20
rules:
- weekdays: 1-5
rules:
- { start: "07:30", end: "17:59" }
- weekdays: 6-7
rules:
- { start: "08:00", end: "17:59" }
- v: 18
rules:
- weekdays: 1-5
rules:
- { start: "18:00", end: "07:29" }
- weekdays: 6-7
rules:
- { start: "18:00", end: "07:59" }
ss_bz:
- v: 20
rules:
- weekdays: 1-5
rules:
- { start: "07:00", end: "16:59" }
- weekdays: 6-7
rules:
- { start: "08:00", end: "17:59" }
- v: 18
rules:
- weekdays: 1-5
rules:
- { start: "17:00", end: "06:59" }
- weekdays: 6-7
rules:
- { start: "18:00", end: "07:59" }
ss_wz:
- v: 21
rules:
- weekdays: 1-5
rules:
- { start: "05:30", end: "21:59" }
- weekdays: 6-7
rules:
- { start: "05:30", end: "22:59" }
- v: 18
rules:
- weekdays: 1-5
rules:
- { start: "22:00", end: "05:29" }
- weekdays: 6-7
rules:
- { start: "23:00", end: "05:29" }
ss_wc:
- v: 19
rules:
- weekdays: 1-5
rules:
- { start: "07:30", end: "17:59" }
- weekdays: 6-7
rules:
- { start: "08:00", end: "17:59" }
- v: 18
rules:
- weekdays: 1-5
rules:
- { start: "18:00", end: "07:29" }
- weekdays: 6-7
rules:
- { start: "18:00", end: "07:59" }
ss_ki:
- v: 20
rules:
- weekdays: 1-5
rules:
- { start: "08:00", end: "17:59" }
- weekdays: 6-7
rules:
- { start: "09:00", end: "17:59" }
- v: 18
rules:
- weekdays: 1-5
rules:
- { start: "18:00", end: "07:59" }
- weekdays: 6-7
rules:
- { start: "18:00", end: "08:59" }
watched_entities:
- input_select.heating_mode
schedule_prepend:
- x: "Mark(OFF, Mark.OVERLAY) if not (is_empty(filter_entities('sensor', state='open', window_room=room_name))) else Next()"
- x: "Mark(OFF, Mark.OVERLAY) if not (is_empty(filter_entities('sensor', state='tilted', window_room=room_name))) else Next()"
- x: "Mark(OFF, Mark.OVERLAY) if not (is_empty(filter_entities('binary_sensor', state='on', window_room=room_name))) else Next()"
- x: "IncludeSchedule(schedule_snippets['ss_abwesend']) if heating_mode() == 'abwesend/zeitgesteuert' else Next()"
- x: "IncludeSchedule(schedule_snippets['ss_aus']) if heating_mode() == 'aus' else Next()"
schedule_append:
- value: "17"
rooms:
wc:
allow_manual_changes: false
actors:
climate.zb_thermostat_eg_wc:
watched_entities:
- binary_sensor.door_window_sensor_wc
schedule:
- x: "IncludeSchedule(schedule_snippets['ss_wc']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
- x: "IncludeSchedule(schedule_snippets['ss_durchgehend_sonstige']) if heating_mode() == 'durchgehend aktiv' else Next()"
sz:
allow_manual_changes: false
actors:
climate.zb_thermostat_eg_kz2:
watched_entities:
- binary_sensor.door_window_sensor_kz_21
- binary_sensor.door_window_sensor_kz_22
schedule:
- x: "IncludeSchedule(schedule_snippets['ss_sz']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
- x: "IncludeSchedule(schedule_snippets['ss_durchgehend_sonstige']) if heating_mode() == 'durchgehend aktiv' else Next()"
kz1:
allow_manual_changes: false
actors:
climate.zb_thermostat_eg_kz1_1:
climate.zb_thermostat_eg_kz1_2:
watched_entities:
- binary_sensor.door_window_sensor_kz_11
- binary_sensor.door_window_sensor_kz_12
schedule:
- x: "IncludeSchedule(schedule_snippets['ss_kz']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
- x: "IncludeSchedule(schedule_snippets['ss_durchgehend_kids']) if heating_mode() == 'durchgehend aktiv' else Next()"
bz:
allow_manual_changes: true
rescheduling_delay: 60
actors:
climate.zb_thermostat_eg_bz:
watched_entities:
- binary_sensor.door_window_sensor_bz
schedule:
- x: "IncludeSchedule(schedule_snippets['ss_bz']) if heating_mode() == 'anwesend/zeitgesteuert' else Next()"
- x: "IncludeSchedule(schedule_snippets['ss_durchgehend_sonstige']) if heating_mode() == 'durchgehend aktiv' else Next()"
Thanks in Advance
Florian