BenPru / luxtronik

Luxtronik integration for Home Assistant
MIT License
80 stars 29 forks source link

Thermal desinfection hot water #4

Open BenPru opened 3 years ago

BenPru commented 3 years ago

Ideas for Thermal desinfection

tetsuo55 commented 3 years ago

I'm not sure if the 4 tasks cover my needs yet.

I have the water temperature set to 53 to minimize risk. Once a week the thermal disinfection runs, but it uses the electric element to go all the way from 53 to 60.

I want the heat pump itself to heat the water to as close to 60 as possible before the electric element is enabled

(Any temperature above 57 will cause an error and abort so we will have to inch closer and closer in several stages,doing this manually i can reach 58 with the remaining heat)

pluskal commented 2 years ago

@tetsuo55 have you looked into the installer menu in case these limits (to raise the error) are configurable?

tetsuo55 commented 2 years ago

@tetsuo55 have you looked into the installer menu in case these limits (to raise the error) are configurable?

I have and they are not, it's a built in safety measure that can't be changed in any menu, well you could lower it further but that's counter productive

pluskal commented 2 years ago

If you are interested. We can elaborate on that.

I have checked on my unit that the maximal temperature for hot water is 65C and I think that I am able to disable the 2nd source. The firmware language on my machine is in Czech and the translation is at least "fuzzy".

tetsuo55 commented 2 years ago

Yeah i have the same limit but the device sets 67c as temperature above a certain value and then it just throws the error

rhammen commented 1 year ago

Target TDI temperature seems to be stored in: Number: 47 Name: ID_Einst_LGST_akt Type: Unknown Value: 610

value = (set temperature) * 10. So this example, TDI temperature = 61.0

BenPru commented 1 year ago

See pre-release 2022.12.15

Added number parameters:

kbabioch commented 1 year ago

I'm wondering what the current status for this is?

It is my understanding that thermal desinfection cannot be done with the heat pump itself. Is this correct, or not?

At least, when I start thermal desinfection manually (by choosing the current day of the week in the menu on the controller) the electric heating element as secondary heat source kicks in.

That's fine, but I would like to have more control over it, e.g. I want to start it "on demand" and not by setting up days of the week, because you cannot do it twice a day and it will kick in at 0 o'clock on that particular day when you keep it enabled.

My use case is to heat up the water as much as possible when I have a lot of PV excess power (in the summer). Unfortunately I can only do this manually currently.

AJediIAm commented 1 year ago

I'm wondering what the current status for this is?

It is my understanding that thermal desinfection cannot be done with the heat pump itself. Is this correct, or not?

At least, when I start thermal desinfection manually (by choosing the current day of the week in the menu on the controller) the electric heating element as secondary heat source kicks in.

That's fine, but I would like to have more control over it, e.g. I want to start it "on demand" and not by setting up days of the week, because you cannot do it twice a day and it will kick in at 0 o'clock on that particular day when you keep it enabled.

My use case is to heat up the water as much as possible when I have a lot of PV excess power (in the summer). Unfortunately I can only do this manually currently.

I have been reading up on how thermal disinfection works on my Alpha Innotec heatpump. What I understand is that it is only needed if the water temperature is below 55C (sources vary between 50C and 60C). To properly disinfect the system, the water temperature needs to be above the thermal disinfection temperatuur for some time. Again, sources vary on the temperature and time. 55C for 2 hours seems to be on the safe side.

My heatpump was setup with a hot water temperature of 58C without thermal disinfection by my installer and I trust they meet all health and safety criteria.

This leads me to conclude that the second heat source is not needed for thermal disinfection. Temporarily changing the water temperature seems fine as long as the thermal disinfection temperatuur is reached for long enough. Since the heatpump heats the water up until the specified temperatuur after which it immediately begins to cool down, the temperature needs to be set a few degrees higher than the minimal thermal disinfection temperatuur to ensure the thermal disinfection temperatuur is exceeded for an hour or 2.

The sensor which tracks the last time the thermal disinfection temperatuur was reached is very useful. The script and further automations on when to start the thermal disinfection process are best left up to the user to automate. An example or 2 in the documentation might be nice, but I don't think the code should be part of the integration.

kbabioch commented 1 year ago

I have been reading up on how thermal disinfection works on my Alpha Innotec heatpump. What I understand is that it is only needed if the water temperature is below 55C (sources vary between 50C and 60C). To properly disinfect the system, the water temperature needs to be above the thermal disinfection temperatuur for some time. Again, sources vary on the temperature and time. 55C for 2 hours seems to be on the safe side.

Well, that is the theory of it, unrelated to Alpha Innotec. As you state there is some room for interpretation about the exact values and timing, but in general it sounds about right as far as I can tell.

My heatpump was setup with a hot water temperature of 58C without thermal disinfection by my installer and I trust they meet all health and safety criteria.

