Skip to main content

Types & Configuration

This section describes Homsai’s cross‑cutting configuration entities: sensor and device types, load signatures, collected data types, and vendors associated with a plant.


Overview​

Homsai exposes several configuration “catalogs” that define how to interpret data and how to model devices and integrations:

These entities are used to:

  • classify sensors and devices correctly;
  • enable business logic and forecasts per category;
  • define which data types (W, kWh, °C, %) are collected;
  • manage integrations with external providers.

Sensor Types​

Sensor Types define the available sensor categories (e.g. power sensor, energy sensor, temperature sensor).

Main endpoints:

  • Create a sensor type

    • POST /sensor-types
    • Requires: SENSOR_TYPES CREATE permission.
  • Update a sensor type

    • PUT /sensor-types/{sensorTypeUuid}
    • Requires: SENSOR_TYPES UPDATE permission.
  • Delete a sensor type

    • DELETE /sensor-types/{sensorTypeUuid}
    • Requires: SENSOR_TYPES DELETE permission.
  • List sensor types

    • GET /sensor-types
    • Supports: pagination and search.
    • Requires: SENSOR_TYPES READ permission.
  • Get sensor type details

    • GET /sensor-types/{sensorTypeUuid}
    • Requires: SENSOR_TYPES READ permission.

Sensor Types are then referenced by individual sensors to define what they measure and how the system should interpret their values.


Device Types​

Device Types define device categories (e.g. INVERTER, BATTERY, HEAT_PUMP, EV_CHARGER).

Main endpoints:

  • Create a device type

    • POST /device-types
    • Requires: DEVICE_TYPES CREATE permission.
  • Update a device type

    • PUT /device-types/{deviceTypeUuid}
    • Requires: DEVICE_TYPES UPDATE permission.
  • Delete a device type

    • DELETE /device-types/{deviceTypeUuid}
    • Requires: DEVICE_TYPES DELETE permission.
  • List device types

    • GET /device-types
    • Supports: pagination and search.
    • Requires: DEVICE_TYPES READ permission.
  • Get device type details

    • GET /device-types/{deviceTypeUuid}
    • Requires: DEVICE_TYPES READ permission.

Assigning the correct type to each device is essential to:

  • drive views and filters;
  • apply category‑specific forecast logic (e.g. consumer‑only devices);
  • aggregate data by device category.

Load Signatures​

Load Signatures represent load profiles, i.e. typical energy consumption patterns for specific loads or devices.

Main endpoints:

  • Create a load signature

    • POST /load-signatures
    • Requires: LOAD_SIGNATURES CREATE permission.
  • Update a load signature

    • PUT /load-signatures/{loadSignatureUuid}
    • Requires: LOAD_SIGNATURES UPDATE permission.
  • Delete a load signature

    • DELETE /load-signatures/{loadSignatureUuid}
    • Requires: LOAD_SIGNATURES DELETE permission.
  • List load signatures

    • GET /load-signatures
    • Supports: pagination, search, includeRelationships.
    • Requires: LOAD_SIGNATURES READ permission.
  • Get load signature details

    • GET /load-signatures/{loadSignatureUuid}
    • Parameters: includeRelationships.
    • Requires: LOAD_SIGNATURES READ permission.

Load Signatures can be used by analytics and forecasting algorithms to identify consumption patterns and estimate loads that are not directly measured.


Data Types Collects​

Data Types Collects define which data types can be collected by sensors (e.g. W, kWh, °C, %, W/m²).

Main endpoint:

  • List data types collects
    • GET /data-types-collects
    • Supports: pagination and search.
    • Requires: DATA_TYPES_COLLECT READ permission.

These entries are associated with sensors to indicate:

  • which measurements they provide (e.g. only power, power + energy, temperature, state of charge);
  • how they should be aggregated and displayed (power charts, energy charts, status indicators, etc.).

Vendors​

Vendors represent vendors/integrations that can be configured for a plant (device brands, external platforms, etc.).

Main endpoint:

  • List vendors for a plant
    • GET /plants/{plantUuid}/vendors
    • Parameters:
      • mode:
        • config → vendors already configured for the plant;
        • not_config → vendors available but not yet configured;
      • search for text filtering;
      • pagination parameters (page, size, sort).
    • Requires: valid JWT (with permissions consistent with plant visibility).

This API is useful to:

  • show which integrations are already active on a plant;
  • guide users through enabling new vendors or services.