Tahoma Binding compatible with OH2

Hi,

first, a confession - I do not really know what I am doing, but I am going to ask anyway. I am just getting started with OH2 and have started to install it on my raspberry. i have managed to get a ZWave device to be controlled through my Amazon Echo (yeah!) but now I am stuck with another problem.

Maybe someone can help me:

I am running a Somfy Tahoma and want to connect this. I found this on google:

However, I cannot get it to work - some questions:

a) Is there any chance that this works with OH2? It says it is for OH 1.x, but it says below that it was made compatible with OH2?
b) If yes, how would that work?

I did manage to install Maven on my raspberry, but I cannot seem to find the correct folder to place the binding, but keep getting error messages about parent POMs not being correct.

THANKS for any advise, I really appreciate it. As you can tell, this is rather new - but any pointer will help and I will work on it.

2 Likes

I would appreciate some help on this as well. Or perhaps if there could just be the binding added to the Paper UI list?

This is the failure message I get:

[INFO] Scanning for projects…
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project’s POM).

Project ID: org.openhab.binding:org.openhab.binding.somfytahoma:eclipse-plugin:null

Reason: Cannot find parent: org.openhab.bundles:binding for project: org.openhab.binding:org.openhab.binding.somfytahoma:eclipse-plugin:null for project org.openhab.binding:org.openhab.binding.somfytahoma:eclipse-plugin:null

[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.reactor.MavenExecutionException: Cannot find parent: org.openhab.bundles:binding for project: org.openhab.binding:org.openhab.binding.somfytahoma:eclipse-plugin:null for project org.openhab.binding:org.openhab.binding.somfytahoma:eclipse-plugin:null
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find parent: org.openhab.bundles:binding for project: org.openhab.binding:org.openhab.binding.somfytahoma:eclipse-plugin:null for project org.openhab.binding:org.openhab.binding.somfytahoma:eclipse-plugin:null
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1396)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:823)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:508)
at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
… 12 more
Caused by: org.apache.maven.project.ProjectBuildingException: POM ‘org.openhab.bundles:binding’ not found in repository: Unable to download the artifact from any repository

org.openhab.bundles:binding:pom:1.9.0-SNAPSHOT

from the specified remote repositories:
central (https://repo1.maven.org/maven2)

for project org.openhab.bundles:binding
at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:605)
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1392)
… 18 more
Caused by: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository

org.openhab.bundles:binding:pom:1.9.0-SNAPSHOT

from the specified remote repositories:
central (https://repo1.maven.org/maven2)

at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:228)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:90)
at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:558)
... 19 more

Caused by: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact from any repository
at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:404)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:216)
… 21 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Sun May 07 07:45:45 CEST 2017
[INFO] Final Memory: 3M/15M
[INFO] ------------------------------------------------------------------------

As I have said, any help is appreciated, also any other place where I might ask for help?
Of course, Antares2001 suggestion would be perfect - to directly integrate this in OH2.

Thanks!

1 Like

Hello @doc_elk

unfortunately it doesn’t look like it’s gonna be integrated:

If you manage to compile it (I did not but I miss the time and skills here) I would be happy if you could send me the jar file. It’s a pity that there is no jar file at least, to include in the addons folder, if not yet in PaperUI.

Hi,

no, I have not been able to compile it.
My guess from the failure messages is that I would have to maybe install OH 1.9 and then migrate to OH2, as there seem to be files missing for compiling that are not there for OH2.
But, it is just a guess, actually.
I also lack time and experience to really make this work, but I will continue to try.
I will upload the JAR if I get it compiled, and I would appreciate the same if you somehow manage to do it.
Thanks!

Hi all,
Does this binding also works for connexoon?

Hi guys, please see the latest release. It has compatibility with OH2 and I am using it in OH2 for 2 weeks with no problems. Do not expect channels and things, you have to configure it manually as mentioned in readme (it is the OH1 way how items are configured)

1 Like

Hi, one user confirmed that connexoon uses the same API and it works

Hi, here is a pure OH2 version of this binding, I’m currently testing it, if you are interested, you can build the binding by yourselves or I can provide you with the binary…

Hi Ondrej,

thanks so much.
I will give this a try, and let you know how I am managing!

Thanks and regards,

Helge

Hi… Would be nice with the binary… Please provide

Hi, here it is:

Please follow the instructions here:

Thank you.

Perfect with the Thing-Channel concept.

I get multiple errors in the log:

2017-07-20 10:26:12.487 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.542 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.590 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.639 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.687 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.735 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.787 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.841 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.889 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.936 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:12.990 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:13.045 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:13.099 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException
2017-07-20 10:26:13.172 [ERROR] [oma.handler.SomfyTahomaBridgeHandler] - Cannot send getStates command: java.lang.NullPointerException

Do you know what this is?

Thank you so very much, maybe I can control my rollershutters after planning to do so for the last four years or so :smile:

Now I have ordered a Tahoma box after many years of trying to hack something myself. Interesting to see that Somfy has reduced its prices to slightly less exorbitant levels…

By the way, do you intend to have this integrated into the main source tree at some time? If so, it would be best if you continued your development in a branch, as creating pull requests from your “master” branch is a total pain in the ass :smile:

Good point, I have no experience with pull requests to OH master and of course I would be glad if it integrates into main source sometime…Any help appreciated if someone wants to contribute to this binding!

To create a new branch with just the commits for the tahoma-binding, I did the following (in an empty directory):

git clone https://github.com/octa22/openhab2-addons.git openhab2-addons-somfytahoma
cd openhab2-addons-somfytahoma
git checkout -b somfytahoma-binding 786878dbade56a08221a7937119264cc5f19f487
git cherry-pick 3cecee0609867829525a1dede73b0e97546f3c32
git cherry-pick 5880e1f9c7ad0a9f2162ed910f098cfbf41742c5
git cherry-pick c8fbe8852befcc96c812c4000ef7cc389f1b3c75
git cherry-pick 7e5319e7d7cae5ed55df2c57ac0e46e8bfa95ca9
git cherry-pick 9fb0099d5c1043df679cb842b1b7357ff5e9b109
git cherry-pick 35a0cf86a7e9d0c240040340135a40b0aff54633
git cherry-pick a0893f142a3aaf87dc16f8954d806dc76a26fbda
git cherry-pick b7031e6eeaf754301d45df4c83b2f781cef3a9c8
git cherry-pick d0df3828c74bc87ae368e1d2631c11a0cb736e1f
git cherry-pick 358b9e449a1fb9acaa4735c090777b63ed98b642
git push --set-upstream origin +somfytahoma-binding

In a very similiar way, you can set up branches for the “efergy” and “mi speaker” bindings which you have in your master branch as well. In general, every binding / contribution should be developed in its own branch so you can easily create pull requests from them.

When you have pushed the new branch to github, you will see a button that offers you to create a pull request from the branch. Do so, and add a “[WIP]” in the title of the branch, and everyone will know that you are still developing the binding. Whenever you feel the code is ready for reviews, remove the “[WIP]” from the title.

Looking forward to see your binding integrated into the main tree :smile:

Thank you for the detailed steps. I’ve done this for all my OH2 bindings and now they are in separate branches :grinning:

1 Like

Glad to be able to help :slight_smile:

Today I installed my Tahoma box at home and configured my roller blinds. Now all I have to do is to integrate things with your wonderful binding, and I can have automated blinds after four long years of playing with OH :wink:

The link to the README is broken since the code was moved to a branch. Could you please update it?