Migration of Novelan/Luxtronic binding to OpenHAB2

Hi Hilbrand
I looked into openhab addon developement today and I believe it would be doable for me to pick up your work. Just want to make sure no one else is working on it at the same time.
Do you know if anyone started on it already?

Regards

Christoph

1 Like

Hello,
as I really really wanted to move to OH3 I found a workaround by installing NodeRed. So now I can also obtain the values from my luxtronik via NodeRed.
I basically followed this example here:
Loxforum Luxtronic
A rather simple flow that actually works - yet… I have another container running in my RasPi Docker…

So I will probably also instantly change back to a native binding once @ChaosKid42 is able to provide one - THANKS a lot for volunteering!!!

I had a conversation with @Thomas_Gfeller and he was starting working on this.

There is still a lot of work left but at least I have a working prototype:

1 Like

Hi ChaosKid42, I see you made good progress. I stop on my side, it does not make sense if we are doing the same thing twice.
BR Thomas

Finished the migration to openHAB3 (at least as far as I can see now). Is submitted a pull request here: [luxtronic] Migration of novelan binding from openHAB1 by ChaosKid42 · Pull Request #9623 · openhab/openhab-addons · GitHub
There you’ll also find a link to a binary version of the plugin which you can test if you like.

2 Likes

it works!
great job and THX!

I have also compiled the addon for the stable version of openHAB3:
https://scholzbande.de/openhab/org.openhab.binding.luxtronik-3.0.0.jar

Hi,
how to install the binding in OH3.0.0 ?
I add the .jar in /usr/share/openhab/addons but did not get it in the binding-list of UI.

After you copied the file to the add-on directory you should be able to add a Luxtronic Thing by pressing + in the Thing dialog.
The binding will not appear in the list of bindings.

Hm. I actually started doing a reimplementation of the novelanheatpump binding a couple of days ago. Didn’t check this post the last days, but at least when I started no one was already working on it. Didn’t mention that here earlier, as I actually didn’t do any Java in the last 20 years, so wasn’t sure how far I would get :see_no_evil:

Nevertheless I have meanwhile written most parts of the binding. The names of available channels actually completely differs from those of the original plugin, as I use the names that are used by the Java Applet, the internal heatpump webserver serves.

I still had some stuff on my TODO for the implementation, but it is already working correctly on my local environment.

Not sure if it makes sense to create another PR for the same binding.

@ChaosKid42 did you plan to further improve your PR with additional channels or features? Let me know if it makes sense to further work on my implementation. Be happy to provide a PR if useful.

If anyone else is interested you can find my implementation here:

Hi ChaosKid42,
first of all, thanks a lot for your binding.
But I the Luxtronik Thing go in Status OFFLINE on my OH3.0.0 with follow Debug Info

2021-01-02 22:13:08.009 [DEBUG] [luxtronik.internal.HeatpumpConnector] - Heatpump connect
2021-01-02 22:13:08.113 [DEBUG] [.luxtronik.internal.LuxtronikHandler] - Unexpected error for thing luxtronik:heatpump:4b9b29e0fa
java.lang.ArrayIndexOutOfBoundsException: Index 182 out of bounds for length 174
at org.openhab.binding.luxtronik.internal.LuxtronikHandler.refresh(LuxtronikHandler.java:463) [bundleFile:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:834) [?:?]

@sgiehl It’s a pity that multiple people started on this roughly at the same time. I did not plan to add more channels to it although I made the approach of the plugin much more generic today in order to make it easy to add new stuff.
I looked at your code and I like your approach which to me seems to be completely different from mine (encoding the types in all those enums vs. using a bunch of maps). Your aproach seems to be quite sophisticated.
So in the end I wouldn’t mind you from continuing your work if you like. As your version of the addon seems to me more complete I might simply close my PR after you submitted yours.
Regerads,

Christoph

I uploaded a new version of the plugin some minutes ago. Please try this one. As there’s now a bounds check in place I believe your probem is probably fixed.

Hi Christoph,
the new version of the plugin ist working very well, thanks a lot for your great work.

Juergen

Ok. Will create a PR for my changes later

Just created it [LuxtronicHeatpump] Adds new binding for integrating heat pumps based on a Luxtronic control unit by sgiehl · Pull Request #9669 · openhab/openhab-addons · GitHub

Hi Christoph, your Binding works perfectly. Thanks for your great work!

1 Like

Hi,

sgiehl how can I get the compiled addon file for the stable version of openHAB3 of your new binding for testing?

best regards René

Guess it can be downloaded from the build artifact server here: JFrog

Btw. Which kind of heat pump do you have? I’m only able to test with a heat pump that has capabilites for heating and hot water. I’m not able to say if everything works proper for heat pumps with capabilities for cooling, ventilation or swimming pool.