This page provides on overview of all MQTT topics which can be utilized for device management. This allows you to retrieve System and Component information and connection states as well as CRUD of components within DRIVR. Each input topic, or topic where you can publish a message, has a corresponding topic ending with /error. 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 ComponentModel within a given Domain using the componentModelUuid. A prototype of a Component, defining a device type and its capabilities.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the ComponentModel within DRIVR. A ComponentModel acts as a template for DRIVR Components.
Accepts the following message:
The current information which is stored for the ComponentModel within DRIVR. Information is retained until the ComponentModel is deleted.
{
"uuid": "973c576b-3158-4e51-8374-5fea435b9b68",
"code": "my-component-model",
"isConnective": true,
"description": "My awesome component model",
"componentType": "DEVICE",
"name": "my-component-model",
"domainUuid": "24ee14a3-f1c8-49aa-95fc-ad0432e23b99",
"metadata": {
"property1": "string",
"property2": "string"
},
"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 state of the ComponentModel using the componentModelUuid. The state of the ComponentModel can be CREATED, ACTIVATED, DEACTIVATED, ARCHIVED, DELETED. Once the ComponentModel's state is DELETED, the ComponentModel is no longer accessible.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the ComponentModel within DRIVR. A ComponentModel acts as a template for DRIVR Components.
Accepts the following message:
The current state of the ComponentModel. If the state is set to DELETED the ComponentModel MQTT topics and all information within will be deleted.
The state of the object as presented within MQTT.
CREATED
ACTIVATED
DEACTIVATED
ARCHIVED
DELETED
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 current state of the System using the systemUuid within a given domain. The state of the system can be CREATED, ACTIVATED, DEACTIVATED, ARCHIVED, DELETED. Once the system's state is DELETED, the system is no longer accessible.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The current state of the System. If the state is set to DELETED the System MQTT topics and all information within will be deleted.
The state of the object as presented within MQTT.
CREATED
ACTIVATED
DEACTIVATED
ARCHIVED
DELETED
Subscribe for updates on the current connection state of the System using the systemUuid within a given domain. A connection state of the system can be CONNECTED, DISCONNECTED, PARTIALLY_CONNECTED, UNDEFINED. This information is retained until the system is deleted.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The current connection status of the referenced System. Information is retained until the System is deleted.
Indicates the current connectivity of a System.
CONNECTED means that the System has at least one ACTIVATED and CONNECTED Component but no ACTIVATED and DISCONNECTED Component.
DISCONNECTED means that the System has no ACTIVATED and CONNECTED Component but at least one ACTIVATED and DISCONNECTED Component.
PARTIALLY_CONNECTED means that the System has at least one ACTIVATED and CONNECTED Component and at least one ACTIVATED and DISCONNECTED Component.
UNDEFINED means that the Components of the System are either all DEACTIVATED or ARCHIVED. The Components do report a connection state of UNDEFINED or NOT_CONNECTIVE. The System status is ARCHIVED or DEACTIVATED.
CONNECTED
DISCONNECTED
PARTIALLY_CONNECTED
UNDEFINED
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 state of the referenced Component using componentCode with the System using systemUuid within a domain. A state of the component can be CREATED, ACTIVATED, DEACTIVATED, ARCHIVED, DELETED. Once the component's state is DELETED, the component is no longer accessible.
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:
The current state of the Component. If the state is set to DELETED the Component MQTT topics and all information within will be deleted.
The state of the object as presented within MQTT.
CREATED
ACTIVATED
DEACTIVATED
ARCHIVED
DELETED
Subscribe for updates on the current connection state of the Component using componentCode within a System using systemUuid within a domain. A connection state of the component can be CONNECTED, DISCONNECTED, PARTIALLY_CONNECTED, UNDEFINED. This information is retained until the component is deleted.
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:
The current connection status of the referenced Component.
Describes the connection state of a Component.
CONNECTED means the Component has an active connection to DRIVR.
DISCONNECTED means the Component has been disconnected from DRIVR.
NOT_CONNECTIVE means the Component does not report the connection state and the Component's ComponentModel's isConnective is set to false.
UNDEFINED means the Component is connective but has never reported a connection state.
CONNECTED
DISCONNECTED
NOT_CONNECTIVE
UNDEFINED
Publishes the updates on a System using systemUuid. The data payload is expected to be in the JSON format. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
A System within DRIVR.
{
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"code": "my-system",
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"description": "My awesome system",
"locationUuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"name": "my-system",
"status": "ACTIVATED",
"ownerUuid": "d837b268-0855-49ab-b6b2-1070ac7c838e"
}
Subscribe to the validation errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/json) using systemUuid. 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:
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."
]
}
}
]
}
}
Publishes the updates on a System using systemUuid. The data payload is expected to be in the msgpack format. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
A System within DRIVR.
{
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"code": "my-system",
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"description": "My awesome system",
"locationUuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"name": "my-system",
"status": "ACTIVATED",
"ownerUuid": "d837b268-0855-49ab-b6b2-1070ac7c838e"
}
Subscribe to the validation errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/msgpack) using systemUuid. 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:
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."
]
}
}
]
}
}
Publishes the updates on a System using systemUuid and issuerUuid. 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.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
A System within DRIVR.
{
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"code": "my-system",
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"description": "My awesome system",
"locationUuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"name": "my-system",
"status": "ACTIVATED",
"ownerUuid": "d837b268-0855-49ab-b6b2-1070ac7c838e"
}
Subscribe to the system errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/json/{issuerUuid}) using systemUuid and issuerUuid. 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.
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."
]
}
}
]
}
}
Publishes the updates on a System using systemUuid and issuerUuid. 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.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
A System within DRIVR.
{
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"code": "my-system",
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"description": "My awesome system",
"locationUuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"name": "my-system",
"status": "ACTIVATED",
"ownerUuid": "d837b268-0855-49ab-b6b2-1070ac7c838e"
}
Subscribe to the system errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/msgpack/{issuerUuid}) using systemUuid and issuerUuid. 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.
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."
]
}
}
]
}
}
Publishes the updates on the connection state of a System using systemUuid.
The data payload is expected to be a value of SystemConnectionState and encoded in plaintext.
A system normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The current connection status of the referenced System. Information is retained until the System is deleted.
Indicates the current connectivity of a System.
CONNECTED means that the System has at least one ACTIVATED and CONNECTED Component but no ACTIVATED and DISCONNECTED Component.
DISCONNECTED means that the System has no ACTIVATED and CONNECTED Component but at least one ACTIVATED and DISCONNECTED Component.
PARTIALLY_CONNECTED means that the System has at least one ACTIVATED and CONNECTED Component and at least one ACTIVATED and DISCONNECTED Component.
UNDEFINED means that the Components of the System are either all DEACTIVATED or ARCHIVED. The Components do report a connection state of UNDEFINED or NOT_CONNECTIVE. The System status is ARCHIVED or DEACTIVATED.
CONNECTED
DISCONNECTED
PARTIALLY_CONNECTED
UNDEFINED
Subscribe to the system connection state errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/state/connection) usingsystemUuid. 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:
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."
]
}
}
]
}
}
Publishes the updates on the connection state of a System using systemUuid with issuerUuid. The data payload is expected to be a value of SystemConnectionState and encoded in plaintext. A system normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The current connection status of the referenced System. Information is retained until the System is deleted.
Indicates the current connectivity of a System.
CONNECTED means that the System has at least one ACTIVATED and CONNECTED Component but no ACTIVATED and DISCONNECTED Component.
DISCONNECTED means that the System has no ACTIVATED and CONNECTED Component but at least one ACTIVATED and DISCONNECTED Component.
PARTIALLY_CONNECTED means that the System has at least one ACTIVATED and CONNECTED Component and at least one ACTIVATED and DISCONNECTED Component.
UNDEFINED means that the Components of the System are either all DEACTIVATED or ARCHIVED. The Components do report a connection state of UNDEFINED or NOT_CONNECTIVE. The System status is ARCHIVED or DEACTIVATED.
CONNECTED
DISCONNECTED
PARTIALLY_CONNECTED
UNDEFINED
Subscribe to the system connection state errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/state/connection/{issuerUuid}) using systemUuid and issuerUuid. 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.
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."
]
}
}
]
}
}
Publisher used to update, create or delete a Component of a System using systemUuid. The data payload is expected to be in the JSON format. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change. Providing a uuid within the payload will update an existing Component. Alternatively, a code of a Component that is already imported can also be used for updating. The endpoint accepts a single Component or an array of Components. If an array is provided, partial imports are possible, meaning that only validly formatted Components will be imported while the rest will trigger an error in the error topic.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The input for creating, updating or deleting one or multiple Components.
The message structure used to create, update, or delete a Component in DRIVR.
Creation of a `Component` for a `System` with metadata.
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"metadata": {
"MANUFACTURING_DATE": "20 VSY",
"MANUFACTURER": "Galactic Empire"
}
}
Creation of a `Component` for a `System` with firmware and firmwareVersion. The FirmwareVersions can be used or not set depending on the `Component`. The key is the firmware tag and the value is the version of the firmware. If the firmwareTag is `firmware` it overwrites the `firmware` field.
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1",
"certificates": "%2Froot%2F.drivr%2Fcertificates"
}
}
Create of a `Component` for a `System` with code `the-ocean-evaporation-subcomponent` without metadata and for a given componentModelUuid. If the `Component` with code `the-ocean-evaporation-subcomponent` already exists, it will be updated and the `componentModelUuid` will be ignored.
{
"componentModelUuid": "77878d1f-6dc7-47d0-9a3b-9713f4a4c2e1",
"code": "the-ocean-evaporation-subcomponent"
}
Creation of a `Component` for a `System` and setting it to be `DEACTIVATED`. If the `Component` with code `flood-creation-device` already exists, it will be updated and the `componentModelUuid` will be ignored and the status will be updated to `DEACTIVATED`.
{
"componentModelUuid": "fd2394fc-0b40-4f32-82a3-4026e37d051f",
"code": "flood-creation-device",
"status": "DEACTIVATED"
}
Setting the `connectionState` of an existing `Component` with code `droid-charging-station` to `DISCONNECTED`. If the `Component` with code `droid-charging-station` does not exist, an error will be published on the error topic as no component model is passed to it.
{
"code": "droid-charging-station",
"connectionState": "DISCONNECTED"
}
Update of a `Component` for a `System` with a provided UUID.
{
"uuid": "9a5e5181-4765-4228-9d3c-7477c4ddedb4",
"code": "the-red-death-star-laser",
"name": "Red Death Star Laser",
"metadata": {
"MANUFACTURING_DATE": "30 VSY",
"MANUFACTURER": "Galactic Empire"
}
}
Update of a `Component` for a `System` with a provided UUID, firmware and firmwareVersion. The FirmwareVersions can be used or not set depending on the `Component`. The key is the firmware tag and the value is the version of the firmware. If the firmwareTag is `firmware` it overwrites the `firmware` field.
{
"uuid": "9a5e5181-4765-4228-9d3c-7477c4ddedb4",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1",
"certificates": "%2Froot%2F.drivr%2Fcertificates"
}
}
Update of a `Component` for a `System` with a provided UUID and updating the code to `the-ocean-evaporation-subcomponent-deluxe`.
{
"uuid": "bb02f21e-8d68-4233-93e0-86caac5e16f7",
"code": "the-ocean-evaporation-subcomponent-deluxe"
}
Update of a `Component` for a `System` with a provided UUID and setting the status to `ACTIVATED`.
{
"uuid": "2c09bdf2-1143-4b8b-8152-bfd0aaa6e092",
"status": "ACTIVATED"
}
Update of a `Component` for a `System` with a provided UUID and setting the connectionState to `CONNECTED` at the same time.
{
"uuid": "f690cb3d-febf-4705-9fb6-c06035641427",
"code": "golden-droid-charging-station",
"connectionState": "CONNECTED"
}
Archiving a `Component` for a `System` with a provided UUID.
{
"uuid": "0c618d14-d282-440f-a366-5820f97c7d9f",
"status": "ARCHIVED"
}
Deleting a `Component` of a `System` with a provided UUID.
{
"uuid": "0c618d14-d282-440f-a366-5820f97c7d9f",
"_delete": true
}
Creating a `Component` for a `System`, updating the `connectionState` of another one and deleting a third all looked up by their `codes`.
[
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser"
},
{
"code": "the-ocean-evaporation-subcomponent",
"connectionState": "CONNECTED"
},
{
"code": "flood-creation-device",
"_delete": true
}
]
Mass creating `Components` of a `System` by providing the complete setup information in one list payload with componentModelCodes for lookup.
[
{
"componentModelCode": "WARP_CORE",
"code": "warp-core-1",
"name": "Warp Core 1",
"firmwareVersions": {
"firmware": "v1.0.5"
},
"metadata": {
"MANUFACTURING_DATE": "SD 78309.8",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "ISOLINEAR_CHIP",
"code": "isolinear-chip-1",
"name": "Isolinear Chip 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78057.8",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "ISOLINEAR_CHIP",
"code": "isolinear-chip-2",
"name": "Isolinear Chip 2",
"firmware": "v3.5.7",
"metadata": {
"MANUFACTURING_DATE": "SD 78057.7",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "PHASER_ARRAY",
"code": "phaser-array-1",
"name": "Phaser Array 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78309.8",
"MANUFACTURER": "UFP"
},
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1"
}
},
{
"componentModelCode": "PHOTO_TORPEDO_BAY",
"code": "photo-torpedo-bay-1",
"name": "Photo Torpedo Bay 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78068.7",
"MANUFACTURER": "UFP"
}
}
]
Subscribe to the component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/json) using systemUuid. 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:
An error message from the server for a specific Component MQTT input topic.
{
"summary": "A simple error message for a single `Component` MQTT input topic.",
"payload": {
"characteristic_code_invalid": "The value for the characteristic 'operation-mode' is not valid."
}
}
Publisher used to update, create or delete a Component of a System using systemUuid. The data payload is expected to be in the msgpack format. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change. Providing a uuid within the payload will update an existing Component. Alternatively, a code of a Component that is already imported can also be used for updating. The endpoint accepts a single Component or an array of Components. If an array is provided, partial imports are possible, meaning that only validly formatted Components will be imported while the rest will trigger an error in the error topic.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
Accepts the following message:
The input for creating, updating or deleting one or multiple Components.
The message structure used to create, update, or delete a Component in DRIVR.
Creation of a `Component` for a `System` with metadata.
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"metadata": {
"MANUFACTURING_DATE": "20 VSY",
"MANUFACTURER": "Galactic Empire"
}
}
Creation of a `Component` for a `System` with firmware and firmwareVersion. The FirmwareVersions can be used or not set depending on the `Component`. The key is the firmware tag and the value is the version of the firmware. If the firmwareTag is `firmware` it overwrites the `firmware` field.
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1",
"certificates": "%2Froot%2F.drivr%2Fcertificates"
}
}
Create of a `Component` for a `System` with code `the-ocean-evaporation-subcomponent` without metadata and for a given componentModelUuid. If the `Component` with code `the-ocean-evaporation-subcomponent` already exists, it will be updated and the `componentModelUuid` will be ignored.
{
"componentModelUuid": "77878d1f-6dc7-47d0-9a3b-9713f4a4c2e1",
"code": "the-ocean-evaporation-subcomponent"
}
Creation of a `Component` for a `System` and setting it to be `DEACTIVATED`. If the `Component` with code `flood-creation-device` already exists, it will be updated and the `componentModelUuid` will be ignored and the status will be updated to `DEACTIVATED`.
{
"componentModelUuid": "fd2394fc-0b40-4f32-82a3-4026e37d051f",
"code": "flood-creation-device",
"status": "DEACTIVATED"
}
Setting the `connectionState` of an existing `Component` with code `droid-charging-station` to `DISCONNECTED`. If the `Component` with code `droid-charging-station` does not exist, an error will be published on the error topic as no component model is passed to it.
{
"code": "droid-charging-station",
"connectionState": "DISCONNECTED"
}
Update of a `Component` for a `System` with a provided UUID.
{
"uuid": "9a5e5181-4765-4228-9d3c-7477c4ddedb4",
"code": "the-red-death-star-laser",
"name": "Red Death Star Laser",
"metadata": {
"MANUFACTURING_DATE": "30 VSY",
"MANUFACTURER": "Galactic Empire"
}
}
Update of a `Component` for a `System` with a provided UUID, firmware and firmwareVersion. The FirmwareVersions can be used or not set depending on the `Component`. The key is the firmware tag and the value is the version of the firmware. If the firmwareTag is `firmware` it overwrites the `firmware` field.
{
"uuid": "9a5e5181-4765-4228-9d3c-7477c4ddedb4",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1",
"certificates": "%2Froot%2F.drivr%2Fcertificates"
}
}
Update of a `Component` for a `System` with a provided UUID and updating the code to `the-ocean-evaporation-subcomponent-deluxe`.
{
"uuid": "bb02f21e-8d68-4233-93e0-86caac5e16f7",
"code": "the-ocean-evaporation-subcomponent-deluxe"
}
Update of a `Component` for a `System` with a provided UUID and setting the status to `ACTIVATED`.
{
"uuid": "2c09bdf2-1143-4b8b-8152-bfd0aaa6e092",
"status": "ACTIVATED"
}
Update of a `Component` for a `System` with a provided UUID and setting the connectionState to `CONNECTED` at the same time.
{
"uuid": "f690cb3d-febf-4705-9fb6-c06035641427",
"code": "golden-droid-charging-station",
"connectionState": "CONNECTED"
}
Archiving a `Component` for a `System` with a provided UUID.
{
"uuid": "0c618d14-d282-440f-a366-5820f97c7d9f",
"status": "ARCHIVED"
}
Deleting a `Component` of a `System` with a provided UUID.
{
"uuid": "0c618d14-d282-440f-a366-5820f97c7d9f",
"_delete": true
}
Creating a `Component` for a `System`, updating the `connectionState` of another one and deleting a third all looked up by their `codes`.
[
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser"
},
{
"code": "the-ocean-evaporation-subcomponent",
"connectionState": "CONNECTED"
},
{
"code": "flood-creation-device",
"_delete": true
}
]
Mass creating `Components` of a `System` by providing the complete setup information in one list payload with componentModelCodes for lookup.
[
{
"componentModelCode": "WARP_CORE",
"code": "warp-core-1",
"name": "Warp Core 1",
"firmwareVersions": {
"firmware": "v1.0.5"
},
"metadata": {
"MANUFACTURING_DATE": "SD 78309.8",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "ISOLINEAR_CHIP",
"code": "isolinear-chip-1",
"name": "Isolinear Chip 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78057.8",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "ISOLINEAR_CHIP",
"code": "isolinear-chip-2",
"name": "Isolinear Chip 2",
"firmware": "v3.5.7",
"metadata": {
"MANUFACTURING_DATE": "SD 78057.7",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "PHASER_ARRAY",
"code": "phaser-array-1",
"name": "Phaser Array 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78309.8",
"MANUFACTURER": "UFP"
},
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1"
}
},
{
"componentModelCode": "PHOTO_TORPEDO_BAY",
"code": "photo-torpedo-bay-1",
"name": "Photo Torpedo Bay 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78068.7",
"MANUFACTURER": "UFP"
}
}
]
Subscribe to the component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/msgpack) using systemUuid. 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:
An error message from the server for a specific Component MQTT input topic.
{
"summary": "A simple error message for a single `Component` MQTT input topic.",
"payload": {
"characteristic_code_invalid": "The value for the characteristic 'operation-mode' is not valid."
}
}
Publisher used to update, create or delete a Component of a System using systemUuid and using issuerUuid. The data payload is expected to be in the JSON format. Providing a uuid within the payload will update an existing Component. Alternatively, a code of a Component that is already imported can also be used for updating. The endpoint accepts a single Component or an array of Components. If an array is provided, partial imports are possible, meaning that only validly formatted Components will be imported while the rest will trigger an error in the error topic.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The input for creating, updating or deleting one or multiple Components.
The message structure used to create, update, or delete a Component in DRIVR.
Creation of a `Component` for a `System` with metadata.
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"metadata": {
"MANUFACTURING_DATE": "20 VSY",
"MANUFACTURER": "Galactic Empire"
}
}
Creation of a `Component` for a `System` with firmware and firmwareVersion. The FirmwareVersions can be used or not set depending on the `Component`. The key is the firmware tag and the value is the version of the firmware. If the firmwareTag is `firmware` it overwrites the `firmware` field.
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1",
"certificates": "%2Froot%2F.drivr%2Fcertificates"
}
}
Create of a `Component` for a `System` with code `the-ocean-evaporation-subcomponent` without metadata and for a given componentModelUuid. If the `Component` with code `the-ocean-evaporation-subcomponent` already exists, it will be updated and the `componentModelUuid` will be ignored.
{
"componentModelUuid": "77878d1f-6dc7-47d0-9a3b-9713f4a4c2e1",
"code": "the-ocean-evaporation-subcomponent"
}
Creation of a `Component` for a `System` and setting it to be `DEACTIVATED`. If the `Component` with code `flood-creation-device` already exists, it will be updated and the `componentModelUuid` will be ignored and the status will be updated to `DEACTIVATED`.
{
"componentModelUuid": "fd2394fc-0b40-4f32-82a3-4026e37d051f",
"code": "flood-creation-device",
"status": "DEACTIVATED"
}
Setting the `connectionState` of an existing `Component` with code `droid-charging-station` to `DISCONNECTED`. If the `Component` with code `droid-charging-station` does not exist, an error will be published on the error topic as no component model is passed to it.
{
"code": "droid-charging-station",
"connectionState": "DISCONNECTED"
}
Update of a `Component` for a `System` with a provided UUID.
{
"uuid": "9a5e5181-4765-4228-9d3c-7477c4ddedb4",
"code": "the-red-death-star-laser",
"name": "Red Death Star Laser",
"metadata": {
"MANUFACTURING_DATE": "30 VSY",
"MANUFACTURER": "Galactic Empire"
}
}
Update of a `Component` for a `System` with a provided UUID, firmware and firmwareVersion. The FirmwareVersions can be used or not set depending on the `Component`. The key is the firmware tag and the value is the version of the firmware. If the firmwareTag is `firmware` it overwrites the `firmware` field.
{
"uuid": "9a5e5181-4765-4228-9d3c-7477c4ddedb4",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1",
"certificates": "%2Froot%2F.drivr%2Fcertificates"
}
}
Update of a `Component` for a `System` with a provided UUID and updating the code to `the-ocean-evaporation-subcomponent-deluxe`.
{
"uuid": "bb02f21e-8d68-4233-93e0-86caac5e16f7",
"code": "the-ocean-evaporation-subcomponent-deluxe"
}
Update of a `Component` for a `System` with a provided UUID and setting the status to `ACTIVATED`.
{
"uuid": "2c09bdf2-1143-4b8b-8152-bfd0aaa6e092",
"status": "ACTIVATED"
}
Update of a `Component` for a `System` with a provided UUID and setting the connectionState to `CONNECTED` at the same time.
{
"uuid": "f690cb3d-febf-4705-9fb6-c06035641427",
"code": "golden-droid-charging-station",
"connectionState": "CONNECTED"
}
Archiving a `Component` for a `System` with a provided UUID.
{
"uuid": "0c618d14-d282-440f-a366-5820f97c7d9f",
"status": "ARCHIVED"
}
Deleting a `Component` of a `System` with a provided UUID.
{
"uuid": "0c618d14-d282-440f-a366-5820f97c7d9f",
"_delete": true
}
Creating a `Component` for a `System`, updating the `connectionState` of another one and deleting a third all looked up by their `codes`.
[
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser"
},
{
"code": "the-ocean-evaporation-subcomponent",
"connectionState": "CONNECTED"
},
{
"code": "flood-creation-device",
"_delete": true
}
]
Mass creating `Components` of a `System` by providing the complete setup information in one list payload with componentModelCodes for lookup.
[
{
"componentModelCode": "WARP_CORE",
"code": "warp-core-1",
"name": "Warp Core 1",
"firmwareVersions": {
"firmware": "v1.0.5"
},
"metadata": {
"MANUFACTURING_DATE": "SD 78309.8",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "ISOLINEAR_CHIP",
"code": "isolinear-chip-1",
"name": "Isolinear Chip 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78057.8",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "ISOLINEAR_CHIP",
"code": "isolinear-chip-2",
"name": "Isolinear Chip 2",
"firmware": "v3.5.7",
"metadata": {
"MANUFACTURING_DATE": "SD 78057.7",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "PHASER_ARRAY",
"code": "phaser-array-1",
"name": "Phaser Array 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78309.8",
"MANUFACTURER": "UFP"
},
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1"
}
},
{
"componentModelCode": "PHOTO_TORPEDO_BAY",
"code": "photo-torpedo-bay-1",
"name": "Photo Torpedo Bay 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78068.7",
"MANUFACTURER": "UFP"
}
}
]
Subscribe to the component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/json/{issuerUuid}) using systemUuid and issuerUuid. 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.
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 for a specific Component MQTT input topic.
{
"summary": "A simple error message for a single `Component` MQTT input topic.",
"payload": {
"characteristic_code_invalid": "The value for the characteristic 'operation-mode' is not valid."
}
}
Publisher used to update, create or delete a Component of a System using systemUuid and using issuerUuid. The data payload is expected to be in the msgpack format. Providing a uuid within the payload will update an existing Component. Alternatively, a code of a Component that is already imported can also be used for updating. The endpoint accepts a single Component or an array of Components. If an array is provided, partial imports are possible, meaning that only validly formatted Components will be imported while the rest will trigger an error in the error topic.
Available only on servers:
The slug of your individual Domain.
The unique UUID of the System within DRIVR.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The input for creating, updating or deleting one or multiple Components.
The message structure used to create, update, or delete a Component in DRIVR.
Creation of a `Component` for a `System` with metadata.
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"metadata": {
"MANUFACTURING_DATE": "20 VSY",
"MANUFACTURER": "Galactic Empire"
}
}
Creation of a `Component` for a `System` with firmware and firmwareVersion. The FirmwareVersions can be used or not set depending on the `Component`. The key is the firmware tag and the value is the version of the firmware. If the firmwareTag is `firmware` it overwrites the `firmware` field.
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1",
"certificates": "%2Froot%2F.drivr%2Fcertificates"
}
}
Create of a `Component` for a `System` with code `the-ocean-evaporation-subcomponent` without metadata and for a given componentModelUuid. If the `Component` with code `the-ocean-evaporation-subcomponent` already exists, it will be updated and the `componentModelUuid` will be ignored.
{
"componentModelUuid": "77878d1f-6dc7-47d0-9a3b-9713f4a4c2e1",
"code": "the-ocean-evaporation-subcomponent"
}
Creation of a `Component` for a `System` and setting it to be `DEACTIVATED`. If the `Component` with code `flood-creation-device` already exists, it will be updated and the `componentModelUuid` will be ignored and the status will be updated to `DEACTIVATED`.
{
"componentModelUuid": "fd2394fc-0b40-4f32-82a3-4026e37d051f",
"code": "flood-creation-device",
"status": "DEACTIVATED"
}
Setting the `connectionState` of an existing `Component` with code `droid-charging-station` to `DISCONNECTED`. If the `Component` with code `droid-charging-station` does not exist, an error will be published on the error topic as no component model is passed to it.
{
"code": "droid-charging-station",
"connectionState": "DISCONNECTED"
}
Update of a `Component` for a `System` with a provided UUID.
{
"uuid": "9a5e5181-4765-4228-9d3c-7477c4ddedb4",
"code": "the-red-death-star-laser",
"name": "Red Death Star Laser",
"metadata": {
"MANUFACTURING_DATE": "30 VSY",
"MANUFACTURER": "Galactic Empire"
}
}
Update of a `Component` for a `System` with a provided UUID, firmware and firmwareVersion. The FirmwareVersions can be used or not set depending on the `Component`. The key is the firmware tag and the value is the version of the firmware. If the firmwareTag is `firmware` it overwrites the `firmware` field.
{
"uuid": "9a5e5181-4765-4228-9d3c-7477c4ddedb4",
"code": "the-death-star-laser",
"name": "Death Star Laser",
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1",
"certificates": "%2Froot%2F.drivr%2Fcertificates"
}
}
Update of a `Component` for a `System` with a provided UUID and updating the code to `the-ocean-evaporation-subcomponent-deluxe`.
{
"uuid": "bb02f21e-8d68-4233-93e0-86caac5e16f7",
"code": "the-ocean-evaporation-subcomponent-deluxe"
}
Update of a `Component` for a `System` with a provided UUID and setting the status to `ACTIVATED`.
{
"uuid": "2c09bdf2-1143-4b8b-8152-bfd0aaa6e092",
"status": "ACTIVATED"
}
Update of a `Component` for a `System` with a provided UUID and setting the connectionState to `CONNECTED` at the same time.
{
"uuid": "f690cb3d-febf-4705-9fb6-c06035641427",
"code": "golden-droid-charging-station",
"connectionState": "CONNECTED"
}
Archiving a `Component` for a `System` with a provided UUID.
{
"uuid": "0c618d14-d282-440f-a366-5820f97c7d9f",
"status": "ARCHIVED"
}
Deleting a `Component` of a `System` with a provided UUID.
{
"uuid": "0c618d14-d282-440f-a366-5820f97c7d9f",
"_delete": true
}
Creating a `Component` for a `System`, updating the `connectionState` of another one and deleting a third all looked up by their `codes`.
[
{
"componentModelUuid": "3802ad83-3f2e-45da-a850-6acb0a15da41",
"code": "the-death-star-laser",
"name": "Death Star Laser"
},
{
"code": "the-ocean-evaporation-subcomponent",
"connectionState": "CONNECTED"
},
{
"code": "flood-creation-device",
"_delete": true
}
]
Mass creating `Components` of a `System` by providing the complete setup information in one list payload with componentModelCodes for lookup.
[
{
"componentModelCode": "WARP_CORE",
"code": "warp-core-1",
"name": "Warp Core 1",
"firmwareVersions": {
"firmware": "v1.0.5"
},
"metadata": {
"MANUFACTURING_DATE": "SD 78309.8",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "ISOLINEAR_CHIP",
"code": "isolinear-chip-1",
"name": "Isolinear Chip 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78057.8",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "ISOLINEAR_CHIP",
"code": "isolinear-chip-2",
"name": "Isolinear Chip 2",
"firmware": "v3.5.7",
"metadata": {
"MANUFACTURING_DATE": "SD 78057.7",
"MANUFACTURER": "UFP"
}
},
{
"componentModelCode": "PHASER_ARRAY",
"code": "phaser-array-1",
"name": "Phaser Array 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78309.8",
"MANUFACTURER": "UFP"
},
"firmware": "v1.0.0",
"firmwareVersions": {
"firmware": "v1.0.5",
"bootloader": "bootloader-v0.2.1"
}
},
{
"componentModelCode": "PHOTO_TORPEDO_BAY",
"code": "photo-torpedo-bay-1",
"name": "Photo Torpedo Bay 1",
"metadata": {
"MANUFACTURING_DATE": "SD 78068.7",
"MANUFACTURER": "UFP"
}
}
]
Subscribe to the component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/msgpack/{issuerUuid}) using systemUuid and issuerUuid. 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.
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 for a specific Component MQTT input topic.
{
"summary": "A simple error message for a single `Component` MQTT input topic.",
"payload": {
"characteristic_code_invalid": "The value for the characteristic 'operation-mode' is not valid."
}
}
Publisher used to delete a Component using componentCode of a System using systemUuid. The data payload is not used by the API and can be any content in any format. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
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:
Subscribe to the delete component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/{componentCode}/delete) using systemUuid and componentCode. 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.
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."
]
}
}
]
}
}
Publisher used to delete a Component using componentCode of a System using systemUuid with issuerUuid. The data payload is not used by the API and can be any content in any 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.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
Subscribe to the delete component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/{componentCode}/delete/{issuerUuid}) using systemUuid, componentCode and issuerUuid. 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.
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."
]
}
}
]
}
}
Publisher is used to update a Component using componentCode of a System using systemUuid. The data payload is expected to be in the JSON format. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
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:
This is the input which is used by the Component service to process the Component updates.
This is the input which is used by the Component service to process the Component updates.
{
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"code": "my-component",
"name": "The death star laser",
"metadata": {
"key": "value"
},
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"status": "ACTIVATED",
"firmware": "1.0.0",
"firmwareVersions": {
"firmware": "1.0.0",
"bootloader": "1.0.0",
"certificates": "1df70987fa8b0b91fbcc4bc431c94658d22845eec06ae6f7517b6065309231ca"
}
}
Subscribe to the system's component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/{componentCode}/json) using systemUuid and componentCode. 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.
Accepts the following message:
An error message from the server for a specific Component MQTT input topic.
{
"summary": "A simple error message for a single `Component` MQTT input topic.",
"payload": {
"characteristic_code_invalid": "The value for the characteristic 'operation-mode' is not valid."
}
}
Publisher is used to update a Component using componentCode of a System using systemUuid. The data payload is expected to be in the msgpack format. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
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:
This is the input which is used by the Component service to process the Component updates.
This is the input which is used by the Component service to process the Component updates.
{
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"code": "my-component",
"name": "The death star laser",
"metadata": {
"key": "value"
},
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"status": "ACTIVATED",
"firmware": "1.0.0",
"firmwareVersions": {
"firmware": "1.0.0",
"bootloader": "1.0.0",
"certificates": "1df70987fa8b0b91fbcc4bc431c94658d22845eec06ae6f7517b6065309231ca"
}
}
Subscribe to the system's component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/{componentCode}/msgpack) using systemUuid and componentCode. 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.
Accepts the following message:
An error message from the server for a specific Component MQTT input topic.
{
"summary": "A simple error message for a single `Component` MQTT input topic.",
"payload": {
"characteristic_code_invalid": "The value for the characteristic 'operation-mode' is not valid."
}
}
Publisher is used to update a Component using componentCode of a System using systemUuid with issuerUuid. 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.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
This is the input which is used by the Component service to process the Component updates.
This is the input which is used by the Component service to process the Component updates.
{
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"code": "my-component",
"name": "The death star laser",
"metadata": {
"key": "value"
},
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"status": "ACTIVATED",
"firmware": "1.0.0",
"firmwareVersions": {
"firmware": "1.0.0",
"bootloader": "1.0.0",
"certificates": "1df70987fa8b0b91fbcc4bc431c94658d22845eec06ae6f7517b6065309231ca"
}
}
Subscribe to the system's component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/{componentCode}/json/{issuerUuid}) using systemUuid, componentCode and issuerUuid. 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.
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 for a specific Component MQTT input topic.
{
"summary": "A simple error message for a single `Component` MQTT input topic.",
"payload": {
"characteristic_code_invalid": "The value for the characteristic 'operation-mode' is not valid."
}
}
Publisher is used to update a Component using componentCode of a System using systemUuid with issuerUuid. The data payload is expected to be in the msgpack format. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
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.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
This is the input which is used by the Component service to process the Component updates.
This is the input which is used by the Component service to process the Component updates.
{
"uuid": "d837b268-0855-49ab-b6b2-1070ac7c838e",
"code": "my-component",
"name": "The death star laser",
"metadata": {
"key": "value"
},
"connectionState": "CONNECTED",
"connectionStateUpdatedAt": "2021-11-02T17:11:46.833029+00:00",
"status": "ACTIVATED",
"firmware": "1.0.0",
"firmwareVersions": {
"firmware": "1.0.0",
"bootloader": "1.0.0",
"certificates": "1df70987fa8b0b91fbcc4bc431c94658d22845eec06ae6f7517b6065309231ca"
}
}
Subscribe to the system's component errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/{componentCode}/msgpack/{issuerUuid}) using systemUuid, componentCode and issuerUuid. 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.
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 for a specific Component MQTT input topic.
{
"summary": "A simple error message for a single `Component` MQTT input topic.",
"payload": {
"characteristic_code_invalid": "The value for the characteristic 'operation-mode' is not valid."
}
}
Publisher is used to update the connection state of a Component using componentCode of a System using systemUuid. The data payload is expected to be a value of ComponentConnectionState and encoded in plaintext. A user normally needs to use the issuerUuid postfixed entry to inform DRIVR who is initiating the change.
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:
The current connection status of the referenced Component.
Describes the connection state of a Component.
CONNECTED means the Component has an active connection to DRIVR.
DISCONNECTED means the Component has been disconnected from DRIVR.
NOT_CONNECTIVE means the Component does not report the connection state and the Component's ComponentModel's isConnective is set to false.
UNDEFINED means the Component is connective but has never reported a connection state.
CONNECTED
DISCONNECTED
NOT_CONNECTIVE
UNDEFINED
Subscribe to the component connection state errors which occur during processing on the parent topic(drivr/v1/{slug}/input/system/{systemUuid}/component/{componentCode}/state/connection) using systemUuid and componentCode. 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.
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."
]
}
}
]
}
}
Publisher is used to update the connection state of a Component using componentCode of a System using systemUuid with issuerUuid. The data payload is expected to be a value of ComponentConnectionState and encoded in plaintext.
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.
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The current connection status of the referenced Component.
Describes the connection state of a Component.
CONNECTED means the Component has an active connection to DRIVR.
DISCONNECTED means the Component has been disconnected from DRIVR.
NOT_CONNECTIVE means the Component does not report the connection state and the Component's ComponentModel's isConnective is set to false.
UNDEFINED means the Component is connective but has never reported a connection state.
CONNECTED
DISCONNECTED
NOT_CONNECTIVE
UNDEFINED
Subscribe to the component connection state 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 System within DRIVR.
A uniquely identifiable code of an ACTIVATED Component within a DRIVR System.
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."
]
}
}
]
}
}
Identify firmware update target (json)
Subscribe to check the firmware which should be targeted for a specific component. It should be subscribed to by the connecting gateway and its messages should be compared to the current firmware information resulting into the update of the firmware to the specified version.
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 tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
Accepts the following message:
The message to be sent to the gateway to update the firmware for a specific component.
{
"url": "http://cdn.drivr.cloud/firmware/1.0.0/death-star-laser.tar.gz",
"checksums": {
"SHA256": "a29ed88ccf6caec8c9c27aba3cefa395986d2ced5ffd189e87b785c7612e5957"
},
"version": "1.0.0",
"maxRetries": 3,
"updateDirective": "REGULAR"
}
Identify firmware update target (msgpack)
Subscribe to check the firmware which should be targeted for a specific component. It should be subscribed to by the connecting gateway and its messages should be compared to the current firmware information resulting into the update of the firmware to the specified version. For more information on msgpack please check this documentation: https://msgpack.org/
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 tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
Accepts the following message:
The message to be sent to the gateway to update the firmware for a specific component.
{
"url": "http://cdn.drivr.cloud/firmware/1.0.0/death-star-laser.tar.gz",
"checksums": {
"SHA256": "a29ed88ccf6caec8c9c27aba3cefa395986d2ced5ffd189e87b785c7612e5957"
},
"version": "1.0.0",
"maxRetries": 3,
"updateDirective": "REGULAR"
}
Firmware Update Status (json)
Publish the status of the firmware update for a specific component. It should be published by the gateway after the firmware update has been completed.
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.
The version of the firmware which is addressed by the given message.
A tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
Accepts the following message:
The message to be sent by the gateway to publish the status of the firmware update for a specific component.
{
"status": "STARTED",
"message": "Firmware update was successful.",
"progress": 0,
"steps": {
"property1": {
"status": "STARTED",
"message": "string",
"progress": 0,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
},
"property2": {
"status": "STARTED",
"message": "string",
"progress": 0,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
}
},
"attempt": 1,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
}
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.
The version of the firmware which is addressed by the given message.
A tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
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."
]
}
}
]
}
}
Firmware Update Status (json)
Publish the status of the firmware update for a specific component. It should be published by the gateway after the firmware update has been completed.
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.
The version of the firmware which is addressed by the given message.
A tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The message to be sent by the gateway to publish the status of the firmware update for a specific component.
{
"status": "STARTED",
"message": "Firmware update was successful.",
"progress": 0,
"steps": {
"property1": {
"status": "STARTED",
"message": "string",
"progress": 0,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
},
"property2": {
"status": "STARTED",
"message": "string",
"progress": 0,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
}
},
"attempt": 1,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
}
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.
The version of the firmware which is addressed by the given message.
A tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
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."
]
}
}
]
}
}
Firmware Update Status (msgpack)
Publish the status of the firmware update for a specific component. It should be published by the gateway after the firmware update has been completed.
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.
The version of the firmware which is addressed by the given message.
A tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
Accepts the following message:
The message to be sent by the gateway to publish the status of the firmware update for a specific component.
{
"status": "STARTED",
"message": "Firmware update was successful.",
"progress": 0,
"steps": {
"property1": {
"status": "STARTED",
"message": "string",
"progress": 0,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
},
"property2": {
"status": "STARTED",
"message": "string",
"progress": 0,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
}
},
"attempt": 1,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
}
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.
The version of the firmware which is addressed by the given message.
A tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
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."
]
}
}
]
}
}
Firmware Update Status (msgpack)
Publish the status of the firmware update for a specific component. It should be published by the gateway after the firmware update has been completed.
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.
The version of the firmware which is addressed by the given message.
A tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
The unique UUID of the User or System of the entity in DRIVR which issues the change.
Accepts the following message:
The message to be sent by the gateway to publish the status of the firmware update for a specific component.
{
"status": "STARTED",
"message": "Firmware update was successful.",
"progress": 0,
"steps": {
"property1": {
"status": "STARTED",
"message": "string",
"progress": 0,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
},
"property2": {
"status": "STARTED",
"message": "string",
"progress": 0,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
}
},
"attempt": 1,
"startedAt": "2021-11-02T17:11:46.833029+00:00",
"finishedAt": "2021-11-02T17:11:46.833029+00:00"
}
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.
The version of the firmware which is addressed by the given message.
A tag of the firmware information which should be updated. This tag differentiates various parts of the firmware. For example it can be a bootloader or the actual firmware or a file path to a file in the firmwares file system which should be updated or the file's SHA256 path hash. If the tag is not defined, the firmwareTag should be set to the default value "firmware".
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."
]
}
}
]
}
}