Daikin Onecta (Cloud) Binding [4.0.0.0;5.0.0.0)

Did you download tag 11 today again ?
and could you turn it On and Off using the binding

1 Like

Sorry, forgot to copy new tag 11 to addons folder. Here we go.

I replaced the token with “xxxxxx-xxxxxx-xxxxxx” for privacy.

2024-03-30 21:59:40.560 [DEBUG] [ecta.internal.api.OnectaSignInClient] - setRefreshToken: xxxxxx-xxxxxx-xxxxxx, climateControl, HEAT, -2.0
2024-03-30 21:59:40.977 [DEBUG] [ecta.internal.api.OnectaSignInClient] - Request : https://api.prod.unicloud.edc.dknadmin.be/v1/gateway-devices/xxxxxx-xxxxxx-xxxxxx/management-points/climateControl/characteristics/temperatureControl
2024-03-30 21:59:40.981 [DEBUG] [ecta.internal.api.OnectaSignInClient] - Body    : {"value":-2.0,"path":"/operationModes/heating/setpoints/leavingWaterOffset"}
2024-03-30 21:59:40.984 [DEBUG] [ecta.internal.api.OnectaSignInClient] - Resonse : {"code":"MANAGEMENT_POINT_MISSING","message":"Could not find management point"}

And yes, on/off is working, as well as DHW temperature setpoint.

1 Like

Thanks, do you have also this logging when you turn it on or off

And the typos are changed

1 Like

Sure, here it is, but different.

2024-03-30 23:36:12.340 [DEBUG] [ecta.internal.api.OnectaSignInClient] - setPowerOnOff : xxxxxx-xxxxxx-xxxxxx, climateControlMainZone, OFF
2024-03-30 23:36:12.638 [DEBUG] [ecta.internal.api.OnectaSignInClient] - Request : https://api.prod.unicloud.edc.dknadmin.be/v1/gateway-devices/xxxxxx-xxxxxx-xxxxxx/management-points/climateControlMainZone/characteristics/onOffMode
2024-03-30 23:36:12.639 [DEBUG] [ecta.internal.api.OnectaSignInClient] - Body    : {"value":"off"}
2024-03-30 23:36:12.639 [DEBUG] [ecta.internal.api.OnectaSignInClient] - Resonse : 

One difference I see is that in this case the managament-point “climateControlMainZone” is used, while in the request for leavingWaterOffset the management-point “climateControl” is used. Be aware that there is also a “climateControlSecondaryZone” in some case.

1 Like

Thanks,
This was the result I actually expected. I had already seen this, but I wanted confirmation that my suspicion was correct.
I saw this problem yesterday and I remembered that I worked on this before but couldn’t finish it at the time (and forgot). :slight_smile:

When creating a command to Oncta I use ‘managementPointType’. This works well for many devices because ‘managementPointType’ and ‘embeddedId’ are the same.

However, in your case these values are different. and the update does not work properly.

This is not very difficult to solve. but it does take some refactoring

If you find more typos please let me know, my brain does not work the best with language and spelling :slight_smile:

Greetings Alexander

1 Like

Hi @Alexander_Drent ,

as mentioned before it depends on the indoor unit configuration. Examples given below can be transfered (good english?) from heating to cooling and to auto.
So I can configure my indoor unit in two ways: Weather depending heating curve (wd) or fixed setpoint (sp).
Raw dumps follow by pn.

overview of the modes

weather dependend

The indoor unit controls the setpoint temperature based on the outsides temperature. As user I can alter this value by the offset between -10° and +10°.

For most people this is the default mode I think.

images wd

OneCTA:

IndoorUnit:

fixed setpoint

The user controls the leaving water temperature directly.

images for sp

OneCTA:

Indoor Unit:

Best greetings :sun_with_face:

Pffffff :slight_smile:

Thanks for the info but I have to find this back in the data somehow.

Can you send me two datadumps ?

  • one when system is set to weatherdependent
  • and one when the system is set to fixed.

Gr Alexander

1 Like

Already out via pm :wink:

As @dandjo already posted the debug logs. Let me know if you need something else :v:

@Felox and @dandjo

YES, found it. This is exactly what I was hoping for.
If the setpoint mode changes, the data under temperature control…setpoints also changes. And this is good news. this way the two new items will work fine.

If mode Fixed is set, item leavingWaterTemperature will work. If mode WeatherDependent is set, item leavingWaterOffset will work.

Greetings from the Netherlands :slight_smile:

1 Like

@Felox and @dandjo

Try Download Tag 11-Test-1. Major change in commands to Onecta. The two fields offset and temperature are available depending on the mode of the system (Fixed, Weather)
Also updating the fields should be possible.

Gr Alexander

1 Like

Hey Alex, after some testing here is my result for Tag 11-Test-1

When I switch my unit to fixed, the offset becomes UNDEF and the temperature becomes a value.
When I switch my unit to weatherdependend the offset becomes a value and the temperature becomes UNDEF.
This is the expected behaviour right?

Changing the offset works :tada:

