Resol Binding stopped working in recent nightly builds

I updated to the nightly build 3.1.0-S2383-1 on debian and the resol binding that was included into the addons repository after 3.0 stopped working. With the following effects:

On one of the ResolThings for the controller (I have two on two VBUS-LAN bridges) I get only new data on startup and even this seems incomplete, while the other (same controller type but older firmware version) still works properly.

When I disable and enable the bridge device in the OH3 MainUI I get again some updates until the middle of a packet. Normally with
<logger name="org.openhab.binding.resol" level="TRACE" />
I see the following trace:

...
2021-05-15 22:23:20.339 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_7E11_10_0100_036_2_0, Name: Temperatur Sensor 19, Raw: 30.900000000000002, Text: 30,9 °C
2021-05-15 22:23:20.341 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_7E11_10_0100_038_2_0, Name: Temperatur Sensor 20, Raw: 19.3, Text: 19,3 °C
2021-05-15 22:23:20.343 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_7E11_10_0100_040_4_0, Name: Volumenstrom Sensor 13, Raw: 0.0, Text: 0 l/h
2021-05-15 22:23:20.345 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_7E11_10_0100_044_4_0, Name: Volumenstrom Sensor 14, Raw: 0.0, Text: 0 l/h
...

but with recent nightly builds the output stops after Volumenstrom Sensor 13, Raw: 0.0, Text: 0 l/h which is the first data updating a channel with unit VolumetricFlowRate in l/h - which is not listed in the UoM docs. In the binding code I see nothing suspicious that could go wrong here.

With 3.1.0-S2370-1 it still works like a charm.

Any idea of the root cause and how to fix that?

Hi Raphael

For me the values are not updated in the recently release 3.1 M4. Therefore, I created this bug :slight_smile: Resol binding in version 3.1 M4 not updating values · Issue #10684 · openhab/openhab-addons · GitHub

1 Like

Thanks @EjvindHald for the pointer. I tried with the current openHAB core today for debugging - and as usual it takes me several hours until I remember to add the binding to the pom.xml of the demo app - and it works like a charm. So quickly updated to 3.1.0~S2397-1 and still: instant updates.

I still have the impression that the VolumeticFlowRate in l/h was the problem in openHAB core and it now works again, even though this unit is still not available in core.library.unit.Units, can somebody from the core team (@Kai, @wborn, @cweitkamp) explain how the binding should behave?
Is it allowed to create a QuanitityType from 2.3 l/h or should it be converted into l/min as this is available in Units class? - or should we generally add the unit l/h in openHAB core?

The ticket Resol binding in version 3.1 M4 not updating values · Issue #10684 · openhab/openhab-addons · GitHub can probably be closed.

Hi @ramack,

Sry for late response.

