diff --git a/README.txt b/README.txt index 6e2146f..2896c2a 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,19 @@ -VERSION 0.0.13 +VERSION 0.0.14 + +=============================================================================== +INTRODUCTION +This project implements a background service that listens on a network port for +communication from SolarEdge inverters, to extract the power production data +(telemetry) from it. The captured data is stored in a MySQL database. A PHP +script is included to upload it to [PvOutput](https://pvoutput.org). Another +project implementing a website to visualise the data is +[available here](https://github.com/amrij/zonnepanelen). + +**Please note:** This project _does not work_ with recent SolarEdge inverter +models with SetApp. You can only use se-logger with inverter models that have +a built-in display. The more recent inverters can be monitored using +[solaredge-local](https://github.com/drobtravels/solaredge-local). + =============================================================================== INSTALLATION INSTRUCTIONS @@ -14,6 +29,7 @@ commands used. Tested with Ubuntu 16.04, Python 2.7.11, MySQL 5.7.12, PHP 7.0. php-curl python-mysqldb python-crypto + tcpdump 2. Set up the database tables using the SQL statements in 'database.txt'. @@ -36,11 +52,11 @@ commands used. Tested with Ubuntu 16.04, Python 2.7.11, MySQL 5.7.12, PHP 7.0. 5. Copy the config-sample.py file to config.py and use a text editor to update your database username and password as well as the encryption key of your - inverter If your inverter is newly installed and the solaredge-logger will - be running from the first day it is connected to the internet, you may not - need an encryption key the first day - just leave it at the default value - for now. You'll know that it started encrypting the data when the data - stops updating. Refer to #11 when that happens. + inverter. If your inverter is newly installed and the solaredge-logger + will be running from the first day it is connected to the internet, you may + not need an encryption key the first day - just leave it at the default + value for now. You'll know that it started encrypting the data when the + data stops updating. Refer to #11 when that happens. 6. Open 'pvo-upload.php' in a text editor and enter your database username and password as well as the PVOutput API key and System ID in the SETTINGS area @@ -86,6 +102,10 @@ commands used. Tested with Ubuntu 16.04, Python 2.7.11, MySQL 5.7.12, PHP 7.0. =============================================================================== CHANGELOG +v0.0.14 + - Moved settings out of liveupdate.py to a separate file (thanks @mirakels). + - Added support for more single-phase inverter firmware versions. + v0.0.13 - Fixed detection of VLAN-tagged Ethernet frames. diff --git a/opt/se-logger/liveupdate.py b/opt/se-logger/liveupdate.py index cd0f6ff..b633205 100644 --- a/opt/se-logger/liveupdate.py +++ b/opt/se-logger/liveupdate.py @@ -24,7 +24,7 @@ from collections import namedtuple from config import db_user, db_pass, db_name, db_host, db_port, inverter_private_key -__version__ = "0.0.13" +__version__ = "0.0.14" ############################################################################################# @@ -429,7 +429,7 @@ def parse0500(data): 'e_day': bytes[6] | (bytes[7] << 8), 'temperature': (bytes[8] | ~0xFF) if bytes[8] & 0x80 else bytes[8] } - elif type == 0x0010 and length in (124, 174, 180): # 1ph inverter + elif type == 0x0010 and length in (124, 174, 180, 186): # 1ph inverter inv = SEDataInverter1.parse(data, pos + 12) yield { 'inv_id': id & ~0x00800000,