Many third party addons are missing from OH5.2 marketplace

Hello,

After I updated from OH4.3 to OH5.2, I suddenly remembered that one has to remove/add again any third party addons for them to be updated as well.

So, I did remove my Open Meteo addon and went to the Bindings configuration page typing “Meteo” in the filter bar.

To my great surprise, it does not show up!
So I tried with my other bindings: MyLight and AirZone, they don’t show up either.

I tried again with others not from me, and here is a little sample of the results:

simatic: KO
awtrix: KO
soundcloud: KO
ebus: OK
rainbird: OK

So it appears that ALL bindings that use 4 numbers in the version field like we were told to, are now completely ignored?
If I change the values, should I do it for the OH5 version only or should it be done for the OH4 version as well?

rather sounds like a bug, please open an issue (TBH, I don’t know for sure in which repo, maybe openhab-webui)

openhab-core

Done: [Marketplace] Bindings with ranges using four numbers are not shown anymore · Issue #5714 · openhab/openhab-core · GitHub

It shows up for me.

Clicking through to the forum posting leads to the correct one.

Search works too.

What ever is going on is not a universal problem.

Yes, because I just changed the version number to use three components instead of four, proving my point.
All the others are still missing.

No, they still had four when I clicked on them.

And only one of the others are missing for me either. eBus in particular shows up and it has the four digit versioning.

It showed up before my reply above but you’ve changed it so :person_shrugging:

The only Awtrix binding I can find on the forum has [4.1.0.0;5.0.0.0) so it wouldn’t show up in OH 5 at all anyway. The version is for up to 5.0.0.0 non inclusive but even if I’m remembering wrong and it is inclusive, anything > 5.0.0.0 would still be excluded.

Soundcloud indeed does not show up for me.

eBus shows up and has the 4 number versioning for sure.

At least one add-on with four numbers in the versions show up for me. And all of my rule tempaltes have four numbers in the versions and they all show up.

Note, I’m not saying there isn’t a problem. Just that it’s not a universal problem. There is something specific going wrong that is not breaking every binding and/or every user.

Awtrix is no longer available as a marketplace version because it is now part of the official mqtt binding.

Soundcloud is not showing up because there is an error in the versioning.

It also lacks the “published” tag so it will not show up in the list because it’s not published.

You can go to Settings → Community Marketplace and toggle on “show unpublished” and it will show up in the list despite these two problems.

So there are at least two listed add-ons whose absence are explainable.

At least one of them does show up for me at least using the four digit versions. And @obones bindings were always showing up for me with both the 4 digit and the three digit version numbers.

Ok, fair enough, there are definitely strange things here.
After a restart of OH5, I see all the plugins that I was not seeing.

Maybe it’s related to the 429 error that some are seeing and this time round I got lucky.

This should be considered solved, sorry for the noise

I have corrected the version range for Open Meteo back to four digits, since it appears to not have been the cause of issue.

If there are problems with the version evaluation, please tag me - I’m fairly familiar with how this works. But, it seems like you figured it all out before I saw this thread.

The reason for using four digits is something with how it behaves exactly “at the threshold”, regarding milestones etc. I don’t remember the details of this situation at the moment, but it shouldn’t prevent things from showing when you’re nowhere close to the threshold.

One can also enable DEBUG logging for org.openhab.core.addon.marketplace and get the whole “evaluation” of which add-on is compatible and not logged.

edit: 429’s combined with a long cache timeout (15–20 minutes) is the most likely explanation for why add-ons were missing. Had you waited for the cache to expire, they would probably have shown up, but when you restart OH, you “cheat” the cache timeout and it performs a new query immediately.

There is some explanation here:

I’m currently working on extracting the version and version range handling from my old marketplace refactoring branch, so if things go well and the PR is accepted, it will become more tolerant in the future. That said, we still need to respect the “old rules” for quite a while to allow it to keep working also on older clients:

/**
 * This class represents a version range, where it can be evaluated whether any {@link Version} is included in the
 * range. It allows for consistent, system-wide parsing and evaluation of version ranges. The supported string syntax
 * expresses a version range using mathematical interval notation.
 * <p>
 * A valid range string requires an opening bracket or parenthesis, a mandatory lower bound, a range separator
 * ("{@code ;}", "{@code ,}", or "{@code ..}"), an optional upper bound, and a closing bracket or parenthesis. Brackets,
 * "{@code [}" and "{@code ]}", designate inclusive endpoints, while parentheses, "{@code (}" and "{@code )}",designate
 * exclusive endpoints.
 * <p>
 * <h3>Formal Syntax Grammar (ABNF)</h3>
 *
 * <pre>{@code
 * version-range   = interval
 *
 * interval        = ( "[" / "(" ) version separator [ version ] ( "]" / ")" )
 *
 * separator       = ";" / "," / ".."
 *
 * version         = major [ "." minor [ "." micro [ "." qualifier ] ] ]
 * major           = 1*DIGIT
 * minor           = 1*DIGIT
 * micro           = 1*DIGIT
 * qualifier       = 1*alphanumeric
 *
 * alphanumeric    = ALPHA / DIGIT / "-" / "_"
 * }</pre>
 *
 * <h3>Examples</h3>
 * <ul>
 * <li>{@code [5.1.0;5.2.0]} - Inclusive range from 5.1.0 to 5.2.0</li>
 * <li>{@code [5.0.0..)} - Open upper bound (version 5.0.0 or any later version)</li>
 * <li>{@code [5.2.0;5.2.0]} - Exact match for version 5.2.0</li>
 * <li>{@code [4.2.3,6)} - Range including 4.2.3 and anything before 6.0.0</li>
 * </ul>
 * <p>
 * This class is immutable.
 *
 * @author Ravi Nadahar - Initial contribution
 */
@NonNullByDefault
public class VersionRange {