# 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 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```.