Правила¶
Движок правил — локальные автоматизации прямо на головном устройстве. Home Assistant не нужен: условия проверяются каждую секунду, действия выполняются через DiPlus.
Как работает правило¶
Правило = условия + действия (+ опционально действия «иначе»).
- Условие — сравнение сенсора со значением:
=,≠,>,<,≥,≤. Условий может быть несколько, они объединяются связками AND / OR, у каждого есть флаг NOT (инверсия). - Действие — команда из каталога с параметром (или без). Действий может быть несколько — выполняются последовательно.
- «Иначе» (else) — отдельный набор действий, выполняемый когда условие переходит в «ложь».
Примеры:
- Температура на улице > 25 °C и на сиденье есть пассажир → включить обдув сиденья.
- Коробка в
P→ открыть двери; коробка вD→ закрыть двери. - Время 08:00 и на улице < −10 °C → подогрев сидений.
- Вход в геозону «дом» → включить свет в салоне.
Пустое значение у условия геозоны
Если у условия с geo_* сенсором значение не задано, оно трактуется как inside — правила, сохранённые без значения, продолжают работать. Для условий «снаружи» укажите значение outside явно.
Параметры правила¶
| Параметр | По умолчанию | Описание |
|---|---|---|
| Включено | да | выключенные правила не проверяются |
| По фронту | да | срабатывать только при переходе условия из «ложь» в «истину» (для else-ветки — из «истина» в «ложь»). Если выключено — срабатывает на каждой секундной проверке (с учётом кулдауна) |
| Один раз за поездку | нет | после срабатывания правило молчит до следующей сессии движка |
| Мин. интервал, с | 1800 | кулдаун между срабатываниями — только для уровневых правил (по фронту = выкл). Для правил по фронту кулдаун не нужен: фронт сам ограничивает срабатывания (в редакторе поле отмечено серым) |
| Удерживать условие, с | 0 | условие должно держаться истинным N секунд подряд перед срабатыванием — защита от флапа сигнала (0 = сразу) |
| Анти-зацикливание, с | 60 | окно, в котором одинаковая команда с тем же значением не отправляется повторно — защита от «щёлканья» двух правил туда-сюда |
В списке правил у каждого видно время последнего срабатывания — отдельно для прямой и else-ветки («сработало: 25.07 08:12»).
Почему у правил по фронту нет кулдауна
До версии 2.1.1 30-минутный кулдаун применялся ко всем правилам, и «открыть двери на паркинге» срабатывало раз в полчаса вместо каждого паркинга на коротких поездках. С v2.1.1 правила по фронту стреляют на каждом переходе; анти-зацикливание (60 с) остаётся как защита от петель.
Защита от ложных срабатываний¶
- Персистентное состояние — движок помнит последнее значение условия каждого правила между перезапусками: правило по фронту не сработает на старте, если состояние не менялось.
- Проверка пустого кэша — пока сенсоры не дали первых данных, правила пропускаются (нет срабатываний «на пустом месте» при старте).
- Кулдаун и анти-зацикливание — см. таблицу выше.
Редактор правил¶
- Условия и действия — строками; кнопки добавления, удаления и перестановки ↑/↓.
- Сенсор и оператор — списками; названия сенсоров локализованы (132 шт., EN/RU).
- Значение условия — автодополнение из реально наблюдавшихся значений сенсора (числовые отсортированы по величине).
- Значение действия — автодополнение по типу команды: для перечислений — локализованные варианты, для чисел — диапазон
min..maxи ранее использованные значения; для команд без параметра поле отключено.
Экспорт и импорт¶
В меню правил: экспорт в файл или буфер обмена, импорт из файла/буфера. Формат v2 (принимает и старый v1). Экспорт общей конфигурации приложения включает правила и геозоны вместе с настройками подключения.
Примеры при первом запуске¶
На новой установке создаются пять выключенных правил-шаблонов (на языке системы): обдув сидений при жаре, проветривание, открытие дверей на паркинге, подогрев при морозе. Включите нужные и подстройте под себя.