openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.88k stars 3.58k forks source link

[luxtronikheatpump] temperatureHotWaterTarget not working as expected #15758

Closed ccbur closed 9 months ago

ccbur commented 12 months ago

In OH 4.2 I'm controlling an Alpha Innotec LWD 70A heat pump with the luxtronikheatpump binding and the channel temperatureHotWaterTarget is not working as expected. The value set there is not reflected in the heatpump at all. Everything worked in OH 2.5 with the novelan binding and the channel _temperature_servicewaterreference, though.

I looked through the code in HeatpumpChannel.java and found this:

/**
     * Hot water target temperature
     * (original: Warmwasser Soll-Temperatur)
     */
    // Not needed as it duplicates writable param (2)
    // CHANNEL_EINST_BWS_AKT(18, "temperatureHotWaterTarget", NumberItem.class, SIUnits.CELSIUS, false, null),

Okay, so I looked for a channel with the channelId 2 and found this:

 /**
 * Coverage Heat pump (Hot Water)
 * (original: Deckung Wärmepumpe)
 */
CHANNEL_EINST_BWS_AKT(2, "temperatureHotWaterCoverage", NumberItem.class, SIUnits.CELSIUS, true,
        HeatpumpVisibility.BRAUWASSER),

EINST_BWS seems to be German and means setting (EINST) hot water target (BWS / BrauchWasserSoll). So I tried the channel temperatureHotWaterCoverage instead and it seems to be able to set the target temperature for hot water in my heat pump. But I have no idea what "coverage" (German Abdeckung!?) could mean in this context. This channel is not documented in the README.md at all. Is this just a documentation issue or are both channels messed up somehow?

lsiepel commented 9 months ago

Maybe @sgiehl as code owner can comment?

sgiehl commented 9 months ago

The heatpump provides two types of parameters. writable and readonly values. The channel with id 18 would be read only. And as far as I know it would only provide the same value as the one with (writable) id 2. This assumption could be wrong, but in any case, the channel with id 18 would not allow to set any value.

There should also be a channel with the name temperatureHotWaterTarget, wich should allow setting a value for the hot water target temperature. If I remember correctly someone also reported in the forum that only setting temperatureHotWaterCoverage corretly worked and updated the other one. What the "coverage" exactly means for the other channel is unfortunatelly out of my knowlege. Maybe there are heatpumps with additional heat sources like solar thermal energy, where the heatpump only covers the hot water temperature up to a certain limit maybe :shrug:

Anyway, not sure why we didn't add the channel to the readme as well. Would make sense to add it I guess. But I unfortunatelly can't give any advice when which channel would need to be used.

Note: For my heatpump (Novelan LD7) the channel temperatureHotWaterTarget works correctly.