Heating: Add support for Panasonic heatpumps via Heishamon
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)
This PR implements what was discussed here:
https://github.com/evcc-io/evcc/issues/19023
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
Add support heating a buffer tank
Wouldn‘t this be the preferred way of boosting?
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?
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`
Set to draft again, will try to implement the buffer tank feature this weekend before it gets merged.
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 would you still want to complete the PR?
@mirgonet would you still want to complete the PR?
Yes, I will finish it once I return from vacation.
I'm not sure we should add this. Having the temperature logic in evcc is error-prone.
Seems this can‘t/won‘t be finished. Thanks for all your efforts!