[2026-09-17] eagle: family/how-to/zont-config-compiler.md family/tech/zont-scenario-logic-11109.md
This commit is contained in:
@@ -4,6 +4,7 @@ aliases:
|
||||
- Передернуть Автомат Котельной
|
||||
- ZONT тип 45 задержка
|
||||
- ZONT сценарная логика
|
||||
- ZONT поле 2 сценария
|
||||
created: '2026-09-17'
|
||||
namespace: family
|
||||
related:
|
||||
@@ -18,7 +19,7 @@ tags:
|
||||
- homeautomation
|
||||
title: 🔁 ZONT — сценарная логика (типы 11 / 46 / 49 / 45)
|
||||
type: tech
|
||||
updated: '2026-09-17'
|
||||
updated: '2026-09-17b'
|
||||
---
|
||||
|
||||
# 🔁 ZONT — сценарная логика (типы 11 / 46 / 49 / 45)
|
||||
@@ -68,7 +69,8 @@ updated: '2026-09-17'
|
||||
|
||||
## 3. Разобранный кейс: `#Z11109` «Передернуть Автомат Котельной»
|
||||
|
||||
**Единственный сценарий в конфиге с нестандартной формой** — 2 шага и 7 действий в одном шаге.
|
||||
**Единственный сценарий в конфиге с нестандартной формой** — 7 действий в шаге и задержка (`45`)
|
||||
прямо в поле 2 сценария (`11828`) вместо второго шага. См. §5 «Уточнение семантики поля 2».
|
||||
|
||||
```
|
||||
#Z11109=11,'Передернуть Автомат Котельной',[11827,11828],0,0,0,0,0
|
||||
@@ -100,7 +102,8 @@ updated: '2026-09-17'
|
||||
| 6 | `11192` (type 9) | выключить `virt. Запретить передергивание` | — |
|
||||
| 7 | `11826` (type 45) | пауза | 0 |
|
||||
|
||||
**Шаг 2 (`11828`)** — `[45, 0]`, пустая пауза-заглушка. Оставлен планировщиком ZONT, функциональной нагрузки не несёт.
|
||||
**Шаг 2 (`11828`)** — на деле это не шаг, а **задержка** `[45, 0]` прямо в поле 2 сценария:
|
||||
пустая пауза-заглушка. Оставлена планировщиком ZONT, функциональной нагрузки не несёт.
|
||||
|
||||
### Смысл логики
|
||||
|
||||
@@ -142,11 +145,60 @@ updated: '2026-09-17'
|
||||
| Многошаговый сценарий (`[11827,11828]`) | ✅ разбирается с 2026-09-17 |
|
||||
| 7 действий в шаге `11827` | ✅ разбирается с 2026-09-17 |
|
||||
| Тип 45 (4 объекта) | ✅ парсер + эмиттер, секция YAML `delays` |
|
||||
| Сценарий `enabled=0` | ℹ️ факт, не баг конвертера — решается на этапе 2 (правка YAML) |
|
||||
| Round-trip всех 4 конфигов | ✅ чисто (`test_roundtrip.py`, коммит `199f2b1`) |
|
||||
| Сценарий `enabled=0` | ℹ️ факт, не баг конвертера |
|
||||
|
||||
### 🔴 Уточнение семантики поля 2 (важно)
|
||||
|
||||
Поле 2 сценария — **не «список шагов»**, а **последовательность ссылок**, куда попадают объекты
|
||||
**разных типов**. Полный список: шаг (`46`) **и** задержка (`45`).
|
||||
|
||||
В `#Z11109` поле 2 = `[11827, 11828]`, где:
|
||||
- `11827` — настоящий шаг (`46`) с условием и 7 действиями;
|
||||
- `11828` — **задержка (`45,0`)**, т.е. «шаг-ожидание» без условия.
|
||||
|
||||
Поэтому формулировка «2 шага» неточна: **шаг один**, вторым элементом идёт задержка-заглушка.
|
||||
Отсюда же — `extra_links` в YAML (см. [[family/how-to/zont-config-compiler]] §2.1): не-46 ссылки
|
||||
сохраняются дословно, чтобы round-trip остался байт-точным.
|
||||
|
||||
> ⚠️ **Не путать с типом 45 внутри шага.** В `11827` задержки `11824`/`11825`/`11826` — это
|
||||
> **действия внутри** шага. `11828` — **ссылка в поле 2 сценария**, т.е. элемент верхнего уровня.
|
||||
|
||||
---
|
||||
|
||||
## 6. Связанные заметки
|
||||
## 6. План переработки YAML-структуры (2026-09-17, ждёт апрува)
|
||||
|
||||
Сценарии в YAML переписываются в нативную ZONT-форму **вложенных инструкций «если … то …»** —
|
||||
**без HA-синтаксиса** (`triggers`, `platform: state`). Alex: «нет структура должна быть как в zont.
|
||||
**триггеров нет.**»
|
||||
|
||||
Предлагаемая форма для `11109`:
|
||||
|
||||
```yaml
|
||||
scenarios:
|
||||
- id: 11109
|
||||
name: 'Передернуть Автомат Котельной'
|
||||
enabled: false
|
||||
blocks:
|
||||
- id: 11827
|
||||
if: {id: 11823, relay: 11190, operator: equals, value: 0}
|
||||
then:
|
||||
- {id: 11191, action: relay_on, relay: 11190}
|
||||
- {id: 11030, action: relay_off, relay: 11028}
|
||||
- {id: 11824, action: wait, ms: 20000}
|
||||
- {id: 11029, action: relay_on, relay: 11028}
|
||||
- {id: 11825, action: wait, ms: 60000}
|
||||
- {id: 11192, action: relay_off, relay: 11190}
|
||||
- {id: 11826, action: wait, ms: 0}
|
||||
tail:
|
||||
- {id: 11828, action: wait, ms: 0} # задержка из поля 2 сценария
|
||||
```
|
||||
|
||||
Полный план и открытые вопросы — [[family/how-to/zont-config-compiler]] §5c.
|
||||
|
||||
---
|
||||
|
||||
## 7. Связанные заметки
|
||||
|
||||
- [[family/how-to/zont-config-compiler]] — конвертеры `.txt ⇄ .yml`; 2 шага и тип 45 **поддержаны с 2026-09-17** (§5b)
|
||||
- [[family/tech/zont-config-object-types]] — полная таблица типов объектов и `#S`-настройки
|
||||
|
||||
Reference in New Issue
Block a user