Skip to content
This repository was archived by the owner on May 22, 2023. It is now read-only.
sanderkob edited this page May 8, 2023 · 1 revision

gw2pvo - new version v2

This fork is a development to combine solar generation data with consumption data. Also generation details for two strings are uploaded (extended data). An MQTT client may be used to upoad extra information (e.g. panel temperature).

The programme is backwards compatible, if no smart meter interface is present, only generation data are uploaded.

In this fork, features have been added, other features have been removed and code has been updated.

  • features added

    • import consumption data from smart meter
      (interface supplied is for a Beeclear device)
    • calculate net consumption (energy and power)
    • upload power consumption and outside temperature,
      also when the inverter is offline
      (and parameter --skip-offline= no in the configuration file)
    • upload pv data between dawn and dusk, depending on location
    • improved handling of location (add city)
    • upload received MQTT data to PVOutput (extended data)
      if enabled by specifying mqtt broker an d- topic in the configuration file
    • upload voltage and power from two panel strings to PVOutput (extended data)
  • features removed

    • Netatmo
    • Darksky
    • outside temperature upload. It is derived instead from OpenWeatherMap through automatic upload (PVOutput feature)
  • code updates

    • removed average.py and its references
    • removed DarkSky and Neatmo temperature references
    • extended logging
    • made use of f-strings in logging
    • added proper boolean checks on values from the configuration file
    • heavily commented, also in the configuration file

Versions

  • 2.0.0-a1 initial modification
  • 2.0.0-a2 first cycle of testing

Setting up as server on Raspberry Pi

Create (or edit) the file /etc/systemd/system/gw2pvo.service

[Unit] 
Description=gw2pvo python script 
After=multi-user.target

[Service]
Type=idle
User=pi
ExecStart=/usr/bin/python3 -u /home/pi/python/gw2pvo/__main__.py --config /home/pi/python/gw2pvo/gw2pvo.cfg  
StandardOutput=append:/home/pi/gw2pvoOutput.log
StandardError=append:/home/pi/gw2pvoError.log
Restart=always
RestartSec=60

[Install]
WantedBy=multi-user.target

To start (activate) the service, run:

sudo chmod 644 /etc/systemd/system/gw2pvo.service
sudo systemctl daemon-reload
sudo systemctl enable gw2pvo.service
sudo systemctl start gw2pvo.service

Then reboot and check with

sudo systemctl status gw2pvo
sudo journalctl -u gw2pvo -f
Clone this wiki locally