Skip to content

feat: add CoolingCircuit support for heat pumps#706

Merged
CFenner merged 1 commit intoopenviess:masterfrom
lackas:feature/cooling-circuit
Feb 12, 2026
Merged

feat: add CoolingCircuit support for heat pumps#706
CFenner merged 1 commit intoopenviess:masterfrom
lackas:feature/cooling-circuit

Conversation

@lackas
Copy link
Contributor

@lackas lackas commented Feb 10, 2026

Add detection and accessors for cooling circuits on heat pumps with cooling capability.

Split out from #689 per review feedback to keep PRs focused.

Changes:

  • CoolingCircuit class with getType() and getReverseActive()
  • Auto-detection of available cooling circuits (0-3) via getAvailableCoolingCircuits()
  • coolingCircuits property on HeatPump
  • Tests for Vitocal 300G CU401B

Tested devices (feature present in test data):

  • Vitocal 300G CU401B
  • Vitocal 333G with Vitovent 300F
  • Vitocal 200S AWB-M-E-AC-201.D10

Deprecation check: Verified all cooling circuit features (heating.coolingCircuits.*.type, heating.coolingCircuits.*.reverse) against the API's deprecated field in recent device dumps — none are flagged as deprecated.

Addresses part of #363 (natural cooling).

Add detection and accessors for cooling circuits on heat pumps
with cooling capability (e.g., Vitocal 300G, 333G, 200S).

- CoolingCircuit class with getType() and getReverseActive()
- Auto-detection of available cooling circuits (0-3)
- Tests for Vitocal 300G CU401B
@CFenner
Copy link
Member

CFenner commented Feb 12, 2026

Out of curiosity, this is something different than pumping cold water through a usual heating circuit?

Copy link
Member

@CFenner CFenner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@CFenner CFenner merged commit 791ffe9 into openviess:master Feb 12, 2026
8 checks passed
@CFenner CFenner changed the title Add CoolingCircuit support for heat pumps feat: Add CoolingCircuit support for heat pumps Feb 12, 2026
@CFenner CFenner changed the title feat: Add CoolingCircuit support for heat pumps feat: add CoolingCircuit support for heat pumps Feb 12, 2026
@lackas
Copy link
Contributor Author

lackas commented Feb 12, 2026

Good question! There are two types of cooling in heat pumps:

Passive cooling (Viessmann calls it "natural cooling") — only available with ground-source heat pumps. The ground water (around 10-15°C) is pumped through the heat exchanger to cool the buffer, which then cools the heating circuits. The compressor stays off, so it only uses energy for the pumps.

Active cooling — the compressor runs in reverse. Any heat pump that supports reverse operation can do this, but it uses significantly more energy since the compressor is running.

In both cases you have to be careful not to cool floors below the dew point (condensation). The coolingCircuit features in the API track the type and whether reverse (active) cooling is currently active.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments