| sensoroutside | sensor.buitentemperatuur_leidend | Primary: sensor.huis_outdoor_temperature. Falls back to weather.buienradar temperature attribute. Returns −99 if both unavailable. |
| sensorindoor | sensor.lucht_water_h_p_indoor_temperature | Indoor temperature as reported directly by the heat pump unit. |
| inputroom_sp | input_number.hp_room_setpoint | User-defined room target. Range 5–30°C, step 0.5°C. Set via thermostat card or directly in HA. |
| calctarget_curve | sensor.hp_target_water_curve | Linear heating curve: anchor points (−10°C → 60°C) and (20°C → 30°C). Formula: y = 60 + ((30−60)/(20−(−10))) × (outside − (−10)). Clamped 30–60°C. |
| calcdelta_raw | room_sp − indoor | Raw difference between room setpoint and actual indoor temperature. |
| calcdelta_room | deadband applied to delta_raw | If −1 < delta_raw < 1 → delta = 0 (ignore small deviations). Otherwise delta = delta_raw rounded to 0.1°C. |
| calctarget_heat | target_curve + delta_room | Water setpoint when room is too cold. Clamped 30–60°C. |
| calccomfort_base | target_curve × 0.8 | Reduced curve used when room is already at setpoint, to keep the pump running at lower output. |
| calctarget_comfort | comfort_base + delta_room | Water setpoint in comfort mode. Clamped 30–60°C. |
| calcHYST | 0.3°C (fixed) | Hysteresis band. Heat mode only activates when indoor ≤ room_sp − 0.3°C, preventing rapid on/off cycling. |