Epever (Epsolar) Controller Monitor (Web and Home Assistant).
Expected compatible controller series: VS-B, Tracer-B, Tracer-A, iTracer, eTracer
Confirmed compatible controller series: LS-B (LS1024B, LS2024B, LS3024B)
App will read data from device (every {Device.Interval} seconds) and push it to MQTT topic {MQTT.Topic}/{Device.Name} or (and) show http(s)://{HTTP.Address}/api/state you can also use Web client http(s)://{HTTP.Address}.
{
"connected": true,
"updated": "2022-05-13T18:23:51.997628484Z",
"update_interval": 10,
"model": "LS-B compatible",
"device": {
"rated": { ... },
"real_time": { ... },
"status": { ... },
"statistical": { ... },
"settings": { ... }
}
}For configuration create config.yml (see example/config.yml) file and discribe Device and MQTT or Web or bouth services.
You have two ways for build this project:
- Install
Golang,Nodejs 12 (14 or 16),yarnand build manually - Use
makeandDocker
or download binary from realese section.
NOTE: Set version for production building go build -s -w -X main.version=1.0 or empty go build for Debug log level.
ATTENTION! For update web client you should run web client building before server building, if you use docker and make new client will added automatically.
You have golang on your computer, you can build it by default:
go mod download
go buildor if you have make and Docker, you can build without golang instalation: (for your host platform)
make buildif you wanna build version for arm32v7 (Orabge PI, etc) you need qemu emulator you can install it directly sudo apt install qemu-user-static or add docker container with emulator by make qemu
make qemu
make build_arm32v7NOTE! After reboot you need run
make qemuagain.
NOTE! When you see in console
#0 0.580 exec /bin/sh: exec format errorthat's mean you need qemu.
You have nodejs 12 / 14 / 16 and yarn on your computer, you can build it by default:
yarn install
yarn build
rm -rf ../web/*
cp -r dist/* ../web/or if you have make and Docker, you can build without node instalation:
make buildNOTE! You can use development docker container
make dev_web_client.
For using JS helper Vetur for VSCode create vetur.config.js in root, and set path to project './web_src'. (see reference: https://vuejs.github.io/vetur/reference/#example)
Add config file and service file (see example/lsx024b.service) to /opt/lsx024b/ and create symlink to service:
sudo ln -s /opt/lsx024b/lsx024b.service /etc/systemd/system/lsx024b.service
sudo systemctl enable lsx024b
sudo systemctl start lsx024bsudo systemctl status lsx024bsudo systemctl disable lsx024bsudo systemctl disable lsx024bDevice docs you can fount in /docs.