Passa al contenuto

Indice | Avanti: ChangeLog →

ACRouter — Controller router solare open source

Router di potenza AC intelligente per la gestione dell'energia solare

OverviewHow It WorksFunzionalitàHardwareModiAvvio rapido

Platform Framework Licenza Status


Cos'è 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.

Perché ACRouter?

Problema Soluzione
Excess solar exported to the grid at low rates Reindirizzarlo allo scaldacqua o ad altri carichi
Expensive battery storage Usare l'accumulo termico (scaldacqua) al loro posto
Soluzioni commerciali complesse Semplice, open source, adatto al fai-da-te
Il controllo fisso on/off spreca energia Dimmerizzazione con taglio di fase per un controllo preciso

Comportamento giornaliero tipico di un impianto FV connesso alla rete con carico scaldacqua.

Parametro Senza ACRouter Con ACRouter
Immissione solare diurna Alta Bassa
Tasso di autoconsumo ~40–50 % ~70–85 %
Fonte acqua calda Rete (sera/notte) Surplus solare (giorno)
Batteria necessaria Sì (per accumulo) No
Energy exported/wasted Significativa Minima
Costo energetico totale Più alto 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:

plaintext
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.


Funzionalità

  • 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.

Hardware

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.


Modalità operative

Modalità Behavior Ideale per
OFF Dimmer at 0%, no regulation Manutenzione
AUTO Balances P_grid → 0 (consumes all surplus) ⭐ Routing solare standard
ECO Avoids grid import; allows export Export OK, avoid paid import
OFFGRID Runs only on solar; ignores grid Sistemi off-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 per i dettagli.


Avvio rapido

  1. Flash the firmware for your target/profile (ESP32, C2-HTTP, or C2-MQTT) — see Compilation.
  2. Wire the rbAmp and DimmerLink modules to the host's I2C bus (with pull-ups) — see the Hardware Guide.
  3. Power on and connect WiFi, then set the external web-app URL and open the app.
  4. Commission (in the app or over REST): discover modules (rescan) → assign roles (rbAmp grid channel + CT model; DimmerLink role=dimmer → auto-binds to dimmer id 4).
  5. 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.
  6. Selezionare la modalità AUTO e iniziare a risparmiare energia!

The full walkthrough is in the Commissioning guide.


Documentazione

Documento Descrizione
📖 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.

Cosa ACRouter NON è

  • Not a battery inverter · not a smart plug/relay controller · not a certified grid-protection device · not for inductive or electronic loads.

Contribuire

Contributions welcome — report bugs, suggest features, improve docs, or submit code via pull request on GitHub.


Licenza

ACRouter è software open source. Vedere LICENSE per i dettagli.


Ringraziamenti

  • rbAmp / DimmerLink — smart sensing & dimmer modules (rbdimmer.com)
  • ESP-IDF — Framework di sviluppo IoT di Espressif
  • ArduinoJson — Libreria JSON per sistemi embedded
  • Comunità — Contributori e tester

Fatto con ⚡ per la comunità dell'energia solare

⭐ Metti una stella al progetto🐛 Segnala un problema💬 Discuti

Indice | Avanti: ChangeLog →