м (→name) |
|||
Строка 48: | Строка 48: | ||
=== <code>active</code> === | === <code>active</code> === | ||
Включение/выключение устройства. | Включение/выключение устройства. | ||
=== <code>id</code> === | |||
Уникальный идентификатор устройства. | |||
=== <code>name</code> === | === <code>name</code> === | ||
Уникальное читаемое имя устройства. | |||
=== <code> | === <code>real</code> === | ||
=== <code> | === <code>cloud</code> === | ||
=== <code> | === <code>discovery</code> === | ||
=== <code> | === <code>exposes</code> === | ||
=== <code> | === <code>options</code> === | ||
== Состояния == | == Состояния == |
Версия от 08:09, 5 сентября 2024
Файл базы данных
База данных это файл, в котором хранится описание устройств. По умолчанию это /opt/homed-custom/database.json
. Путь к файлу базы данных может быть изменен в конфигурации. Не обязательно редактировать базу данных автоматизаций вручную, намного проще настраивать устройства через веб-интерфейс.
Структура базы данных
База данных HOMEd Сustom это JSON-объект. Общая структура базы данных выглядит так:
{
"devices":
[
{
"active": true,
"id": "myCustomDevice1",
"name": "My Custom Device",
"real": false,
"cloud": true,
"discovery": true,
"exposes":
[
...
],
"options":
{
...
}
},
{
"active": true,
"id": "myCustomDevice2",
"name": "Other Custom Device",
"real": true,
"cloud": true,
"discovery": true,
"exposes":
[
...
]
}
]
}
Параметры устройств
active
Включение/выключение устройства.
id
Уникальный идентификатор устройства.
name
Уникальное читаемое имя устройства.
real
cloud
discovery
exposes
options
Состояния
Состояния это способ обмена данными между автоматизациями. У каждого состояния есть название. Состояния могут быть установлены или удалены соответсующими действиями и могут использоваться в условиях. В базе данных состояния сохраняются во вложенном объекте "states"
:
{
"states":
{
"windowIsOpen": true,
"mySpecialState": "hello",
"numericData": 24.2,
...
}
}
Примеры
{
"automations":
[
{
"active": true,
"name": "управление лампой на столе",
"triggers":
[
{
"type": "property",
"endpoint": "zigbee/freePad/1",
"property": "action",
"equals": "singleClick"
}
],
"conditions":
[
{
"type": "property",
"endpoint": "zigbee/roomLight/2",
"property": "status",
"equals": "off"
}
],
"actions":
[
{
"type": "property",
"endpoint": "zigbee/tableLight",
"property": "status",
"value": "toggle"
}
]
},
{
"active": true,
"name": "управление светом в комнате",
"triggers":
[
{
"type": "property",
"endpoint": "zigbee/freePad/2",
"property": "action",
"equals": "singleClick"
},
{
"type": "telegram",
"message": "включи свет в комнате"
}
],
"actions":
[
{
"type": "property",
"endpoint": "zigbee/roomLight/2",
"property": "status",
"value": "on"
}
]
},
{
"active": true,
"name": "уведомление о похолодании",
"triggers":
[
{
"type": "property",
"endpoint": "zigbee/outdoorTemperature",
"property": "temperature",
"below": 10
}
],
"actions":
[
{
"type": "telegram",
"message": "на улице холодно"
}
]
}
]
}