BossMonitor — User Guide

← Back to Dashboard

Overview

BossMonitor is a WiFi monitoring and control gateway for EG4 18KPV solar inverters. It runs on a WaveShare ESP32-S3 Mini and connects to your inverters via RS485 Modbus RTU or TCP/IP. Access it from any browser on your local network — no internet required for most features.

FeatureDescription
Live monitoringSolar power, battery SOC, grid status, load — multiple views updated every 5 seconds
Energy Flow diagramAnimated real-time power flow between solar, battery, grid, and loads
Per-pack BMS dataIndividual battery pack SOC, voltage, temperature, cycle count (requires BMS mode setup)
Inverter settingsRead and write EG4 operating parameters over RS485 — charge, discharge, grid, and mode settings
GridBoss controlConfigure SP port outlets, generator control, load shedding, and AC coupling
MQTT / Home AssistantPublish 27 sensor entities to any MQTT broker with Home Assistant auto-discovery
Data logging5-minute interval CSV log, 7 days retained, downloadable as spreadsheet
OTA updatesFlash new firmware over WiFi — no USB cable required
Dual WiFi modesConnect to your router, or run as its own hotspot (no router needed)

Connecting for the First Time

Easy access via mDNS hostname

Once connected to your router, BossMonitor is reachable at http://bossmonitor.local from any device on the same network — no need to look up an IP address. This works on Windows, Mac, iOS, and Android.

If the device is in Router Mode

  1. Connect your phone or laptop to the same WiFi router as BossMonitor.
  2. Open a browser and go to http://bossmonitor.local
  3. If that does not work, find the device IP in your router's connected-devices list and browse to it directly.

If the device is in AP Mode (hotspot)

  1. On your phone or laptop, open WiFi settings and connect to the network named BossMonitor (or the custom name set by your installer).
  2. If prompted "No internet — stay connected?" tap Yes / Use this network anyway.
  3. Open a browser and go to http://192.168.4.1
Recovery mode: If the device cannot connect to its saved WiFi network, it automatically creates a hotspot named BossMonitor-Recovery at IP 192.168.15.1. Connect to it to reconfigure WiFi settings.

WiFi Modes

BossMonitor supports two network modes, switchable from the Admin page.

ModeWhen to useDevice IP
Router Mode Site has an existing WiFi router. Multiple users can access simultaneously. Access via bossmonitor.local. Assigned by router (or use bossmonitor.local)
AP Mode No router available. BossMonitor creates its own WiFi network. One user at a time. Always 192.168.4.1
Switching modes causes the device to reboot. You will need to reconnect your browser to the new address.

Dashboard index.html

The main landing page. Shows a live summary of solar, battery, load, and grid status, plus navigation to all other pages. Updates every 5 seconds.

Status Cards

  • Solar — combined PV watts from all inverters, with operating mode shown below
  • Battery — state of charge %; sub-line shows charging/discharging direction and watts
  • Load — total power being consumed by your loads
  • Grid — current grid power (positive = importing, negative = exporting) and grid status

Navigation

ButtonGoes to
Energy FlowAnimated real-time power flow diagram
ClassicOriginal EG4-style monitor layout
GaugesDark-theme arc gauge dashboard
DetailFull raw inverter data table
BatteriesBattery pack summary from inverter Modbus data
BMS PacksPer-pack data from the EG4 WiFi dongle (requires BMS mode)
Admin & SettingsSystem configuration and maintenance

The dashboard automatically syncs the ESP32 clock to your browser's time on every page load, keeping data log timestamps accurate. A warning banner appears if the clock has not been set.

Use the Dark/Light toggle in the top-right corner to switch themes. Your preference is remembered across visits.

Energy Flow flow.html

Animated dark-theme diagram showing real-time power movement between solar panels, batteries, grid, and loads. Flowing dashes indicate direction and speed scales with power level.

  • Solar (orange) — PV generation in watts or kilowatts
  • Battery (green) — charging or discharging, with SOC percentage
  • Grid (blue) — importing from or exporting to the grid
  • Load (amber) — power being consumed right now

Best viewed on a wall-mounted tablet or monitor as a live status display. Updates every 5 seconds.

Classic View eg4monitor.html

The original EG4-style monitor layout showing all inverter parameters in a familiar format. Useful if you prefer the traditional view or want to see values that are not shown on the newer dashboard. Updates every 5 seconds.

