Skip to content
aYOUne
← iot API

DeviceComponentDefinitions

Singular: DeviceComponentDefinition — Base URL: https://iot.ayoune.app — Access: CRUD — Machine-readable spec (JSON · YAML)

Try it now beta

Requests are proxied through the consumer-app to *.ayoune.app. Tokens stay in your browser and are forwarded per call.

Example response (recorded) sample

A real, previously recorded GET /:id response of this endpoint — not the live call above. Sensitive fields are masked.

{
  "payload": {
    "_id": "6aa7ebf1d590f2e15fd4c2e4",
    "key": "bh1750",
    "category": "sensor",
    "codegenBinding": {
      "driverKind": "builtin",
      "header": "bh1750.h",
      "component": "bh1750",
      "cfgType": "ayoune_bh1750_cfg_t",
      "initFn": "ayoune_bh1750_init",
      "readFn": "ayoune_bh1750_read",
      "metaFields": [
        "light_ch"
      ],
      "defaultChannels": [
        {
          "name": "light_lux",
          "label": "Helligkeit",
          "unit": "lx"
        }
      ],
      "maxChannels": 1
    },
    "createdAt": "2026-09-14T12:43:29.441Z",
    "label": "BH1750 Helligkeit (ESP32)",
    "measures": [
      {
        "key": "light_lux",
        "unit": "lx",
        "kind": "number",
        "aggregation": "avg",
        "label": "Helligkeit"
      }
    ],
    "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": 35,
        "values": [],
        "path": "i2c.address",
        "label": "I²C-Adresse"
      },
      {
        "key": "i2c_port",
        "type": "int",
        "default": 0,
        "values": [],
        "path": "i2c.port",
        "label": "I²C-Port"
      }
    ],
    "reviewState": "approved",
    "shares": [],
    "status": "published",
    "surfaces": {
      "live": "value",
      "config": false
    },
    "targetPlatform": "esp32",
    "updatedAt": "2026-10-06T07:23:52.276Z",
    "version": 6
  },
  "meta": {
    "links": [
      {
        "rel": "self",
        "href": "https://iot.ayoune.app/devicecomponentdefinitions/6aa7ebf1d590f2e15fd4c2e4",
        "method": "get",
        "title": "GET",
        "types": [
          "application/json",
          "application/yaml",
          "text/csv"
        ]
      }
    ],
    "relations": [],
    "debugId": "6adece36c2252ba8951b75f8",
    "errors": [],
    "actions": [],
    "version": {
      "host": "2026.46.0",
      "core": "2026.388.0"
    },
    "rateLimit": {
      "limit": "10000",
      "remaining": "9952",
      "reset": "1792989373",
      "resetDate": "Mon Oct 26 2026"
    },
    "responseTime": 25.24659,
    "code": 200,
    "status": "success",
    "error": false
  }
}

Endpoints

MethodPathDescriptionRight
GET /devicecomponentdefinitions List with filters/pagination iot.devicecomponentdefinitions.view
GET /devicecomponentdefinitions/:id Single record iot.devicecomponentdefinitions.view
POST /devicecomponentdefinitions Create new record iot.devicecomponentdefinitions.new
PUT /devicecomponentdefinitions Update record iot.devicecomponentdefinitions.edit
DELETE /devicecomponentdefinitions/:id Delete record iot.devicecomponentdefinitions.delete

SDK

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

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

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

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

See also