Binding in addon folder missing in rest api

Hello everyone,

I updated to openHAB 4.3.3 today and I’m wondering why the home connect direct binding, installed in the addons folder is not displayed via api?

The binding works without problems and is also displayed in the GUI under Bindings. As I said, but unfortunately not via /rest/addons…

cli:
339 x Active x 80 x 4.3.0.202502221229 x org.openhab.binding.homeconnectdirect

gui:

rest/api:
api.json (266.8 KB)

Am I making a mistake or am I doing something wrong?

I’m pretty sure it was previously displayed in 4.3.2…

So,

I can answer my own question:

The call “/rest/addons” does not (anymore) return all bindings that are installed!
To really get ALL installed bindings per rest, each addon service must be retrieved…

This can be done as follows:

  1. retrieve all services via rest: “/rest/addons/services”:
[
  {
    "id": "jar",
    "name": "JAR-File add-on service",
    "addonTypes": [
      {
        "id": "automation",
        "label": "Automation"
      },
      {
        "id": "binding",
        "label": "Bindings"
      },
      {
        "id": "misc",
        "label": "Misc"
      },
      {
        "id": "persistence",
        "label": "Persistence"
      },
      {
        "id": "transformation",
        "label": "Transformations"
      },
      {
        "id": "ui",
        "label": "User Interfaces"
      },
      {
        "id": "voice",
        "label": "Voice"
      }
    ]
  },
  {
    "id": "karaf",
    "name": "openHAB Distribution",
    "addonTypes": [
      {
        "id": "automation",
        "label": "Automation"
      },
      {
        "id": "binding",
        "label": "Bindings"
      },
      {
        "id": "misc",
        "label": "Misc"
      },
      {
        "id": "persistence",
        "label": "Persistence"
      },
      {
        "id": "transformation",
        "label": "Transformations"
      },
      {
        "id": "ui",
        "label": "User Interfaces"
      },
      {
        "id": "voice",
        "label": "Voice"
      }
    ]
  },
  {
    "id": "marketplace",
    "name": "Community Marketplace",
    "addonTypes": [
      {
        "id": "automation",
        "label": "Automation"
      },
      {
        "id": "binding",
        "label": "Bindings"
      },
      {
        "id": "misc",
        "label": "Misc"
      },
      {
        "id": "persistence",
        "label": "Persistence"
      },
      {
        "id": "transformation",
        "label": "Transformations"
      },
      {
        "id": "ui",
        "label": "User Interfaces"
      },
      {
        "id": "voice",
        "label": "Voice"
      }
    ]
  },
  {
    "id": "json",
    "name": "Json 3rd Party Add-on Service",
    "addonTypes": [
      {
        "id": "automation",
        "label": "Automation"
      },
      {
        "id": "binding",
        "label": "Bindings"
      },
      {
        "id": "misc",
        "label": "Misc"
      },
      {
        "id": "persistence",
        "label": "Persistence"
      },
      {
        "id": "transformation",
        "label": "Transformations"
      },
      {
        "id": "ui",
        "label": "User Interfaces"
      },
      {
        "id": "voice",
        "label": "Voice"
      }
    ]
  }
]
  1. iterate over the id’s of the result of the services and thus query the bindings: “/rest/addons/services?serviceId=ServiceID” (e.g. “/rest/addons/services?serviceId=jar”)

This way you get all installed bindings again :slight_smile:
And this is also how the MainUI does it…

Nevertheless, I am sure that up to and including 4.3.2 the call “/rest/addons/services” was sufficient to get all installed bindings, including those from the addon folder…