Skip to content

Profiles

Profiles are a way of introducing user-defined data to devices and folders.

A profile is defining fields and validations, while profile-data will hold the concrete values for the fields.

Profiles can be filled with data for folders (formerly tags) or devices.

Fields

Field Type Description
id uuid Id of profile
name string Name of profile
slug string Technical name of profile
fields Profile.Field Field definitions in profile
limit_to string Limitation to folders and/or devices
inserted_at ISO8601 ISO 8601 String of the time the profile was created
updated_at ISO8601 ISO 8601 String of the time the profile was created

Associations

Association Cardinality Foreign Entity Description Can preload
mandate one Mandates Mandate of profile

Fields map

Profiles and ProfileData can be combined to a easy to use map structured like this:

{
  "<profile 1 technical name>": {
    "<field 1 technical name>": "<field 1 data>",
    "<field 2 technical name>": "<field 2 data>"
  }, 
  "<profile 2 technical name>": {
    "<field 1 technical name>": "<field 1 data>",
    "<field 2 technical name>": "<field 2 data>"
  }
}

A real-world-example that can be found in a device or folder:

{
  "address": {
    "street": "Mainstreet",
    "housenumber": "123"
  }, 
  "distance_sensor": {
    "min_distance_cm": "10",
    "max_distance_cm": "1000"
  }
}