This page provides an overview of all MQTT topics which can be utilized for data submission (e.g. measurements taken by sensors which should be stored within DRIVR) or listening for commands triggered within the cloud and which your device should perform (e.g. adjust heating temperature of your HVAC system to 20*C). This allows you to retrieve System and Component information, Create Datapoint/Setpoint and Read/Acknowledge Setpoint within DRIVR. This can be used for debugging and error handling purposes as DRIVR will return error messages which might occur.
PLEASE NOTE: For comprehensive explanations of terms such as Domain, System, Component, Event, Service, Characteristic, and others used in this document, please refer to Terms.
DRIVR MQTT Broker
Subscribe for updates on the System using its systemUuid within a given domain. A System serves as a logical group of one or more IoT components which are usually positioned at the same geographic location and serve a common system function in DRIVR. A systemUuid is a unique identifier for a system.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
Information about a System within a DRIVR Domain. Information is retained until the System is deleted.
{
"uuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"code": "my-awesome-machine-device-conglomarate.example.com",
"name": "World domination device",
"description": "This system will make me rich.",
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"status": "ACTIVATED",
"metadata": {
"property1": "string",
"property2": "string"
},
"domainUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"ownerUuid": "52319891-c130-43bd-93ff-bad42f464c84",
"createdAt": "2021-08-06T13:13:06.136333+00:00",
"updatedAt": "2021-08-06T14:39:44.368252+00:00"
}
Subscribe for updates on the Component using the componentCode within the System and the systemUuid within a given domain. A Component is an entity belonging to a System that represents an actual device that sends and receives data. Examples of components are devices, gateways, modules, parts or virtual devices. A componentCode is a unique identifier for a component within a system.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
Accepts the following message:
General information about a Component within a DRIVR System.
{
"uuid": "993d991e-5ac6-4f1e-be43-be82346f3f88",
"code": "death-star-laser",
"name": "The death star laser",
"metadata": {
"property1": "string",
"property2": "string"
},
"componentModel": {
"uuid": "64665d2f-caf9-4976-8c0c-8a4493f5c951",
"code": "death-star-laser-plan",
"isConnective": true
},
"firmware": {
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"version": "1.0.0",
"name": "Death Star Laser Firmware"
},
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"systemUuid": "e9423b70-9ded-4c85-8593-111ac872603e",
"status": "ACTIVATED",
"createdAt": "2021-08-06T13:13:06.136333+00:00",
"updatedAt": "2021-08-06T14:39:44.368252+00:00"
}
Subscribe for updates on the current value of the referenced characteristic(characteristicUuid) of the service(serviceCode) of the component(componentCode) in the system(systemUuid) within the given domain. A Service groups multiple characteristics and defines a specific function of a device. The dp i.e Datapoint is the measurement data sent from the device to DRIVR. For example, a Component like smart socket has a Service like State Monitoring may include multiple characteristics like State , Current timestamp and the values for those characteristics like “ON” at 12:00 PM yesterday will be datapoints. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
A uniquely identifiable code of a Service within a DRIVR Domain.
The index of a Service referenced when adding a Service to a ComponentModel in DRIVR.
A uniquely identifiable code of a Characteristic within a Service.
Accepts the following message:
A Datapoint which is published for a specific Characteristic within a Component.
The message structure which DRIVR sends if a Datapoint has been sent from a System.
{
"timeStreamUuid": "1e75b89a-810d-4d28-83f8-fffacae4cfad",
"time": "2019-08-24T14:15:22Z",
"value": null
}
Subscribe for updates on the current value of the referenced characteristic(characteristicUuid) of the service(serviceCode) of the component(componentCode) in the system(systemUuid) within the given domain. The dp i.e Datapoint is the measurement data sent from the device to DRIVR. For example, a Component like smart socket has a Service like State Monitoring may include multiple characteristics like State , Current timestamp and the values for those characteristics like “ON” at 12:00 PM yesterday will be datapoints. A msgpack is a binary format which is smaller and faster than JSON. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
A uniquely identifiable code of a Service within a DRIVR Domain.
The index of a Service referenced when adding a Service to a ComponentModel in DRIVR.
A uniquely identifiable code of a Characteristic within a Service.
Accepts the following message:
A Datapoint which is published for a specific Characteristic within a Component.
The message structure which DRIVR sends if a Datapoint has been sent from a System.
{
"timeStreamUuid": "1e75b89a-810d-4d28-83f8-fffacae4cfad",
"time": "2019-08-24T14:15:22Z",
"value": null
}
Subscribe for updates on the current request to change a setting of the referenced characteristic(characteristicCode) of the service(serviceCode) of the component(componentCode) within a system(systemUuid) in a given domain. A sp (i.e Setpoint) is a value set by a user or an application to change the state of a device. A receiptId is a unique identifier for a setpoint.
For example, a Component like Temperature Sensor has a Service like Temperature Monitoring may include multiple characteristics like Temperature, Current timestamp and the value set are Set "20 Degrees" at 12:00 PM Today will be Setpoint. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
A uniquely identifiable code of a Service within a DRIVR Domain.
The index of a Service referenced when adding a Service to a ComponentModel in DRIVR.
A uniquely identifiable code of a Characteristic within a Service.
The receipt ID of a Setpoint within DRIVR used by a System to report back once the Setting change request on a TimeStream has been done.
Accepts the following message:
A Setpoint for a specific Characteristic within a Service and Component.
The message structure which DRIVR sends if a Setpoint has been sent from a System.
{
"timeStreamUuid": "1e75b89a-810d-4d28-83f8-fffacae4cfad",
"value": null,
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Subscribe for updates on the current request to change a setting of the referenced characteristic(characteristicCode) of the service(serviceCode) of the component(componentCode) within a system(systemUuid) in a given domain. A sp (i.e Setpoint) is a value set by a user or an application to change the state of a device. For example, a Component like Temperature Sensor has a Service like Temperature Monitoring may include multiple characteristics like Temperature, Timestamp and the value set are Set "20 Degrees" at 12:00 PM Today will be Setpoint. The data payload is expected to be in the msgpack format. Emits payloads encoded as msgpack.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
A uniquely identifiable code of a Service within a DRIVR Domain.
The index of a Service referenced when adding a Service to a ComponentModel in DRIVR.
A uniquely identifiable code of a Characteristic within a Service.
The receipt ID of a Setpoint within DRIVR used by a System to report back once the Setting change request on a TimeStream has been done.
Accepts the following message:
A Setpoint for a specific Characteristic within a Service and Component.
The message structure which DRIVR sends if a Setpoint has been sent from a System.
{
"timeStreamUuid": "1e75b89a-810d-4d28-83f8-fffacae4cfad",
"value": null,
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Subscribe for updates on the current state of a Setpoint change, for a characteristic(characteristicCode) within a service(serviceCode) for a component(componentCode) within a system(systemUuid) in a given domain. A receiptId is a unique identifier for a setpoint. A state of the setpoint can be CREATED, REJECTED, ACCEPTED.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
A uniquely identifiable code of a Service within a DRIVR Domain.
The index of a Service referenced when adding a Service to a ComponentModel in DRIVR.
A uniquely identifiable code of a Characteristic within a Service.
The receipt ID of a Setpoint within DRIVR used by a System to report back once the Setting change request on a TimeStream has been done.
Accepts the following message:
A state change of a Setpoint for a specific Characteristic within a Service and Component.
The payload of a Setpoint state change.
{
"state": "CREATED",
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Subscribe for updates on the current state of a Setpoint change for a characteristic(characteristicCode) within a service(serviceCode) for a component(componentCode) within a system(systemUuid) within a given domain. A receiptId is a unique identifier for a setpoint. A state of the setpoint can be CREATED, REJECTED, ACCEPTED. Emits the payload encoded as msgpack.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
A uniquely identifiable code of a Service within a DRIVR Domain.
The index of a Service referenced when adding a Service to a ComponentModel in DRIVR.
A uniquely identifiable code of a Characteristic within a Service.
The receipt ID of a Setpoint within DRIVR used by a System to report back once the Setting change request on a TimeStream has been done.
Accepts the following message:
A state change of a Setpoint for a specific Characteristic within a Service and Component.
The payload of a Setpoint state change.
{
"state": "CREATED",
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Subscribe for updates on when a message has been published during a Setpoint(receiptId) change for a characteristic(characteristicCode) within a service(serviceCode) for a component(componentCode) within a system(systemUuid) within a given domain. A message is a statement or information which is sent to indicate a change in state or a specific occurrence. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
A uniquely identifiable code of a Service within a DRIVR Domain.
The index of a Service referenced when adding a Service to a ComponentModel in DRIVR.
A uniquely identifiable code of a Characteristic within a Service.
The receipt ID of a Setpoint within DRIVR used by a System to report back once the Setting change request on a TimeStream has been done.
Accepts the following message:
A message for a Setpoint for a specific Characteristic within a Service and Component.
An optional message to add to the receipt of a Setpoint.
{
"message": "Unrestricted submarine warfare is not allowed by international law.",
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Subscribe for updates on when a message has been published during a Setpoint(receiptId) change for a characteristic(characteristicCode) within a service(serviceCode) for a component(componentCode) within a system(systemUuid) within a given domain. A message is a statement or information which is sent to indicate a change in state or a specific occurrence. Publishes the payload encoded as msgpack.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
A uniquely identifiable code of a Service within a DRIVR Domain.
The index of a Service referenced when adding a Service to a ComponentModel in DRIVR.
A uniquely identifiable code of a Characteristic within a Service.
The receipt ID of a Setpoint within DRIVR used by a System to report back once the Setting change request on a TimeStream has been done.
Accepts the following message:
A message for a Setpoint for a specific Characteristic within a Service and Component.
An optional message to add to the receipt of a Setpoint.
{
"message": "Unrestricted submarine warfare is not allowed by international law.",
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Publish Datapoints(i.e dp) by Connectors. Only entities which are allowed to manipulate a complete Domain can use this topic. This topic is intended for other Applications which are sending data from multiple Systems. Compared to adding the issuerUuid in the topic it can be added in the payload. If not set, issuerUuid will not be recorded or set. The data payload is expected to be JSON.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
The payload to be processed by DRIVR to import Datapoints on the global MQTT endpoints. Allows to additionally record an issuerUuid in the payload and is intended for Connectors and mass data processing.
Following table outlines all possible combinations of required and optional parameters for creating a datapoint, ensuring that all necessary attributes are included for successful data submission
| Field | Combo 1 | Combo 2 | Combo 3 | Combo 4 | Combo 5 | Combo 6 | Combo 7 | Combo 8 | Combo 9 |
|---|---|---|---|---|---|---|---|---|---|
| timeStreamUuid | ✓ | ||||||||
| system(Uuid|Code) | ○ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| characteristicUuid | ✓ | ✓ | ✓ | ✓ | |||||
| characteristicCode | ✓ | ✓ | ✓ | ✓ | |||||
| componentUuid | ✓ | ✓ | ✓ | ||||||
| componentCode | ✓ | ✓ | ✓ | ✓ | |||||
| serviceUuid | ✓ | ✓ | |||||||
| serviceCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| value | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| time | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| uuid | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| serviceIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Sending a single `Datapoint` with a `timeStreamUuid` and for a `Characteristic` of type `INTEGER` with a fixed `time` and a set `issuerUuid`.
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"value": 42,
"time": "2021-08-06T13:13:06.136333+00:00",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4"
}
Sending a single `Datapoint` with a `TimeStream` looked up by `codes`, with a `Characteristic` of type `SELECT`, and no `time` provided. Not sending the issuer so it is auto selected.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
}
Sending a single `Datapoint` with a `TimeStream` looked up by `Characteristic`, `Component`, `Service` `UUIDs` of type `STRING` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"value": "my-string-value"
}
Sending a `Datapoint` all for the same `Component` but with multiple values for different `Characteristics` and `Services`.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"data": [
{
"serviceCode": "battery-management",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"data": [
{
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
},
{
"characteristicCode": "input-voltage",
"value": 228
},
{
"characteristicCode": "maximum-input",
"value": 100
},
{
"characteristicCode": "user-information",
"value": "Not using energy from the battery"
}
]
},
{
"serviceCode": "energy-input",
"data": [
{
"characteristicCode": "disabled",
"value": true
}
]
}
]
}
Filling the same `Datapoints` with timed `values` for a `Characteristic` of type `FLOAT` in for historic back propagation.
{
"timeStreamUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"data": [
{
"time": "2021-08-06T13:00:00",
"issuerUuid": "9208a61c-a1ee-4d00-a334-35300d6d029b",
"value": 42
},
{
"time": "2021-08-06T14:00:00",
"issuerUuid": "8c59901a-afae-45ee-9aa5-e6f690c1c65e",
"value": 46
},
{
"time": "2021-08-06T15:00:00",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": 48
}
]
}
Sending multiple `Datapoints` with different configurations in one message.
[
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": 42,
"time": "2021-08-06T13:13:06.136333+00:00"
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "operation-mode",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": [
"energy-saving"
]
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": "my-string-value"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish Datapoints(i.e dp) by Connectors. Only entities which are allowed to manipulate a complete Domain can use this topic. This topic is intended for other Applications which are sending data from multiple Systems. Compared to adding the issuerUuid in the topic it can be added in the payload. If not set, issuerUuid will not be recorded or set. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
The payload to be processed by DRIVR to import Datapoints on the global MQTT endpoints. Allows to additionally record an issuerUuid in the payload and is intended for Connectors and mass data processing.
Following table outlines all possible combinations of required and optional parameters for creating a datapoint, ensuring that all necessary attributes are included for successful data submission
| Field | Combo 1 | Combo 2 | Combo 3 | Combo 4 | Combo 5 | Combo 6 | Combo 7 | Combo 8 | Combo 9 |
|---|---|---|---|---|---|---|---|---|---|
| timeStreamUuid | ✓ | ||||||||
| system(Uuid|Code) | ○ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| characteristicUuid | ✓ | ✓ | ✓ | ✓ | |||||
| characteristicCode | ✓ | ✓ | ✓ | ✓ | |||||
| componentUuid | ✓ | ✓ | ✓ | ||||||
| componentCode | ✓ | ✓ | ✓ | ✓ | |||||
| serviceUuid | ✓ | ✓ | |||||||
| serviceCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| value | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| time | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| uuid | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| serviceIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Sending a single `Datapoint` with a `timeStreamUuid` and for a `Characteristic` of type `INTEGER` with a fixed `time` and a set `issuerUuid`.
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"value": 42,
"time": "2021-08-06T13:13:06.136333+00:00",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4"
}
Sending a single `Datapoint` with a `TimeStream` looked up by `codes`, with a `Characteristic` of type `SELECT`, and no `time` provided. Not sending the issuer so it is auto selected.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
}
Sending a single `Datapoint` with a `TimeStream` looked up by `Characteristic`, `Component`, `Service` `UUIDs` of type `STRING` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"value": "my-string-value"
}
Sending a `Datapoint` all for the same `Component` but with multiple values for different `Characteristics` and `Services`.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"data": [
{
"serviceCode": "battery-management",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"data": [
{
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
},
{
"characteristicCode": "input-voltage",
"value": 228
},
{
"characteristicCode": "maximum-input",
"value": 100
},
{
"characteristicCode": "user-information",
"value": "Not using energy from the battery"
}
]
},
{
"serviceCode": "energy-input",
"data": [
{
"characteristicCode": "disabled",
"value": true
}
]
}
]
}
Filling the same `Datapoints` with timed `values` for a `Characteristic` of type `FLOAT` in for historic back propagation.
{
"timeStreamUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"data": [
{
"time": "2021-08-06T13:00:00",
"issuerUuid": "9208a61c-a1ee-4d00-a334-35300d6d029b",
"value": 42
},
{
"time": "2021-08-06T14:00:00",
"issuerUuid": "8c59901a-afae-45ee-9aa5-e6f690c1c65e",
"value": 46
},
{
"time": "2021-08-06T15:00:00",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": 48
}
]
}
Sending multiple `Datapoints` with different configurations in one message.
[
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": 42,
"time": "2021-08-06T13:13:06.136333+00:00"
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "operation-mode",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": [
"energy-saving"
]
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": "my-string-value"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish Datapoints(i.e dp) by Connectors. Only entities which are allowed to manipulate a complete Domain can use this topic. This topic is intended for other Applications which are sending data from multiple Systems. Compared to adding the issuerUuid in the topic it can be added in the payload. If not set, issuerUuid will not be recorded or set. The data payload is expected to be JSON.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The payload to be processed by DRIVR to import Datapoints on the global MQTT endpoints.
Following table outlines all possible combinations of required and optional parameters for creating a datapoint, ensuring that all necessary attributes are included for successful data submission
| Field | Combo 1 | Combo 2 | Combo 3 | Combo 4 | Combo 5 | Combo 6 | Combo 7 | Combo 8 | Combo 9 |
|---|---|---|---|---|---|---|---|---|---|
| timeStreamUuid | ✓ | ||||||||
| system(Uuid|Code) | ○ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| characteristicUuid | ✓ | ✓ | ✓ | ✓ | |||||
| characteristicCode | ✓ | ✓ | ✓ | ✓ | |||||
| componentUuid | ✓ | ✓ | ✓ | ||||||
| componentCode | ✓ | ✓ | ✓ | ✓ | |||||
| serviceUuid | ✓ | ✓ | |||||||
| serviceCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| value | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| time | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| uuid | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| serviceIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Sending a single `Datapoint` with a `timeStreamUuid` and for a `Characteristic` of type `INTEGER` with a fixed time.
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"value": 42,
"time": "2021-08-06T13:13:06.136333+00:00"
}
Sending a single `Datapoint` with a `TimeStream` looked up by `codes`, with a `Characteristic` of type `SELECT`, and no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
}
Sending a single `Datapoint` with a `TimeStream` looked up by `Characteristic`, `Component`, `Service` `UUIDs` of type `STRING` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"value": "my-string-value"
}
Sending a `Datapoint` all for the same `Component` but with multiple values for different `Characteristics` and `Services`.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"data": [
{
"serviceCode": "battery-management",
"data": [
{
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
},
{
"characteristicCode": "charge-mode",
"value": [
"disabled"
]
},
{
"characteristicCode": "maximum-input",
"value": 100
},
{
"characteristicCode": "user-information",
"value": "Not using energy from the battery"
}
]
},
{
"serviceCode": "energy-input",
"data": [
{
"characteristicCode": "disabled",
"value": true
}
]
}
]
}
Filling the same `Datapoints` with timed `values` for a `Characteristic` of type `FLOAT` in for historic back propagation.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"timeStreamUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"data": [
{
"time": "2021-08-06T13:00:00",
"value": 42
},
{
"time": "2021-08-06T14:00:00",
"value": 46
},
{
"time": "2021-08-06T15:00:00",
"value": 48
}
]
}
Sending multiple `Datapoints` with different configurations in one message.
[
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"value": 42,
"time": "2021-08-06T13:13:06.136333+00:00"
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"value": "my-string-value"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish Datapoints(i.e dp) for Connectors. Only entities which are allowed to manipulate a complete Domain can use this topic. This topic is intended for other Applications which are sending data from multiple Systems. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The payload to be processed by DRIVR to import Datapoints on the global MQTT endpoints.
Following table outlines all possible combinations of required and optional parameters for creating a datapoint, ensuring that all necessary attributes are included for successful data submission
| Field | Combo 1 | Combo 2 | Combo 3 | Combo 4 | Combo 5 | Combo 6 | Combo 7 | Combo 8 | Combo 9 |
|---|---|---|---|---|---|---|---|---|---|
| timeStreamUuid | ✓ | ||||||||
| system(Uuid|Code) | ○ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| characteristicUuid | ✓ | ✓ | ✓ | ✓ | |||||
| characteristicCode | ✓ | ✓ | ✓ | ✓ | |||||
| componentUuid | ✓ | ✓ | ✓ | ||||||
| componentCode | ✓ | ✓ | ✓ | ✓ | |||||
| serviceUuid | ✓ | ✓ | |||||||
| serviceCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| value | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| time | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| uuid | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| serviceIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Sending a single `Datapoint` with a `timeStreamUuid` and for a `Characteristic` of type `INTEGER` with a fixed time.
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"value": 42,
"time": "2021-08-06T13:13:06.136333+00:00"
}
Sending a single `Datapoint` with a `TimeStream` looked up by `codes`, with a `Characteristic` of type `SELECT`, and no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
}
Sending a single `Datapoint` with a `TimeStream` looked up by `Characteristic`, `Component`, `Service` `UUIDs` of type `STRING` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"value": "my-string-value"
}
Sending a `Datapoint` all for the same `Component` but with multiple values for different `Characteristics` and `Services`.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"data": [
{
"serviceCode": "battery-management",
"data": [
{
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
},
{
"characteristicCode": "charge-mode",
"value": [
"disabled"
]
},
{
"characteristicCode": "maximum-input",
"value": 100
},
{
"characteristicCode": "user-information",
"value": "Not using energy from the battery"
}
]
},
{
"serviceCode": "energy-input",
"data": [
{
"characteristicCode": "disabled",
"value": true
}
]
}
]
}
Filling the same `Datapoints` with timed `values` for a `Characteristic` of type `FLOAT` in for historic back propagation.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"timeStreamUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"data": [
{
"time": "2021-08-06T13:00:00",
"value": 42
},
{
"time": "2021-08-06T14:00:00",
"value": 46
},
{
"time": "2021-08-06T15:00:00",
"value": 48
}
]
}
Sending multiple `Datapoints` with different configurations in one message.
[
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"value": 42,
"time": "2021-08-06T13:13:06.136333+00:00"
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "operation-mode",
"value": [
"energy-saving"
]
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"value": "my-string-value"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish Setpoints(i.e sp) for Connectors. Only Connectors can use this topic as they are allowed to impersonate (via passed issuerUuid) the person who send the request. This topic is intended for other Applications which send data commissioned by one ore multiple Systems. Compared to adding the issuerUuid in the topic it can be added in the payload. If not set, the issuerUuid will not be recorded or set. The data payload is expected to be JSON.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
The payload to be processed by DRIVR recording an intent by a User to change a SETTING Characteristic in DRIVR. It allows to set who this intent has been initiated by with a passed issuerUuid.
Following table outlines all possible combinations of required and optional parameters for creating a setpoint, ensuring that all necessary attributes are included for successful data submission
| Field | Combo 1 | Combo 2 | Combo 3 | Combo 4 | Combo 5 | Combo 6 | Combo 7 | Combo 8 | Combo 9 |
|---|---|---|---|---|---|---|---|---|---|
| timeStreamUuid | ✓ | ||||||||
| system(Uuid|Code) | ○ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| characteristicUuid | ✓ | ✓ | ✓ | ✓ | |||||
| characteristicCode | ✓ | ✓ | ✓ | ✓ | |||||
| componentUuid | ✓ | ✓ | ✓ | ||||||
| componentCode | ✓ | ✓ | ✓ | ✓ | |||||
| serviceUuid | ✓ | ✓ | |||||||
| serviceCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| value | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| time | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| uuid | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| serviceIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Sending a single `Setpoint` with a `timeStreamUuid` and for a `Characteristic` of type `INTEGER` with a fixed time and a set `issuerUuid`.
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"issuerUuid": "fdb14040-be0c-48a2-af34-673b0a3076d7",
"value": 42
}
Sending a single `Setpoint` with a `TimeStream` looked up by `codes` and on a `Characteristic` of type `SELECT` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "preferred-operation-modes",
"value": [
"full-power-output",
"keep-battery-charged",
"disaster-mode-for-apocalyptic-parties"
]
}
Sending a single `Setpoint` with a `TimeStream` looked up by `Characteristic`, `Component`, `Service` `UUIDs` of type `STRING` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"value": "my-string-value"
}
Sending a `Setpoint` all for the same `Component` but with multiple values for different `Characteristics` and `Services`.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"data": [
{
"serviceCode": "battery-management",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"data": [
{
"characteristicCode": "maximum-charge",
"value": 80
},
{
"characteristicCode": "minimum-charge",
"value": 10
}
]
},
{
"serviceCode": "grid-output",
"data": [
{
"characteristicCode": "disabled",
"value": true
}
]
}
]
}
Sending multiple `Setpoints` with different configurations in one message.
[
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": 42
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "maximum-charge",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": [
80
]
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": "my-string-value"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish Setpoints(i.e sp) for Connectors. Only Connectors can use this topic as they are allowed to impersonate (via passed issuerUuid) the person who send the request. This topic is intended for other Applications which send data commissioned by one ore multiple Systems. Compared to adding the issuerUuid in the topic it can be added in the payload. If not set, the issuerUuid will not be recorded or set. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
The payload to be processed by DRIVR recording an intent by a User to change a SETTING Characteristic in DRIVR. It allows to set who this intent has been initiated by with a passed issuerUuid.
Following table outlines all possible combinations of required and optional parameters for creating a setpoint, ensuring that all necessary attributes are included for successful data submission
| Field | Combo 1 | Combo 2 | Combo 3 | Combo 4 | Combo 5 | Combo 6 | Combo 7 | Combo 8 | Combo 9 |
|---|---|---|---|---|---|---|---|---|---|
| timeStreamUuid | ✓ | ||||||||
| system(Uuid|Code) | ○ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| characteristicUuid | ✓ | ✓ | ✓ | ✓ | |||||
| characteristicCode | ✓ | ✓ | ✓ | ✓ | |||||
| componentUuid | ✓ | ✓ | ✓ | ||||||
| componentCode | ✓ | ✓ | ✓ | ✓ | |||||
| serviceUuid | ✓ | ✓ | |||||||
| serviceCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| value | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| time | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| uuid | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| serviceIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Sending a single `Setpoint` with a `timeStreamUuid` and for a `Characteristic` of type `INTEGER` with a fixed time and a set `issuerUuid`.
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"issuerUuid": "fdb14040-be0c-48a2-af34-673b0a3076d7",
"value": 42
}
Sending a single `Setpoint` with a `TimeStream` looked up by `codes` and on a `Characteristic` of type `SELECT` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "preferred-operation-modes",
"value": [
"full-power-output",
"keep-battery-charged",
"disaster-mode-for-apocalyptic-parties"
]
}
Sending a single `Setpoint` with a `TimeStream` looked up by `Characteristic`, `Component`, `Service` `UUIDs` of type `STRING` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"value": "my-string-value"
}
Sending a `Setpoint` all for the same `Component` but with multiple values for different `Characteristics` and `Services`.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"data": [
{
"serviceCode": "battery-management",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"data": [
{
"characteristicCode": "maximum-charge",
"value": 80
},
{
"characteristicCode": "minimum-charge",
"value": 10
}
]
},
{
"serviceCode": "grid-output",
"data": [
{
"characteristicCode": "disabled",
"value": true
}
]
}
]
}
Sending multiple `Setpoints` with different configurations in one message.
[
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": 42
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "maximum-charge",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": [
80
]
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"issuerUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"value": "my-string-value"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish acknowledgement of Setpoints(i.e sp) for Connectors. Only Connectors can use this topic as they are allowed to impersonate (via passed issuerUuid) the person who send the request. The topic is intended for other Applications which send data commissioned by one ore multiple Systems. The data payload is expected to be JSON.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
One or multiple messages sent acknowledging that a Setpoint representing a change request of a User on a System has been processed. Each acknowledgment can only be send once.
Accepting a single `Setpoint`.
{
"receiptId": "abcdef",
"state": "ACCEPTED"
}
Rejecting a single `Setpoint` with a custom human readable message.
{
"receiptId": "324jds",
"state": "REJECTED",
"message": "Rejected because I do not think you really wanted to to that."
}
Sending a list of different `Setpoint` acknowledgements which are all processed by DRIVR.
[
{
"receiptId": "fj34en",
"state": "ACCEPTED"
},
{
"receiptId": "fds32m",
"state": "REJECTED",
"message": "request_not_compliant"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish acknowledgement of Setpoints(i.e sp) for Connectors. Only Connectors can use this topic as they are allowed to impersonate (via passed issuerUuid) the person who send the request. The topic is intended for other Applications which send data commissioned by one ore multiple Systems. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
One or multiple messages sent acknowledging that a Setpoint representing a change request of a User on a System has been processed. Each acknowledgment can only be send once.
Accepting a single `Setpoint`.
{
"receiptId": "abcdef",
"state": "ACCEPTED"
}
Rejecting a single `Setpoint` with a custom human readable message.
{
"receiptId": "324jds",
"state": "REJECTED",
"message": "Rejected because I do not think you really wanted to to that."
}
Sending a list of different `Setpoint` acknowledgements which are all processed by DRIVR.
[
{
"receiptId": "fj34en",
"state": "ACCEPTED"
},
{
"receiptId": "fds32m",
"state": "REJECTED",
"message": "request_not_compliant"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish Setpoints(i.e sp) for issuers with global access using issuerUuid. Only entities which are allowed to manipulate a complete Domain can use this topic like DomainOwners, Connectors, and DomainAdmins. The data payload is expected to be JSON.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The payload to be processed by DRIVR recording an intent by a User to change a SETTING Characteristic in DRIVR.
Following table outlines all possible combinations of required and optional parameters for creating a setpoint, ensuring that all necessary attributes are included for successful data submission
| Field | Combo 1 | Combo 2 | Combo 3 | Combo 4 | Combo 5 | Combo 6 | Combo 7 | Combo 8 | Combo 9 |
|---|---|---|---|---|---|---|---|---|---|
| timeStreamUuid | ✓ | ||||||||
| system(Uuid|Code) | ○ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| characteristicUuid | ✓ | ✓ | ✓ | ✓ | |||||
| characteristicCode | ✓ | ✓ | ✓ | ✓ | |||||
| componentUuid | ✓ | ✓ | ✓ | ||||||
| componentCode | ✓ | ✓ | ✓ | ✓ | |||||
| serviceUuid | ✓ | ✓ | |||||||
| serviceCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| value | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| time | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| uuid | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| serviceIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Sending a single `Setpoint` with a `timeStreamUuid` and for a `Characteristic` of type `INTEGER` with a fixed `time`.
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"value": 42
}
Sending a single `Setpoint` with a `TimeStream` looked up by `codes` and on a `Characteristic` of type `SELECT` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "preferred-operation-modes",
"value": [
"full-power-output",
"keep-battery-charged",
"disaster-mode-for-apocalyptic-parties"
]
}
Sending a single `Setpoint` with a `TimeStream` looked up by `Characteristic`, `Component`, `Service` `UUIDs` of type `STRING` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"value": "my-string-value"
}
Sending a `Setpoint` all for the same `Component` but with multiple values for different `Characteristics` and `Services`.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"data": [
{
"serviceCode": "battery-management",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"data": [
{
"characteristicCode": "maximum-charge",
"value": 80
},
{
"characteristicCode": "minimum-charge",
"value": 10
}
]
},
{
"serviceCode": "grid-output",
"data": [
{
"characteristicCode": "disabled",
"value": true
}
]
}
]
}
Sending multiple `Setpoints` with different configurations in one message.
[
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"value": 42
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "maximum-charge",
"value": 80
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"value": "my-string-value"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Publish Setpoints(i.e sp) for issuers with global access using issuerUuid. Only entities which are allowed to manipulate a complete Domain can use this topic like DomainOwners, Connectors, and DomainAdmins. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The payload to be processed by DRIVR recording an intent by a User to change a SETTING Characteristic in DRIVR.
Following table outlines all possible combinations of required and optional parameters for creating a setpoint, ensuring that all necessary attributes are included for successful data submission
| Field | Combo 1 | Combo 2 | Combo 3 | Combo 4 | Combo 5 | Combo 6 | Combo 7 | Combo 8 | Combo 9 |
|---|---|---|---|---|---|---|---|---|---|
| timeStreamUuid | ✓ | ||||||||
| system(Uuid|Code) | ○ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| characteristicUuid | ✓ | ✓ | ✓ | ✓ | |||||
| characteristicCode | ✓ | ✓ | ✓ | ✓ | |||||
| componentUuid | ✓ | ✓ | ✓ | ||||||
| componentCode | ✓ | ✓ | ✓ | ✓ | |||||
| serviceUuid | ✓ | ✓ | |||||||
| serviceCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| value | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| time | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| uuid | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
| serviceIndex | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
Sending a single `Setpoint` with a `timeStreamUuid` and for a `Characteristic` of type `INTEGER` with a fixed `time`.
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"value": 42
}
Sending a single `Setpoint` with a `TimeStream` looked up by `codes` and on a `Characteristic` of type `SELECT` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "preferred-operation-modes",
"value": [
"full-power-output",
"keep-battery-charged",
"disaster-mode-for-apocalyptic-parties"
]
}
Sending a single `Setpoint` with a `TimeStream` looked up by `Characteristic`, `Component`, `Service` `UUIDs` of type `STRING` with no `time` provided.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"value": "my-string-value"
}
Sending a `Setpoint` all for the same `Component` but with multiple values for different `Characteristics` and `Services`.
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"data": [
{
"serviceCode": "battery-management",
"issuerUuid": "77f353ee-36b7-4f42-8634-38e51c01ded4",
"data": [
{
"characteristicCode": "maximum-charge",
"value": 80
},
{
"characteristicCode": "minimum-charge",
"value": 10
}
]
},
{
"serviceCode": "grid-output",
"data": [
{
"characteristicCode": "disabled",
"value": true
}
]
}
]
}
Sending multiple `Setpoints` with different configurations in one message.
[
{
"timeStreamUuid": "3a1531f3-071b-4886-9fb5-b9b1dbd10263",
"value": 42
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentCode": "battery",
"serviceCode": "battery-management",
"characteristicCode": "maximum-charge",
"value": 80
},
{
"systemUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"componentUuid": "b8e59b23-06a7-4d15-b6aa-9b7546a9e427",
"serviceUuid": "6175737c-2484-47ae-8123-cedd07eb0f55",
"characteristicUuid": "45acc061-066f-40ca-a6a6-7edb09f44ffc",
"value": "my-string-value"
}
]
This topic is used by DRIVR to publish errors which occur during processing on the parent topic. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
An error message from the server.
{
"code": "SOME_DATA_INVALID",
"message": "Some Events couldn't be imported/updated.",
"stats": {
"total": 3,
"errors": 2,
"imported": 1
},
"errors": {
"1": [
{
"code": "entity_does_not_exist",
"message": {
"entityUuid": [
"Not a valid UUID."
]
}
}
],
"2": [
{
"code": "event_model_does_not_exist",
"message": {
"eventModelUuid": [
"Not a valid UUID."
]
}
}
]
}
}
Subscribe to Setpoints(i.e sp) for Systems(i.e s) using systemUuid. This topic sends additionally to the payload which should be changed the referenced codes of the Characteristic, Service and Component. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The payload to be processed by DRIVR recording an intent by a User to change a SETTING Characteristic in DRIVR. Includes additionally to the basic Setpoint parameters the codes of the Characteristic, Service, and Component.
The message structure to send a new to be recorded Setpoint for a SETTING Characteristic on a System's Component. It includes the code of the Characteristic, Service, and Component to be recorded.
{
"componentCode": "engine",
"serviceCode": "screwdriver_motor",
"characteristicCode": "engine_speed",
"serviceIndex": 0,
"value": null,
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Subscribe to Setpoints(i.e sp) for Systems(i.e s) using systemUuid.
This topic sends additionally to the payload which should be changed the referenced codes of the Characteristic, Service and Component.
The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The payload to be processed by DRIVR recording an intent by a User to change a SETTING Characteristic in DRIVR. Includes additionally to the basic Setpoint parameters the codes of the Characteristic, Service, and Component.
The message structure to send a new to be recorded Setpoint for a SETTING Characteristic on a System's Component. It includes the code of the Characteristic, Service, and Component to be recorded.
{
"componentCode": "engine",
"serviceCode": "screwdriver_motor",
"characteristicCode": "engine_speed",
"serviceIndex": 0,
"value": null,
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Subscribe to Setpoints(i.e sp) for Systems(i.e s) using systemUuid. This topic provides additionally to the payload which should be changed the referenced UUIDs of the Characteristic, Service and Component. The data payload is expected to be in the JSON format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The payload to be processed by DRIVR recording an intent by a User to change a SETTING Characteristic in DRIVR. Includes additionally to the basic Setpoint parameters the UUIDs of the Characteristic, Service, and Component.
The message structure to send a new to be recorded Setpoint for a SETTING Characteristic on a System's Component. It includes the UUID of the Characteristic, Service, and Component to be recorded.
{
"componentUuid": "cd529782-7d99-4dd4-99a6-d3c6cc5aef87",
"serviceUuid": "6ffa18c2-e27a-43c8-913c-e64e00de1238",
"characteristicUuid": "af4789d7-48b8-4a5a-9d6b-3969ef2584b5",
"serviceIndex": 0,
"value": null,
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}
Subscribe to Setpoints(i.e sp) for Systems(i.e s) using systemUuid. This topic also sends the referenced UUIDs of the Characteristic, Service, and Component along with the payload that should be changed. The data payload is expected to be in the msgpack format.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The payload to be processed by DRIVR recording an intent by a User to change a SETTING Characteristic in DRIVR. Includes additionally to the basic Setpoint parameters the UUIDs of the Characteristic, Service, and Component.
The message structure to send a new to be recorded Setpoint for a SETTING Characteristic on a System's Component. It includes the UUID of the Characteristic, Service, and Component to be recorded.
{
"componentUuid": "cd529782-7d99-4dd4-99a6-d3c6cc5aef87",
"serviceUuid": "6ffa18c2-e27a-43c8-913c-e64e00de1238",
"characteristicUuid": "af4789d7-48b8-4a5a-9d6b-3969ef2584b5",
"serviceIndex": 0,
"value": null,
"time": "2019-08-24T14:15:22Z",
"receiptId": "fn2rn3"
}