diff --git a/personal/projects/zont-config-compiler.md b/personal/projects/zont-config-compiler.md index dd21188f..664f53fb 100644 --- a/personal/projects/zont-config-compiler.md +++ b/personal/projects/zont-config-compiler.md @@ -83,6 +83,19 @@ aliases: - ZONT три точки входа энкодера - ZONT _body_index питфолл - ZONT _known_ids питфолл + - ZONT круг 46 + - ZONT set_contour_target + - ZONT set_contour_target vs set_contour_temp + - ZONT Кельвин только цель 16 + - ZONT 8574 id режима + - ZONT дубль 8817 + - ZONT relay_commands ключ действия + - ZONT YAML якорь id002 + - ZONT алиас sms_notifications + - ZONT вызов сценария 11109 + - ZONT тип 11 сценарий + - ZONT тип 3 SMS + - ZONT артефакт yml устарел related: - '[[family/tech/zont-api]]' - '[[family/how-to/home-automation]]' @@ -3808,7 +3821,26 @@ relay_commands: **Порядок приёмки:** гнать декодер в ЦЕЛЕВОЙ файл (`> zont_config/<имя>.yml`), затем открывать глазами. `test_roundtrip.py` пишет в temp и целевой артефакт не обновляет. -### 27.5. Открыто на после круга 46 +### 27.5. Не-баги, которые выглядят как баги (разобрано по вопросу Alex «эт че?») + +Два случая, на которые Alex дважды спросил «что это», — **оба корректны**, ломать не надо: + +```yaml + - id: 11109 # вызов сценария: у ссылки тела нет по определению + - id: 8195 + raw: *id002 # YAML-якорь: тело уже лежит в секции sms_notifications +``` + +| id | тип | почему так | +|---|---|---| +| `11109` | **11** | `#Z11109=11,'Передернуть Автомат Котельной',[11827,11828],...` — шаг списка ссылается на другой сценарий; собственного тела у записи нет, поэтому рендерится одним `id` | +| `8195` | **3** | `#Z8195=3,'СMC уведомление',1,'','',[8192]` — тело выведено в секции `sms_notifications`, шаг ссылается алиасом `*id002` | + +`*id002` — не мусор и не потеря: это **PyYAML-алиас** на один и тот же объект в двух местах +(секция + шаг). Файл читается корректно, `yaml.safe_load` проходит. +Если нужен «плоский» вид без якорей — это отдельное решение, не баг. + +### 27.6. Открыто на после круга 46 - 5 `objcmd`-орфанов (`8669`, `8382`, `11907` и др.) — форма не согласована; - поле 4 = `2` у `expr` (`10077`–`10085`) — имени нет;