For those who are interested, I made my heating curve calculator public.
Here are a few facts:
Features
Dynamic Flow Temperature Calculation - Automatically calculates optimal flow temperature based on outdoor conditions
Two Calculation Modes:
- Classic mode (based on target room temperature)
- Room temperature feedback mode (uses actual room temperature)
Fully Adjustable Parameters - All parameters can be adjusted via Number and Select entities
Hysteresis Support - Prevents frequent temperature changes and reduces wear on heating system
Real-time Updates - Changes take effect immediately without restarting
Multi-language Support - English and German translations included
All heating parameters can be adjusted anytime via the created Number entities:
| Entity | Description | Range | Default | Unit |
|---|---|---|---|---|
| Curve Slope | Steepness of the heating curve | 0.1 - 5.0 | 1.4 | - |
| Curve Level | Parallel shift of the heating curve | -20.0 - 20.0 | 0.0 | °C |
| Target Room Temperature | Desired room temperature | 15.0 - 25.0 | 20.0 | °C |
| Min Flow Temperature | Minimum flow temperature | 15.0 - 50.0 | 20.0 | °C |
| Max Flow Temperature | Maximum flow temperature | 40.0 - 90.0 | 75.0 | °C |
| Hysteresis | Temperature change threshold | 0.0 - 5.0 | 1.0 | °C |
How It Works
Heating Curve Formula
Classic Mode:
T_flow = T_room_target + slope Ă— (T_room_target - T_outdoor) + level
With Room Temperature Mode:
T_flow = T_room_target + slope Ă— (T_room_actual - T_outdoor) + level
The result is clamped between min and max flow temperature.
Hysteresis
Hysteresis prevents the flow temperature from changing too frequently:
- The calculated flow temperature only changes when the difference exceeds the hysteresis value
- Example with 1.0°C hysteresis:
- Current: 45.0°C, Calculated: 45.5°C → No change (< 1.0°C difference)
- Current: 45.0°C, Calculated: 46.2°C → Change to 46.2°C (≥ 1.0°C difference)
Benefits:
- Reduces heating system on/off cycles
- Extends equipment lifetime
- More stable heating behavior
- Lower energy consumption
I would be thankful if someone would test it and give me feedback.