BETA of Resol binding available on IoT Marketplace

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) openhab-docs/developers/ide/eclipse.md at main · openhab/openhab-docs · GitHub 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.

@ramack, @danielwippermann

I am using the Resol binding, and it works fine. However, I have now made a test installation of openHAB version 3.0, which is still in development. I can find all my other bindings in that new version except the Resol binding. I have installed Eclipse Marketplace, but it still does not show up.
Do you know why that fine binding seems to be missing in the coming version of openHAB ?
(if not, maybe @J-N-K knows?)
Thanks.

The resol binding is not a very small one and has some complexity, that’s why I wanted to do a smaller and simpler exercise first, which is the HeliosVentilation one. After that is merged and I learned some lessons, I want to care aigain more about the resol binding and bring it into the official openhab distro.

Thanks - I will be very much looking forward to that.
Please be aware that the current Resol binding is not working properly, if the jar file is put into the add-ons folder as mentioned in this thread. It currently only works if it is installed using paperUI.
I was just wondering why the Resol binding is missing in openHAB 3.0 as the 3.0 dev guys have converted all other bindings - except this one.

I will be happy to participate in testing when you are ready.

@ramack
It seems that we will not be able to use the Resol Eclipse IoT binding in openHAB version 3.0 unless it is adopted to some needed changes. See link

Therefore, it you have time and energy to put Resol into the current distribution 2.5.x which are still released only with bindings changes, it will be highly appreciated. I assume then it will also work in 3.0 as @wborn is referring to.

Thank you.

hi @ramack,
is there somewhere a link to the latest JAR version of your binding. I tried tie Eclipse IoT Binding but it does not work properly for me. Thanks a lot Norbert

Update: just managed to download a version in the web-interface of the Eclipse IoT Binding…but its v2.2.0. I’m confused as i have a version 2.3.0-snapshot on an older machine from 2018. What is better to use now? 2.3snapy or 2.2? any advantage/disadvantage to use 2.3-snap?

Hi Raphael.
Hope you are enjoying the summer.
Did you have time to look into merging the Resol binding into the official openhab distro?
Thanks.
Ejvind

Last week I started to merge the code into the current 2.5.x branch and created a ticket for it but it’s not yet ready for submission. Help is welcome, otherwise please stay tuned.