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.
This commit is contained in:
2026-10-03 00:41:36 +03:00
parent 9a1c5eb143
commit e460ca647c
2 changed files with 95 additions and 0 deletions
+40
View File
@@ -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.
+55
View File
@@ -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/<target>/` (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
```