мНет описания правки Метка: отменено |
|||
Строка 4: | Строка 4: | ||
== Файл базы данных == | == Файл базы данных == | ||
База данных это файл, в котором | База данных это файл, в котором хранятся автоматизации, по умолчанию это <code>/opt/homed-automation/database.json</code>. Путь к файлу базы данных может быть изменен в [[Automation/Configuration|конфигурации]]. Не обязательно редактировать базу данных автоматизаций вручную, намного проще настраивать автоматизации через [[Web|веб-интерфейс]]. | ||
== Элементы автоматизаций == | == Элементы автоматизаций == | ||
Строка 15: | Строка 15: | ||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
" | "devices": [ | ||
{ | { | ||
"active": true, | "active": true, | ||
" | "cloud": false, | ||
" | "discovery": false, | ||
"exposes": [ | |||
"temperature", "humidity" | |||
], | ], | ||
" | "options": | ||
{ | |||
"temperature": {"unit": "F"} | |||
}, | |||
"id": "ds18b20", | |||
"name": "DS18B20", | |||
"real": false | |||
" | |||
" | |||
" | |||
} | } | ||
] | ] | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Параметры | == Параметры устройств == | ||
=== <code>active</code> === | === <code>active</code> === |
Версия от 07:53, 5 сентября 2024
Файл базы данных
База данных это файл, в котором хранятся автоматизации, по умолчанию это /opt/homed-automation/database.json
. Путь к файлу базы данных может быть изменен в конфигурации. Не обязательно редактировать базу данных автоматизаций вручную, намного проще настраивать автоматизации через веб-интерфейс.
Элементы автоматизаций
Структура базы данных
База данных HOMEd Automation это JSON-объект. Общая структура базы данных выглядит так:
{
"devices": [
{
"active": true,
"cloud": false,
"discovery": false,
"exposes": [
"temperature", "humidity"
],
"options":
{
"temperature": {"unit": "F"}
},
"id": "ds18b20",
"name": "DS18B20",
"real": false
}
]
}
Параметры устройств
active
Включение/выключение автоматизации.
name
Название автоматизации, чтобы было проще отличать автоматизации друг от друга.
debounce
Минимальный допустимый интервал между срабатываниями автоматизации в секундах.
restart
В случае, когда автоматизация содержит действия задержки выполения, автоматизация будет "перезапущена", если значение этого поля установлено как true
. В противном случае повторное срабатывание триггеров будет проигнорировано до истечения времени задержки.
triggers
Массив триггеров автоматизации. Триггеры это события, которые вызывают срабатывание автоматизации, такие как изменение состояния устройства или выход какого-то параметра за заданный предел.
conditions
Массив условий автоматизации. Автоматизация сработает только в случае, если заданные условия выполнены. Данное поле не является обязательным.
actions
Массив действий автоматизации. Действия это итоговый результат автоматизации, например, действие может изменить состояние устройства или отправить сообщение в Telegram.
Состояния
Состояния это способ обмена данными между автоматизациями. У каждого состояния есть название. Состояния могут быть установлены или удалены соответсующими действиями и могут использоваться в условиях. В базе данных состояния сохраняются во вложенном объекте "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": "на улице холодно"
}
]
}
]
}