That sounds way to high for me personally - at least when you have energy saving in mind. Some people go down as low as 40° and only heat it up every now and then and/or have enough turn around in the tank.

But once again: This is the theory about "thermal desinfection", not the technical implementation within Luxtronik.

This leads me to conclude that the second heat source is not needed for thermal disinfection.

That's wrong :-). My use-case is to enable thermal desinfection whenever I have enough excess energy from my photovoltaic system, so that I can heat up the water - ideally without any mechanical stress to the compressor. For that I need to have control over the secondary heat source.

The sensor which tracks the last time the thermal disinfection temperatuur was reached is very useful. The script and further automations on when to start the thermal disinfection process are best left up to the user to automate. An example or 2 in the documentation might be nice, but I don't think the code should be part of the integration.

What sensors are there already? Is there any way to start thermal desinfection by usage of the secondary heat element?

AJediIAm commented 1 year ago

What I mean to say is that the a heatpump should be set up with the proper thermal disinfection configurations. If a user wants to further optimize the power use of the thermal disinfection (at one's own risk), the two sensors "thermal disinfection temperatuur" and "last thermal disinfection" are everything one needs to automate it.

It's not possible to change the build in thermal disinfection time using the second heat source. The existing controls need to be used to change the temperature.

kbabioch commented 1 year ago

It's not possible to change the build in thermal disinfection time using the second heat source. The existing controls need to be used to change the temperature.

What I'm essentially looking for is a way to use the secondary heat source to heat up my water without stressing the compressor. Personally, I don't care about the thermal desinfection aspect, but so far the only way to enable / trigger the secondary heat source was to enable the thermal desinfection for that particular day.

If there is a way to enable the secondary heat source any other way, I'm happy to learn about it, as the only thing that I want to do is to "store" some energy during the sunny hours of the day, to have it available in the evening without having the heat pump to kick in once the sun has set and everyone is taking a shower.

rhammen commented 1 year ago

My Alpha Innotect heatpump has several presets fro Domestic Water. These presets are also available in the Domestic Water thermostat in the Luxtronik integration: "None", "second_heatsource", "Boost" and "Away". What happens if you set the preset to "second_heatsource", and then increase the Domestic Water target temperature? I didn't try it, but doesn't that start (only) the electrical heating element, so you could achieve what you want?

gerw commented 1 year ago

The user manual explains it as follows:

Zus. Wärmeerz Programmierte Schaltzeiten regeln die Trinkwarmwasser­bereitung, ohne die Wärmepumpe zu auswählen.

This loosely translates to "Hot water is prepared during the allowed times without using the heat pump."

This sounds promising. Anybody with a sunny roof here?

augi commented 1 year ago

I'm going to have a sunny roof soon (waiting for optimizers now), so I was also thinking this way. So if there is too much energy in the summer, I could switch to the second source (as @rhammen mentioned), so save the HP compressor time and starts/stops. My second source input power is 6 kW, and I will have 10 kWp, so it should be possible.

I will measure first, and then I will decide.

augi commented 1 year ago

Speaking about the thermal disinfection feature, I believe you can simulate it easily by temporal switching the water preset from auto to second_source, and increasing the target temperature to 65 Celsius.

kbabioch commented 1 year ago

This loosely translates to "Hot water is prepared during the allowed times without using the heat pump."

This sounds promising. Anybody with a sunny roof here?

Well, I have a PV system, but not enough sun currently :-). But I'm willing to test it anyway.

I'm going to have a sunny roof soon (waiting for optimizers now), so I was also thinking this way. So if there is too much energy in the summer, I could switch to the second source (as @rhammen mentioned), so save the HP compressor time and starts/stops. My second source input power is 6 kW, and I will have 10 kWp, so it should be possible.

Not sure about your system / configuration, I can actually configure (by changing the wiring) wether my secondary heat source is using 3 kW, 6 kW or 9 kW. I've chosen 3 kW for now. The problem with using too much power is that most PV systems are not powerful enough to handle such a load and will fall back to use grid power.

So, there is a lot of considerations to do :-).

Speaking about the thermal disinfection feature, I believe you can simulate it easily by temporal switching the water preset from auto to second_source, and increasing the target temperature to 65 Celsius.

Also good idea. I really like that you're coming up with ideas here, hopefully I can test them this week. Just need some time at home for this :-).

iBLtz commented 1 year ago

hi everyone,

my PV system is running since 2 days and I'd like to heat the water with the sun as well :)

I have a NOVELAN LAD9 and there is a module for PV but I am not sure how is it working. I would prefer if I can automate everything with my smarthome instead of relying on this module.

What I already noticed: if you changed the "heating curve 1" to a higher value (I tried from 32 to 50 in my case) so the "return flow target" greatly increase, the heatpump kicks in. Changing back the value to 32 stops the heatpump almost instantaneously.

If we could find a similar trick to starts the Thermal disinfection that would be great.

iBLtz commented 1 year ago

