Skip to content

Conversation

@lackas
Copy link

@lackas lackas commented Jan 22, 2026

Summary

Add comprehensive support for heat pump features found on Vitocal 300-G (CU401B):

HeatPump class:

  • COP methods: getCoefficientOfPerformanceHeating/DHW/Total/Cooling/Green
  • Compressor: getPower, getPowerUnit, getModulation, getModulationUnit
  • Pressure sensors: getHotGasPressure, getSuctionGasPressure (with units)
  • Temperature sensors: getHotGasTemperature, getLiquidGasTemperature, getSuctionGasTemperature
  • Runtime: getMainECURuntime, getHeatingRodRuntimeLevelOne/Two
  • Configuration: buffer temp max, damping factor, heater approvals
  • New CoolingCircuit class with getType, getReverseActive

HeatingDevice class:

  • Primary circuit pump: getPrimaryCircuitPumpRotation (with unit)
  • Circuit temperature: getTemperature
  • Fallback paths for hotWaterStorage vs dhwCylinder naming variants

Compressor class:

  • Load class methods now support fallback to statistics.load path

Closes #690

Test plan

  • Added test file tests/test_Vitocal300G_CU401B.py
  • Added response data tests/response/Vitocal300G_CU401B.json
  • All tests pass locally

…uits for Vitocal 300-G

Add comprehensive support for heat pump features found on Vitocal 300-G (CU401B):

HeatPump class:
- COP methods: getCoefficientOfPerformanceHeating/DHW/Total/Cooling/Green
- Compressor: getPower, getPowerUnit, getModulation, getModulationUnit
- Pressure sensors: getHotGasPressure, getSuctionGasPressure (with units)
- Temperature sensors: getHotGasTemperature, getLiquidGasTemperature, getSuctionGasTemperature
- Runtime: getMainECURuntime, getHeatingRodRuntimeLevelOne/Two
- Configuration: buffer temp max, damping factor, heater approvals
- New CoolingCircuit class with getType, getReverseActive

HeatingDevice class:
- Primary circuit pump: getPrimaryCircuitPumpRotation (with unit)
- Circuit temperature: getTemperature
- Fallback paths for hotWaterStorage vs dhwCylinder naming variants

Compressor class:
- Load class methods now support fallback to statistics.load path

Includes test file and response data for Vitocal300G_CU401B device.
@lackas
Copy link
Author

lackas commented Jan 22, 2026

Related PRs for coordinated review:

cc @CFenner

@lackas
Copy link
Author

lackas commented Jan 22, 2026

Thanks for the heads up! My device (Vitocal 300-G / CU401B) exposes both naming conventions in the API response with the same values:

heating.dhw.sensors.temperature.dhwCylinder      -> 52.4°C
heating.dhw.sensors.temperature.hotWaterStorage  -> 52.4°C (has "deprecated" field)

I added the fallback to handle both paths, but didn't notice the hotWaterStorage variant was marked as deprecated in the API itself.

Removed the fallback and reverted to using only dhwCylinder in 5f62092.

Revert DHW temperature methods to use only the current dhwCylinder
API paths. The hotWaterStorage paths were deprecated in 2024 and
should not be reintroduced.
@dagobert00
Copy link

@lackas : will this work for Viessmann 200-G heatpump as well?

@lackas
Copy link
Author

lackas commented Jan 23, 2026

@dagobert00 There's no Vitocal 200-G test data in the repo yet, so we can't say for certain. The closest comparison is the Vitocal 300-G — also a ground-source heat pump — and its older dump from 2021 didn't expose any of these features either. Viessmann has significantly expanded their API data since the EU Data Act (Verordnung (EU) 2023/2854) came into effect, which is why the fresh 300-G dump now has COP, refrigerant sensors, cooling circuits, compressor power, etc.

Since both the 200-G and 300-G are ground-source heat pumps, there's a good chance your device now exposes some or all of these features too. Could you grab a fresh API dump and share it? That way we can verify what your 200-G supports and add test coverage for it. See the wiki for instructions.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Vitocal 300-G (CU401B) features

2 participants