[2026-09-17] eagle: family/how-to/zont-config-compiler.md family/tech/zont-config-object-types.md family/tech/zont-scenario-logic-11109.md
This commit is contained in:
@@ -120,7 +120,8 @@ Modbus-регистры (тип 52) в конфиге — **отдельные
|
||||
> `delays` / `scenario_scripts` / `scenario_raw_objects` **убраны** — тела живут только внутри
|
||||
> `steps[]`. Осталась одна служебная секция `scenario_orphans`.
|
||||
>
|
||||
> **Trigger-сценарий** (`steps` = ровно один шаг 46) — условие поднимается в `trigger:`:
|
||||
> **Trigger-сценарий** (`steps` = ровно один шаг 46) — условие поднимается в `trigger:`,
|
||||
> у шага остаётся **`action`** — голый id действия (тело объекта живёт в своей секции):
|
||||
>
|
||||
> ```yaml
|
||||
> - id: 9691
|
||||
@@ -132,13 +133,12 @@ Modbus-регистры (тип 52) в конфиге — **отдельные
|
||||
> value: 1
|
||||
> steps:
|
||||
> - id: 9819
|
||||
> then:
|
||||
> - id: 9563
|
||||
> descr: 'Включить выход 14/14: Прихожая (н/п)'
|
||||
> target: 146064
|
||||
> value: 1
|
||||
> action: 9563
|
||||
> ```
|
||||
>
|
||||
> ⚠️ **Условие НЕ дублируется** в шаге как `if:` — оно переносится в `trigger:` (`pop`).
|
||||
> Дублирование давало PyYAML-анкоры `&id061` / `*id061` (69 шт).
|
||||
>
|
||||
> **Все остальные типы** — `trigger:` отсутствует, условие шага живёт в нём как `if:`:
|
||||
>
|
||||
> ```yaml
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
# 8.17. ✅ МОДЕЛЬ ЗАКРЫТА (2026-09-17, финал) — поле 5, форма сценария, type 47/49
|
||||
|
||||
> **Статус:** все открытые вопросы §8.16 закрыты. Ниже — подтверждённые факты.
|
||||
> 🔴 **ЧАСТИЧНО УСТАРЕЛО — актуальная форма в [[family/how-to/zont-config-compiler]] §8.**
|
||||
> Что здесь неверно:
|
||||
> - **`if`/`then`/`else` НЕ выдумка** (§(б) ниже утверждает обратное). Это **поля записи 46**
|
||||
> — поле 3 = `then`-список, поле 4 = `else`-список, поле 2 = условие. Alex: «Then конечно!!!».
|
||||
> Пара `then`/`else` обязательна там, где у шага есть свой `if`.
|
||||
> - **`action`** — не выдумка, но и не универсальное имя: у шага **с поднятым условием**
|
||||
> (`trigger:` наверху) список действий называется `action`; у шага **со своим `if`** — `then`.
|
||||
> - **`trigger:` не дублируется** в шаге: условие **переносится** (`pop`), иначе PyYAML ставит
|
||||
> анкоры `&id061`/`*id061` (было 69 штук).
|
||||
> - **`_kind`/`_f5`/`_then`** в примерах §(б) — выдуманные служебные ключи, вырезаны.
|
||||
> - **Поле 5 в YAML не хранится вообще** (`type`/`field5` тоже вырезаны) — собирается из тела.
|
||||
|
||||
> **Статус (исторический):** все открытые вопросы §8.16 закрыты. Ниже — подтверждённые факты.
|
||||
> Таблица `TRIGGER_KINDS` **удалена из кода**; доказательство получено **тостингом сценариев
|
||||
> в UI**: Alex выключил/включил тестовые сценарии, поле 5 снято до и после, плюс повторный
|
||||
> тостинг `8597`/`8599` дал **включённые** значения `schedule`/`interval` (`0` и `2`).
|
||||
|
||||
Reference in New Issue
Block a user