Monitoring

API for communication with ZBOS by Zora Robotics.

Channels

zbos/monitoring/event/\{source}/\{type}

SUB Monitoring event

Channel tags
  • Monitoring

MonitoringEvent
Payload

Name

Type

Description

Accepted values

id

string

Mandatory. A unique ID for the event

Any

timestamp

number

Mandatory. The time at which the event occurred

Any

type

string

Mandatory. The type of event this is, no dots allowed

Any

source

string

Mandatory. What device produced this event, no dots allowed

Any

value

string

Optional. A value relating to the event such as a temperature

Any

data

object

Optional. Extra data related to the event

Any

unit

string

Optional. The type of unit the value is expressed in such as °C

Any

alarms

array (object)

Optional. Alarms attached to this event

Any

alarms. type

string

Mandatory. The type of alarm

* ItemOmission * ItemCommission * ServiceOmission * ServiceCommission * TransientServiceOmission * TransientServiceCommission * EarlyServiceOmission * LateServiceCommission * EarlyServiceStart * LateServiceStart * BoundedOmissionInterval * UndetectableValueError * BelowRange * AboveRange * BoundedValueChange * StuckValue * OutOfBounds * OutOfOrder * OutOfCalibration * EarlyDelivery * LateDelivery * HighRate * LowRate * RateJitter * EarlyService * DelayedService * SymmetricReplicationError * AsymmetricApproximateValue * AsymmetricExactValue * AsymmetricItemOmission * AsymmetricServiceOmission * AsymmetricTiming * ReadWriteRace * WriteWriteRace * Deadlock * Starvation * AuthorizationError * AuthenticationError

alarms. severity

integer

Mandatory. How critical the alarm is

Any

alarms. persist

boolean

Mandatory. If this is an ongoing alarm

Any

alarms. timestamp

number

Mandatory. When the alarm initially started

Any

files

array (string)

Optional. List of cloud file IDs attached to this event

Any

Example of payload (generated)
{
  "id": "string",
  "timestamp": 0,
  "type": "string",
  "source": "string",
  "value": "string",
  "data": {},
  "unit": "string",
  "alarms": [
    {
      "type": "ItemOmission",
      "severity": 0,
      "persist": true,
      "timestamp": 0
    }
  ],
  "files": [
    "string"
  ]
}

zbos/monitoring/list/get

PUB Get monitoring events

Channel tags
  • Monitoring

FilteringRequest
Payload

Name

Type

Description

Accepted values

key

string

Any

limit

integer

Any

offset

integer

Any

filters

array (object)

Any

filters. field

string

Field to check on. Note that the field should be camelCase, not snake_case

Any

filters. value

string

Value to check on. For numbers you should use 'min' and 'max'.

Any

filters. min

number

Minimum value, only usable for number fields

Any

filters. max

number

Maximum value, only usable for number fields

Any

filters. direction

string

Direction to sort on. Can be 'asc' or 'desc'. The default direction is 'asc'

* asc * desc

filters. operator

string

Operator for either the child filters, or this filter object itself. Can be 'and', 'or' or 'not'. Default is 'and'. The root operator is always 'and'

* and * or * not

filters. match_type

string

Match type for string values. Can be 'exact', 'contains', 'starts_with', 'ends_with'. The default match_type is 'contains'

* exact * contains * starts_with * ends_with

filters. filters

array (object)

Filters on which the operator will be applied. If there are no child filters, the operator will be applied to the filter object itself.

Any

filters. field_filters

array (object)

Filters to apply on the child fields of the field. Will only work if the field is an object, array/list or map.

Any

sort

array (object)

Any

sort. field

string

Field to check on. Note that the field should be camelCase, not snake_case

Any

sort. value

string

Value to check on. For numbers you should use 'min' and 'max'.

Any

sort. min

number

Minimum value, only usable for number fields

Any

sort. max

number

Maximum value, only usable for number fields

Any

sort. direction

string

Direction to sort on. Can be 'asc' or 'desc'. The default direction is 'asc'

* asc * desc

sort. operator

string

Operator for either the child filters, or this filter object itself. Can be 'and', 'or' or 'not'. Default is 'and'. The root operator is always 'and'

* and * or * not

sort. match_type

string

Match type for string values. Can be 'exact', 'contains', 'starts_with', 'ends_with'. The default match_type is 'contains'

