evcc icon indicating copy to clipboard operation
evcc copied to clipboard

Heating: Add support for Panasonic heatpumps via Heishamon

Open mirgonet opened this issue 6 months ago • 7 comments

Add support for Panasonic heatpumps via Heishamon

This PR makes it possible to configure Panasonic heatpumps with Heishamon PCB easily using evcc.yaml. It allows evcc to increase the requested temperature in heating zone 1 by a configurable offset, if surplus energy is available. To avoid unwanted switching of the heatpump during unstable weather, it is advisable to increase the default disable delay of 3min to around 60min:

chargers:
  - name: my_heatpump
    type: template
    template: heishamon
    heatpump_topic: panasonic_heat_pump
    boost_temperature_offset: 2
    dimm_temperature_offset: -2
loadpoints:
  - title: Heatpump
    charger: my_heatpump
    disable:
      delay: 60m

In addition to "boosting" the hp when there is surplus (SGReady mode 3) this PR also implements reducing the hp temperature (SGReady mode 1, dimming). As this feature is not yet implemented in evcc, the dimming can't be used at the moment. To comply with EnWG 14a it's also not enough to just reduce the temperature as this will not guarantee a power consumption of <4.2kW. We would have to disable the heater instead.

Todos / feature ideas:

  • [ ] More testing (my heatpump is currently switched off)
  • [ ] Power consumption from HP currently is measured via S0 (sum of channel 0+1 of Heishamon). Add configuration options to only use one channel or the internal measurement of the hp instead (this only measures power without the circulation pump, but better then nothing, if you don't have any external meters connected to Heishamon)
  • [ ] Add support for multiple heating zones
  • [ ] Add support heating a buffer tank
  • [ ] Add Heishamon API and make configurable (currently only MQTT is supported)

mirgonet avatar Jun 24 '25 14:06 mirgonet

This PR implements what was discussed here:

https://github.com/evcc-io/evcc/issues/19023

mirgonet avatar Jun 24 '25 14:06 mirgonet

Hi @mirgonet, the new yaml file seems to have formatting issues. Please run linting to fix this: https://github.com/evcc-io/evcc/blob/master/CONTRIBUTING.md#developing

naltatis avatar Jun 25 '25 07:06 naltatis

Add support heating a buffer tank

Wouldn‘t this be the preferred way of boosting?

andig avatar Jun 28 '25 05:06 andig

Add support heating a buffer tank

Wouldn‘t this be the preferred way of boosting?

Yes, probably. But a lot of people (including me) don't use buffer tanks at all or only very small ones. Extra energy still can be stored in the concrete of the floor heating or the house in general.

I assume, that the buffer tank would just be heating zone 2, so it could be implemented very easily and is on my todo list already. Maybe someone with a buffer tank setup can confirm this?

mirgonet avatar Jun 28 '25 09:06 mirgonet

Hi @mirgonet, the new yaml file seems to have formatting issues. Please run linting to fix this: https://github.com/evcc-io/evcc/blob/master/CONTRIBUTING.md#developing

Sorry for my oversight. I installed the recommended vscode plugins and prettier with format an save seems to have fixed the issue. However running the linter still gave me an error:

>> make lint
fatal: No names found, cannot describe anything.
golangci-lint run
ERRO Can't read config: can't unmarshal config by viper: 1 error(s) decoding:

* 'Version' expected a map, got 'string'
make: *** [Makefile:55: lint] Error 3`

mirgonet avatar Jun 28 '25 10:06 mirgonet

Set to draft again, will try to implement the buffer tank feature this weekend before it gets merged.

mirgonet avatar Jun 28 '25 10:06 mirgonet

Ok, DHW feature is implemented, but I can't test it with my setup. The heatpump seems to always report -128 °C as DHW temperature if no DHW tank is configured. But I tested zone 1 and zone 2 (as far as I could with the heatpump being disabled during summer). I will continue testing once heating season starts.

mirgonet avatar Jun 28 '25 14:06 mirgonet

@mirgonet would you still want to complete the PR?

andig avatar Jul 21 '25 16:07 andig

@mirgonet would you still want to complete the PR?

Yes, I will finish it once I return from vacation.

mirgonet avatar Jul 22 '25 17:07 mirgonet

I'm not sure we should add this. Having the temperature logic in evcc is error-prone.

andig avatar Aug 03 '25 12:08 andig

Seems this can‘t/won‘t be finished. Thanks for all your efforts!

andig avatar Aug 12 '25 20:08 andig