I run some more tests. My configurations for various scenarios maybe were not as intended by SAT, but it looks like SAT prioritises the precision of being close to the target temperature and prevent overshoot, which means that cycles are shorter than they can be. The screenshot below, between morning and about 4pm, runs shorter cycles but more precise target temperature. After 4pm, I prioritised longer cycles by increasing the coefficient to the maximum and lowering max CH temperature, and it seems to work. However, I needed to add an automation to stop the heat when target temperature was reached.
Here’s another graph from this morning, which prioritises longer cycles, and it’s working well. I can get longer cycles consistently.
Here, you can see, that when a longer cycle is prioritised, the control setpoint is ever so slightly lower than the boiler flow temperature.
Likewise, for the shorter cycle, the boiler flow temperature is ever so slightly below the control setpoint, and causes early termination of the cycle.
So my question is, would be possible (as an option in config) to prioritise longer cycles, and then as a secondary priority, prevent target temperature overshoot?
If I understand correctly, with longer cycles, I get better efficiency overall, because of improved condensation conditions, higher delta, etc.
Some extra screenshots, representing current state
hvac_modes:
- "off"
- heat
min_temp: 7
max_temp: 35
target_temp_step: 0.1
preset_modes:
- none
- activity
- away
- home
- sleep
- comfort
current_temperature: 18.4
temperature: 20
current_humidity: 74
hvac_action: heating
preset_mode: home
error: 1.58
integral: 0
derivative: 0
proportional: 112.622
history_size: 63
collected_errors: 1
integral_enabled: false
pre_custom_temperature: 19.7
pre_activity_temperature: null
derivative_enabled: true
derivative_raw: -0.0
current_kp: 71.28
current_ki: 0.000974
current_kd: 128736
rooms: {}
setpoint: 44
summer_simmer_index: 21.2
summer_simmer_perception: Slightly Cool
warming_up_data:
error: 1.58
boiler_temperature: 44.8
started: 1703580000
warming_up_derivative: 3.66
valves_open: true
heating_curve: 72
minimum_setpoint: 44
requested_setpoint: 184.6
adjusted_minimum_setpoint: 46
outside_temperature: 5.9
optimal_coefficient: 13.7
coefficient_derivative: -0.1
relative_modulation_value: 0
relative_modulation_state: warming_up
relative_modulation_enabled: false
pulse_width_modulation_enabled: true
pulse_width_modulation_state: "on"
pulse_width_modulation_duty_cycle:
- 450
- 449
friendly_name: OTGW2
supported_features: 17
Heating this morning