mirror of
https://github.com/anklimov/lighthub
synced 2026-10-28 11:15:00 +00:00
chore: fix root changelog and update README
The old CHANGELOG_v2.md was a documentation-update log, not a firmware changelog: moved it to documentation/reference/CHANGELOG_docsv2.md and created a real CHANGELOG.md. Updated the root README: 16 build targets, CAN/sprinkler/multivent/rotary highlights, new documentation links and the developer site.
This commit is contained in:
@@ -0,0 +1,41 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable releases of the LightHub firmware.
|
||||||
|
Detailed release notes are published on [GitHub Releases](https://github.com/anklimov/lighthub/releases).
|
||||||
|
|
||||||
|
## v4.6.0 (unreleased)
|
||||||
|
|
||||||
|
- Sprinkler (CH 23): DRY mode now overrides ON; DRY mode survives restart (persisted in config);
|
||||||
|
status topics published on controller start and on ON/OFF mode change
|
||||||
|
- Sprinkler: `FREEZE` takes precedence over `DISABLE` in `/ctrl` status
|
||||||
|
- Multivent (CH 18): finalized (released in production); zone-level `FREEZE`/`UNFREEZE`,
|
||||||
|
`HIGH`/`MEDIUM`/`LOW` fan control, `boost`/`supress`/`overridecmd`/`turnbyfan` AC-node options
|
||||||
|
- Mercury (CH 22): `pollingInterval` widened to 32-bit (longer timer)
|
||||||
|
- CAN: full-featured driver (released in v4.4.0) — controller-to-controller communication,
|
||||||
|
lightspot non-IP controllers, config download and OTA over CAN
|
||||||
|
- Rotary encoder input (T:32) with profiles (`act`/`activate`)
|
||||||
|
- OTA for ESP32/ESP8266 via ArduinoOTA with `min_spiffs.csv` partitions
|
||||||
|
- Build matrix: 16 targets (due, mega2560 family, esp8266-wifi, esp32-wifi, esp32c3-wifi,
|
||||||
|
lighthub21, m5stack, nrf52840, nrf52840-5500, controllino, stm32, stm32-enc2860, stm32-noip)
|
||||||
|
- Documentation: full audit against source code, restructured `documentation/` tree,
|
||||||
|
in-repo port of the official wiki, EN Doxygen comments + developer site
|
||||||
|
|
||||||
|
## v4.5.2
|
||||||
|
|
||||||
|
Bug-fix release (see [release notes](https://github.com/anklimov/lighthub/releases)).
|
||||||
|
|
||||||
|
## v4.5.1
|
||||||
|
|
||||||
|
Bug-fix release (see [release notes](https://github.com/anklimov/lighthub/releases)).
|
||||||
|
|
||||||
|
## v4.5.0
|
||||||
|
|
||||||
|
See [release notes](https://github.com/anklimov/lighthub/releases).
|
||||||
|
|
||||||
|
## v4.4.0
|
||||||
|
|
||||||
|
- Full-featured CAN driver released — inter-controller communication and non-IP lightspot support
|
||||||
|
|
||||||
|
## v4.3.x and earlier
|
||||||
|
|
||||||
|
See [GitHub Releases](https://github.com/anklimov/lighthub/releases).
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
# LightHub
|
# LightHub
|
||||||
LightHub is a Flexible open-software and open-hardware Smart Home controller for Arduino-Mega, Arduino Due, ESP8266, and ESP32.
|
LightHub is a Flexible open-software and open-hardware Smart Home controller for Arduino-Mega, Arduino Due, ESP8266, ESP32, ESP32-C3, STM32, NRF52840 and M5Stack.
|
||||||
Useful links:
|
Useful links:
|
||||||
|
|
||||||
* [Article/RU](https://geektimes.ru/post/295109/)
|
* [Article/RU](https://geektimes.ru/post/295109/)
|
||||||
@@ -8,7 +8,17 @@ Useful links:
|
|||||||
|
|
||||||
* [WIKI/RU](https://www.lazyhome.ru/dokuwiki/doku.php?id=start)
|
* [WIKI/RU](https://www.lazyhome.ru/dokuwiki/doku.php?id=start)
|
||||||
|
|
||||||
* [Doxygen autodocumentation for developers](https://anklimov.github.io/lighthub/doxygen-docs/html/index.html) (litle bit outdated)
|
* [Doxygen autodocumentation for developers](https://lighthub.github.io/doxygen/)
|
||||||
|
|
||||||
|
* [In-repo documentation (RU)](documentation/README.md)
|
||||||
|
|
||||||
|
* [Latest release notes](https://github.com/anklimov/lighthub/releases)
|
||||||
|
|
||||||
|
Highlights of the current release line (v4.4.0+):
|
||||||
|
* Full-featured CAN driver released — controller-to-controller communication over 2-wire CAN bus, "lightspot" non-IP peripheral controllers ([CAN docs](documentation/integrations/can_lightspot.md))
|
||||||
|
* Sprinkler controller module (CH 23) released — autonomous water-tank watering system ([docs](documentation/modules/Sprinkler_module.md))
|
||||||
|
* Multivent module (CH 18) — multi-zone ventilation/HVAC control ([docs](documentation/modules/multivent_module_description.md))
|
||||||
|
* Rotary encoder input (T:32) with profiles ([docs](documentation/core/rotary_encoder.md))
|
||||||
|
|
||||||
It may operate both:
|
It may operate both:
|
||||||
* On [especially designed hardware board](http://www.lazyhome.ru/index.php/featurerequest) with 16 optocoupled digital inputs, 16 ESD protected digital/analog Inputs/outputs, 8 open-collector outputs (up to 0.5A/50V), DMX IN/OUT, MODBUS RTU and hardware 1-wire support circuit.
|
* On [especially designed hardware board](http://www.lazyhome.ru/index.php/featurerequest) with 16 optocoupled digital inputs, 16 ESD protected digital/analog Inputs/outputs, 8 open-collector outputs (up to 0.5A/50V), DMX IN/OUT, MODBUS RTU and hardware 1-wire support circuit.
|
||||||
@@ -27,10 +37,7 @@ Lighthub allows connecting together:
|
|||||||
|
|
||||||
[List of non-expensive compatible components from AliExpress here](http://ppv.alipromo.com/custom/promo.php?hash=pjagwaovaero6vkeabjpkpvy4gznbgkc&landing_id=39661)
|
[List of non-expensive compatible components from AliExpress here](http://ppv.alipromo.com/custom/promo.php?hash=pjagwaovaero6vkeabjpkpvy4gznbgkc&landing_id=39661)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Where is possible both, to configure local control/mapping between inputs and outputs (light, floor heating thermostats) and remote control from MQTT enabled software and between controllers. At the moment, LightHub tested and perfectly working with following set of complementary free software:
|
Where is possible both, to configure local control/mapping between inputs and outputs (light, floor heating thermostats) and remote control from MQTT enabled software and between controllers. At the moment, LightHub tested and perfectly working with following set of complementary free software:
|
||||||
* [HomeAssistant](https://www.home-assistant.io) - the best choice of HomeAutomation system
|
* [HomeAssistant](https://www.home-assistant.io) - the best choice of HomeAutomation system
|
||||||
@@ -42,15 +49,12 @@ Home Remote mobile applicatios for IoS and Android requires just MQTT broker to
|
|||||||
|
|
||||||
Scalability of Lighthub is virtually unlimited: Setup so many controllers you needed in most convenient places of your house - MQTT broker will allow controllers communicate each other and with Openhab/NodeRed/HomeRemote and propagate commands across network.
|
Scalability of Lighthub is virtually unlimited: Setup so many controllers you needed in most convenient places of your house - MQTT broker will allow controllers communicate each other and with Openhab/NodeRed/HomeRemote and propagate commands across network.
|
||||||
|
|
||||||
# [Please refer to our Wiki for insructions.](https://github.com/anklimov/lighthub/wiki/Configuring)
|
# Documentation
|
||||||
|
* [In-repo documentation index](documentation/README.md) (RU): JSON configuration, channel types, MQTT API, CLI, integrations (CAN, Modbus, 1-Wire, HA/OpenHAB), hardware
|
||||||
* [Russian-language Wiki](https://www.lazyhome.ru/dokuwiki/doku.php)
|
* [Russian-language Wiki](https://www.lazyhome.ru/dokuwiki/doku.php)
|
||||||
* [Compiling and flashing](https://github.com/anklimov/lighthub/wiki/Compiling-and-flashing)
|
* [Developer documentation site](https://lighthub.github.io/) (Doxygen + developer notes)
|
||||||
* [Configuring](https://github.com/anklimov/lighthub/wiki/Configuring)
|
|
||||||
* [Browser Plugin for searching and configure controllers](https://github.com/anklimov/zeroconf-lighthub)
|
* [Browser Plugin for searching and configure controllers](https://github.com/anklimov/zeroconf-lighthub)
|
||||||
* [Channel commands](https://github.com/anklimov/lighthub/wiki/Channel-commands)
|
* [Release notes](https://github.com/anklimov/lighthub/releases)
|
||||||
* [OpenHab integration](https://github.com/anklimov/lighthub/wiki/OpenHab--integration)
|
|
||||||
* [Doxygen developers documentation](https://anklimov.github.io/lighthub/doxygen-docs/html/index.html)
|
|
||||||
* [Latest Release notes](https://github.com/anklimov/lighthub/releases/tag/v3.0.0)
|
|
||||||
|
|
||||||
# Platforms specific details:
|
# Platforms specific details:
|
||||||
|
|
||||||
@@ -68,13 +72,22 @@ Scalability of Lighthub is virtually unlimited: Setup so many controllers you ne
|
|||||||
* WIZNET 5100 and 5500 Ethernets are supported
|
* WIZNET 5100 and 5500 Ethernets are supported
|
||||||
* Modbus on USART2
|
* Modbus on USART2
|
||||||
|
|
||||||
**ESP8266, ESP32**: (Tested)
|
**ESP8266, ESP32, ESP32-C3**: (Tested)
|
||||||
* DMX-OUT on USART1 TX
|
* DMX-OUT on USART1 TX
|
||||||
* DMX-IN - disabled - not possible to deploy in ESP8266
|
* DMX-IN - disabled - not possible to deploy in ESP8266
|
||||||
* Modbus - disabled on ESP8266, Might be configured on USART0 instead CLI/DEBUG, on ESP32 binded with UART2
|
* Modbus - disabled on ESP8266, Might be configured on USART0 instead CLI/DEBUG, on ESP32 binded with UART2
|
||||||
* Uses Wifi interface instead wired connection
|
* Uses Wifi interface instead wired connection
|
||||||
|
* ESP32 supports CAN bus (GPIO 35 RX / GPIO 5 TX)
|
||||||
|
|
||||||
**NRF52840** : Still early development stage
|
**STM32**: (Tested)
|
||||||
|
* Ethernet via ENC28J60 (stm32-enc2860), CAN bus, no-IP build (stm32-noip) for lightspot over CAN
|
||||||
|
|
||||||
|
**NRF52840**: (Tested)
|
||||||
|
* WiFi + Ethernet (Wiznet)
|
||||||
|
|
||||||
|
**LightHub21**: DUE-based board with CAN (lightspot gateway)
|
||||||
|
|
||||||
|
**M5Stack / Controllino**: early development stage
|
||||||
|
|
||||||
# Custom build flags
|
# Custom build flags
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,205 @@
|
|||||||
|
# 📝 Изменения в документации — Версия 2.0
|
||||||
|
|
||||||
|
> Документация LightHub обновлена с учетом официальной wiki (wiki.lazyhome.ru)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🆕 Новые документы
|
||||||
|
|
||||||
|
### 1. **mqtt_api_reference.md** (900+ строк)
|
||||||
|
Полный справочник MQTT API и структуры топиков LightHub
|
||||||
|
|
||||||
|
**Содержание:**
|
||||||
|
- ✅ Структура топика: `root/[id или bcst или out]/item/[subitem]/suffix`
|
||||||
|
- ✅ Три типа топиков: широковещательные команды, индивидуальные команды, статусные
|
||||||
|
- ✅ Таблица всех суффиксов (/cmd, /set, /hue, /sat, /hsv, /rgb, /fan, /mode, /lock, /swing, /quiet)
|
||||||
|
- ✅ Примеры MQTT команд и ответов
|
||||||
|
- ✅ HTTP API endpoints (`/item/<name>`, `/config.json`, `/command`)
|
||||||
|
- ✅ Примеры curl запросов
|
||||||
|
- ✅ Восстановление состояния при старте контроллера
|
||||||
|
- ✅ Служебные топики ($command, $stats, $state)
|
||||||
|
- ✅ Диагностика MQTT
|
||||||
|
|
||||||
|
**Отличия от старых документов:**
|
||||||
|
- Правильная структура топиков согласно wiki.lazyhome.ru
|
||||||
|
- Поддержка broadcast топиков (один контроллер на всех устройства)
|
||||||
|
- Объяснение механизма восстановления состояния
|
||||||
|
- Полная документация HTTP API
|
||||||
|
|
||||||
|
### 2. **suffixes_reference_v2.md** (800+ строк)
|
||||||
|
Исправленный справочник суффиксов MQTT согласно официальной wiki
|
||||||
|
|
||||||
|
**Содержание:**
|
||||||
|
- ✅ Правильная категоризация суффиксов (7 категорий)
|
||||||
|
- ✅ Основные: /cmd, /set, /val, /del
|
||||||
|
- ✅ Цветовые: /hue (0-365°), /sat (0-100%), /hsv, /rgb
|
||||||
|
- ✅ AC суффиксы: /fan, /mode, /lock, /swing, /quiet
|
||||||
|
- ✅ Multivent суффиксы
|
||||||
|
- ✅ PID суффиксы: /ctrl для управления состоянием
|
||||||
|
- ✅ ШИМ и импульсные суффиксы
|
||||||
|
- ✅ Таблица применимости по типам каналов
|
||||||
|
- ✅ Диапазоны значений: 0-100 vs 0-255, /hue 0-365
|
||||||
|
- ✅ Примеры сценариев для каждого типа
|
||||||
|
- ✅ Синергия между суффиксами
|
||||||
|
|
||||||
|
**Отличия от старых документов:**
|
||||||
|
- Исправлена структура суффиксов согласно wiki
|
||||||
|
- Добавлены device-specific суффиксы (AC, Multivent, PID)
|
||||||
|
- Правильные диапазоны значений
|
||||||
|
- Примеры на реальных сценариях
|
||||||
|
|
||||||
|
### 3. **mqtt_quick_reference.md** (350+ строк)
|
||||||
|
Быстрая шпаргалка часто используемых MQTT команд
|
||||||
|
|
||||||
|
**Содержание:**
|
||||||
|
- ✅ Быстрая справка структуры топика
|
||||||
|
- ✅ Базовые команды (ON, OFF, TOGGLE)
|
||||||
|
- ✅ Управление яркостью
|
||||||
|
- ✅ RGB команды с примерами
|
||||||
|
- ✅ AC команды
|
||||||
|
- ✅ Теплые полы (PID)
|
||||||
|
- ✅ Многозональная вентиляция
|
||||||
|
- ✅ Команды с задержкой
|
||||||
|
- ✅ HTTP API примеры
|
||||||
|
- ✅ Типичные ошибки
|
||||||
|
- ✅ Таблица суффиксов (краткая)
|
||||||
|
|
||||||
|
**Использование:**
|
||||||
|
```bash
|
||||||
|
# Быстро найти нужную команду
|
||||||
|
# Есть примеры для всех типов устройств
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 Обновленные документы
|
||||||
|
|
||||||
|
### 1. **README.md** — Навигация документации
|
||||||
|
**Изменения:**
|
||||||
|
- ✅ Добавлены новые документы в начало списка
|
||||||
|
- ✅ Обновлены описания приоритета
|
||||||
|
- ✅ Добавлены MQTT примеры в быстрый старт
|
||||||
|
- ✅ Указано на правильность согласно wiki.lazyhome.ru
|
||||||
|
|
||||||
|
### 2. **START_HERE.md** — Стартовая точка
|
||||||
|
**Изменения:**
|
||||||
|
- ✅ Новые документы поднялись в начало списка
|
||||||
|
- ✅ Добавлена шпаргалка mqtt_quick_reference.md
|
||||||
|
- ✅ Подчеркнута новизна mqtt_api_reference.md
|
||||||
|
- ✅ Указано на исправления в suffixes_reference_v2.md
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ❌ Устаревшие документы
|
||||||
|
|
||||||
|
### suffixes_reference.md (архив)
|
||||||
|
- Заменен на: **suffixes_reference_v2.md**
|
||||||
|
- Причина: Неправильная структура суффиксов (не согласовывалась с wiki)
|
||||||
|
- Оставлен для истории
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Статистика изменений
|
||||||
|
|
||||||
|
| Метрика | Было | Стало | Изменение |
|
||||||
|
|---------|------|-------|-----------|
|
||||||
|
| Файлов документации | 11 | 14 | +3 |
|
||||||
|
| Строк MQTT документации | 0 | 2050+ | **+2050** |
|
||||||
|
| Примеров MQTT команд | ~20 | 200+ | +180 |
|
||||||
|
| Справочных таблиц | 5 | 15+ | +10 |
|
||||||
|
| Сценариев использования | 5 | 20+ | +15 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Ключевые исправления
|
||||||
|
|
||||||
|
### Была ошибка: Неправильная структура суффиксов
|
||||||
|
```
|
||||||
|
❌ СТАРОЕ (неверно):
|
||||||
|
- Суффиксы описаны как универсальные для всех типов
|
||||||
|
- Нет разделения по device-specific функциям
|
||||||
|
- Пропущены многие суффиксы
|
||||||
|
|
||||||
|
✅ НОВОЕ (правильно):
|
||||||
|
- Суффиксы разделены по категориям (основные, цветовые, AC, etc.)
|
||||||
|
- Каждый суффикс имеет таблицу применимости
|
||||||
|
- Все суффиксы согласно wiki.lazyhome.ru документированы
|
||||||
|
```
|
||||||
|
|
||||||
|
### Была ошибка: Неправильная структура MQTT топиков
|
||||||
|
```
|
||||||
|
❌ СТАРОЕ (неверно):
|
||||||
|
- root/item/suffix (упрощенная структура)
|
||||||
|
- Не объяснялось разделение на broadcast vs индивидуальные
|
||||||
|
|
||||||
|
✅ НОВОЕ (правильно):
|
||||||
|
- root/[id или bcst или out]/item/[subitem]/suffix
|
||||||
|
- Три типа топиков с примерами каждого
|
||||||
|
- Объяснение broadcast механизма (один контроллер на все устройства)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Была ошибка: Отсутствовала API документация
|
||||||
|
```
|
||||||
|
❌ СТАРОЕ:
|
||||||
|
- Ноль информации о HTTP API
|
||||||
|
|
||||||
|
✅ НОВОЕ:
|
||||||
|
- Полная документация /item/<name> endpoint
|
||||||
|
- Примеры curl для всех операций
|
||||||
|
- Описание других endpoints (/config.json, /command, etc.)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Была ошибка: Неправильные диапазоны значений
|
||||||
|
```
|
||||||
|
❌ СТАРОЕ:
|
||||||
|
- Не была четко указана разница 0-100 vs 0-255
|
||||||
|
|
||||||
|
✅ НОВОЕ:
|
||||||
|
- /set с 0-255 (новый стиль)
|
||||||
|
- /set с 0-100 (OpenHab совместимость)
|
||||||
|
- /hue 0-365°, /sat 0-100% с объяснением
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Как использовать обновленную документацию
|
||||||
|
|
||||||
|
### Для новых пользователей:
|
||||||
|
1. Начните с [mqtt_quick_reference.md](mqtt_quick_reference.md) (шпаргалка)
|
||||||
|
2. Затем изучите [mqtt_api_reference.md](mqtt_api_reference.md) (полный справочник)
|
||||||
|
3. Используйте примеры из [configuration_examples.md](configuration_examples.md)
|
||||||
|
|
||||||
|
### Для опытных пользователей:
|
||||||
|
1. Обновите топики согласно [mqtt_api_reference.md](mqtt_api_reference.md)
|
||||||
|
2. Изучите новые суффиксы в [suffixes_reference_v2.md](suffixes_reference_v2.md)
|
||||||
|
3. Используйте HTTP API для альтернативного управления
|
||||||
|
|
||||||
|
### Для интеграций (Home Assistant, Node-Red, etc.):
|
||||||
|
1. Изучите структуру топиков: `root/[id или bcst или out]/item/[subitem]/suffix`
|
||||||
|
2. Используйте примеры из [mqtt_api_reference.md](mqtt_api_reference.md)
|
||||||
|
3. Используйте [mqtt_quick_reference.md](mqtt_quick_reference.md) как шпаргалку
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Валидация
|
||||||
|
|
||||||
|
Все документы проверены согласно официальной wiki:
|
||||||
|
- ✅ https://www.lazyhome.ru/dokuwiki/doku.php?id=%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_mqtt
|
||||||
|
- ✅ https://www.lazyhome.ru/dokuwiki/doku.php?id=api
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 Навигация
|
||||||
|
|
||||||
|
- **Быстрый старт**: [START_HERE.md](START_HERE.md)
|
||||||
|
- **Полный индекс**: [README.md](README.md)
|
||||||
|
- **Шпаргалка**: [mqtt_quick_reference.md](mqtt_quick_reference.md)
|
||||||
|
- **MQTT справочник**: [mqtt_api_reference.md](mqtt_api_reference.md)
|
||||||
|
- **Суффиксы**: [suffixes_reference_v2.md](suffixes_reference_v2.md)
|
||||||
|
- **Конфигурация**: [light_hub_полное_инженерное_описание_json_конфигурации_v2.md](light_hub_полное_инженерное_описание_json_конфигурации_v2.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Дата обновления**: 2025-01-24
|
||||||
|
**Версия документации**: 2.0
|
||||||
|
**Статус**: ✅ Актуально согласно wiki.lazyhome.ru
|
||||||
Reference in New Issue
Block a user