Skip to content

ange007/esphome-smart-must-inverter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESPHome MUST Inverter

Based on: https://github.com/vladyspavlov/esphome-must-inverter

ESPHome configuration for MUST inverter (PV18 / EP series) with RS485 Modbus integration. Provides smart battery charge control via Home Assistant with seasonal modes, night charging, emergency protection, and voltage-based stop logic for LiFePO4 batteries.

Card

Hardware

Component Details
MCU ESP8266 (Wemos D1 Mini)
Inverter MUST PV18 / EP series
Communication RS485 → UART via MAX485 module
Battery LiFePO4 (8S / 16S / 24S configurable)

Wiring:

ESP8266 MAX485
GPIO13 (TX) DI
GPIO12 (RX) RO
GPIO14 DE + RE (flow control)

Features

  • Night charge automation (23:00–07:00): charges to configurable SoC target, pauses when reached, restarts on drop
  • Emergency day charge: kicks in when SoC drops below threshold during the day
  • Battery protection: stops charging above critical SoC, force-starts at critical low SoC
  • Smart ramp-up: gradually increases charge current to avoid grid voltage sag
  • Battery Preserve Mode: keeps battery at grid power, useful during extended outages
  • Seasonal modes: Winter (charge to 96-98%) / Summer (charge to 40-45%), auto-switchable via HA automation
  • SoC → Voltage curve: LiFePO4 discharge curve used to calculate batt_stop_chg (modbus 20119) for precise charge cutoff
  • Watchdog: periodically verifies inverter registers haven't been reset
  • Throttled notifications: HA push notifications via esphome.battery_notification event, 1h cooldown per type

Setup

1. Before flash

  • Set battery_cells_s in the substitutions block:
battery_cells_s: "16"   # 8 = 24V | 16 = 48V | 24 = 72V
  • Change CHARGE PARAMETERS and TIME PARAMETERS if needed

2. Home Assistant helpers

Add automation/helpers.yaml content to your HA configuration.yaml, or create the helpers manually via Settings → Devices & Services → Helpers.

3. Weather-based automation (optional)

Import automation/automation.yaml into HA. It automatically switches between Winter/Summer mode based on tomorrow's solar forecast and weather conditions.

Requires:

  • sensor.energy_production_tomorrow (e.g. from Forecast.Solar or Solcast integration)
  • sensor.energy_production_tomorrow_2 (optional second array)
  • weather.forecast entity

Charge Logic Overview

Night (23:00-07:00)
  SoC < target_night  →  start charge
  SoC >= stop_night   →  pause
  SoC <= restart      →  resume
  07:02               →  morning stop (solar tops up)

Day
  SoC < emergency_start  →  emergency charge
  SoC >= emergency_stop  →  stop

Protection (always)
  SoC >= 99%   →  force stop
  SoC < 25%    →  force start at max current

License

MIT

About

ESPHome config to monitor and control a Must inverter via RS485

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages