Содержание | Далее: ChangeLog →
ACRouter — Открытый контроллер солнечного роутера
Интеллектуальный AC-роутер мощности для управления солнечной энергией
Overview • How It Works • Возможности • Железо • Режимы • Быстрый старт
Что такое ACRouter?
ACRouter is an open-source controller that automatically redirects excess solar energy to resistive loads (like water heaters) via smooth phase-angle dimming — instead of exporting it to the grid. It maximizes self-consumption of your solar power and reduces electricity costs.
Зачем ACRouter?
| Проблема | Решение |
|---|---|
| Excess solar exported to the grid at low rates | Перенаправить на нагрев воды или другие нагрузки |
| Expensive battery storage | Использовать тепловое накопление (водонагреватель) |
| Сложные коммерческие решения | Простое, открытое, дружественное DIY-решение |
| Фиксированное включение/выключение тратит энергию впустую | Плавное фазовое управление для точного регулирования |
Типичное поведение сетевой PV-системы с нагрузкой в виде водонагревателя за сутки.
| Параметр | Без ACRouter | С ACRouter |
|---|---|---|
| Дневной экспорт солнечной энергии | Высокий | Низкий |
| Коэффициент самопотребления | ~40–50% | ~70–85% |
| Источник нагрева воды | Сеть (вечером/ночью) | Солнечный избыток (днём) |
| Аккумуляторы необходимы | Да (для хранения) | Нет |
| Energy exported/wasted | Значительные | Минимальные |
| Общие затраты на электроэнергию | Выше | Lower (up to ~30% less) |
Figures are typical estimates and vary with your installation (PV size, load, tariffs, and usage).
How It Works
A v2.0 system is an ESP32-family host plus smart I2C modules:
rbAmp (I2C) ──▶ sensor_hub ──▶ RouterController ──▶ DimmerLink (I2C) ──▶ load
measures grid merges the decides how much phase-cut output (heater)
(+ solar/load) sources to divert (grid→0) (dimmer id 4)The rbAmp module measures grid power (and optionally solar/load), the RouterController runs a ~5 Hz balancing loop, and the DimmerLink module drives the load — raising or lowering it so the grid exchange trends to zero. All the surplus is consumed locally instead of exported.
Возможности
- Smart measurement (rbAmp). Clamp-on CT current + line voltage over I2C; self-calibrating, no ADC tuning. Grid / solar / load channels.
- Smart dimming (DimmerLink). Phase-angle 0–100% on a dedicated controller; zero-cross handled in the module.
- Seven operating modes for grid-tied, export-protection, off-grid, and manual scenarios.
- External web app — capability-aware UI (the device redirects to it).
- REST API + WebSocket, MQTT + Home Assistant auto-discovery, OTA (ESP32 tier).
- Two targets — ESP32 (full) and low-cost ESP32-C2, with capability-aware feature gating.
- Configurable & persistent — settings in NVS; configure via web app, REST, MQTT, or serial.
- Open source.
Железо
ACRouter v2.0 uses a modular architecture: an ESP32 or ESP32-C2 host plus rbAmp (measurement) and DimmerLink (dimmer) modules sharing one I2C bus.
| Part | Role |
|---|---|
| ESP32 / ESP32-C2 host | Runs the firmware, control loop, connectivity |
| rbAmp | Grid/solar/load current + line voltage sensing (clamp-on CT) |
| DimmerLink | Phase-cut dimmer driving the resistive load |
Minimum build: one host + one rbAmp (with a grid channel) + one DimmerLink. Wiring, addresses, CT models, and pull-ups are covered in the Hardware Guide.
ACRouter is designed to work with modules from rbdimmer.com and open-source DIY hardware.
Режимы работы
| Режим | Behavior | Лучше всего подходит |
|---|---|---|
| OFF | Dimmer at 0%, no regulation | Обслуживание |
| AUTO ⭐ | Balances P_grid → 0 (consumes all surplus) |
⭐ Стандартный солнечный роутер |
| ECO | Avoids grid import; allows export | Export OK, avoid paid import |
| OFFGRID | Runs only on solar; ignores grid | Автономные системы |
| MANUAL | Fixed user level | Testing / scheduling |
| BOOST | 100% output | Fast heating (cheap tariff) |
| GRID_LIMIT | Caps grid draw by current (no export) | Stay under a supply limit |
See Router Modes .
Быстрый старт
- Flash the firmware for your target/profile (ESP32, C2-HTTP, or C2-MQTT) — see Compilation.
- Wire the rbAmp and DimmerLink modules to the host's I2C bus (with pull-ups) — see the Hardware Guide.
- Power on and connect WiFi, then set the external web-app URL and open the app.
- Commission (in the app or over REST): discover modules (rescan) → assign roles (rbAmp
gridchannel + CT model; DimmerLinkrole=dimmer→ auto-binds to dimmer id 4). - Reboot once — this starts the DimmerLink polling (and applies any I2C-pin change). Roles are saved live, but the first dimmer needs this one-time reboot before it drives the load.
- Выберите режим AUTO и начните экономить энергию!
The full walkthrough is in the Commissioning guide.
Документация
| Документ | Описание |
|---|---|
| 📖 Overview | Architecture & features |
| 🔧 Hardware Guide | Modules, wiring, I2C |
| ⚙️ Compilation | Targets, profiles, build & flash |
| 🎮 Router Modes | Mode details |
| 🌐 Web API | REST endpoints |
| 🏠 Home Assistant | MQTT integration |
Safety
⚠️ This project involves mains voltage (110 V / 230 V AC).
- Installation by a qualified electrician; de-energize before wiring.
- Proper isolation, fusing, and RCD/GFCI protection; keep low-voltage I2C wiring away from mains.
- Resistive loads only (heating elements) — not motors, transformers, LED drivers, or electronics.
Чем ACRouter не является
- Not a battery inverter · not a smart plug/relay controller · not a certified grid-protection device · not for inductive or electronic loads.
Участие
Contributions welcome — report bugs, suggest features, improve docs, or submit code via pull request on GitHub.
Лицензия
ACRouter — программное обеспечение с открытым исходным кодом. Подробности см. в LICENSE .
Благодарности
- rbAmp / DimmerLink — smart sensing & dimmer modules (rbdimmer.com)
- ESP-IDF — Espressif IoT Development Framework
- ArduinoJson — библиотека JSON для встроенных систем
- Сообщество — участники и тестировщики
Создано с ⚡ для сообщества солнечной энергетики
⭐ Поставьте звезду проекту • 🐛 Сообщить об ошибке • 💬 Обсудить