[2026-09-18] eagle: personal/projects/zont-config-compiler.md
This commit is contained in:
@@ -93,6 +93,17 @@ aliases:
|
||||
- ZONT YAML якорь id002
|
||||
- ZONT алиас sms_notifications
|
||||
- ZONT вызов сценария 11109
|
||||
- ZONT call_sub
|
||||
- ZONT send_sms
|
||||
- ZONT exit вместо end
|
||||
- ZONT end: true
|
||||
- ZONT scenario_orphans пустой
|
||||
- ZONT орфанов нет
|
||||
- ZONT круг 47
|
||||
- ZONT круг 48
|
||||
- ZONT круг 49
|
||||
- ZONT поле 4 expr
|
||||
- ZONT битая ссылка exit
|
||||
- ZONT тип 11 сценарий
|
||||
- ZONT тип 3 SMS
|
||||
- ZONT артефакт yml устарел
|
||||
@@ -3992,3 +4003,35 @@ Alex: *«и `scenario_orphans: []` снеси. и пуш»*.
|
||||
выводится, энкодер считает его сам. Правило (проверено по всем 26 `expr`-записям в 9 дампах):
|
||||
`0` — правый операнд это id существующего объекта; `2` — литерал (объекта нет).
|
||||
|
||||
---
|
||||
|
||||
## 29. 📌 Шпаргалка: формы шага сценария (итог кругов 46-49)
|
||||
|
||||
Всё, что может стоять в `steps` / `then` / `else`, и как оно выглядит в YAML:
|
||||
|
||||
| Тип | Что это | Форма в YAML |
|
||||
|---|---|---|
|
||||
| 59 `puts` | печать в лог | `- id: N` + `log: <текст>` |
|
||||
| 59 `storeev` | событие/сигналка | `- id: N` + `storeenv: {level, text}` |
|
||||
| 59 `set <имя>` | присваивание | `- id: N` + `set_var: {name, value}` |
|
||||
| 59 `expr` | выражение | `- id: N` + `type: expr` + `op`/`left`/`right` |
|
||||
| 59 `objcmd` | команда объекту | `- id: N` + `set_sensor`/`set_analog_output`/`set_contour_temp: {target, value}` |
|
||||
| 5 | действие на выход | `- id: N` + `{descr, target, action}` (`action` = 256/512) |
|
||||
| 9 | команда реле/контура/режима | `- id: N` + `set_relay`/`set_contour_target`/`activate_mode: {descr, target, value}` |
|
||||
| 11 | вызов сценария | `- call_sub: N` (своего `id` НЕТ) |
|
||||
| 3 | отправка SMS | `- send_sms: N` (тело в `sms_notifications`) |
|
||||
| 45 | ожидание | `- id: N` + `wait: <мс>` |
|
||||
| 46 | условие | `- id: N` + `if`/`then`/`else` |
|
||||
| 47/48/49 | лист условия | развёрнут на `op`/`left`/`right` |
|
||||
| 50 | расписание | в `trigger:` — `type: days_mask` + `days` |
|
||||
| — | **битая ссылка** | `- id: N` + `exit: true` (`id` **обязателен**) |
|
||||
|
||||
🔴 **Различие двух «контурных» действий** (частая путаница, питфолл 96):
|
||||
|
||||
- `set_contour_target` — **тип 9**: `#Z8817=9,'...',10034,'2782'`, уставка **числом** (`5.2 °C`);
|
||||
- `set_contour_temp` — **тип 59 objcmd**: `#Z10379=59,'objcmd 8669 ",,,%0";#h',9146,0,0`, значение
|
||||
**источником** (тело объекта под `value`).
|
||||
|
||||
Кельвин `(code-2730)/10` применяется **только** к `set_contour_target` (цель типа 16) и **только**
|
||||
если значение не является id объекта типа 20 — иначе `8574` (id режима) превращался в `584.4 °C`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user