Heat Pump Solar Control¶
Use solar surplus to run a heat pump for space heating, cooling, or domestic hot water, with temperature setpoint modulation and compressor-safe anti-cycling.
The Problem¶
Heat pumps are significant energy consumers. Running them on grid power during peak hours is expensive. But heat pumps also cannot be switched on and off rapidly -- compressor-based systems need minimum run times to avoid damage and efficiency loss.
The Solution¶
Hanergy configures the heat pump as a dynamic load with a temperature setpoint as the adjustable parameter. The engine raises or lowers the setpoint based on available surplus. Anti-cycling guards (min_on_time_sec and min_off_time_sec in engine settings) protect the compressor from rapid switching.
Device Configuration¶
Add the heat pump as a dynamic load in Settings > Devices.
| Field | Value | Notes |
|---|---|---|
| Name | Heat Pump | Display name |
| Type | Dynamic | Adjustable setpoint |
| Switch entity | switch.heat_pump | On/off control |
| Parameter entity | number.heat_pump_setpoint | Temperature setpoint |
| Parameter min | 18 | Minimum setpoint (heating mode) |
| Parameter max | 25 | Maximum setpoint |
| Parameter unit | C | Degrees Celsius |
| Watts per unit | 200 | Approximate watts per degree of setpoint |
| Rated power | 2000 | Maximum power draw |
| Minimum power | 900 | Draw at minimum setpoint |
| Ramp time | 60 | Seconds for compressor startup |
| Feedback entity | sensor.indoor_temperature | Current room temperature |
Ramp time is critical
Compressor-based heat pumps need time to build refrigerant pressure before they operate efficiently. A ramp_time_sec of 30-120 seconds prevents Hanergy from adjusting the setpoint too soon after startup. For heat pump water heaters, 60 seconds is a reasonable starting point.
Priority Configuration¶
| Field | Value | Notes |
|---|---|---|
| Load | Heat Pump | Select the device |
| Minimum surplus | 2000 | Watts required before activation |
| Threshold | 22 | Target temperature (feedback entity) |
| Enabled | Yes |
When the indoor temperature sensor reads below 22 degrees, and surplus exceeds 2000 W, Hanergy activates the heat pump and adjusts the setpoint to consume available surplus. Once the room reaches 22 degrees, the priority is satisfied and surplus flows to lower-priority loads.
HVAC Mode Support¶
If your heat pump integration exposes separate heating and cooling modes, configure the setpoint range to match the active mode:
Heating mode:
param_min: 18 (minimum comfortable temperature)param_max: 25 (upper limit)- Feedback entity threshold: target room temperature
Cooling mode:
param_min: 20 (lowest cooling setpoint)param_max: 28 (threshold above which cooling is unnecessary)- Feedback entity: use the same room temperature sensor
Tip
For systems that switch between heating and cooling seasonally, create two priority entries for the same device -- one for heating, one for cooling -- and enable only the relevant entry for the current season.
Anti-Cycling Protection¶
Heat pump compressors are sensitive to rapid on/off cycling. Hanergy enforces two guards from the engine settings:
- Minimum on time (
min_on_time_sec): once the heat pump is activated, it stays on for at least this duration, even if surplus drops. Default: 120 seconds. For heat pumps, consider increasing to 300-600 seconds. - Minimum off time (
min_off_time_sec): after the heat pump is turned off, it cannot be reactivated for at least this duration. Default: 180 seconds. For heat pumps, consider increasing to 300-600 seconds.
These values are configured globally in Settings > Engine Settings. If the heat pump is the only load that needs long guard times, place it at a high priority position so it is shed last when surplus drops.
Tips¶
-
Start with conservative surplus thresholds. A
min_surplus_wof 2000 W ensures the heat pump only activates when there is substantial surplus, reducing the chance of immediate shedding. -
Calibrate watts_per_unit carefully. Heat pumps have variable power draw depending on outdoor temperature and operating conditions. The
watts_per_unitvalue is an approximation -- Hanergy tracks actual surplus through the grid sensor, so a rough estimate is acceptable. -
Domestic hot water. If your heat pump heats a hot water tank, use the tank temperature sensor as the feedback entity and set the threshold to your desired tank temperature (e.g., 55 degrees). This is more predictable than space heating because tank temperature changes linearly with energy input.