Cannot use FTP to upload bindings, permission problem

Hi all,

I’ve tried using openHAB several times now over the past few years and have given up because of the very, very steep learning curve. My UNIX skills from 30+ years ago are rusty but I can follow instructions (when they don’t conflict or worse; pertain to a different version!)

I have openHABian running on a Pi 2, I have Sonos and Hue bindings working, but ONLY because it was click-to-install in Paper UI…

I have an HAI Omnilink system that I’d like to control via openHAB. I have the binding. I have modified my openhab.cfg file (if it’s even needed, opinions vary). I’m trying to push it to /usr/share/openhab2/addons using FileZilla FTP but can’t get the proper permission to place it there.

Alternatively, nowhere can I find instructions for the SSH command-line on how to apt-get and install the org.openhab.binding.omnilink folder where it needs to go.

The problem I’m having is sifting through the information since openHAB v1 and v2 are quite different in their requirements now. I have preferred to hand-write my code/config but v2 is so different now. Coupled with changed locations for .cfg files, new requirements for .items files, etc, has me ready to give up again…

What am I missing and/or doing wrong?

Thanks.

/usr/share/openhab2/ is owned by user root, and /usr/share/openhab2/addons/ is owned by user openhab, and only this user is allowed to write to this folder.

As the omnilink binding is not yet marked as OH2 compatible, you will have to install it manually, but it’s straight forward:

  1. Step is to copy the .jar to your Pi (best place would be /home/pi or what user you are using,
  2. step is to move the .jar to /usr/share/openhab2/addons, using ssh command (putty is your friend):
sudo mv ~/*.jar /usr/share/openhab2/addons

In fact, you can use openHAB2 just like openHAB1, there are only a few things to be aware of. See http://docs.openhab.org/tutorials/migration.html for an almost step-by-step guide.

Thank you for this very clear and concise tutorial. It worked a treat.

Since I am using openHABian I assumed openhabian would be the user instead of openhab. It worked.

I didn’t have a .jar but I did have a folder named org.openhab.binding.omnilink which I moved with ‘sudo mv org.openhab.binding.omnilink /usr/share/openhab2/addons/’. It did ask again for my password and FileZilla shows me it moved the whole folder over intact. It is OK to have the folder there and not a .jar file?

Must I reboot for this binding to be active? Since I’m on version 2 the only way I know of to add binding is through the Paper UI and clicking install. My omnilink binding doesn’t show there yet…

Thanks for the help over this big speedbump!

Try this https://openhab.ci.cloudbees.com/view/All/job/openHAB1-Addons/lastSuccessfulBuild/artifact/bundles/binding/org.openhab.binding.omnilink/target/org.openhab.binding.omnilink-1.10.0-SNAPSHOT.jar (It’s the last successful build of omnilink binding)
As the binding is OH1 style, it won’t show up in Paper UI at all. You will have to configure it through text files, like openhab.cfg in OH1, in OH2 it should be /etc/openhab2/services/omnilink.cfg, please read the tutorial I linked in my last posting for details.

Hi again,

I just couldn’t get it to work at all (back in March) but have decided to try again with a fresh install. I have openHabian running on my Pi2 and most things work (I think) but I’m not getting too bogged down in configuring Hue and Sonos until I know how to get HAI Omnilink working, as this is a must for my setup.

I found a new 1.11.0 jar for OmniLink and I have that in openhab2-addons. My log file shows:

017-09-21 22:32:08.216 [ERROR] [org.openhab.binding.omnilink ] - FrameworkEvent ERROR - org.openhab.binding.omnilink
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.omnilink [196]
Unresolved requirement: Import-Package: org.openhab.core.binding

Any idea where I’m going wrong again?

Thanks.

I’m pretty sure you have to install the compability layer http://docs.openhab.org/developers/development/compatibilitylayer.html#how-to-use-openhab-1x-add-ons-that-are-not-part-of-the-distribution

Eureka!

While it was not a straight line to the fix (I first had to enable the Console in openhabian-config, then create a simple password for it) then try to work within the openhabian permissions without having root access, I did get the compatibility layer installed.

Most of the difficulties I typically encounter is trying to educate myself from different sources, then finding out the tutorials don’t work for me since I’m either not running openHAB on the same platform, or I’m running a different type of install (in my case, openHABian, which has different commands, levels of permissions, and different folder layouts).

Anyway, after the ‘feature:install openhab-runtime-compat1x’ command in the Console, I then executed ‘sudo systemctl restart openhab2.service’ (after killing Putty and relogging in since I couldn’t find a way to exit the Console) and saw many new entries in the log:

2017-09-22 11:05:54.604 [INFO ] [ng.omnilink.internal.OmniLinkBinding] - System: SystemStatus ( timeDateValid = true year = 17 month = 9 day = 22 dayOfWeek = 5 hour = 11 minute = 5 second = 52 daylightSavings = true sunriseHour = 7 sunriseMinute = 21 sunsetHour = 19 sunsetMinute = 34 batteryReading = 227 alarms = {} )
2017-09-22 11:05:58.919 [INFO ] [ng.omnilink.internal.OmniLinkBinding] - Group All
Group Lights “Lights” (All)
Group Lights_MAINFLOOR “MAIN FLOOR” (Lights)
Group Lights_UPSTAIRS “UPSTAIRS” (Lights)
Group Lights_OUTSIDE “OUTSIDE” (Lights)
Group Lights_BASEMENT “BASEMENT” (Lights)
Group Thermostats “Thermostats” (All)
Group Thermostats_Inside “Inside” (OmniThermostat)
Group AudioZones “Audio Zones” (All)
Group AudioSources “Audio Sources” (All)
etc, etc…

I’m wondering if I shouldn’t have just installed openHAB1 and been up and running sooner, but again most of the tutorials I have found are for openHAB2 (even if its for a different distro).

OminLink does not show up in Bindings in PaperUI, I assume this is because it is not a proper openHAB2 binding.

Must I now manually program buttons and thermostats to show up using the .conf and .things files and move away from the PaperUI?

I’ll say it again, this is a very steep learning curve but it’s small victories like this that make it worthwhile.

Thank you very much for your guidance thus far.

It doesn’t show up in Paper UI because it’s a OH1 binding :slight_smile:

Please don’t lay stress on Paper UI, this is only to configure pure OH2 Bindings, and you will most likely use at least some OH1 addons, e.g. all persistence services are pure OH1 services and you have to configure it via text files.