COSMOPlat IoT Telemetry (MQTT)

The MQTT publish/subscribe surface of the COSMOPlat IoT development platform, documented in 数据流转引擎 (data flow engine). Devices publish telemetry to iot.cosmoplat.com:1883 on v1/devices/me/telemetry; tenants subscribe to iot-mqtt.cosmoplat.com:11883 on tgwl/telemetry/{enterpriseId}/# authenticating with the enterprise ID and enterprise secret.

AsyncAPI Specification

cosmoplat-iot-telemetry-asyncapi.yml Raw ↑
asyncapi: 3.0.0
info:
  title: COSMOPlat IoT Telemetry (MQTT)
  version: '1'
  description: |
    Machine-readable transcription of the COSMOPlat 物联开发平台 (IoT development platform)
    数据流转引擎 / "data flow engine" documentation published at
    https://www.cosmoplat.com/help/detail/304/1064

    That page publishes the broker hosts and ports, the credential model, the topic
    address patterns and a verbatim example message payload. COSMOPlat does not publish
    an AsyncAPI document anywhere on cosmoplat.com; this document transcribes the
    published prose so a machine can read the same surface.

    GAPS THE PROVIDER HAS NOT PUBLISHED (left empty here rather than guessed):
      * No TLS/secure MQTT port is documented — only plaintext 1883 and 11883.
      * No per-product telemetry point schema is published; payload `data` is an open
        object whose keys are the thing-model telemetry point identifiers (测点标识)
        configured per product in 设备管理 › 产品管理.
      * No QoS/retention/ordering guarantees are stated beyond the QoS 0 example.
  contact:
    name: COSMOPlat
    email: market@cosmoplat.com
    url: https://www.cosmoplat.com/help
  externalDocs:
    description: 数据流转引擎 (data flow engine)
    url: https://www.cosmoplat.com/help/detail/304/1064
  x-provenance:
    authored_by: API Evangelist (catalog-authored)
    method: generated
    source: https://www.cosmoplat.com/help/detail/304/1064
    generated: '2026-08-11'
    note: >-
      Transcribed from the provider's published HTML documentation. COSMOPlat does not
      publish an AsyncAPI document; this is not a provider artifact. Re-harvest and
      replace verbatim if COSMOPlat ever serves one.
servers:
  tenantSubscribe:
    host: 'iot-mqtt.cosmoplat.com:11883'
    protocol: mqtt
    description: >-
      Tenant-facing subscription broker. Authenticate with the enterprise ID as the MQTT
      username and the enterprise secret as the password, both obtained from 企业中心
      (enterprise center) after signing in to the IoT platform. The transport component
      must be activated by the platform system administrator first.
    security:
      - $ref: '#/components/securitySchemes/enterpriseCredentials'
  deviceIngest:
    host: 'iot.cosmoplat.com:1883'
    protocol: mqtt
    description: >-
      Device-facing ingest broker. Devices publish telemetry here on the ThingsBoard-style
      v1/devices/me/telemetry topic.
channels:
  tenantTelemetryAll:
    address: 'tgwl/telemetry/{enterpriseId}/#'
    title: All device telemetry for a tenant
    description: >-
      Wildcard subscription delivering telemetry for every device belonging to the
      enterprise (tenant).
    servers:
      - $ref: '#/servers/tenantSubscribe'
    parameters:
      enterpriseId:
        description: 企业ID — the enterprise (tenant) identifier from 企业中心.
        examples:
          - 9a98aa30-575f-11ee-bb48-35cc84b1728f
    messages:
      telemetryEnvelope:
        $ref: '#/components/messages/telemetryEnvelope'
  tenantTelemetryByProduct:
    address: 'tgwl/telemetry/{enterpriseId}/{productIdentifier}'
    title: Device telemetry for one product
    description: >-
      Subscription delivering telemetry for the devices under a single product. The
      product identifier (产品标识) is read from 设备管理 › 产品管理.
    servers:
      - $ref: '#/servers/tenantSubscribe'
    parameters:
      enterpriseId:
        description: 企业ID — the enterprise (tenant) identifier from 企业中心.
        examples:
          - 9a98aa30-575f-11ee-bb48-35cc84b1728f
      productIdentifier:
        description: 产品标识 — the product identifier shown in 设备管理 › 产品管理.
        examples:
          - Product_k0o3xPUt1K
    messages:
      telemetryEnvelope:
        $ref: '#/components/messages/telemetryEnvelope'
  deviceTelemetry:
    address: v1/devices/me/telemetry
    title: Device telemetry publish
    description: >-
      Topic a connected device publishes its own telemetry on. Each key in the payload
      must match a telemetry point identifier (测点标识) defined on the device's thing
      model, otherwise the value is not delivered to subscribers.
    servers:
      - $ref: '#/servers/deviceIngest'
    messages:
      telemetryPoints:
        $ref: '#/components/messages/telemetryPoints'
operations:
  receiveTenantTelemetryAll:
    action: receive
    channel:
      $ref: '#/channels/tenantTelemetryAll'
    summary: Subscribe to all telemetry for the tenant.
  receiveTenantTelemetryByProduct:
    action: receive
    channel:
      $ref: '#/channels/tenantTelemetryByProduct'
    summary: Subscribe to telemetry for one product's devices.
  sendDeviceTelemetry:
    action: send
    channel:
      $ref: '#/channels/deviceTelemetry'
    summary: Publish telemetry from a device.
components:
  securitySchemes:
    enterpriseCredentials:
      type: userPassword
      description: >-
        MQTT username = 企业ID (enterprise ID); MQTT password = 企业密钥 (enterprise
        secret). Both are issued in 企业中心 on the IoT platform.
  messages:
    telemetryEnvelope:
      name: telemetryEnvelope
      title: Telemetry envelope delivered to tenant subscribers
      contentType: application/json
      payload:
        type: object
        properties:
          data:
            type: object
            description: >-
              The payload the device published, keyed by thing-model telemetry point
              identifier (测点标识).
            additionalProperties: true
          version:
            type: string
            description: Envelope version. The documented example carries "1".
          deviceId:
            type: string
            description: Identifier of the device that published the telemetry.
          ts:
            type: integer
            description: Epoch milliseconds timestamp.
      examples:
        - name: documentedExample
          summary: Verbatim example from 数据流转引擎 › 订阅消息内容说明
          payload:
            data:
              x: 223
            version: '1'
            deviceId: 4f1076d0-5785-11ee-bb48-35cc84b1728f
            ts: 1695194110372
    telemetryPoints:
      name: telemetryPoints
      title: Raw telemetry published by a device
      contentType: application/json
      payload:
        type: object
        description: >-
          Flat object whose keys are thing-model telemetry point identifiers (测点标识).
        additionalProperties: true
      examples:
        - name: documentedExample
          summary: Verbatim example from 数据流转引擎 › 发送遥测数据并订阅消息
          payload:
            x: '223'