* exact * contains * starts_with * ends_with

sort. filters

array (object)

Filters on which the operator will be applied. If there are no child filters, the operator will be applied to the filter object itself.

Any

sort. field_filters

array (object)

Filters to apply on the child fields of the field. Will only work if the field is an object, array/list or map.

Any

language

string

Optional. Set the language to have all translations filled in. The language format is ISO 639-1 language code, Eg: 'en' or 'en-US'

Any

Examples of payload
{
  "key": "Test123",
  "limit": 50,
  "offset": 10,
  "filters": [
    {
      "operator": "or",
      "match_type": "contains"
    },
    {
      "field": "type",
      "value": "image",
      "operator": "and",
      "match_type": "contains"
    },
    {
      "field": "date",
      "operator": "and",
      "match_type": "contains"
    }
  ],
  "sort": [
    {
      "field": "extension",
      "operator": "and",
      "match_type": "contains"
    },
    {
      "field": "name",
      "operator": "and",
      "match_type": "contains"
    }
  ]
}

zbos/monitoring/list/get/response/\{key}

SUB response: Get monitoring events

Channel tags
  • Monitoring

Array<MonitoringEvent>
Payload

Name

Type

Description

Accepted values

Message Payload

array (object)

Any

Message Payload. id

string

Mandatory. A unique ID for the event

Any

Message Payload. timestamp

number

Mandatory. The time at which the event occurred

Any

Message Payload. type

string

Mandatory. The type of event this is, no dots allowed

Any

Message Payload. source

string

Mandatory. What device produced this event, no dots allowed

Any

Message Payload. value

string

Optional. A value relating to the event such as a temperature

Any

Message Payload. data

object

Optional. Extra data related to the event

Any

Message Payload. unit

string

Optional. The type of unit the value is expressed in such as °C

Any

Message Payload. alarms

array (object)

Optional. Alarms attached to this event

Any

Message Payload.alarms. type

string

Mandatory. The type of alarm

* ItemOmission * ItemCommission * ServiceOmission * ServiceCommission * TransientServiceOmission * TransientServiceCommission * EarlyServiceOmission * LateServiceCommission * EarlyServiceStart * LateServiceStart * BoundedOmissionInterval * UndetectableValueError * BelowRange * AboveRange * BoundedValueChange * StuckValue * OutOfBounds * OutOfOrder * OutOfCalibration * EarlyDelivery * LateDelivery * HighRate * LowRate * RateJitter * EarlyService * DelayedService * SymmetricReplicationError * AsymmetricApproximateValue * AsymmetricExactValue * AsymmetricItemOmission * AsymmetricServiceOmission * AsymmetricTiming * ReadWriteRace * WriteWriteRace * Deadlock * Starvation * AuthorizationError * AuthenticationError

Message Payload.alarms. severity

integer

Mandatory. How critical the alarm is

Any

Message Payload.alarms. persist

boolean

Mandatory. If this is an ongoing alarm

Any

Message Payload.alarms. timestamp

number

Mandatory. When the alarm initially started

Any

Message Payload. files

array (string)

Optional. List of cloud file IDs attached to this event

Any

Example of payload (generated)
[
  {
    "id": "string",
    "timestamp": 0,
    "type": "string",
    "source": "string",
    "value": "string",
    "data": {},
    "unit": "string",
    "alarms": [
      {
        "type": "ItemOmission",
        "severity": 0,
        "persist": true,
        "timestamp": 0
      }
    ],
    "files": [
      "string"
    ]
  }
]

zbos/monitoring/registration/request

SUB Request monitoring registrations

Request all monitoring services to register themselves using the topics below.

Channel tags
  • Monitoring

EmptyMessage

Empty message

zbos/monitoring/add

PUB Add monitoring service

Add monitoring service with their default values and extra settings. Settings can be retrieved using the settings API, see zbos/settings/get

Channel tags
  • Monitoring

AddMonitoringServiceRequest
Payload

Name

Type

Description

Accepted values

key

string

Any

service

object

Any

service. source

string

Mandatory. The source of this monitoring service

Any

service. type

string

Mandatory. The type of this monitoring service

Any

service. default_settings

object

Optional. Any default settings to be overridden

Any

service.default_settings. enabled

boolean

Any

service.default_settings. storage_type

string

