From ab2993cd594b0eb5f456c94d486b377853281204 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Thu, 17 Sep 2026 13:56:16 +0600 Subject: [PATCH] [2026-09-17] eagle: family/how-to/zont-config-compiler.md family/tech/zont-api.md --- family/how-to/zont-config-compiler.md | 26 +++++++- family/tech/zont-api.md | 92 +++++++++++++++++++++++---- 2 files changed, 106 insertions(+), 12 deletions(-) diff --git a/family/how-to/zont-config-compiler.md b/family/how-to/zont-config-compiler.md index a1e29281..8b8c7bd9 100644 --- a/family/how-to/zont-config-compiler.md +++ b/family/how-to/zont-config-compiler.md @@ -571,7 +571,31 @@ curl -sL -o H2000_fw.zip https://lk.zont-online.ru/download/firmwares/H2000_515_ Прошивка тоже отдаётся **без авторизации**. Утилита грузит именно `*.enc` (строки `firmware_.enc`, `.enc|*.enc` найдены в exe). Расшифровка — отдельное исследование. -➡️ Полный разбор утилиты и прошивки — **[[family/tech/zont-api]] §10** +#### 🎯 Схема URL прошивки — НАЙДЕНА 2026-09-17 + +```text +https://lk.zont-online.ru/download/firmwares/H2000_PRO____.zip + H2000_PRO_723__678_1.zip ← наш контроллер, 1.2 MB +``` + +**Правило:** префикс серии (`H2000_PRO_`) + **двойное** подчёркивание перед версией ПО. +Одиночные варианты (`H2000_723__678_1.zip`, `H2000_PRO_723__678.zip`) → **404**. + +Проверка соответствия (конфиг `#S7` ↔ API морды ↔ имя файла): + +| Источник | Значение | +|---|---| +| `#S7` прибора | `H2000_PRO 723 678` | +| `get_firmware_releases` (DevTools) | `"version":"678:1"`, `"firmware_version":678` | +| Имя архива | `H2000_PRO_723__678_1.zip` → `h2000_pro_v2_.enc` | + +→ **`723` = плата (HW), `678` = прошивка, `1` = profile_version.** `678` — последняя +**стабильная**; 602/585/564 — бета. + +> 📁 Скачанные прошивки, утилита, скрипты разведки и живой конфиг лежат в проекте: +> `/Users/admin/Automation/HA-ZONT-Modbus/zont_local_ui_recon/` (см. её `README.md`). + +➡️ Полный разбор утилиты, прошивок и API морды — **[[family/tech/zont-api]] §10** --- diff --git a/family/tech/zont-api.md b/family/tech/zont-api.md index 4e1adfbf..3827f231 100644 --- a/family/tech/zont-api.md +++ b/family/tech/zont-api.md @@ -19,12 +19,16 @@ tags: - zont - api - reference -title: "\U0001F310 ZONT Cloud API — что умеет и чего в нём нет" +title: "🌐 ZONT — облачный API, локальный UI, прошивки" type: reference -updated: 2026-09-17b +updated: 2026-09-17c --- -# 🌐 ZONT Cloud API — что умеет и чего в нём нет +# 🌐 ZONT — облачный API, локальный UI и прошивки + +> **Раздел §1–§7** — облачный API `my.zont.online` (исследован 2026-09-17). +> **Раздел §6bis** — локальный интерфейс контроллера (там реально есть конфиг). +> **Раздел §10** — настроечная утилита и прошивки. > **Исследовано 2026-09-17** по запросу Alex: «У зонта есть api и вероятно свой какой-то формат > включая все датчики и автоматику. Изучай подробно вопрос… что нам для комфортного управления @@ -407,15 +411,81 @@ node zont-ws-probe.js ws://192.168.0.50/ws admin 1316261 > 🔴 `.enc` — энтропия 7.9986 = **шифрование, не простое сжатие**. Просто так не распакуется; расшифровка — задача отдельного исследования и, скорее всего, требует ключа из exe или подписи облака. -### 10.4. Что это даёт для наших задач +### 10.5. 🎯 Прошивка для НАШЕЙ платы (723 / 678) — найдена -| Задача | Путь | -|---|---| -| Снять текущий конфиг | ✅ `curl http://192.168.0.50/config.txt` (без авторизации) | -| Правка сценариев | по-прежнему конвертер `.txt ⇄ .yml` + заливка через UI/утилиту | -| Мониторинг в реальном времени | ✅ WebSocket `ws://192.168.0.50/ws` (`req_ids`, `req_state`) | -| Обновление прошивки | облако ZONT или утилита по USB (Windows) | -| Автоматизация без UI | возможна — WS-протокол простой, читается `config.txt` | +**Схема имени файла** (выведена из рабочего примера и подтверждена попаданием): + +```text +H2000_PRO____.zip + 723 678 1 +``` + +Двойное подчёркивание — перед версией ПО. Только эта схема дала `200 OK`: + +```bash +curl -O https://lk.zont-online.ru/download/firmwares/H2000_PRO_723__678_1.zip # 1.2 MB +# внутри: h2000_pro_v2_.enc +``` + +> ⚠️ Неверные варианты, все `404`: `H2000_723__678_1.zip`, `H2000_723__678.zip`, +> `H2000_723__678_290.zip`, `H2000PRO_723__678_1.zip`, `H2000_723__330_678.zip`, +> `H2000_678__723_290.zip`. Листинг `/download/firmwares/` тоже `404`. +> **Ключ к успеху — префикс `H2000_PRO_` и ровно два подчёркивания.** + +### 10.6. Сверка с API веб-морды (`get_firmware_releases`) + +JSON снят из DevTools на локальном UI (сохранён как `api_get_firmware_releases.json`): + +```json +{ "ok": true, "local_control_version": "26.02.1", + "firmwares": [ + {"id":"69e8776449f39a24ed6d8210","version":"678:1","firmware_version":678, + "profile_version":1,"beta":false, + "changelog":"- Улучшение стабильности работы пользовательских кнопок\n- Улучшение в работе контура отопления с ПИД"} + ] } +``` + +| Источник | Значение | Сходится? | +|---|---|---| +| Конфиг прибора `#S7` | `H2000_PRO 723 678` | — | +| API морды | `678:1` / `firmware_version: 678` | ✅ | +| Имя файла | `H2000_PRO_723__678_1.zip` | ✅ | + +Итого: **`723` = версия платы (HW), `678` = прошивка, `1` = `profile_version`.** + +**Все 6 релизов в нашем дереве:** + +| Версия | beta | id | +|---|---|---| +| **678:1** ← последняя стабильная | ❌ | `69e8776449f39a24ed6d8210` | +| 602:1 | ✅ | `69172c55b007f1b8976b4a71` | +| 585:1 | ✅ | `68cd151d71fc6970ef4764d8` | +| 564:1 | ✅ | `68676e92134c4eabf9f52ed0` | +| 541:1 | ❌ | `678f930591b734a50e708d53` | +| 407:1 | ❌ | `6639f918b3f9a6f88e9b185b` | + +`changelogs[]` в том же JSON — **151 запись** истории (от версии 270). Записи < 407 относятся к другим сериям (Climatic/SMART). + +**Скачивание по `id` не работает** (нужен токен облака): `/download/firmware/` → 404, +`/api/get_firmware?firmware_id=` → 403. Прямая ссылка по имени — работает без авторизации. + +### 10.7. 📁 Материалы разведки — в проекте + +Всё перенесено из `~/rasputin-tmp` в проект: + +```text +/Users/admin/Automation/HA-ZONT-Modbus/zont_local_ui_recon/ +├── README.md ← сводка (этот материал + команды) +├── config_live_192.168.0.50.txt ← живой конфиг (32 KB) +├── api_get_firmware_releases.json ← ответ API морды (§10.6) +├── firmware/H2000_PRO_723_678/h2000_pro_v2_.enc ← НАША прошивка (1.2 MB) +├── firmware/H2000_515_330_290/ ← старая серия: STM_MEGA_400_.enc, main_c.evc +├── utility/h1000_utility_beta.bin + util_beta_2.8.5/ + H2000_default.zip +│ + H-2000-driver-1.zip + extract.py +└── scripts/zont-{auth-probe,recon,recon2,ws-probe}.js +``` + +53 файла, 17 MB. Рабочие копии в `~/rasputin-tmp/` остались (не удалялись). ---