Aedifion · AsyncAPI Specification

aedifion MQTT API

Version 2

Event-driven interface to the aedifion.io building operations platform. The broker carries three topic families - building timeseries observations, semantic metadata, and control commands - namespaced by load-balancing group and project handle. PROVENANCE: aedifion publishes no AsyncAPI document. This description was GENERATED by API Evangelist from aedifion's own published MQTT specification at https://docs.aedifion.io/en/developers/mqtt-api/ - every host, port, topic pattern, payload format and QoS statement below is taken from that page. Nothing here is inferred beyond what the documentation states. It is a third-party rendering of a documented interface, not a contract aedifion ships.

View Spec View on GitHub Building AutomationSmart BuildingsEnergy ManagementIoTReal EstateHVACSustainabilityTime SeriesAnalyticsMQTTBuilding OperationsESGPropTechGermanyReal-TimeAsyncAPIEventsMQTT

Channels

timeseries
Observation stream for a project. Messages must strictly adhere to InfluxDB Line Protocol. Publishing requires write access to the topic; subscribing requires read access.
metadata
Metadata about datapoints and entities, as JSON. Messages may not exceed 1 MB. Two schemes exist - V1 is deprecated, V2 is current and uses an entity/mode/tags structure.
controls
Setpoints and schedules, as JSON, using the SWOP protocol. This channel writes to physical building equipment.

Messages

✉
observation
Timeseries observation
One or more datapoint observations in InfluxDB Line Protocol.
✉
metadata
Entity metadata
Semantic metadata for a datapoint or entity, JSON, max 1 MB.
✉
control
Control command
Setpoint or schedule command, JSON, SWOP protocol.

Servers

secure-mqtt
cloud-mqtts
Native MQTT over TLS. Brokers accept only TLS 1.2 and TLS 1.3; plain TCP connections are rejected. Server certificates are issued by Let's Encrypt.
secure-mqtt
cloud-wss
MQTT over WebSockets via TLS, for browser clients.
secure-mqtt
dedicated
Broker for a dedicated single-tenant instance.

AsyncAPI Specification

Raw ↑
asyncapi: 3.0.0
info:
  title: aedifion MQTT API
  version: '2'
  description: >-
    Event-driven interface to the aedifion.io building operations platform. The broker carries
    three topic families - building timeseries observations, semantic metadata, and control
    commands - namespaced by load-balancing group and project handle.


    PROVENANCE: aedifion publishes no AsyncAPI document. This description was GENERATED by API
    Evangelist from aedifion's own published MQTT specification at
    https://docs.aedifion.io/en/developers/mqtt-api/ - every host, port, topic pattern, payload
    format and QoS statement below is taken from that page. Nothing here is inferred beyond
    what the documentation states. It is a third-party rendering of a documented interface, not
    a contract aedifion ships.
  contact:
    name: aedifion GmbH
    url: https://www.aedifion.com/kontakt
    email: contact@aedifion.com
  externalDocs:
    description: aedifion MQTT API documentation
    url: https://docs.aedifion.io/en/developers/mqtt-api/
x-generated-by: API Evangelist enrichment pipeline
x-generated-from: documentation
x-source-url: https://docs.aedifion.io/en/developers/mqtt-api/
x-generated-date: '2026-09-09'
servers:
  cloud-mqtts:
    host: mqtt.aedifion.io:8883
    protocol: secure-mqtt
    protocolVersion: 3.1.1
    description: >-
      Native MQTT over TLS. Brokers accept only TLS 1.2 and TLS 1.3; plain TCP connections are
      rejected. Server certificates are issued by Let's Encrypt.
    security:
    - $ref: '#/components/securitySchemes/userPassword'
  cloud-wss:
    host: mqtt.aedifion.io:9001
    protocol: secure-mqtt
    protocolVersion: 3.1.1
    description: MQTT over WebSockets via TLS, for browser clients.
    security:
    - $ref: '#/components/securitySchemes/userPassword'
  dedicated:
    host: 'mqtt.{realm}.aedifion.io:8883'
    protocol: secure-mqtt
    protocolVersion: 3.1.1
    description: Broker for a dedicated single-tenant instance.
    variables:
      realm:
        description: The customer's dedicated realm name.
    security:
    - $ref: '#/components/securitySchemes/userPassword'