First if all I would like to point out that we had a major upgrade of the UoM dependencies (see Upgrade Units of Measurement dependencies by wborn · Pull Request #2319 · openhab/openhab-core · GitHub). This already might have solved the intermediate issue.

I do not see any reason why creating a QuantityType from a String containing a unit which can be converted to the SI base unit should not be possible. Adding the const LITRE_PER_HOUR to OHC Units class is just a cosmetics simplification for users to use it. But feel free to do so. Be aware that VolumetricFlowRate is a typical example for a lot of different expressions which might get attention in the future and are not available at the moment (e.g. “ft³/s” or “gal/s” or “ml/min”).

Thanks. If it is intended to work properly even without the const I don’t need it.

@EjvindHald can you confirm that it works again in the meantime and maybe close the issue if so?

I am using version 3.1.0 M4 where the Resol values are not updated.

I can see that 3.1.0 M5 has just been released, so I will try that version in the weekend and let you know the results.

1 Like

I have now upgraded to version 3.1.0 M5, and it is the same as in version 3.1.0 M4. Values are only updated when the binding starts and not refreshed after that.

This is strange. With the nightly build 3.1.0~S2415 I have no issue. Can you enable the debug logs by adding

<logger name=“org.openhab.binding.resol” level=“TRACE” />

into log4j2.xml (maybe in /var/lib/openhab/etc/)?

Hi

In the Karaf console, I did this:

log:set TRACE org.openhab.binding.resol

but now rows came into the log file.

Then I issued this command to restart the binding:
bundle:restart org.openhab.binding.resol

and then many rows came, and I have listed the last part below. After that silence and no rows at all in the log file from Resol binding.

I will now revert to normal by:
log:set DEFAULT org.openhab.binding.resol

2021-06-05 16:27:14.868 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : Querying state satisfied

2021-06-05 16:27:14.868 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : Querying state satisfied

2021-06-05 16:27:14.869 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : getting activate: activate

2021-06-05 16:27:14.870 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : Locating method activate in class org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider

2021-06-05 16:27:14.870 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : Declared Method org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider.activate([interface org.osgi.service.component.ComponentContext]) not found

2021-06-05 16:27:14.870 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : Locating method activate in class java.lang.Object

2021-06-05 16:27:14.871 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : Declared Method java.lang.Object.activate([interface org.osgi.service.component.ComponentContext]) not found

2021-06-05 16:27:14.871 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : activate method [activate] not found, ignoring

2021-06-05 16:27:14.871 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : Set implementation object for component

2021-06-05 16:27:14.871 [DEBUG] [l.providers.ResolChannelTypeProvider] - bundle org.openhab.binding.resol:3.1.0.M5 (277)[org.openhab.binding.resol.internal.providers.ResolChannelTypeProvider(353)] : Changed state from satisfied to active

2021-06-05 16:27:14.923 [DEBUG] [ing.resol.handler.ResolBridgeHandler] - Opening a new connection to KM2 KM2-A840411C0DDB @192.168.1.242/192.168.1.242

2021-06-05 16:27:14.924 [DEBUG] [ing.resol.handler.ResolBridgeHandler] - Connection state changed to: CONNECTING

2021-06-05 16:27:14.938 [DEBUG] [ing.resol.handler.ResolBridgeHandler] - Connection state changed to: CONNECTED

2021-06-05 16:27:16.137 [TRACE] [ing.resol.handler.ResolBridgeHandler] - Received Data from DeltaSol BS 2009 (0x427b/0x10) naming it DeltaSol_BS_2009

2021-06-05 16:27:16.139 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_000_2_0, Name: Temperature sensor 1, Raw: 45.0, Text: 45.0 °C

2021-06-05 16:27:16.141 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_002_2_0, Name: Temperature sensor 2, Raw: 61.6, Text: 61.6 °C

2021-06-05 16:27:16.142 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_004_2_0, Name: Temperature sensor 3, Raw: 888.8000000000001, Text: 888.8 °C

2021-06-05 16:27:16.145 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_006_2_0, Name: Temperature sensor 4, Raw: 888.8000000000001, Text: 888.8 °C

2021-06-05 16:27:16.145 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_008_1_0, Name: Pump speed relay 1, Raw: 0.0, Text: 0%

2021-06-05 16:27:16.146 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_012_1_0, Name: Pump speed relay 2, Raw: 0.0, Text: 0%

2021-06-05 16:27:16.146 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_010_2_0, Name: Operating hours relay 1, Raw: 5409.0, Text: 5409 h

2021-06-05 16:27:16.147 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_014_2_0, Name: Operating hours relay 2, Raw: 0.0, Text: 0 h

2021-06-05 16:27:16.147 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_016_1_0, Name: UnitType, Raw: 11.0, Text: 11

2021-06-05 16:27:16.148 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_017_1_0, Name: System, Raw: 1.0, Text: 1

2021-06-05 16:27:16.148 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_020_2_0, Name: ErrorMask, Raw: 0.0, Text: 0

2021-06-05 16:27:16.149 [TRACE] [ding.resol.handler.ResolThingHandler] - Id: 00_0010_427B_10_0100_022_2_0, Name: System time, Raw: 748.0, Text: 12:28

Ok, so it seems that the System time field is not correctly handled for the DeltaSol BS 2009. Also on my DeltaSol MX it is not updated, but at least it doesn’t stop the the binding to update the values. Could you try this jar of the binding with your Resol controller?

Hi.
Thanks for your response.
I have downloaded your recent jar file and tried it - unfortunately the result is the same as before. The version of the jar file seems to be 3.1.0.202106052126.
Ejvind

Mh. Do you see a chance to expose the port of your vbuslan bridge for me via PM to debug it because it seems really controller specific and I don’t have the same as you.

Here is the updated jar to try, I hope I managed it this time, but @EjvindHald strongly supported, so I guess this fill finally fix it.

I can confirm that it is working fine now - thanks for the effort

Perfect, thanks for your help to debug this!