Словарь
Словари определяют коллекцию данных в формате "ключ–значение" или "ключ–набор значений".
Словари могут использоваться для отображения данных в виджетах в более удобном виде, а также для хранения данных, которые могут быть использованы в уведомлениях, условиях перехода состояний и триггерах состояний.
Поле | Тип | Описание | ||
---|---|---|---|---|
columns |
Object |
Названия столбцов (ключа и значений) словаря. Присутствует только словарях с именованными столбцами. Определяется как объект JSON следующего вида:
|
||
content |
String |
Пары |
||
contentType |
String |
Строка, которая содержит тип значения словаря. В текущей реализации, всегда содержит |
||
description |
String |
Dictionary’s description. |
||
id |
String |
Идентификатор словаря. |
||
name |
String |
Название словаря. |
Примеры
Одно значение
Ниже приведён пример словаря, который можно использовать, например, для датчика открытия двери.
Датчик присылает значения 0
и 1
, которые соответствуют закрытию и открытию двери соответственно. При использовании словаря в виджете будут отображаться значения Closed
и Open
.
Значения и их представления указываются в виде JSON-строки в поле content
.
{
"name": "Door status",
"content": "{\"0\":\"Closed\",\"1\":\"Open\"}",
"description": "Transforms data from sensors in the human-readable form",
"contentType": "object",
"id": "66e40169029ed40f1105e599"
}
Набор значений
Ниже представлен пример словаря, у которого к каждому ключу относится несколько значений. В этом словаре, у каждого сотрудника определено имя, адрес почты, а также зашифрованный пароль.
Для создания зашифрованных полей, нужно задать нужному полю название, содержащее слово Также, для шифрования строк, необходимо включить шифрование в поле |
{
"name": "Employees",
"content": "{\"1\":[\"John Doe\",\"jdoe@example.com\",\"<<crypt:8E993700B6C8BE0CD3849016AF2EF808:0ECB4A66999D516BF80AF91042C7D577>>\"],\"2\":[\"Jane Doe\",\"jdoe@example.com\",\"<<crypt:704FBEF78BF89315840EAF72E9581508:9E984544669ACF7DBCD6C9455360CEB8>>\"]}",
"description": "List of employees",
"contentType": "object",
"columns":
"0": {
"name": "ID"
},
"1": {
"name": "Name"
},
"2": {
"name": "Email"
},
"0": {
"name": "Password"
},
"id": "66e411bf029ed40f1105e59a"
},