channels:
  timeseries:
    address: '{loadBalancingGroup}/{projectHandle}'
    title: Building timeseries observations
    description: >-
      Observation stream for a project. Messages must strictly adhere to InfluxDB Line
      Protocol. Publishing requires write access to the topic; subscribing requires read access.
    parameters:
      loadBalancingGroup:
        description: The load-balancing group assigned to the project. Also present on the
          Project resource in the HTTP API as load_balancing_group.
      projectHandle:
        description: The project's handle, as returned by the HTTP API Project resource.
    messages:
      observation:
        $ref: '#/components/messages/observation'
  metadata:
    address: 'META/{loadBalancingGroup}/{projectHandle}'
    title: Semantic metadata
    description: >-
      Metadata about datapoints and entities, as JSON. Messages may not exceed 1 MB. Two
      schemes exist - V1 is deprecated, V2 is current and uses an entity/mode/tags structure.
    parameters:
      loadBalancingGroup:
        description: The load-balancing group assigned to the project.
      projectHandle:
        description: The project's handle.
    messages:
      metadata:
        $ref: '#/components/messages/metadata'
  controls:
    address: 'CONTROLS/{loadBalancingGroup}/{projectHandle}'
    title: Control commands
    description: >-
      Setpoints and schedules, as JSON, using the SWOP protocol. This channel writes to physical
      building equipment.
    parameters:
      loadBalancingGroup:
        description: The load-balancing group assigned to the project.
      projectHandle:
        description: The project's handle.
    messages:
      control:
        $ref: '#/components/messages/control'
operations:
  publishObservation:
    action: send
    channel:
      $ref: '#/channels/timeseries'
    summary: Publish building telemetry into the platform.
    description: Requires write access to the topic. QoS 0, 1 and 2 are all supported.
    messages:
    - $ref: '#/channels/timeseries/messages/observation'
  subscribeObservation:
    action: receive
    channel:
      $ref: '#/channels/timeseries'
    summary: Subscribe to a project's live observation stream.
    description: Requires read access to the topic. MQTT hierarchical wildcards (+, #) apply.
    messages:
    - $ref: '#/channels/timeseries/messages/observation'
  publishMetadata:
    action: send
    channel:
      $ref: '#/channels/metadata'
    summary: Publish semantic metadata for datapoints and entities.
    messages:
    - $ref: '#/channels/metadata/messages/metadata'
  subscribeControls:
    action: receive
    channel:
      $ref: '#/channels/controls'
    summary: Receive setpoint and schedule commands for building equipment.
    messages:
    - $ref: '#/channels/controls/messages/control'
components:
  securitySchemes:
    userPassword:
      type: userPassword
      description: >-
        Username and password presented in the MQTT CONNECT packet, over TLS. Limited-validity
        credentials are minted through the HTTP API's MQTT user-management endpoints;
        unlimited-validity credentials are issued only on request by aedifion staff.
        Authorization is per-topic - read to subscribe, write to publish.
  messages:
    observation:
      name: observation
      title: Timeseries observation
      summary: One or more datapoint observations in InfluxDB Line Protocol.
      contentType: text/plain
      payload:
        type: string
        description: >-
          InfluxDB Line Protocol. The documented form is
          `datapoint value=<float> <nanosecond-timestamp>`. Multiple datapoints may be sent in
          a single message.
        examples:
        - 'bacnet100-4120-CO2 value=612.0 1757404800000000000'
    metadata:
      name: metadata
      title: Entity metadata
      summary: Semantic metadata for a datapoint or entity, JSON, max 1 MB.
      contentType: application/json
      payload:
        type: object
        description: >-
          Scheme V2 - entity/mode/tags structure. Scheme V1 is deprecated. aedifion does not
          publish a JSON Schema for either scheme, so the property set is not reproduced here
          rather than guessed.
    control:
      name: control
      title: Control command
      summary: Setpoint or schedule command, JSON, SWOP protocol.
      contentType: application/json
      payload:
        type: object
        description: >-
          SWOP protocol message. aedifion does not publish a JSON Schema for SWOP, so the
          property set is not reproduced here rather than guessed. See
          https://docs.aedifion.io/en/products/io/setpoints-and-schedules/protocol/

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/aedifion-mqtt-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.