* disk * memory

service.default_settings. persistence_type

string

* hours * days * weeks * months * items

service.default_settings. persistence_value

integer

Any

service.default_settings. cloud_sync

boolean

Any

service.default_settings. push_notifications

boolean

Any

service.default_settings. email_notifications

boolean

Any

service. hidden_default_settings

array (string)

Optional. Hide certain default settings so the user can't change it

Any

service. extraSettings

object

Optional. Any extra settings to be registered

Any

Examples of payload
{
  "key": "some_key",
  "service": {
    "source": "camera",
    "type": "mask",
    "extraSettings": {
      "some_setting": {
        "type": "boolean",
        "default_value": "true",
        "label_key": "some_setting"
      }
    },
    "default_settings": {
      "enabled": true,
      "storage_type": "disk",
      "persistence_type": "days",
      "persistence_value": 7
    }
  }
}

zbos/monitoring/add/response/\{key}

SUB Response: Add monitoring service

Channel tags
  • Monitoring

SuccessMessage

Success message

Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Optional error message

Any

Examples of payload
{
  "success": true
}

zbos/monitoring/event/add

PUB Add a new event

Channel tags
  • Monitoring

AddMonitoringEventRequest
Payload

Name

Type

Description

Accepted values

key

string

Any

event

object

Any

event. type

string

Mandatory. The type of event this is, no dots allowed

Any

event. source

string

Mandatory. What device produced this event, no dots allowed

Any

event. timestamp

number

Optional. The time at which the event occurred

Any

event. value

string

Optional. A value relating to the event such as a temperature

Any

event. data

object

Optional. Extra data related to the event

Any

event. unit

string

Optional. The type of unit the value is expressed in such as °C

Any

event. alarms

array (object)

Optional. Alarms attached to this event

Any

event.alarms. type

string

Mandatory. The type of alarm

* ItemOmission * ItemCommission * ServiceOmission * ServiceCommission * TransientServiceOmission * TransientServiceCommission * EarlyServiceOmission * LateServiceCommission * EarlyServiceStart * LateServiceStart * BoundedOmissionInterval * UndetectableValueError * BelowRange * AboveRange * BoundedValueChange * StuckValue * OutOfBounds * OutOfOrder * OutOfCalibration * EarlyDelivery * LateDelivery * HighRate * LowRate * RateJitter * EarlyService * DelayedService * SymmetricReplicationError * AsymmetricApproximateValue * AsymmetricExactValue * AsymmetricItemOmission * AsymmetricServiceOmission * AsymmetricTiming * ReadWriteRace * WriteWriteRace * Deadlock * Starvation * AuthorizationError * AuthenticationError

event.alarms. severity

integer

Mandatory. How critical the alarm is

Any

event.alarms. persist

boolean

Mandatory. If this is an ongoing alarm

Any

event.alarms. timestamp

number

Mandatory. When the alarm initially started

Any

event. files

array (string)

Optional. List of cloud file IDs attached to this event

Any

Examples of payload
{
  "key": "some_key",
  "event": {
    "type": "SomeType",
    "source": "SomeSource",
    "timestamp": 1349333576093,
    "valid": true
  }
}

zbos/monitoring/event/add/response/\{key}

SUB response: Add a new event

Channel tags
  • Monitoring

SuccessMessage

Success message

Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Optional error message

Any

Examples of payload
{
  "success": true
}

zbos/monitoring/event/delete

PUB Delete an event

Channel tags
  • Monitoring

RemoveMonitoringEvent
Payload

Name

Type

Description

Accepted values

id

string

Mandatory. A unique ID for the event

Any

type

string

Optional. The type of event this is, no dots allowed

Any

source

string

Optional. What device produced this event, no dots allowed

Any

Examples of payload
{
  "id": "some_id",
  "type": "SomeType",
  "source": "SomeSource"
}
{
  "id": "some_id"
}
{
  "id": "some_id",
  "type": "SomeType"
}

zbos/monitoring/event/delete/event

SUB event: Delete an event

Channel tags
  • Monitoring

MonitoringResponse
Payload

Name

Type

Description

Accepted values

key

string

The key used by the add request

Any

success

boolean

Did the operation succeed

Any

id

string

The ID of the new event

Any

Example of payload (generated)
{
  "key": "string",
  "success": true,
  "id": "string"
}