5500AC2 "IoT 3rd Party API" Starting Guide

Discussion in 'C-Bus Automation Controllers' started by DaleM, Sep 8, 2026 at 5:01 PM.

  1. DaleM

    DaleM

    Joined:
    Jun 4, 2018
    Messages:
    7
    Likes Received:
    0
    There seems to be nothing from Clipsal about how to use this API, so a bottle of wine, and Claude Fable with the leash removed has produced the following (AI disclosure) I managed to get SSH root access which helped IMMENSELY, just getting the API base URL pretty much unlocked everything else. see below, a competent LLM should be able to use this to fully impliment the API in what ever you want. If Clipsal doesn't plan to release the API docs, i would recommend re-naming to "IoT 1st Party API" just so we don't have some crazy expectation of controlling our own hardware.

    SpaceLogic C-Bus — IoT 3rd Party API (getting started)

    What it is
    The IoT 3rd Party API app on SpaceLogic C-Bus controllers (5500NAC2 / 5500AC2 / 5500SHAC, firmware V2.x) is Schneider's implementation of the KNX IoT 3rd Party API — a standardised KNX REST API (internally branded "Wiser for KNX"). It lets an external system read and control the controller's datapoints (your C-Bus objects) over a local HTTPS REST interface.

    Turn it on
    1. In the Configurator, install/enable the IoT 3rd Party API app.
    2. Enable local access and create an API user (username + password).
    3. Make sure your C-Bus objects exist and are exposed in the controller (see the gotcha below) — the API only surfaces what's configured.

    Start here — discovery
    Everything hangs off the well-known discovery document:
    Code:
    GET https://<controller-ip>/.well-known/knx
    It returns links to the live resources. The API base path is:
    Code:
    https://<controller-ip>/api/w4knx/3rdparty/v1
    Auth
    HTTP Basic using the API user you created (send it on every request). The KNX spec also defines OAuth /auth/* endpoints, but local access is Basic.

    Core endpoints (all relative to the base path above)
    Code:
    GET  /node               - service / version info
    GET  /datapoints         - list datapoints (your C-Bus groups)
    GET  /datapoints/{id}    - one datapoint
    PUT  /datapoints/values  - read/write values (control)
    GET  /functions          - function model
    GET  /devices            - device model
    GET  /locations          - location model
         /subscriptions      - live value updates (incl. websocket)
    Data format
    JSON:API — send the header Accept: application/vnd.api+json. Writing a value:
    Code:
    PUT /api/w4knx/3rdparty/v1/datapoints/values
    
    {
      "data": [
        {
          "id": "<datapoint-uuid>",
          "type": "datapoint",
          "attributes": { "value": <value> }
        }
      ]
    }
    The one gotcha that trips everyone
    /datapoints and /functions return empty until objects are actually configured/exposed in the controller's model (Manager/visualisation). The API can be fully working and still return total: 0 — that means "nothing exposed yet," not "broken." Populate the object model first.

    Reference
    Code:
    KNX IoT 3rd Party API OpenAPI schema: gitlab.knx.org/public-projects/knx-iot-3rd-party-api-schema
    SpaceLogic C-Bus Controllers User Manual: Schneider doc JYT9535100
     
    DaleM, Sep 8, 2026 at 5:01 PM
    #1
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.