Giter VIP home page Giter VIP logo

solarreader's Introduction

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

solarreader's People

Contributors

schnippsche avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

schpuntik mdkeil

solarreader's Issues

Fronius Symo über Modbus TCP?

Ich gehe davon aus, dass die Fronius Symo - Serie noch nicht implementiert ist? Ich hätte ggfs. den Bedarf meinen WR entsprechend auszulesen in einem Intervall zwischen 10-30s. Aktuell lese ich ihn minütlich über die Fronius-API via Solaranzeige aus mit einen umfangreichen Folgescript (_math.php). Würde diese Funktionalität erhalten bleiben?

Fehler bei installation

In moment ich steh auf dem schlauch. Webinstaller und solarreader sind unterschiedliche Projekte? Beim Webinstaller fehlt Datei und hier finde nicht script startup.sh. Was mache ich falsch?

orangepi@orangepizero2:~$ sudo wget -q -O - https://solaranzeige.schnippsche.de/webupgrade | sh /var/www/html/webinstaller.tar: No such file or directory webinstaller konnte nicht heruntergeladen werden

Fronius Modbus Register - Model Angabe

Um nicht für jedes Fronius-Model eine seperate json-Datei zu erzeugen, wäre es praktikabler, wenn initial die "ID" ausgelesen wird und dann intern die korrekte Register-Map ausgewählt wird. Optional könnte man das Model auch abfragen und dann die Registermap(s) zurordnen.
Es würde dann nur noch eine json-Datei geben, wo dann anhand der Modelnummer unterschiedliche "Register-Gruppen" ausgelesen werden.. so ähnlich funktioniert das auch in der sunspec-integration von Homeassistent, wo ich dann auch manuell unterschiedliche Registergruppen (je nach Model) aus bzw. abwählen kann, in Abhängigkeit welche Informationen man benötigt.

Huawei

Hi
Leider finde ich kein Huawei Wechselrichter in der Liste bei Version 1.3.

Beim Start kommt diese Fehlermeldung.
SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.