growatt-server

Growatt solar inverter server — Java reimplementation. Receive, decode, and forward real-time inverter data to MQTT, InfluxDB, PVOutput, and more.

Live Preview

Embedded Dashboard

Animated with simulated data — your real inverter values appear here when connected

Simulated live data
☀️ PV POWER 3,240 W INVERTER GW5000-ES ● NORMAL 🏠 LOAD 2,820 W 🔋 BATTERY 78% +200 W GRID +420 W
PV String 1
380V
PV String 2
372V
Grid Voltage
232V
Grid Frequency
50.0Hz
Temperature
41°C
Energy Today
14.3kWh
Energy Total
4,821kWh
Battery SOC
78%
Capabilities

Everything you need

Built for Growatt SPH hybrid inverters with WiFi or LAN datalogger

📡
TCP + UDP Protocol
Listens for incoming inverter connections on both TCP and UDP. Handles XOR-encrypted protocol 06, registration handshakes, ping/ACK, and buffered records automatically.
🏠
Home Assistant via MQTT
Publishes real-time inverter data as JSON to any MQTT broker. Includes automatic HA MQTT Discovery — sensors appear instantly with correct device classes and units.
📊
InfluxDB v2
Write every reading directly to InfluxDB for long-term time-series storage. Pair with Grafana for beautiful historical dashboards and energy analytics.
🌤️
PVOutput
Automatically upload generation data to PVOutput.org. Configurable rate limiting, temperature reporting, and energy/power values — all correctly scaled.
🔌
REST API + Web UI
Built-in live dashboard and REST API to monitor all connected inverters, browse raw values, inspect registry state, and configure MQTT on the fly.
🐳
Docker Ready
Zero-config Docker deployment. All credentials are passed via environment variables — no config files to manage. Runs on any ARM or x86 host.
Get Started

Up and running in minutes

Point your Growatt datalogger at this server's IP on port 5279. The dashboard opens on port 5782.

# docker-compose.yml
services:
  growatt-server:
    image: eclipse-temurin:21-jre
    ports:
      - "5279:5279"   # inverter TCP / UDP
      - "5782:5782"   # web dashboard & API
    environment:
      - MQTT_ENABLED=true
      - MQTT_HOST=your-mqtt-broker
      - MQTT_HA_DISCOVERY=true
    command: ["java", "-jar", "/app/growatt-server.jar"]
    volumes:
      - ./growatt-server.jar:/app/growatt-server.jar:ro
    restart: unless-stopped
Download

Get growatt-server

v1.0.0

Requires Java 21 or later · Spring Boot fat-JAR · no installation needed