BETA of Resol binding available on IoT Marketplace

Tags: #<Tag:0x00007faed5ac0158> #<Tag:0x00007faed62ae6a8> #<Tag:0x00007faed62afe90>

We had lengthy discussions in an old thread I now published my version of the Resol VBUS binding - which supports a whole bunch of solar system and heating controllers from Resol, including many branded OEM versions.

Now this binding is available as beta version in the Eclipse IoT Marketplace.

To simplify the usage I worked also on the README and a GETTING_STARTED documentation.

I hope that helps to get started with the binding. If something doesn’t work as expected please directly raise a ticket on github then we can try to keep this thread here a bit more clean and more about general discussions about the binding.

Cheers,
Rapha

2 Likes

Installation was easy and works like a charme. Thanks.

Just purchased LAN interface and installed this binding - works great. Many thanks!

Good to read, let me know in case you have trouble.

Hello everybody,

I’m new to the forum and would like to thank all of you who worked on OpenHab and this Binding. As a big fan of the Resol products, I have a regulator MX with DL2 for my solar and heating system, as well as the oven in use.
Unfortunately, I’m having difficulty configuring the Thing.
No Thing is found automatically. Also, the manual create does not work.
When I enter the IP and port 7053 of the DL2 in the browser, a message appears:

  • Hello
  • Error, buffer overload, quiting …
    (or something like that)

The installation of the binding has been inconspicuous. I suspect that it is due to a setting of the DL2.
Does anyone have a tip for me? Is the port 7053 correct? I have nowhere found a way to adapt this. What does your browser show when entering the IP and port (XXX.XXX.XXX.XX: 7053)? Please let me know if you need more information about my system. I look forward to your help.

I thank you in advance.

Hi,

first of all sorry for the late response. Real life and work was consuming too much from my time. Normally the port 7053 is correct, but you cannot connect to it with your browser, as it is not an HTTP based protocol, but you can open a terminal and enter
telnet aaa.bbb.ccc.ddd 7053

this should give you something like
Trying aaa.bbb.ccc.ddd…
Connected to aaa.bbb.ccc.ddd.
Escape character is ‘^]’.
+HELLO

and ask you for a prompt which you can terminate by QUIT
But if the autodetection of the bridge thing doesn’t work, it looks for me like an issue in the DL2 config. From the manual is seems, that there is an option to configure remote access, which you have to enable and configure the password accordingly.

Also note, that the VBUS/LAN network interface only supports one connection to the port 7053 at a time, so in case you also have configured access via Vbus.net (or use Resol ServiceCenter or the RPT tool at the same time) it will cause problems and I could imagine that for the DL devices it is similar.

Last but not least, I remember some issues with older firmware versions, so please check whether your DL2 is on the latest firmware from Resol and update if not.

I hope it helps, and look forward to your response.

Rapha

Continuing the discussion from BETA of Resol binding available on IoT Marketplace:

Hello Rapha,