Live Gauges gauges.html

Dark-theme real-time arc gauge dashboard. Refreshes every 5 seconds. Best viewed on a wall-mounted tablet or monitor.

  • SOC arc — battery state of charge. Colour changes: green → yellow → red as SOC drops.
  • PV bars — individual power from each PV string on each inverter
  • Battery power — positive = charging, negative = discharging
  • Load arc — total power being consumed by your loads
  • Grid status — green Online / red Offline banner
If a banner reads "Inverter Offline", the ESP32 has not received a valid response from that inverter in the last poll cycle. Check RS485 wiring and that the inverter is powered on.

Detail Monitor monitor.html

Tabular view of all raw inverter data — voltages, currents, temperatures, fault codes, and register values. Useful for diagnosing issues or verifying specific readings. Updates every few seconds.

Batteries batteries.html

Battery pack summary sourced from inverter Modbus data. Shows the overall battery bank state as reported by the master inverter: SOC, voltage, current, power, and temperature. This data is always available when the inverter is communicating — no special setup required.

For individual per-pack data (each battery tower's own SOC, temperature, voltage, and cycle count), see BMS Packs — that page requires the BMS dongle intercept to be configured.

BMS Packs battery_bms.html

Per-pack battery data captured directly from the EG4 WiFi dongle. When BMS mode is active, BossMonitor intercepts the data stream the dongle sends to the EG4 cloud every ~30 seconds and extracts individual pack statistics for up to 15 battery packs.

Data shown per pack

  • Pack name (Battery_ID_01 through Battery_ID_15)
  • State of charge (SOC %) — calibrated per-pack value
  • State of health (SOH %)
  • Pack voltage (V)
  • Max and min cell voltages (mV)
  • Max cell temperature (°C)
  • Charge cycle count

The status bar at the top of the page shows when data was last received. If no data has arrived in over a minute, check that the dongle is connected to the BossMonitor AP (see BMS Pack Setup).

BMS Packs requires BMS mode to be enabled in Comm Settings and a one-time redirect of the EG4 WiFi dongle. See BMS Pack Setup for the full procedure.

Admin Page admin.html

Central control panel for all system configuration and maintenance tasks.

Real-Time Stats

Shows live Total Solar power and Battery SOC, updated every 10 seconds.

Monitoring & Configuration Buttons

ButtonGoes to
Energy FlowAnimated live energy flow diagram
Live MonitorReal-time inverter readings table
Data ChartsHistorical solar, battery, and load graphs
Data History (CSV)Download logged data as a spreadsheet
Comm SettingsTransport mode (TCP / RS485) and BMS operating mode
Manage InvertersAdd, remove, or configure inverters and Modbus addresses
MQTT SettingsConfigure MQTT broker and Home Assistant integration
Inverter SettingsRead and write charge, discharge, grid, and operating parameters

WiFi Mode

Switch between Router Mode and AP (hotspot) Mode. Enter the desired network name and optional password, then click the mode button. The device reboots into the new mode.

System Maintenance

ButtonAction
Upload FileUpload HTML, config, or other files to device storage (FFat)
Program FirmwareFlash new firmware over WiFi (OTA). Device reboots after flashing.
Set TimeManually set the ESP32 clock if auto-sync did not work
Reset WiFiErase WiFi credentials and restart in setup mode
Reset WiFi erases the saved network name and password. After reset, connect to BossMonitor-Recovery at 192.168.15.1 to reconfigure.

Comm Settings settings.html

Configures how the ESP32 communicates with the inverters and whether to intercept BMS battery pack data from the EG4 WiFi dongle.

Transport Mode

ModeConnectionWhen to use
RTU (RS485 Modbus) Physical RS485 cable via RJ45 Recommended. More reliable, works without a network. Required for Inverter Settings writes.
TCP (WiFi Dongle) WiFi network connection to inverter's built-in web server Use if RS485 wiring is not available. Inverter Settings writes not supported in TCP mode.

BMS Operating Mode

Controls whether BossMonitor intercepts the EG4 WiFi dongle's data stream to capture per-pack battery data. A reboot is required when changing this setting.

ModeDescription
Standard Normal operation. The EG4 dongle connects directly to the EG4 cloud. No BMS pack data is captured.
MITM BossMonitor creates a SoftAP (EG4-Bridge). Dongle connects to that AP. BossMonitor intercepts the data stream and forwards everything to the real EG4 cloud. EG4 app continues working. Requires internet.
Standalone BossMonitor creates a SoftAP (EG4-Bridge). Dongle connects to that AP. BossMonitor simulates the cloud locally. No internet needed, but the EG4 mobile app will not receive updates.
LAN MITM No SoftAP. Dongle stays on your home router. BossMonitor runs a DNS proxy that intercepts us2.solarcloudsystem.com and returns its own LAN IP, causing the dongle to connect here automatically. Requires a one-time router DNS setting change. Fully self-healing after reboots — no manual dongle redirect ever needed.

In MITM or Standalone mode, BossMonitor creates a WiFi access point with the credentials shown in the BMS AP Credentials fields (default: SSID EG4-Bridge, password bridge1234). The EG4 dongle must be redirected to connect to this AP. See BMS Pack Setup.

In LAN MITM mode, no AP credentials are needed. Instead, set your router's DNS server to the ESP's LAN IP. See BMS Pack Setup for the Eero procedure.

RS485 Pin Configuration

Default pins for the WaveShare ESP32-S3 Mini with CAN/Modbus board:

SignalGPIORJ45 Pin
TX17
RX18
DE (direction enable)21
RS485 A+7
RS485 B−8
After changing any setting, click Save Settings to store without rebooting, or Save & Reboot to apply immediately. BMS mode changes require a reboot.

Inverter Settings inverter_settings.html

Read and write EG4 operating parameters directly over RS485. Organised into four tabs matching the EG4 maintenance page layout.

Requires RS485 (RTU) mode. This page will not work in TCP mode. Switch to RTU in Comm Settings first.

Safe Mode

All write buttons are disabled by default. Tick "Enable write commands" in the yellow banner before any Set button will work. This prevents accidental changes.

Reading Current Values

Click Read in the device bar at the top. The page polls all known registers from the master inverter and fills in the fields. Always read before writing to avoid overwriting settings you did not intend to change.

Writing a Value

  1. Click Read to load current values.
  2. Tick "Enable write commands".
  3. Change the value in the field you want to update.
  4. Click the Set button next to that field only. Only that one register is written.
  5. The status bar at the top confirms success or shows an error.

Tabs

TabContents
CommonOutput working mode (SBU/SUB), EPS backup enable, PV input mode, start voltage
ApplicationSell to grid, PV charge priority, AC coupling
ChargingGrid charge enable/power/SOC, charge current limit, PV charge priority, time windows
DischargingDischarge current limit, on/off-grid cut-off SOC, forced discharge, peak shaving

Bit-field Registers

Several settings share a single register (for example, register 21 controls EPS enable, grid charge, forced discharge, feed-in, and more — each in a different bit). When you click Set for one of these, the ESP32 reads the full current register value, changes only the relevant bit, and writes the result back. Other settings in the same register are preserved.

GridBoss gridboss.html

Configuration page for the EG4 GridBoss SP port and connected loads. Allows reading and writing GridBoss operating parameters over RS485.

SP Port Outlets

Each SP port outlet can be configured independently. Modes include:

  • Smart Load — outlet switches based on SOC thresholds or solar availability
  • AC Couple — connects an AC-coupled solar source (e.g. grid-tied inverter)
  • Load Shedding — outlet cuts off under configurable conditions to protect battery
  • Unused — outlet disabled

Generator Control

Configure automatic generator start/stop based on battery SOC thresholds. Set the SOC level that triggers generator start and the SOC level at which it shuts off.

Like Inverter Settings, GridBoss requires RS485 (RTU) mode. Click Read to load current values before making changes.

MQTT / Home Assistant mqtt.html

BossMonitor can publish inverter data to any MQTT broker, with built-in Home Assistant auto-discovery support. Once connected, 27 sensor entities appear automatically in Home Assistant without any manual configuration.

Setup

  1. Go to Admin → MQTT Settings.
  2. Enter your MQTT broker IP address or hostname and port (default 1883).
  3. Enter broker username and password if required.
  4. Check Active to enable publishing.
  5. Click Save. The broker status pill at the top of the page will turn green when connected.

Published Entities (27 total)

Entities include: solar power per string, total PV, battery SOC, battery voltage, battery current, battery power, grid status, grid power, load power, inverter operating mode, EPS voltage, temperatures, and more. All entities are published under the bossmonitor/ topic prefix.

Home Assistant Auto-Discovery

When the broker is connected, BossMonitor publishes MQTT discovery payloads so Home Assistant automatically creates all 27 entities under a "BossMonitor" device. No manual configuration in configuration.yaml is needed.

BossMonitor also publishes an availability topic so entities show "Unavailable" in Home Assistant if the ESP32 loses power or WiFi, rather than showing stale values.

Manage Inverters manage_inverters.html

Add or remove inverters from the device catalog, and assign Modbus slave addresses.

Setting a Modbus Address

Warning: Only one inverter should be connected to the RS485 bus when setting an address. Disconnect all other inverters first, then reconnect them after the address is confirmed.
  1. Go to Manage InvertersSet Modbus Address.
  2. Select the inverter by serial number from the dropdown.
  3. Enter the desired address (1 for master, 2 for slave).
  4. Click Set Address. The ESP32 writes the address to the inverter and confirms by reading it back.

Diagnostic: Read a Holding Register

Verify the Modbus address of any inverter by calling:

http://bossmonitor.local/read_hold_reg?slave=1&reg=15&sn=XXXXXXXXXX

Register 15 holds the current Modbus slave address. The response shows the value read back from the inverter.

Data History /get_history

BossMonitor logs inverter data every 5 minutes to a CSV file on the device. Up to 7 days of logs are kept; older files are deleted automatically.

To download: Admin → Data History (CSV). The file opens directly in Excel or Google Sheets.

To view as charts: Admin → Data Charts for graphed historical solar, battery, and load data.

Log Columns

Timestamp, Total PV (W), Battery SOC (%), Battery Voltage (V), Battery Power (W), Grid Status, Load Power (W), and per-inverter PV strings.

Log timestamps require the ESP32 clock to be set. The clock is synced automatically each time a browser loads the dashboard. If the device has been running without any browser connection since last reboot, timestamps may read 1970 until the next browser visit.

Firmware Update (OTA) firmware.html

Update the ESP32 firmware without a USB cable.

  1. Obtain the new firmware .bin file from your installer.
  2. Go to Admin → Program Firmware, or navigate directly to firmware.html.
  3. Click Choose File and select the .bin file.
  4. Click Upload. Wait for the upload to complete (progress shown).
  5. Click Flash & Reboot. The device restarts with the new firmware.
  6. Reconnect your browser after ~15 seconds.
Do not close the browser or power off the device during flashing. A failed flash will require USB recovery.

If BMS mode is active: After a firmware reboot, the EG4 dongle may temporarily lose its connection to BossMonitor. It should reconnect automatically within a minute. If it does not, see BMS Pack Setup for the redirect procedure.

File Upload upload.html

Upload HTML pages, configuration files, or other files to the device's internal storage (FFat filesystem). Useful for updating a single web page without reflashing the entire firmware.

Go to Admin → Upload File, select the file, click Start Upload.

Uploaded files are stored in the root of the FFat filesystem. The filename on the device matches the filename you upload. Existing files with the same name are overwritten silently.

Clock / Time Sync /manualsettime

The ESP32 does not have a battery-backed clock. Time is set from your browser each time the dashboard loads. If the clock is wrong:

  • Load the Dashboard — it auto-syncs silently on every page load.
  • Or go to Admin → Set Time to set it manually.

A warning banner appears on the dashboard if the clock is not set (showing year 1970). Data logs will have incorrect timestamps until the clock is synced.

Troubleshooting

Can't connect to the device

  • Try http://bossmonitor.local first — this works on most networks without needing to know the IP.
  • If in Router Mode — the device IP may have changed. Set a DHCP reservation in your router so it always gets the same IP.
  • If in AP Mode — make sure your device did not automatically switch back to mobile data. Reconnect to the BossMonitor WiFi and tap "Use without internet" if prompted.
  • If neither works — connect to BossMonitor-Recovery at 192.168.15.1 and check WiFi settings.

Inverter shows "Offline" or data is all zeros

  • Check RS485 cable connections — RJ45 connectors must be fully seated.
  • Verify the correct Modbus slave address is configured and matches what is set on the inverter.
  • Check Comm Settings — confirm mode is set to RTU if using RS485.
  • Use the diagnostic URL: http://bossmonitor.local/read_hold_reg?slave=1&reg=15&sn=XXXXXXXXXX to test RS485 communication directly.

Inverter Settings page says "requires RTU mode"

Go to Comm Settings and switch to RS485 Modbus RTU mode first. Inverter Settings writes are not supported over TCP.

BMS Packs page shows no data / "waiting for session"

  • Confirm BMS mode (MITM or Standalone) is enabled in Comm Settings and the device has been rebooted since the setting was applied.
  • Confirm the EG4 dongle is connected to the EG4-Bridge WiFi network (or whatever SSID you configured), not your home router.
  • The dongle pushes data approximately every 30 seconds — wait up to a minute after connecting.
  • In MITM mode, the device must have internet access to forward the session to the EG4 cloud. If internet is down, switch to Standalone mode.
  • After a firmware update or reboot, the dongle may need a minute to reconnect. If it does not reconnect on its own, follow the redirect procedure in BMS Pack Setup.

MQTT not connecting

  • Verify the broker IP and port in MQTT Settings. The broker must be on the same network as BossMonitor.
  • If the broker requires authentication, confirm the username and password are correct.
  • The status pill on the MQTT Settings page updates when you save — a green "Connected" pill confirms the broker accepted the connection.

Data log timestamps show 1970

The clock was not set when that data was logged. Load the dashboard to sync the clock — future log entries will have correct timestamps. Old entries cannot be corrected.

OTA upload fails partway through

Check that the .bin file is not corrupted. Ensure WiFi signal is strong at the device location. A failed upload does not overwrite the running firmware — try again.

RS485 Wiring Reference

Two EG4 18KPV inverters sharing one RS485 cable via an RJ45 Y-connector.

ComponentDetail
Controller boardWaveShare ESP32-S3 Mini with CAN/Modbus Industrial Board
RS485 baud rate19200
ProtocolModbus RTU (EG4 variant — serial number embedded in packet)
CableCat5/Cat6 ethernet. RJ45 pin 7 = RS485 A+, pin 8 = RS485 B−
TopologyESP32 → RJ45 Y-connector → Inverter 1 (addr 1) and Inverter 2 (addr 2)
Termination120Ω termination resistor at the far end of the cable if runs are long
If you see "short response 0 bytes" in the serial monitor, the most common cause is an RJ45 connector not fully clicked into its socket. Re-seat all connectors and test again.

BMS Pack Setup

The BMS pack data feature intercepts the data stream between the EG4 WiFi dongle and the EG4 cloud, extracting per-pack battery statistics for each battery tower. This requires a one-time hardware and software setup.

Hardware Requirement

Required: 5V USB battery bank with pass-through charging. This keeps BossMonitor powered through outages so the EG4-Bridge WiFi network stays alive and the dongle stays connected. Battery banks with pass-through charging are widely available for $10–20. Connect it between the wall adapter and the ESP32.

First-Time Setup

  1. In Comm Settings, select MITM (EG4 app keeps working) or Standalone (no internet needed). Optionally change the AP SSID and password from the defaults. Click Save & Reboot.
  2. After reboot, BossMonitor broadcasts a WiFi network named EG4-Bridge (or your custom SSID).
  3. On the EG4 dongle's configuration page, change the dongle's WiFi from your home router to EG4-Bridge (default password: bridge1234).
  4. The dongle connects within about a minute and begins pushing data every 30 seconds.
  5. Open BMS Packs from the dashboard to confirm data is arriving.
MITM vs Standalone: MITM forwards the dongle's session to the real EG4 cloud so the EG4 mobile app continues working. Standalone simulates the cloud locally — pack data is captured but the EG4 app will not receive updates.

After a Reboot or Firmware Update

When BossMonitor reboots, EG4-Bridge briefly disappears. The dongle will attempt to reconnect when the AP comes back up — this usually happens automatically within a minute or two. If it does not reconnect on its own, repeat step 3 above.

Advanced users: If your router supports custom DNS (e.g. pfSense, OpenWRT, Pi-hole, or Eero Secure), the LAN MITM mode in Comm Settings eliminates the need for a SoftAP entirely. BossMonitor runs a DNS proxy on its LAN IP that intercepts only the EG4 cloud hostname — the dongle stays on your home network and reconnects automatically after any reboot with no manual action required.