Overige software > Overige software
nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
michiel_pv:
Dag,
Vorige week zonnepanelen geïnstalleerd met een Hosola omvormer (inverter). Deze heeft een eigen wifi en maakt gebruik van een eigen website om de opbrengst live te monitoren. Maar aangezien ik betere vergelijkingen wilde maken (met andere gebruikers hier in de buurt) kwam ik uit op de website http://pvoutput.org waar je dat beter kan doen.
Alleen, ik kon niet een eenvoudige manier vinden om dat uploaden van de data logging vanuit een Hosola (en vergelijkbare Omnik) simpel geautomatiseerd uit te voeren. Kwam wel een paar github tools tegen in php en python maar niet direct de koppeling van een synology nas. Dus hieronder een kort stappenplan om dit zo simpel mogelijk voor elkaar te krijgen zodat je nas 24/7 de data overzet naar pvoutput:
1. Zorg dat de zon schijnt, anders doet de inverter het niet. Zorg ervoor dat je Hosola of Omnik inverter webdata lokaal benaderbaar is via je webbrowser (in mijn geval via http://192.168.0.29/js/status.js) Wellicht moet je een vast ip adres voor de inverter instellen als deze niet constant is.
2. Zorg voor een account op pvoutput.org. Zorg ervoor dat je een api key hebt (kan je gratis genereren in je pvoutput account settings). Enable api gebruik. Zorg dat je je eigen pvoutput system id (sid) hebt genoteerd.
3. ga in de Synology nas naar de Taakplanner. Maak een nieuwe user defined taak aan, bv met de naam 'update live data to pvoutput'. In de planning instellen zodat de taak elke 5 minuten wordt uitgevoerd. Vul dan het uit te voeren script in, zie volgende punt.
4. ik gebruik de volgende code om de data van de inverter op te halen en naar de pvoutput site te sturen (vul zelf de juiste user/pass in voor de inverter, en het goede lokale ip-adres en de juiste sid en key van de pvoutput site:
--- Code: ---today=`date '+%Y%m%d'`
minute=`date '+%H:%M'`
# Zet output op de temp directory
cd /tmp
mkdir pvoutput
cd pvoutput
# get most recent webdata from Hosola / Omnik inverter
content=$(wget --user JOUWINVERTERUSERNAAM --password JOUWINVERTERPASSWORD http://192.168.0.29/js/status.js -q -O - | sed -e 's/;/\n/g' | grep -e "^var" | grep -i webdata | sed -e 's/var webData=/,/g' | sed -e 's/"//g')
# get current power value, put all available values in array
set -- "$content"
IFS=","; declare -a Array=($*)
# post power value to pvoutput site, please change with correct sid and key from pvoutput.org account
postdatastring="sid=460549&key=915b9e4a930c2a1ba47aef26977c777d3f8822e&v2=${Array[6]}&t=$minute&d=$today"
wget http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring
# wis alles weer
cd ..
rm -rf pvoutput
--- Einde van code ---
Als het goed is wordt op je pvoutput account nu elke 5 minuten een opbrengst datapunt toegevoegd.
[24-03-2020 Mod edit: Het script zoals oorspronkelijk gepubliceerd laat de nas vastlopen na een paar jaar gebruik omdat de systeempartitie volgeschreven wordt. Ik heb nu twee stukjes code toegevoegd (Dat met Nederlandstalige comment) om dit probleem te voorlomen. Lees echter heel dit topic door voordat je het script gebruikt, want verderop staan nog veel meer zinvolle uitbreidingen van het script.]
goldenwonder:
Ik volg dit even. Hier ook zonnepanelen met micro converters, dus ieder paneel uitleesbaar. Data loopt via de Enphase servers. Als ik tijd heb, ga ik eens neuzen
mishendr:
Beste Michiel_PV,
Dank voor je uitleg, ik ga zeker mijn net geïnstalleerde PV systeem hiermee proberen uit te lezen/uploaden!
Echter, het is mij niet geheel duidelijk welk deel van het script vervangen moet worden door mijn eigen key. Zou je dat nog iets duidelijker kunnen maken? Super, dank!
Mvgr, mishendr
Ben(V):
Wat dacht je van in deze regel:
--- Citaat ---postdatastring="sid=460549&key=915b9e4a930c2a1ba47aef26977c777d3f8822e&v2=${Array[6]}&t=$minute&d=$today"
--- Einde van citaat ---
De key zit tussen:
--- Citaat ---&key=
--- Einde van citaat ---
en
--- Citaat ---&v2=
--- Einde van citaat ---
mishendr:
Bedankt voor je snelle reactie! Ik had namelijk ook dat deeltje met &v2 ermee vervangen, ik ga kijken of het dan wel werkt....
EDIT: Helaas, wil nog niet werken. Ik heb een Hosola 2200TL, uitlezen met de SolarMan website/App is geen probleem. Moet er op de DSM nog een pakket geïnstalleerd worden (PHP o.i.d.)?
Navigatie
[0] Berichtenindex
[#] Volgende pagina
Naar de volledige versie