Git Product home page Git Product logo

gw2pvo-docker's Introduction

gw2pvo-docker

GoodWe to PVOutput Docker Container

This Docker Container runs the gw2pvo tool by Mark Ruys

Usage

docker create \
	--name gw2pvo \
	-e GW_STATION_ID=<goodwe_system_id> \
	-e PVO_SYSTEM_ID=<pvoutput_system_id> \
	-e PVO_API_KEY=<pvoutput_api_key> \ 
	energy164/gw2pvo

Parameters

  • -e KEY="value" These are environment variables which configure the container. See below for a description of their meanings.

The following are the required parameters:

  • GW_STATION_ID Set the GoodWe Station ID.
  • PVO_SYSTEM_ID Set the PVOutput System ID.
  • PVO_API_KEY Set the PVOutput API Key.

These parameters are optional:

  • LOG Set the log level. Defaults to info. Allowed values are debug, info, warning, critical.
  • GW_REGION Set the region to use to query data from GoodWe. Defaults to global. Allowed values are global, AU, EU.
  • PVO_INTERVAL Set the interval to send data to PVOutput. Defaults to 15. Allowed values are 5, 10, 15.
  • CITY Skip uploads from dusk till dawn based on this City. Defaults to: Amsterdam. The complete list can be found here: https://astral.readthedocs.io/en/stable/index.html
  • TZ Set the timezone inside the container. Defaults to: Europe/Amsterdam. The complete list can be found here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

gw2pvo-docker's People

Contributors

energy164 avatar yorickarens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gw2pvo-docker's Issues

Max retries exceeded - SSL: CERTIFICATE_VERIFY_FAILED

Since this afternoon, getting the data from the SEMS portal fails, the log shows the following:

WARNING  HTTPSConnectionPool(host='globalapi.sems.com.cn', port=443): Max retries exceeded with url: /api/v1/PowerStation/GetMonitorDetailByPowerstationId (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),))

I am using the docker container with an interval of 15 minutes.

Any idea what might cause this?

Optional --darksky-api-key

When I don't specify the DARKSKY_API_KEY environment variable I'm getting an error:

gw2pvo: error: argument --darksky-api-key: expected one argument

That should be optional right?

Goodwe API now uses v2 only

since the end of november the docker container is reporting errors, this is because Goodwe API now only uses the v2 api.
The containter is repoorting:
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
ERROR Failed to call GoodWe API
ERROR 'inverter'
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
ERROR Failed to call GoodWe API
ERROR 'inverter'
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
ERROR Failed to call GoodWe API
ERROR 'inverter'
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
ERROR Failed to call GoodWe API
ERROR 'inverter'
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
ERROR Failed to call GoodWe API
ERROR 'inverter'
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
WARNING 403 Client Error: Forbidden for url: https://semsportal.com/api/v1/PowerStation/GetMonitorDetailByPowerstationId
ERROR Failed to call GoodWe API
ERROR 'inverter'
`

There also an issue in the original gw2pvo, but that one isn't maintained anymore: markruys/gw2pvo#69
Is there any possibility that you can update this one with the new URL, the docker always worked perfectly for me.

In live display “Energy Generated” starts at certain level and not 0

The plot of Energy Generated starts the day with a certain value.
Plot gives a stable horizontal line until the production of the solar system reaches the moment that production is greater the the starting value. From there plot is OK.

It seems the energy value sent is incorrect.

The script can be updated to send v1=-1 and PVOutput will calculate the energy from power v2.

Update readme as GW_ACCOUNT and GW_PASSWORD are required parameters, but not mentioned as so

When running the container as instructed on the readme of this repository or by following the instructions on the Docker Hub page, it get the following error:

gw2pvo: error: argument --gw-account: expected one argument
usage: gw2pvo [-h] --gw-station-id ID --gw-account ACCOUNT --gw-password
              PASSWORD --pvo-system-id ID --pvo-api-key KEY
              [--pvo-interval {5,10,15}] [--darksky-api-key DARKSKY_API_KEY]
              [--log {debug,info,warning,critical}] [--date YYYY-MM-DD]
              [--pv-voltage] [--skip-offline] [--city CITY] [--csv CSV]
              [--version]

It was fixed after filling in the variables GW_ACCOUNT and GW_PASSWORD but the readme doesn't mention this.
Could you please update the information here & on the Docker Hub page?

Update to newer release

A newer release is out, could you please update the container? https://github.com/markruys/gw2pvo/releases

Edit: i just made my own image by combining the Dockerfile from gw2pvo and this repository:

FROM python:3.9-slim

RUN pip install gw2pvo

ENV GW_STATION_ID="" \
    GW_ACCOUNT="" \
    GW_PASSWORD="" \
    PVO_SYSTEM_ID="" \
    PVO_API_KEY="" \
    PVO_INTERVAL="15" \
    DARKSKY_API_KEY="" \
    LOG="info" \
    CITY="Amsterdam" \
    TZ="Europe/Amsterdam"

ENTRYPOINT exec gw2pvo \
    --gw-station-id ${GW_STATION_ID} \
    --gw-account ${GW_ACCOUNT} \
    --gw-password ${GW_PASSWORD} \
    --pvo-system-id ${PVO_SYSTEM_ID} \
    --pvo-api-key ${PVO_API_KEY} \
    --pvo-interval ${PVO_INTERVAL} \
    --darksky-api-key ${DARKSKY_API_KEY} \
    --log ${LOG} \
    --city ${CITY} \
    --skip-offline

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.