I played with the Novelan mobile App a little bit today. I currently have Hot water plan from 6 to 23. The heatpump starts to heat the water at 22:30. at 23:00 the water reaches the target value : 47C.

Changing the water plan from 6:00 to 13:00 and 14:00 to 23:00 triggers the water heating. I also set the target value to 57 in order to have more heated water. Note: the secondary heater (6kW heater) is only running when doing TDI. my TDI ist set to 65C.

Tomorrow is a sunny day again, I will try to set the target value to 65 and see if the secondary heater kicks in. If so, I would disable the automatic TDI and only play with the water plan + temperature target to simulate a TDI when the sun is shinning.

A TDI costs me 5,5kWh each week (11kW for 30 mins)... that would be nice to do it with the sun !

iBLtz commented 1 year ago

As am I writing, the heatpump stopped because it was 14:00 and the water temperature was only 42 (target is 57). somehow the heatpump only heats the water when not in water plan. I changed the plan from 6:00 to 13:00 and 15:00 to 23:00 and the heatpumps resumed the heating.

rhammen commented 1 year ago

As am I writing, the heatpump stopped because it was 14:00 and the water temperature was only 42 (target is 57). somehow the heatpump only heats the water when not in water plan. I changed the plan from 6:00 to 13:00 and 15:00 to 23:00 and the heatpumps resumed the heating.

Yes, the times are times when the heatpump is blocked, so not allowed to make hot water. So after the change, you allow it to make hot water from 13-15 and from 23 to 06:00 the next day.

rhammen commented 1 year ago

So what is the next step with this open issue? What is expected of the luxtronik integration on this subject?

My interpretation of this 'issue'/request is:

I'm not sure this should be implemented in the integration, because each user may have slightly different requirements. E.g.

Start thermal desinfection only if the "sun shines" or the outdoor temperature is over x?

Users may have different integrations or (local) solutions to determine whether the sun shines. Determining whether the sun shines is not something a luxtronik integration should implement.

So I'd say: one of the people wanting this should try to make an HA automation that does what they want. Such an automation could then be turned into a 'blueprint', so it is also easy for other users to do the same thing without re-inventing the wheel.

It could be that in creating an automation, the user finds he needs an additional feature from the luxtronik integration. That can of course be discussed.

Thoughts?

kbabioch commented 1 year ago

AFAIK the main problem is that we are looking for a way on how to activate the heating rod (ZWE). It seems to not be controllable directly. Once we figure out how to do this, creating a blueprint, etc. is the easy part :-).

BenPru commented 1 year ago

Is it not possible to set the mode to "party" (e.g. boost in HA) and the target temp very high?

kbabioch commented 1 year ago

Is it not possible to set the mode to "party" (e.g. boost in HA) and the target temp very high?

At least my goal / expectation is that I can enable only the heating rod without the compressor running. This can be done without too much consideration about the life time of the components, since there is no mechanical moving parts.

augi commented 1 year ago

According to the manual of my heatpump, it should the "second source" mode. Screenshot_20231012_001435_Home Assistant.jpg

augi commented 1 year ago

Agree that the custom thermal desinfection shouldn't make implemented as part of this integration, just a recommendation could be ok.

This the automation I use successfully. Its aim is to store additional solar energy to the hot water. So it increases the target temperature to 58, and it returns it to 52 after one hour (it is suficient to finish the warming). As I want to limit heat pump starts, the trigger is when the state is changed to hot water (so the compressor would be started anyway).

alias: Increase hot water temperature when enough energy
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.luxtronik2_status
    to: hot water
    for:
      hours: 0
      minutes: 10
      seconds: 0
    attribute: status raw
condition:
  - condition: numeric_state
    entity_id: sensor.pv_power
    above: 3000
action:
  - device_id: 7957ce07ce81322fa2a1b9b9fb2d4389
    domain: number
    entity_id: number.luxtronik2_domestic_water_target_temperature
    type: set_value
    value: 58
  - delay:
      hours: 1
      minutes: 0
      seconds: 0
      milliseconds: 0
  - device_id: 7957ce07ce81322fa2a1b9b9fb2d4389
    domain: number
    entity_id: number.luxtronik2_domestic_water_target_temperature
    type: set_value
    value: 52
mode: single
BenPru commented 1 year ago

Agree that the custom thermal desinfection shouldn't make implemented as part of this integration, just a recommendation could be ok.

Btw: The sensor number.luxtronik*_dhw_thermal_desinfection_target have an attribute last_thermal_desinfection which calculates the date when sensor.luxtronik*_dhw_temperature was >= number.luxtronik*_dhw_thermal_desinfection_target. But I'm not sure that this is working in the latest version. I will check it.

gerw commented 1 year ago

Imho, there are four possibilities for a 'custom' TDI:

It is not clear to me what the party mode is doing. In the menu of Inverter I can also change the setting of Warmwasser from Normal to Luxus. The effect is also not clear to me.

Edit: