Skip to content

sirjackal/solax-inverter-api-proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solax Inverter API Proxy Server

Reads realtime data from the Solax inverter (using local API, not cloud).

Works with Solax X3-Hybrid-G4 inverter.

Install

npm i

Configuration

Create .env file with following options:

SOLAX_URL=
SOLAX_PASSWORD=
SERVER_PORT=

E.g.

SOLAX_URL=http://192.168.1.123/
SOLAX_PASSWORD=123456
SERVER_PORT=8080

Run

npm run start

or in the development mode

npm run dev

Open in browser: http://localhost:8080/solax-api/

Response example

{
    "pvPower": 754,
    "acPower": 741,
    "string1Voltage": 420.3,
    "string2Voltage": 280,
    "string1Current": 0.9,
    "string2Current": 1.2,
    "string1Power": 416,
    "string2Power": 338,
    "batterySoc": 0,
    "gridPower": -5541,
    "batteryVoltage": 0,
    "batteryCurrent": 0,
    "batteryPower": 0,
    "batteryRemainingEnergy": 6.9,
    "loadPower": 6282,
    "todayFeedInEnergy": 0.1,
    "totalFeedInEnergy": 15.1,
    "todayBatteryDischargeEnergy": 3.1,
    "todayBatteryChargeEnergy": 0.1,
    "totalBatteryDischargeEnergy": 240.5,
    "totalBatteryChargeEnergy": 263.1,
    "todayConsumption": 12.9,
    "totalConsumption": 1355.12,
    "batteryTemperature": 0,
    "totalYield": 501.4,
    "todayYield": 4.8,
    "outputCurrentPhase1": 1.4,
    "outputCurrentPhase2": 1.4,
    "outputCurrentPhase3": 1.4,
    "powerPhase1": 233,
    "powerPhase2": 260,
    "powerPhase3": 248
}

Create a Linux service

You can create a Linux service to run the proxy server on startup.

  1. Create a file /lib/systemd/system/solax-api-proxy.service with following content (just change the path to the run script):
[Unit]
Description=Solax Inverter API Proxy
After=network-online.target

[Service]
ExecStart=/bin/bash /home/pi/solax-inverter-api-proxy/run.sh
WorkingDirectory=/home/pi/solax-inverter-api-proxy
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root

[Install]
WantedBy=multi-user.target
  1. Start the service:
sudo systemctl start solax-api-proxy.service
  1. Check the service status:
sudo systemctl status solax-api-proxy.service
  1. Enable the service (to run on startup):
sudo systemctl enable solax-api-proxy.service

About

Solax Inverter API Proxy Server

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published