.envrc | ||
.gitignore | ||
Biko_Regular.otf | ||
env.sample | ||
environmental_benefits_black.png | ||
environmental_benefits_blank.png | ||
environmental_benefits_grey.png | ||
environmental_benefits_greyb.png | ||
environmental_benefits_greyw.png | ||
environmental_benefits_white.png | ||
LICENSE.md | ||
README.md | ||
requirements.txt | ||
solar_edeg_logo_normal.png | ||
solar_edge_grey1.png | ||
solar_edge_grey2.png | ||
solar_edge_logo_trans.png | ||
solar_edge.py | ||
solar_edge.spec |
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:
- bash.rc (https://github.com/direnv/direnv/wiki/Python#bash)
- venv (https://github.com/direnv/direnv/wiki/Python#venv-stdlib-module)
If ssh_host
is blank will copy file locally instead of scping file to sever. To scp valid sshkeys are required.
Bulid Instructions
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
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
.