Thanks for the answer.
Yes, I use Vbus. This may actually be the problem.
But I have found another way to access the readings of the controller.
A similar example I encountered in another thread:
Number Sensor09 “Außentemperatur [% .1f ° C]” {http://XXX.XX.XX.XXX/dlx/download/live?sessionAuthUsername=XXXX&sessionAuthPassword=XXXX:60000:JSONPATH ($ .headersets [0 ] .packets [0] .field_values [8] .raw_value)] "}
However, I have to create a separate item for each sensor and relay. But it has been working very well for a while now.
At the moment I do not want to do without the use of VBus.

Do you think my solution has any problems?

In the first days after the update to the last firmware, the DL2 hung up a few times. But now he’s been running steady for a few weeks.

Greeting Stefan

Hello,

I am not really familiar with the DL2/3 devices, but it seems they offer also a JSON API additionally to the vbus datastream interface. In that case I do not see an issue with your approach - the only one is, that it is not sufficiently generic to use it directly in my binding, as the Vbus/LAN interface doesn’t support that interface, so I personally cannot use or test it. In case you are willing to contribute some development and testing it would be great to support this “DL-live-interface” as alternative.

Do you know the vbus google group? - there might be more people around with an DL2 device in use.

If you could do me a favor I’d like to ask you to cut the vbus.net connection for a some time (maybe by just cutting your internet connection completely) and check whether the binding does work in that case, just to confirm the root cause.

have fun,
Rapha

Hello,

I tried it without the use of V-Bus. Unfortunately, the binding does not work then either. I interrupted the connection by deactivating the option in the web interface of the DL2. Should that be enough, or should I pull the plug of my router?

What I have noticed, however, is that too frequent a query interval of the JSON API crashes the DL2 . 60000-120000ms might be ok, 10000 ist to high, according to my eperience.

Please let me know if I can try something else to help you to develop your binding. I’m trying to help, even though my knowledge barely goes beyond the configuration of Openhab.

many Greetings

I’d expect, that disabling the vbus.net connection should be sufficient.

Can you try to connect to the vbus via ResolServiceCenter and look at the live stream data? As said, I don’t know the DL devices, maybe @danielwippermann know more cases in which the DL2 doesn’t properly expose the vbus data stream on port 7053. He could also comment on the JSON approach and whether it is normal, that querying the JSON api more often than each 60 seconds crasheds the DL2.

Hi there,

maybe @danielwippermann know more cases in which the DL2 doesn’t properly expose the vbus data stream on port 7053.

not that I can imagine right now. Since the JSON requests yield data the DL2 seems to receive something from the controller and the “+HELLO” response in the browser at least suggests that the remote access is activated.

He could also comment on the JSON approach and whether it is normal, that querying the JSON api more often than each 60 seconds crasheds the DL2.

I think the reason is that each requests starts a fresh session. Since each session occupies small amount of memory and they take some time to timeout and release that memory you all probably exhausting the DL2’s memory :slight_smile:

If you want to issue requests at a higher rate, use the “sessionAuth…” params only on the first request, save the session cookie returned in the reply and and use that for all subsequent requests.

Best regards,
Daniel

A big thanks to @ramack and @dwippermann for creating this binding.

Here are my findings, which is not working:
If I copy the file org.openhab.binding.resol-2.3.0-SNAPSHOT-2018-03-11.jar to the addons folder, create the things and items, it first seems to be working. However, the actual values in the items are only updated on restart of openHAB. This is the same as reported by @Marcel_Duscher and @Anquietas86 in this post

Here are my findings, which is working:
Removed the jar file from the addons folder, and restarted openHAB, while doing no changes to the Items file. Installed Eclipse IoT Market and after that Resol version 2.2 via PaperUI according to this link Then everything is working fine and values are updated.

Next step:
It would be cool to have this merged into the main branch of openHAB, so it comes out of the box with openHAB. Is this something which @J-N-K can help with? I am asking you because you recently did some fine stuff on merging Homekit.

Thanks.

There is no open PR. @ramack needs to open a PR, migrate to the new build system and the we can review.

I planned to do create a PR after I fixed a few more TODOs in the code and some of the open issues. But as the binding is doing it’s job these days for me, so it happened that other things took priority…
On the other side - as the binding is also working for others it would be wise not to wait for perfection.
@J-N-K what would be the preferred way to

  • document TODOs / open issues, for developers and users?
  • integrate libraries (I have today copy-pasted java files, can you point me to an example of a integrated jar?)

That depends. Are these „open-issues“ things that need to be done to make it work/stable/usable? Or is it about future extensions that would be „nice-to-have“? If the latter, probably an issue on GitHub would be good. If the first: document it now as // TODO: ... in the code and it should be fixed before it is merged.

What type of library do you need? Embedding them should be avoided if possible. The preferred way would be to declare a dependency to a bundle that is available on bintray/jcenter.

I tried to update my development environment to the current build system and update the core stuff, but I failed :disappointed_relieved: And I even don’t find the documentation how to setup the IDE. Can anyhow help here?

I tried also to create a new empty binding (because I want to try something else and want to get familiar with the new build system) but right now I get

BaseThingHandler cannot be resolved to a type

and I have the feeling that I messed a few things up during pulling the latest code, so I’d like to setup everything from scratch.

Edit: also the later message

The default package '.' is not permitted by the Import-Package syntax. This can be caused by compile errors in Eclipse because Eclipse creates valid class files regardless of compile errors.

might be interesting

Edit2: I found (it was not easy) https://github.com/openhab/openhab-docs/blob/master/developers/ide/eclipse.md maybe this is what I should follow?

Seems that I got it working, but cannot tell what exactly fixed it. I definitely cloned the openhab-core repository and installed some xtend / xtext 2.18 but to be honest it is a nightmare to setup the OH dev environment.

after some time I wanted to continue and I am in the very same trap again. For whatever reason I had to install xtend and xtext in eclipse AGAIN this time I had only the option to install them in version 2.16

Guess what? - I started an old eclipse installation with eclipse 2018-12
with eclipse 2019-06 it is working again…

@all keep in mind to use a recent eclipse version

@ramack Thanks for your effort.

It would be really cool, if it can be merged into the main branch with no dependencies to Eclipse IoT Market. I recently learned that this IoT Market binding sends outgoing ip packages - I do not know the purpose of this traffic.