Skip to content

Schnippsche/solarreader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

solarreader

solarreader was inspired by the solaranzeige project from Ulrich Kunz, which is written in php and has some limitations.

solarreader is a java daemon for collecting measurement data from smart meters and grid inverters with a multi language gui for easy configuration. All collected data can be exported to influx databases v1 / v2 and MQTT clients. A buffer for Influx and mqtt requests exists; it can hold the request for 30 minutes ore more in memory. So you didn't loose any data if influxdb is currently busy or unreachable.

Modbus communication is possible over RS485 connections as well as TCP sockets.

solarreader can also import data from Openweather, aWattar and Solarprognose. The output of solarreader is compatible with the solaranzeige project.

You can use multiple devices, influx databases and mqtt destinations.

Requirements

You'll need:

  • A supported smart meter or grid inverter.
  • In case of Modbus/RTU: an USB RS485 adapter with FTDI chipset.
  • Optionally an RS485 to Ethernet converter
  • Java 8 or higher

Installation on Linux

solarreader needs java 8 or higher, and works well with openjdk. To install openjdk, type the following in your terminal:

sudo apt install default-jdk

After installation, verifiy it with the following command:

java -version

Note for Linux users: Serial port access is limited to certain users and groups in Linux. To enable user access, you must open a terminal and enter the following commands before solarreader will be able to access the ports on your system. Don't worry if some of the commands fail. All of these groups may not exist on every Linux distro. (Note, this process must only be done once for each user):

sudo usermod -a -G uucp pi
sudo usermod -a -G dialout pi
sudo usermod -a -G lock pi
sudo usermod -a -G tty pi

Replace the username parameter with your current username. (If you are not sure what your username is, type whoami and it will tell you.) If you are using SUSE 11.3 or higher, replace the '-a -G' flags with a single '-A' flag.

Note for Synology users and RS485-USB adapters with FTDI chipset: Activate the build-in FTDI drivers with following commands:

sudo insmod /lib/modules/usbserial.ko
sudo insmod /lib/modules/ftdi_sio.ko
sudo chmod 777 /lib/modules/usbserial.ko
sudo chmod 777 /lib/modules/ftdi_sio.ko

You have to do that after every reboot, so it is recommended to put it in a start script.

Download the archive and unzip the files. Then run the start_solarreader.sh (Linux) or start_solarreader.bat (Windows). To show the GUI type "locahost:8080" in your browser (or the ip of your computer)

Supported devices

  • Schueco SG inverter
  • Growatt inverter
  • Solaredge devices
  • SDM230 smart meter
  • SDM630 smart meter
  • Goodwe inverter
  • Phocos inverter
  • Hichi IR Reader for eHZ Energiemeter and other compatible
  • Fronius Primo, Fronius Symo and Fronius Smartmeter via Modbus or API
  • Steca Solarix PLI 5000
  • Powmr Pow-hvm1.5H-12v
  • Tasmota Devices (SonOff, Shelly with Tasmota Firmware)
  • Shelly Gen1 with original Firmware
  • Easun SMG II
  • Infini Solar PIP serie 3k
  • Tracer serie and compatible (Fa. Rover, Fa. Wattstunde, EPEVER XTRA 4415N)
  • Peacefair PCEM
  • many more planned and in progress... Feel free to contribute and share it with the community!

Using the precompiled binaries

Precompiled release packages are available. Download the jar and optional the start script for your platform

Building from source

solarreader is written in java and requires java 8 or higher. To build from source:

  • use mvn clean package to compile and build the jar file

Contribute

Feel free to add new devices! You need the specification protocol from your device.

For version change history have a look at the ChangeLog.

Build Requirements

  • Java 1.8+
  • Maven 3.5+

You can build solarreader.jar with all tests with:

mvn clean package

Main Screenshot Solarreader Screenshot