From e460ca647cb8dfa23b4a359bab424ca32c09af8c Mon Sep 17 00:00:00 2001 From: "anklimov@gmail.com" Date: Sat, 3 Oct 2026 00:41:36 +0300 Subject: [PATCH] docs: add BACKLOG.md and RELEASE_PLAN_v4.6.0.md Backlog: legacy 'queit' removal, dead /RGB suffix, #RRGGBB hex parsing, PID channel type, SPI CAN controller, T:99 rotary profiles, ESP32 PWM stub, doc/site work. Release plan: v4.6.0 scope, remaining doc phases, build and tag steps, Doxygen regeneration procedure. --- BACKLOG.md | 40 ++++++++++++++++++++++++++++++ RELEASE_PLAN_v4.6.0.md | 55 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 BACKLOG.md create mode 100644 RELEASE_PLAN_v4.6.0.md diff --git a/BACKLOG.md b/BACKLOG.md new file mode 100644 index 0000000..191a555 --- /dev/null +++ b/BACKLOG.md @@ -0,0 +1,40 @@ +# Backlog + +Known issues and deferred items (code and docs). Format: `ID — item — context/status`. + +## Code + +- **AC-LEGACY** — Remove the legacy `queit` subitem alias for AC quiet mode + (`out_ac.cpp`, `QUIET_LEGACY_P`). Fixed the typo to `quiet` in v4.6.0; drop the alias + in the next major release. +- **RGB-DEAD** — The `/RGB` topic suffix is dead: `S_RGB` is not handled by the core + (`item.cpp`) nor by color drivers (`colorchannel.cpp`); numeric strings in the common/`/set` + topic are parsed as HSV. Either implement RGB input parsing or remove `/RGB` from the + suffix table. +- **HEX-RRGGBB** — Home Remote `#RRGGBB` notation does not work: `getIntFromStr` + (`utils.cpp`) silently skips hex characters, so `#FF0000` yields 0. Either implement + hex parsing in `Ctrl()` or drop the notation from docs. +- **PID-CHAN-TYPE** — `out_pid::getChanType()` returns `CH_THERMO` (5) instead of `CH_PID` (13) + (`out_pid.cpp`). Verify whether this is intentional (core treats PID as a thermostat for + ON/OFF semantics) and document or fix. +- **CAN-SPI** — External SPI CAN controller support for chips without built-in CAN + (Mega2560, ESP8266) — designed in the CAN draft doc, not implemented in `candriver.cpp`. +- **ROTARY-T99** — Rotary input `T:99` with profiles and `goto`/`onenter` handlers + ("scenario" rotary encoder) — designed in the rotary draft doc, not implemented. +- **PWM-ESP32** — PWM on ESP32 is a stub: `analogWrite` body is `//TBD` + (`out_pwm.cpp`). CH_PWM/RGB/RGBW/RGBWW do not work on ESP32 targets. +- **SPILED-DMX-SUBITEM** — LED pixel addressing via subitem (10-20) works only for + CH_SPILED; the DMX driver ignores subitem. Clarify or implement. + +## Docs + +- **DOC-EN** — Bilingualization: port RU docs to EN (GitHub Wiki / developer site). + Baseline: `documentation/reference/dokuwiki-2026-10-02/` + audited RU docs. +- **DOC-WIKI** — Sync the lazyhome.ru dokuwiki with the repo (CAN 50 kbit/s, sprinkler DRY + features, rotary encoder, new channel types). +- **DOC-SITE** — lighthub.github.io: push, optional CI regeneration of Doxygen on code + changes. + +## Release v4.6.0 (see RELEASE_PLAN_v4.6.0.md) + +- Build all 16 targets, attach binaries, tag `v4.6.0`, release notes. diff --git a/RELEASE_PLAN_v4.6.0.md b/RELEASE_PLAN_v4.6.0.md new file mode 100644 index 0000000..f36d57b --- /dev/null +++ b/RELEASE_PLAN_v4.6.0.md @@ -0,0 +1,55 @@ +# RELEASE PLAN v4.6.0 + +Статус: подготовка (docs-фаза завершена 2026-10-02). + +## Что вошло в релизную линию с v4.5.2 (28 коммитов) + +- Multivent (CH 18) — завершён, в продакшене +- Sprinkler (CH 23) — релиз +- CAN (full-featured driver, lightspot) — релиз с v4.4.0 +- Rotary encoder (T:32) с профилями +- DRY-режим полива: переопределяет ON, персистентен; статусные публикации при старте/смене режима; FREEZE > DISABLE +- Mercury: длинный таймер сессии (uint32 pollingInterval) +- OTA на ESP (ArduinoOTA, partitions min_spiffs) + +## Готово (этап «документация и код», 2026-10-02) + +- [x] Аудит всей документации репо по коду; исправлены расхождения (типы каналов, суффиксы, команды, JSON-форматы, HTTP API) +- [x] Импорт 16 страниц dokuwiki в репо (core/integrations/hardware) + снапшот wiki в `documentation/reference/dokuwiki-2026-10-02/` +- [x] Перенос авторских docx: CAN (`integrations/can_lightspot.md`), Rotary Encoder (`core/rotary_encoder.md`); WIP-секции помечены «Не реализовано» +- [x] Реструктуризация `documentation/`: core/ integrations/ modules/ hardware/ reference/; новый мастер-индекс `documentation/README.md`; удалены AI-артефакты (MIGRATION_GUIDE, START_HERE, COMPLETION_REPORT и пр.) +- [x] `CHANGELOG.md` в корне (ex CHANGELOG_v2.md) +- [x] EN-комментарии Doxygen по всем ключевым заголовкам (item, itemCmd, abstractch/in/out, inputs, utils, config, main, candriver, owTerm, ipmodbus, dmx, statusled, options, все modules/out_*, in_ccs811_hdc1080, colorchannel, bright) +- [x] `doxygen-docs/Doxyfile` — относительные пути, `main.md`, PROJECT_NUMBER 4.6.0; генерация `doxygen-docs/html` (gitignored) +- [x] `lighthub.github.io` (отдельная папка `~/dev/lighthub.github.io`): `index.md` + `doxygen/`, `git init` (push — руками) +- [x] Корневой `README.md` актуализирован (16 целей, CAN/sprinkler/multivent, ссылки) +- [x] Контрольная компиляция due — SUCCESS + +## Осталось (следующие этапы / другие сессии) + +### 1. GitHub Wiki (EN, полная версия) +- Порт актуальной документации в GitHub Wiki (EN): структура по `documentation/README.md` +- Источники: `documentation/` (RU) + этот план; перевод, а не копирование + +### 2. DokuWiki (RU) +- Обновить lazyhome.ru wiki: синхронизировать со снапшотом 2026-10-02 изменения (CAN 50 kbit/s, новые типы, sprinkler DRY-фичи, rotary encoder) +- Решить: wiki остаётся RU-источником, репо — каноническим + +### 3. Сайт lighthub.github.io +- Push репо `lighthub.github.io` (папка `~/dev/lighthub.github.io`) +- При желании: домен, CI-перегенерация doxygen (GitHub Actions) при изменениях кода + +### 4. Релиз v4.6.0 +1. `pio run` по всем 16 env (due, mega2560, mega2560slim, mega2560-optiboot, mega2560-5100, esp8266-wifi, esp32-wifi, esp32c3-wifi, lighthub21, m5stack, nrf52840, nrf52840-5500, controllino, stm32, stm32-enc2860, stm32-noip) +2. Бинарники в `compiled//` (git) — или в GitHub Release assets +3. Тег `v4.6.0` + GitHub Release с release notes (из CHANGELOG.md + этот план) +4. Проверить OTA-процедуру на живых устройствах + +## Как перегенерировать Doxygen + +```bash +brew install doxygen # 1.18+ +doxygen doxygen-docs/Doxyfile # из корня репо → doxygen-docs/html +cp -R doxygen-docs/html ~/dev/lighthub.github.io/doxygen +cd ~/dev/lighthub.github.io && git add -A && git commit -m "doxygen update" && git push +```