[2026-09-17] eagle: family/how-to/zont-config-compiler.md family/tech/zont-api.md
This commit is contained in:
+11
-76
@@ -224,17 +224,24 @@ POST https://my.zont.online/api/load_data
|
||||
| Параметр | Значение |
|
||||
|---|---|
|
||||
| Хост | `192.168.0.50` (GPON-сегмент, за `192.168.0.1`) |
|
||||
| URL | `http://192.168.0.50` (или `zont.local` в домашней сети) |
|
||||
| Модель | `H2000_PRO`, прошивка `723 678` (`#S7`) |
|
||||
| Версия веб-интерфейса | `25.11.1` (видна в `.version` при заходе в «Сервис») |
|
||||
| Логин | `admin` |
|
||||
| Пароль | `1316261` (сервисный) |
|
||||
| WebSocket | `ws://192.168.0.50/ws` |
|
||||
| WebSocket | `ws://192.168.0.50/ws` — страница это только UI, вся логика в WS |
|
||||
|
||||
> 🔴 **Пароль локального UI — НЕ пароль от аккаунта `my.zont.online`.** Официальная дока
|
||||
> (support.microline.ru → «Локальное управление приборами ZONT»):
|
||||
> логин = «Имя пользователя» из `Настройки → Пользователи`; пароль = «**Пароль для управления
|
||||
> с другого телефонного номера**». Для универсальных контроллеров в заводской конфигурации
|
||||
> пользователя **нет вообще** — тогда авторизация не требуется.
|
||||
>
|
||||
> 💡 Тот же пароль лежит в конфиге: объект `#Z8192=4,'admin','+792****5401,…','1316261',0`.
|
||||
>
|
||||
> 🔴 **Симптом неверного пароля — бесконечный повтор запроса login/password.** Это не баг
|
||||
> страницы: UI берёт пару из `localStorage` браузера, получает `{"auth":401}` и спрашивает
|
||||
> снова. Лечение: `localStorage.clear(); location.reload()` в консоли, затем верная пара.
|
||||
|
||||
### 🔴 `GET /config.txt` — весь конфиг без авторизации
|
||||
|
||||
@@ -273,6 +280,9 @@ curl -s http://192.168.0.50/config.txt -o zont-config-live.txt # 623 стро
|
||||
датчики, `27` датчики температуры, `0` дискретные датчики, `8` радиодатчики, `10` GUI-элементы,
|
||||
`6` адаптеры.
|
||||
|
||||
`#S`-команды, которые использует сам UI: `#S7?`, `#S54?`, `#S213?`, `#S224?`, `#S4?`, `#S208?`,
|
||||
`#S198?`, `#S205?`; плюс `{"scmd":"SDATE?"}` → `{"scmdres":"SDATE=17 9 26 7 39 10"}` (время прибора).
|
||||
|
||||
> 🔴 **Неявная кнопка «сохранить» — `#S15=1`.** UI шлёт её после смены Wi-Fi-настроек
|
||||
> (`#S208='ssid','pass'` + `#S15=1` + через 3 с `#S208?` для проверки). Без неё запись
|
||||
> не применяется. В веб-морде этой кнопки нет.
|
||||
@@ -352,81 +362,6 @@ node zont-ws-probe.js ws://192.168.0.50/ws admin 1316261
|
||||
|
||||
---
|
||||
|
||||
## 9. 🔧 Локальный интерфейс: WebSocket-протокол и утечка конфига
|
||||
|
||||
**Исследовано 2026-09-17** на живом контроллере `192.168.0.50` (H2000+ PRO, `#S7 = H2000_PRO 723 678`).
|
||||
|
||||
### 9.1. Вход в локальный UI
|
||||
|
||||
| Поле | Значение |
|
||||
|---|---|
|
||||
| URL | `http://192.168.0.50` (или `zont.local` в домашней сети) |
|
||||
| Логин | `admin` |
|
||||
| Пароль | сервисный, лежит в конфиге: объект `#Z8192=4,'admin',…,'1316261',0` |
|
||||
| Транспорт | WebSocket `ws://192.168.0.50/ws` (страница — только UI, вся логика в WS) |
|
||||
|
||||
> 🔴 **Логин/пароль локального UI ≠ аккаунт `my.zont.online`.** Это «Имя пользователя» и «Пароль для управления с другого телефонного номера» из `Настройки → Пользователи` контроллера ([дока](https://support.microline.ru/index.php/Локальное_управление_приборами_ZONT)).
|
||||
> Симптом неверного пароля — **бесконечный повтор запроса login/password**. Это не баг страницы: UI берёт пару из `localStorage` браузера, получает `{"auth":401}` и спрашивает снова.
|
||||
|
||||
### 9.2. Протокол WebSocket
|
||||
|
||||
```text
|
||||
{"user":"admin","pass":"1316261"} → {"auth":200} | {"auth":401}
|
||||
{"req_ids":16} → {"ids":[…] } список id объектов класса
|
||||
{"id":<n>,"req_state":0} → {"s":…,"t":…,"id":…,"type":…,"stype":…,"name":…}
|
||||
{"scmd":"#S217?"} → {"scmdres":"#S217:…"} чтение системной настройки
|
||||
{"scmd":"#S217=<val>"} → запись системной настройки
|
||||
{"scmd":"#S15=1"} → 💾 СОХРАНИТЬ настройки на прибор
|
||||
{"scmd":"SDATE?"} → {"scmdres":"SDATE=17 9 26 7 39 10"}
|
||||
```
|
||||
|
||||
Классы объектов для `req_ids` (из JS страницы): `16, 20, 1, 27, 0, 8, 10, 6`.
|
||||
`#S`-команды, которые использует сам UI: `#S7?`, `#S54?`, `#S213?`, `#S224?`, `#S4?`, `#S208?`, `#S198?`, `#S205?`, `SDATE?`.
|
||||
|
||||
> 💡 `#S15=1` — неявная кнопка «применить». В UI она вызывается только после смены Wi-Fi (`#S208='ssid','pass'`), вручную не нажать. Без неё запись не сохранится на прибор.
|
||||
|
||||
### 9.3. 🔴 `http://192.168.0.50/config.txt` — весь конфиг БЕЗ авторизации
|
||||
|
||||
```bash
|
||||
curl -s http://192.168.0.50/config.txt # 623 строки, text/plain
|
||||
```
|
||||
|
||||
Формат — **ровно тот, который парсит `config-to-yml.py`** (см. [[family/how-to/zont-config-compiler]]). Одна команда снимает полный конфиг контроллера, включая:
|
||||
|
||||
| Ключ | Что утекает |
|
||||
|---|---|
|
||||
| `#S202` | серийник + **пароль облака ZONT** |
|
||||
| `#S217` | MQTT-брокер **с паролем** (`mqtt://zont:…@192.168.0.10:1883`) |
|
||||
| `#S218` | MQTT логин/пароль |
|
||||
| `#Z8192` | **сервисный пароль локального UI** в открытом виде |
|
||||
|
||||
> ⚠️ Любой, кто дотянется до порта 80 на `192.168.0.50`, получает все секреты без входа. Учитывать при любом пробросе/VPK-доступе к этому сегменту.
|
||||
|
||||
### 9.4. Полный список `#S`-настроек (25 шт., из живого конфига)
|
||||
|
||||
UI показывает ~9. Скрыты от пользователя: `#S36`, `#S206`, `#S209`, `#S210`, `#S211`, `#S212`, `#S214`, `#S219`, `#S222`, `#S223`, `#S225`, `#S226`, `#S124`, `#S201`, `#S203`.
|
||||
|
||||
Значения важных:
|
||||
|
||||
```text
|
||||
#S124=1,9600,0,0 параметры Modbus-шины (slave, baud, …)
|
||||
#S201=52200 порт облака
|
||||
#S203=auto режим связи
|
||||
#S12=*100# 0 USSD-код проверки баланса
|
||||
#S210=2147483647,2147483647,2147483647,2147483647 лимиты
|
||||
#S221=homeassistant префикс discovery
|
||||
```
|
||||
|
||||
### 9.5. Прошивка: локально через web — НЕВОЗМОЖНО
|
||||
|
||||
| Проверено | Результат |
|
||||
|---|---|
|
||||
| `/firmware`, `/update`, `/upgrade`, `/fw.bin`, `/ota`, `/flash`, `/fw` | **404** (все HTTP-пути кроме `/` и `/config.txt`) |
|
||||
| Кнопка «Обновить интерфейс» в UI | перезагрузка веб-страницы, **не** прошивка |
|
||||
| Реальный путь | облако ZONT (веб-сервис) **или** настроечная утилита по USB |
|
||||
|
||||
---
|
||||
|
||||
## 10. 🔧 Настроечная утилита H1000/H2000 (добыта 2026-09-17)
|
||||
|
||||
### 10.1. Что это и где лежит
|
||||
|
||||
Reference in New Issue
Block a user