Skip to content

Standalone Solar Router

This configuration implements a Solar Router with a progressive regulation. It uses Fronuis power meter, Triac regulator, Progressive engine.

GPIO pins have been defined to match hardware configuration described here

# ----------------------------------------------------------------------------------------------------
# ESPHome configuration - This part depends on your hardware target
# ----------------------------------------------------------------------------------------------------

esphome:
  name: solarrouter
  friendly_name: SolarRouter

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  baud_rate: 115200
  level: INFO
  logs:
    component: ERROR
    light: ERROR

# Enable Home Assistant API
api:
  encryption:
    key: !secret api_encryption_key


# Enable over-the-air updates
ota:
  - platform: esphome
    password: !secret solar_router_ota_password

# Enable improv serial
improv_serial:

# WiFi connection
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  # If you have a WiFi activity plannification, you may have to update the reboot timeout (Default: 15min)
  reboot_timeout: 24h

# Activate web interface
web_server:
  port: 80

# Define watchdog time (it should be greater than timeout)
http_request:
  watchdog_timeout: 12s

# ----------------------------------------------------------------------------------------------------
# Customisation
# ----------------------------------------------------------------------------------------------------

# This part of the script is designed to be use for customisation. It shouldn't be necessary to
# edit other part of the script to perform configuration.

substitutions:
  # Power meter source -----------------------------------------------------------
  # Define ip address of Power Meter (Fronius Inverter)
  power_meter_ip_address: "192.168.1.21"


  # Regulator --------------------------------------------------------------------
  regulator: "ac_dimmer"

  # Regulator configuration 
  # Define GPIO pin connected to AC Dimmer for gate and zero crossing detection.
  regulator_gate_pin: GPIO22
  regulator_zero_crossing_pin: GPIO23

  # LEDs -------------------------------------------------------------------------
  # Green LED is reflecting regulation status
  # Yellow LED is reflecting power meter status
  green_led_pin: GPIO19
  yellow_led_pin: GPIO18


packages:
  common:
    url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/
    file: solar_router/common.yaml
    refresh: 1d
  power_meter:
    url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/
    file: solar_router/power_meter_fronius.yaml
    refresh: 1d
  regulator:
    url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/
    file: solar_router/regulator_triac.yaml
    refresh: 1d
  engine:
    url: https://github.com/XavierBerger/Solar-Router-for-ESPHome/
    file: solar_router/engine.yaml
    refresh: 1d