Distributing bindings through the IoT Marketplace

Yes, that is the normal behaviour.

Hi guys.

Does anyone know if the marketplace down?
Snip from my openHAB2 log:

==> /var/log/openhab2/openhab.log <==
2018-01-22 16:54:38.792 [WARN ] [arketplace.internal.MarketplaceProxy] - Failed downloading Marketplace entries:  : marketplace.eclipse.org
2018-01-22 16:54:38.799 [WARN ] [arketplace.internal.MarketplaceProxy] - Retrying again in a minute

Hi everybody,
might be that I’m doing anything wrong. Everytime I upgrade openhab 2 I need to reinstall my Xiaomi Mi IO Binding, which is from the marketplace. Isn’t there a better way to install it automatically? It’s quite uncomfortable if you have lots of marketplace bindings, isn’t it?

Thanks,
Michael

1 Like

I think you are not doing anything wrong – actually, this very thing mentioned in the opening post:

Note 2: The jars are installed in the OSGi cache - which means that they are lost upon an openHAB distro upgrade (which cleans the cache) - you will have to manually re-install then from the marketplace. As the main use case for the start will be for testing pre-releases, I think this is acceptable. For the future, I also plan an improved mechanism, which would download the jars to the addons folder (or something similar), so that they are kept over an upgrade as well.

Unfortunately, I don’t have an answer for you – let’s see what others come up with.

The "comfortable"way is the build-in way. However that is limited for the bindings that went through the complete process to be accepted into a stable build.
The marketplace way to install bindings before that process is completed has been established in order to let experienced users install such bindings in an earlier state., knowing that for such users the “installation” of such binding would be no hassle ( dropping into addons folder).
IMHO this setup makes sense.

Great feature that I have not used yet but wanting peoples feedback on what to do with my binding found here:

Currently this binding is a double up of sorts with another binding which is already merged. Add to this that a user wanting to use my binding has to build hardware first, this will cause the number of users to be in the lower number. So what to do with a binding like this?

  1. Do I still create a PR for the binding to be merged or listed so others can find the code on github easier? I am very new to github so not sure what options there are for what could be an low used binding and not worth building into Openhab 2.
  2. Do I just keep offering the JAR directly as I am now?
  3. I built the binding with the skeleton create binding script and choose “openhab” as the namespace? when the script was building. Does that mean it is not eclipse smarthome compatible and I should not upload it to the Maketplace as it is openhab2 only?

Any advice would be great as I have 2 more bindings on the way and still getting a feel for what the process is, done so much reading and learning to get to this point so I apologise if I have missed something.

Eclipse Marketplace: Binding version handling

I just published a first version of a new binding @ eclipse marketplace. It is a nice and convenient way to publish new bindings, but I do not (yet) understand how different versions are handled e.g.

  • Where can I find which version of the market place binding is installed. Is it listed somewhere in paperUI?
  • Which binding has priority: Binding from market place or local binding in oh/addons folder
  • Eclipse Marketplace provides new version: How can I install this new version via openhab. Is there a notification?

Thanks a lot for your reply.

Do I still create a PR for the binding to be merged or listed so others can find the code on github easier? I am very new to github so not sure what options there are for what could be an low used binding and not worth building into Openhab 2.

If I read the small inline text correctly your binding uses some custom hardware to connect to devices already supported by another binding. In such a case you probably will get questions about the relation to the existing binding when you create a PR. I don’t know what the best outcome would be, but you can always create a PR to find out. But do expect a lot of questions.

Do I just keep offering the JAR directly as I am now?

The easiest and fastest way for users is to add your binding to the Eclipse Market place. That way users can install the binding with 1 click. providing JAR’s would require manual installation by the user.

I built the binding with the skeleton create binding script and choose “openhab” as the namespace? when the script was building. Does that mean it is not eclipse smarthome compatible and I should not upload it to the Maketplace as it is openhab2 only?

No. there is no difference as I’m aware of other than if you intend you binding to be part of the Eclipse smarthome core or the openHAB addons. In the first case use the smarthome namespace, in the latter use the openHAB namespace. There could be some version differences, but openHAB follows the smarthome version rather closely. Most bindings in the Eclipse Marketplace are developed from the openHAB use case, so that should not stop you from adding it to the Eclipse Marketplace

You need to install the Eclipse IoT Market binding under Misc (in PaperUI). This will add the bindings listed in the Eclipse Marketplace to the list of other bindings (you will need to refresh the page to see the marketplace bindings). If that is what you mean.

There is no relation between a binding openHAB and the same binding in the Eclipse Marketplace. openHAB just sees them as 2 different bindings. Although you should not install them both, since they do use the same name space. So there is no priority.

Bindings in the marketplace are either bindings not (yet) available in the core or are beta releases of existing bindings with bug fixes/new features that are not yet available in the core (not merged or only available in the latest snapshot version).

Installing a new version from the Eclipse Marketplace can be done by uninstalling the current one and then installing the newer version I think. There is no automatic update of new versions. This is a nuance especially when upgrading openHAB to a newer version it will uninstall market place bindings (See comment above in this thread)

That is normal after upgrading. Every time cache and tmp folders get deleted (for example during an update) you need to reinstall your market place bindings.

Just a wild guess: The Eclipse Foundation servers were under heavy load the last two days due to the Photon release and we had all kinds of issues with builds etc. So maybe the Marketplace had some hick-ups through this as well…

Hi - i am on OH 2.2 and cant see the IoT Marketplace in MISC !?
how can i install this - need it for my Xiaomi Roborock Vacuum Binding

EDIT:
OK got it - its in the Eclipse Marketplace → with Config → Maturity Level: Alpha

This does not work for me, strange? I have:

addons.cfg

binding = mqtt1,...,binding-3741544
misc = restdocs,...,market

Any hints?

I’ve tried the following:

binding = market:3741544 -> NOPE
binding = binding-3741544 -> NOPE
binding = 3741544 -> NOPE

Still nothing.

It needs to be in the MISC part.

None of this is working either:

addons.cfg

binding = market:3741544 -> NOPE
binding = binding-3741544 -> NOPE
binding = 3741544 -> NOPE
binding = market:binding-3741544 -> NOPE
misc = market:3741544 -> NOPE
misc = binding-3741544 -> NOPE
misc = 3741544 -> NOPE
misc = market:binding-3741544 -> NOPE

I do the install with PaperUI, so can’t help any further.
Did you make sure you are using the correct numbers? Check via PaperUI …

Yes the number is definitely correct, copy-pasted from PaperUI.

Okay, that should be the Sony binding.

For the MISC part: my answer was not correct. If you need to install the market place addons it would go into the MISC part, a market place binding should go into the BINDING section …