aYOUne
← iot API

DeviceComponentDefinitions

Singular: DeviceComponentDefinition — Base-URL: https://iot.ayoune.app — Zugriff: CRUD

play_circle Jetzt ausprobieren beta

Requests werden über den consumer-app Proxy an *.ayoune.app weitergeleitet. Tokens bleiben im Browser und werden pro Call mitgesendet.

Beispiel-Response (aufgezeichnet) Beispiel

Eine echte, zuvor aufgezeichnete GET /:id-Antwort dieses Endpunkts — nicht der Live-Call oben. Sensible Felder sind maskiert.

{
  "payload": {
    "_id": "6a56039e82b264668afa1a27",
    "key": "bme280",
    "category": "sensor",
    "codegenBinding": {
      "driverKind": "builtin",
      "header": "bme280.h",
      "component": "bme280",
      "cfgType": "ayoune_bme280_cfg_t",
      "initFn": "ayoune_bme280_init",
      "readFn": "ayoune_bme280_read",
      "metaFields": [
        "temp_ch",
        "hum_ch",
        "pressure_ch"
      ],
      "defaultChannels": [
        {
          "name": "temp",
          "label": "Temperatur",
          "unit": "°C"
        },
        {
          "name": "hum",
          "label": "Luftfeuchte",
          "unit": "%"
        },
        {
          "name": "pressure",
          "label": "Luftdruck",
          "unit": "hPa"
        }
      ],
      "maxChannels": 3
    },
    "createdAt": "2026-07-14T09:38:38.421Z",
    "label": "BME280 Klimasensor",
    "paramsSchema": [
      {
        "key": "sda",
        "type": "pin",
        "required": true,
        "values": [],
        "path": "i2c.sda",
        "label": "I²C SDA"
      },
      {
        "key": "scl",
        "type": "pin",
        "required": true,
        "values": [],
        "path": "i2c.scl",
        "label": "I²C SCL"
      },
      {
        "key": "address",
        "type": "hex",
        "default": 118,
        "values": [],
        "path": "i2c.address",
        "label": "I²C-Adresse"
      },
      {
        "key": "i2c_port",
        "type": "int",
        "default": 0,
        "values": [],
        "path": "i2c.port",
        "label": "I²C-Port"
      },
      {
        "key": "with_pressure",
        "type": "bool",
        "default": true,
        "values": [],
        "path": "withPressure",
        "label": "Luftdruck messen"
      }
    ],
    "reviewState": "approved",
    "status": "published",
    "targetPlatform": "esp32",
    "updatedAt": "2026-07-14T09:38:38.421Z",
    "version": 1
  },
  "meta": {
    "links": [
      {
        "rel": "self",
        "href": "https://iot.ayoune.app/devicecomponentdefinitions/6a56039e82b264668afa1a27",
        "method": "get",
        "title": "GET",
        "types": [
          "application/json",
          "application/yaml",
          "text/csv"
        ]
      }
    ],
    "relations": [],
    "debugId": "6a62e51e79163975546245a8",
    "errors": [],
    "actions": [],
    "version": {
      "host": "2026.35.1",
      "core": "2026.258.0"
    },
    "rateLimit": {
      "limit": "2500",
      "remaining": "2415",
      "reset": "1784868468",
      "resetDate": "Fri Jul 24 2026"
    },
    "responseTime": 74.974612,
    "code": 200,
    "status": "success",
    "error": false
  }
}

Endpunkte

MethodePathBeschreibungRight
GET /devicecomponentdefinitions Liste mit Filtern/Paginierung iot.devicecomponentdefinitions.view
GET /devicecomponentdefinitions/:id Einzelner Datensatz iot.devicecomponentdefinitions.view
POST /devicecomponentdefinitions Neuen Datensatz erstellen iot.devicecomponentdefinitions.new
PUT /devicecomponentdefinitions Datensatz aktualisieren iot.devicecomponentdefinitions.edit
DELETE /devicecomponentdefinitions/:id Datensatz löschen iot.devicecomponentdefinitions.delete

SDK

import { aYOUne } from '@tolinax/ayoune';
const ay = new aYOUne('pat_your_token');

// Alle abrufen
const list = await ay.iot.deviceComponentDefinitions.find().limit(10).exec();

// Einzelnen Datensatz
const one = await ay.iot.deviceComponentDefinitions.findById('OBJECT_ID').exec();

// Erstellen
const created = await ay.iot.deviceComponentDefinitions.create({ name: 'Foo' });

Weiterführend