Settings
API for communication with ZBOS by Zora Robotics.
Channels
zbos/settings/get
PUB Get settings
Get all settings for the provided category
zbos/settings/get/response/\{key}
PUB Response: Get settings
SettingsCategory
Payload
| Name | Type | Description | Accepted values | 
| 
 | string | Translation key should use the dot notation: \{category}.\{key} | Any | 
| 
 | string | Optional description key Translation key should use the dot notation: \{category}.\{key} | Any | 
| 
 | object | Any | |
| 
 | object | Optional subcategories | Any | 
| 
 | boolean | The orphaned state indicates that this category was not added again since boot. | Any | 
Examples of payload
{
  "category": {
    "settings": {
      "setting_key_1": {
        "value": "Value 1",
        "type": "string",
        "required": true,
        "label_key": "translations_category.setting_1_label",
        "description_key": "translations_category.setting_1_description"
      },
      "setting_key_2": {
        "value": "100",
        "type": "integer",
        "range": {
          "min": 0,
          "max": 150
        },
        "required": false,
        "label_key": "translations_category.setting_2_label",
        "description_key": "translations_category.setting_2_description"
      },
      "setting_key_3": {
        "value": "100.50",
        "type": "number",
        "range": {
          "min": 1,
          "max": 150
        },
        "required": true,
        "label_key": "translations_category.setting_3_label",
        "description_key": "translations_category.setting_3_description"
      },
      "setting_key_4": {
        "value": "true",
        "type": "boolean",
        "label_key": "translations_category.setting_4_label",
        "description_key": "translations_category.setting_4_description"
      },
      "setting_key_5": {
        "value": "option_1",
        "type": "select_single",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_5_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_5_option_2"
          }
        ],
        "label_key": "translations_category.translations_category.setting_5_label",
        "description_key": "translations_category.setting_5_description"
      },
      "setting_key_6": {
        "values": [
          "option_1",
          "option_2"
        ],
        "type": "select_multi",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_6_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_6_option_2"
          },
          {
            "key": "option_3",
            "value": "Option 3",
            "label_key": "translations_category.setting_6_option_3"
          }
        ],
        "label_key": "translations_category.setting_6_label",
        "description_key": "translations_category.setting_6_description"
      }
    },
    "label_key": "translations_category.category_1_label"
  }
}{
  "category": {
    "settings": {
      "setting_key_1": {
        "value": "Value 1",
        "type": "string",
        "required": true,
        "label_key": "translations_category.setting_1_label",
        "description_key": "translations_category.setting_1_description"
      },
      "setting_key_2": {
        "value": "100",
        "type": "integer",
        "range": {
          "min": 0,
          "max": 150
        },
        "required": false,
        "label_key": "translations_category.setting_2_label",
        "description_key": "translations_category.setting_2_description"
      },
      "setting_key_3": {
        "value": "100.50",
        "type": "number",
        "range": {
          "min": 1,
          "max": 150
        },
        "required": true,
        "label_key": "translations_category.setting_3_label",
        "description_key": "translations_category.setting_3_description"
      },
      "setting_key_4": {
        "value": "true",
        "type": "boolean",
        "label_key": "translations_category.setting_4_label",
        "description_key": "translations_category.setting_4_description"
      },
      "setting_key_5": {
        "value": "option_1",
        "type": "select_single",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_5_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_5_option_2"
          }
        ],
        "label_key": "translations_category.translations_category.setting_5_label",
        "description_key": "translations_category.setting_5_description"
      },
      "setting_key_6": {
        "values": [
          "option_1",
          "option_2"
        ],
        "type": "select_multi",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_6_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_6_option_2"
          },
          {
            "key": "option_3",
            "value": "Option 3",
            "label_key": "translations_category.setting_6_option_3"
          }
        ],
        "label_key": "translations_category.setting_6_label",
        "description_key": "translations_category.setting_6_description"
      }
    },
    "subcategories": {
      "category_2a": {
        "settings": {},
        "label_key": "translations_category.category_2a_label"
      }
    },
    "label_key": "translations_category.category_2_label"
  }
}zbos/settings/add
PUB Add settings
Add settings with their default values. These default values will be used as long as they are not updated via zbos/settings/update
AddSettingsRequest
Payload
| Name | Type | Description | Accepted values | 
| 
 | string | Any | |
| 
 | string | Any | |
| 
 | string | Optional. Use either category or file | Any | 
| 
 | object | Optional. Use either category or file | Any | 
| 
 | string | Translation key should use the dot notation: \{category}.\{key} | Any | 
| 
 | string | Optional description key Translation key should use the dot notation: \{category}.\{key} | Any | 
| 
 | object | Any | |
| 
 | object | Optional subcategories | Any | 
