solar_edge/README.md

2.6 KiB

Solar Edge Status Updater

When placed in a cron job this uppdater will make an https call to a json api to retrieve the co2 savings and equivenant trees planted and overlay those numbers on a graphic and upload them to the website.

Dependancies

Python 3 and contents of requirements.txt.

The font Biko_Regular.otf.

A .png graphic to write text on.

The package direnv and the follwing changes to the user account:

If ssh_host is blank will copy file locally instead of scping file to sever. To scp valid sshkeys are required.

Bulid Instructions

If want to run this by executing the code in the python venv envrionment, there is no need to make any changes after modifying the .env file.

assumes installed to ~/python/solar_edge

cd ~/python
git clone http://git.elder-geek.net/fredw/solar_edge.git
cd solar_edge
cp env.sample .env
direnv allow
pip install -r requirements.txt

edit .env and update accordingly

add to user crontab to update site every 5 minutes

*/5   *     *   *  *    cd ~/python/solar_edge && direnv exec . python solar_edge.py > /dev/null 2>&1

Create pyinstaller

Anytime you make a change to the .env file you will need to create and install a new copy if want to run this as a stand alone exceutable.

pyinstaller --onefile solar_edge.spec
cp dist/solar_edge ~/bin # user must have bin folder

add to user crontab to update site every 5 minutes

*/5   *     *   *  *    ~/bin/solar_edge > /dev/null 2>&1

Sample .env if installed on the server

SSH_HOST=
SSH_PORT=
SSH_USER=
SSH_FOLDER=/var/www/wordpress
URL1=https://monitoringapi.solaredge.com/site/55555/envBenefits?systemUnits=Imperial&api_key=
INFILE=environmental_benefits_blank.png
OUTFILE=solar.png
FONT_FACE=Biko_Regular.otf
LINE1=81
LINE2=157
MARGIN=91
COLOR=#298246

Sample .env file for scp

SSH_HOST=myserver.com
SSH_PORT=22
SSH_USER=www-data
SSH_FOLDER=/var/www/wordpress
URL1=https://monitoringapi.solaredge.com/site/55555/envBenefits?systemUnits=Imperial&api_key=
INFILE=environmental_benefits_blank.png
OUTFILE=solar.png
FONT_FACE=Biko_Regular.otf
LINE1=81
LINE2=157
MARGIN=91
COLOR=#298246

Combining Mulitple Sites

Each site will need it's own URL. These should be numbed from one, in sequence in the .env file. IE URL1, URL2, URL3...

Backgrounds

There are multilpe backgrounds to choose from. They can be selected by changing the INFILE value. You can make more and add them in the datas section of solar_edge.spec.