You did not mentioned how the Schedy is involved in “my heating software tells termostat”, it looks like direct communication
But anyway I am using delays in HASS itself for windows opening. I created new artificial sensor with the delays and this artifical one is watched by Schedy instead of the primary one.
Like this:
platform: template
sensors:
bedroom_window_delayed:
friendly_name: "Delayed bedroom window"
#window_room: bedroom
delay_on:
seconds: 20
delay_off:
seconds: 20
value_template: >-
{{ is_state('binary_sensor.0x00158d0001f406fb_contact', 'on') }}