Examples of payload
{
  "key": "abc",
  "category": {
    "settings": {
      "setting_key_1": {
        "type": "string",
        "required": true,
        "default_value": "Value 1",
        "label_key": "translations_category.setting_1_label",
        "description_key": "translations_category.setting_1_description"
      },
      "setting_key_2": {
        "type": "integer",
        "range": {
          "min": 0,
          "max": 150
        },
        "required": false,
        "default_value": "100",
        "label_key": "translations_category.setting_2_label",
        "description_key": "translations_category.setting_2_description"
      },
      "setting_key_3": {
        "type": "number",
        "range": {
          "min": 1,
          "max": 150
        },
        "required": true,
        "default_value": "100.50",
        "label_key": "translations_category.setting_3_label",
        "description_key": "translations_category.setting_3_description"
      },
      "setting_key_4": {
        "type": "boolean",
        "default_value": "true",
        "label_key": "translations_category.setting_4_label",
        "description_key": "translations_category.setting_4_description"
      },
      "setting_key_5": {
        "type": "select_single",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_5_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_5_option_2"
          }
        ],
        "default_value": "option_1",
        "label_key": "translations_category.translations_category.setting_5_label",
        "description_key": "translations_category.setting_5_description"
      },
      "setting_key_6": {
        "type": "select_multi",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_6_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_6_option_2"
          },
          {
            "key": "option_3",
            "value": "Option 3",
            "label_key": "translations_category.setting_6_option_3"
          }
        ],
        "label_key": "translations_category.setting_6_label",
        "description_key": "translations_category.setting_6_description"
      }
    },
    "label_key": "translations_category.category_1_label"
  },
  "category_name": "category_1"
}{
  "key": "abc",
  "category": {
    "settings": {
      "setting_key_1": {
        "type": "string",
        "required": true,
        "default_value": "Value 1",
        "label_key": "translations_category.setting_1_label",
        "description_key": "translations_category.setting_1_description"
      },
      "setting_key_2": {
        "type": "integer",
        "range": {
          "min": 0,
          "max": 150
        },
        "required": false,
        "default_value": "100",
        "label_key": "translations_category.setting_2_label",
        "description_key": "translations_category.setting_2_description"
      },
      "setting_key_3": {
        "type": "number",
        "range": {
          "min": 1,
          "max": 150
        },
        "required": true,
        "default_value": "100.50",
        "label_key": "translations_category.setting_3_label",
        "description_key": "translations_category.setting_3_description"
      },
      "setting_key_4": {
        "type": "boolean",
        "default_value": "true",
        "label_key": "translations_category.setting_4_label",
        "description_key": "translations_category.setting_4_description"
      },
      "setting_key_5": {
        "type": "select_single",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_5_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_5_option_2"
          }
        ],
        "default_value": "option_1",
        "label_key": "translations_category.translations_category.setting_5_label",
        "description_key": "translations_category.setting_5_description"
      },
      "setting_key_6": {
        "type": "select_multi",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_6_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_6_option_2"
          },
          {
            "key": "option_3",
            "value": "Option 3",
            "label_key": "translations_category.setting_6_option_3"
          }
        ],
        "label_key": "translations_category.setting_6_label",
        "description_key": "translations_category.setting_6_description"
      }
    },
    "subcategories": {
      "category_2a": {
        "settings": {},
        "label_key": "translations_category.category_2a_label"
      }
    },
    "label_key": "translations_category.category_2_label"
  },
  "category_name": "category_2"
}{
  "key": "abc",
  "file": "path/to/file.json",
  "category_name": "category_3"
}zbos/settings/update
PUB Update settings
Update settings overriding the default values.
UpdateSettingsRequest
Payload
| Name | Type | Description | Accepted values | 
| 
 | string | Any | |
| 
 | string | Any | |
| 
 | object | Any | |
| 
 | object | Any | |
| 
 | object | Optional subcategories | Any | 
Examples of payload
{
  "key": "abc",
  "category": {
    "settings": {
      "setting_key_1": {
        "value": "Value 1B"
      },
      "setting_key_2": {
        "value": "50"
      },
      "setting_key_3": {
        "value": "110.20"
      },
      "setting_key_4": {
        "value": "false"
      },
      "setting_key_5": {
        "value": "option_2"
      },
      "setting_key_6": {
        "values": [
          "option_2",
          "option_3"
        ]
      },
      "setting_key_7": {
        "hidden": true
      },
      "setting_key_8": {
        "options": [
          {
            "key": "first",
            "value": "first",
            "label": "First Option"
          },
          {
            "key": "second",
            "value": "second",
            "label": "Second Option"
          }
        ]
      }
    },
    "subcategories": {
      "category_1a": {
        "settings": {
          "setting_key_1a": {
            "value": "Value 1A"
          }
        }
      }
    }
  },
  "category_name": "category_1"
}zbos/settings/changed/event/\{category}
PUB Event: Settings changed
SettingsChangedEvent
Payload
| Name | Type | Description | Accepted values | 
| 
 | string | Any | |
| 
 | object | Any | |
| 
 | object | Any | |
| 
 | object | Optional subcategories | Any | 
Examples of payload
{
  "category": {
    "settings": {
      "setting_key_1": {
        "type": "string",
        "value": "Value 1"
      },
      "setting_key_2": {
        "type": "integer",
        "value": "100"
      },
      "setting_key_3": {
        "type": "number",
        "value": "100.50"
      },
      "setting_key_4": {
        "type": "boolean",
        "value": "true"
      },
      "setting_key_5": {
        "type": "select_single",
        "value": "option_1",
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_5_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_5_option_2"
          }
        ]
      },
      "setting_key_6": {
        "type": "select_multi",
        "values": [
          "option_1",
          "option_2"
        ],
        "options": [
          {
            "key": "option_1",
            "value": "Option 1",
            "label_key": "translations_category.setting_6_option_1"
          },
          {
            "key": "option_2",
            "value": "Option 2",
            "label_key": "translations_category.setting_6_option_2"
          },
          {
            "key": "option_3",
            "value": "Option 3",
            "label_key": "translations_category.setting_6_option_3"
          }
        ]
      }
    }
  },
  "category_name": "category_1"
}