At first sight, I thought that the change of the fixed temperature does not work. But then I noticed, that the command for the offset is HEAT and for the fixed mode it is COLD. Actually it works but changes the cooling temperature instead of the heating. I think there should be different channels for cooling and heating to provide temperatures and offsets for both modes.

Debug log of offset change
18:36:26.673 [DEBUG] [necta.internal.api.OnectaSignInClient] - setRefreshToken: <CENSORED>, climateControlMainZone, HEAT, 8.0
18:36:26.974 [DEBUG] [necta.internal.api.OnectaSignInClient] - Request : https://api.prod.unicloud.edc.dknadmin.be/v1/gateway-devices/<CENSORED>/management-points/climateControlMainZone/characteristics/temperatureControl
18:36:26.977 [DEBUG] [necta.internal.api.OnectaSignInClient] - Body    : {"value":8.0,"path":"/operationModes/heating/setpoints/leavingWaterOffset"}
18:36:26.979 [DEBUG] [necta.internal.api.OnectaSignInClient] - Resonse :
Debug log of temperature change
19:03:08.740 [DEBUG] [necta.internal.api.OnectaSignInClient] - setRefreshToken: <CENSORED>, climateControlMainZone, COLD, 24.0
19:03:09.441 [DEBUG] [necta.internal.api.OnectaSignInClient] - Request : https://api.prod.unicloud.edc.dknadmin.be/v1/gateway-devices/<CENSORED>/management-points/climateControlMainZone/characteristics/temperatureControl
19:03:09.443 [DEBUG] [necta.internal.api.OnectaSignInClient] - Body    : {"value":24.0,"path":"/operationModes/cooling/setpoints/leavingWaterTemperature"}
19:03:09.445 [DEBUG] [necta.internal.api.OnectaSignInClient] - Resonse :

A sidenote to others for testing: switching the indoor unit’s mode between fixed, and weather dependend heating + fixed cooling requires no restart of the unit. Switching from/to weather dependend (cooling+heating) instead does require a reboot.

Greethings Felox

@Felox

Yes this is expected behaviour, the binding can not show data if its not there. When you switch between the modes the data stucture returned from Onecta is also changing.

This was my mistake. There was still a hardcoded ‘COLD’ and ‘HEAT’ in my code. Now the items should respond dynamically to the system’s mode. HEAT parameters are updated when the system mode is set to Heading. And the COLD parameters are updated when the system mode is set to Cooling.

Try Download Tag 11-Test-2

Greetings Alexander

1 Like

Testing Tag 11-Test-2. On/Off works, DHW Setpoint works, LW Offset works. Great, thanks @Alexander_Drent. :slight_smile:

Found one bug. When creating an item with default config from your binding, the formatting error occurs without setting a state description.

2024-04-01 21:30:38.949 [WARN ] [ui.internal.items.ItemUIRegistryImpl] - Exception while formatting value '-1 °C' of item daikin_altherma_3_leaving_water_offset with format '%.1d %unit%': 1

Hi @dandjo ,
I can not reproduce this bug.
Did you use a sitemap or text based configurations?

Maybe this helps.

My log is inconspicuous
10:27:54.015 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'HeizungOffset' received command 9 °C
10:27:54.019 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'HeizungOffset' predicted to become 9 °C
10:27:54.022 [INFO ] [openhab.event.ItemStateChangedEvent  ] - Item 'HeizungOffset' changed from 10 °C to 9 °C

@Felox yes, it seems to be triggered from the Sitemap. When I configure a state description (even %s is sufficient) the error is gone. It seems that there is a default misconfiguration in the binding. Is %.1d a valid pattern?

@dandjo and @Felox,

This is working overhere

sitemap test label="My home automations" {
    Frame label="test" {
        Setpoint item=Daikin_Onecta_Unit_ClimateControl_........_SetPoint_Leaving_water_offset label="SetPoint Leaving water offset [%.0f °C]" minValue=-10
    }
}

Did you remove the Thing and recreated it ?

Hi @Alexander_Drent,

my sitemap looks like follows.

Frame {
    Selection icon=shield item=espaltherma_smart_grid label="Smart Grid"
    Switch icon=switch item=daikin_altherma_3_power label="Climate Control"
    Switch icon=switch item=daikin_altherma_3_dhw_power label="DHW Control"
    Switch icon=switch item=daikin_altherma_3_dhw_powerful_mode label="Powerful DHW"
    Setpoint icon=bath item=daikin_altherma_3_dhw_setpoint label="DHW Setpoint" maxValue=60 minValue=30 step=1
    Setpoint icon=temperature item=daikin_altherma_3_leaving_water_offset label="LW Offset" maxValue=10 minValue=-10 step=1
}

@dandjo,

Did a rebuild of the project and as far I can test this. It looks like it solves the issue.
Download tag: 11-test-3.
After installing the binding jou need to remove the binding first and then recreat it.

Greetings Alexander

Thanks @Alexander_Drent, confirming. When I delete the state description the error is gone.

1 Like