Learning curve for getting started with binding development?

As a former software developer (probably almost 10 years since the last line of code produced…) I wonder how complex it is to set up an environment and to get started with binding development? My plan isn’t to start from scratch but to try to fix the currently non-working 1.X Davis weather station binding and maybe lift it to 2.X (saying that without knowing anything about the differences…)

I do have knowledge in C/C++, VB, Xcode, etc and lots of other “ancient” languages/development environments but haven’t really done much in Java and have no experience in Git or open source. So what do you say is this a kamikaze-project? :upside_down_face:

Any thoughts, suggestions or tips would be highly appreciated!

1 Like

I would say the people here are extremely helpful but they need to see you are putting forth effort too. This thread I found recently can help with GitHub,

2 Likes

Thanks, will start reading and give it a try :+1:

I have recently been in this same situation myself. I followed the steps from here https://www.openhab.org/docs/developer/ to set up my environment. It didn’t take too long to get my environment set up and I was able to compile/build a binding.

If you aren’t familiar with git/github, it isn’t hard to start. You don’t have to be an expert on git to use it. Just fork, create a branch on github, then clone to your computer, and check out that branch, and away you go.

I use Visual Studio Code. Some people prefer eclipse ide. Try both and see.

Converting a 1x binding to 2x would be the hardest part of it all.

Do you use Windows, Mac or Linux for your main workstation / computer?

2 Likes

I’ve started a tutorial series to migrate version 1 bindings to version 2. I have published the first article and plan to finish the series before the end of January. The first article contains also the link to the documentation on how to install an ide.

3 Likes

Thanks! Currently I have Openhabian on a Raspberry Pi but all configuration is done on MacOS with VS Code and the same Mac will probably be used for my development environment. Is the recommendation to install a complete, openhab on the same host that is used for development/test?

Wonderful! Would you recommend to focus on the migration to OH2 directly or could it be an idea to try to “fix” the OH1 binding first?

No you don’t install OpenHAB on your development environment. Just install maven and java so you can compile. Once you’ve got the jar, you can copy it to your raspberrypi in the openhab’s addons folder to load / test it.

If you use eclipse this isn’t necessary as you start a complete environment from within Eclipse. If you use VSCode I would download the manual installation of openHAB and use the start batch to start an openHAB instance. Both situations are described in their ide documentation.

Trying to fix it is probably the easiest to do. But these changes are very unlikely to be merged in openHAB itself if you would want it in the openHAB distribution as development on openHAB 1 addons has stalled. On there other hand developing for openHAB 2 is the best approach. But it will definitely take more time, certainly if you have minimal experience. In that case you really must see it as something of a learning project. Don’t hesitate to ask for advice or ask for input from users.

1 Like