Synology-Forum.nl

Overige software => Overige software => Topic gestart door: michiel_pv op 23 mei 2016, 21:16:09

Titel: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: michiel_pv op 23 mei 2016, 21:16:09
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:

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


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.]
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: goldenwonder op 24 mei 2016, 17:47:32
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
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: mishendr op 07 juni 2016, 09:35:36
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
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Ben(V) op 07 juni 2016, 12:22:58
Wat dacht je van in deze regel:
Citaat
postdatastring="sid=460549&key=915b9e4a930c2a1ba47aef26977c777d3f8822e&v2=${Array[6]}&t=$minute&d=$today"
De key zit tussen:
Citaat
&key=
en
Citaat
&v2=
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: mishendr op 07 juni 2016, 12:36:32
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.)?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Stephan296 op 07 juni 2016, 23:44:20
Geef eens wat meer info.
Krijg je een error of gebeurd er niets.....
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: michiel_pv op 09 juni 2016, 01:57:10
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.)?

Hoi, nee, je hebt geen extra pakketten nodig om dit simpele script op je nas te installeren. Als het niet werkt.. tijd voor een analyse.
1.  zie je informatie van je inverter als je via je browser de lokale ip intypt? Dus iets als  http://192.168.0.XX/js/status.js ? zonee, dan gaat er hier al iets niet goed, zoek de juiste ip op
2. heb je bovenstaande ip en bijhorende usernaam en password ook goed in het script opgenomen? zonee, dan valt er niets op te halen aan data vanaf je inverter
3. heb je de key in het script op de goede plaats vervangen door je eigen pvoutput key? (en de v2 parameter code verder intact gelaten)
4. heb je je eigen pvoutput system id (sid) op de goede plaats in het script vervangen door je eigen sid? [let wel op, sid is wat anders dan id op pvoutput]
5. heb je het script als test ook even handmatig gerund vanaf de nas om te kijken of het werkt (dus nog zonder de 5-minuten task scheduling), je moet dan 1 regel aan data ontvangen op je pvoutput site

ik heb ook een Hosola 2200TL en een simpele Synology NAS dus het moet echt werken.

Michiel
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: mishendr op 09 juni 2016, 10:13:19
Dag Michiel_PV,

1 - IP is correct, kan ook gewoon via IP inloggen. Ook via die regel is er info zichtbaar (een weppage met allerlei rare tekens, maar die komt inderdaad van de inverter.
2 - PW, username en IP staan er goed in. Ik neem aan dat je "user" en "password" wel gewoon laat staan? Dus er staan dan "--user sjakie" etc?
3 - de key is gekopieerd en geplakt vanaf de PVoutput site op de plek zoals aangegeven.
4 - ik heb de System ID vanaf mijn PVoutput Settings pagina genomen, bij Registered Systems. Klopt dat? Bij mij 5 cijfers.
5 - inderdaad ook paar keer geprobeerd met "uitvoeren" op de DSM taakplanner. Helaas niks.

Dacht even dat het kwam omdat ik op de iPad het script had gekopieerd, maar nu achter de desktop opnieuw gedaan, weer niks...

Dank voor het meedenken!
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: michiel_pv op 09 juni 2016, 10:30:00
Lukt het wel om vanuit een browser foutloos een regel data toe te voegen in je pvoutput account?  Dus plak dit eens in je browser (zelf de XXX en YYYY vervangen)

Test even of je sid id wel goed is:

http://pvoutput.org/display.jsp?sid=XXXXX


indien correct, voeg een regel data toe (1200 kw om 10:20 op 20160609 ):

http://pvoutput.org/service/r2/addstatus.jsp?sid=XXXXX&key=YYYYYYYYYYYYYYYYYYYYYYYYYYY&v2=1200&t=10:20&d=20160609

zit hier de fout? of gaat dat goed.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: mishendr op 10 juni 2016, 22:24:26
Hoi Michiel_PV,

Sorry voor de late reactie, moest even mijn aandacht van mijn PV systeem afwenden...

Beide werken, zowel de SID, als de toevoeging. Dus de comm is goed denk ik.

Is er speciale manier om het script te kopiëren...? Krijg een beetje het idee dat dat niet helemaal goed overkomt?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Ben(V) op 11 juni 2016, 09:32:31
Heb je soms de firewall van je NAS aanstaan?
Zo ja zorg er dan voor dat data van die converter doorgelaten wordt.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: mishendr op 11 juni 2016, 09:56:28
Heb inderdaad de firewall aanstaan, heb voor de zekerheid alles open gezet van mijn interne LAN (192.168.x.1 tm 192.168.x.255), maar nog geen actie helaas...

PS: ik zie dat jullie nieuwere Syno's hebben, mijn DS410 kan geen DSM 6 draaien, ik zit op DSM 5.2. Zou dat nog iets kunnen betekenen?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Ben(V) op 11 juni 2016, 10:13:24
Ik heb geen verstand van dat script, maar probeer gewoon even mee te denken.

Als je nu eens op de commandline van je Nas (met putty) even een stukje van dat script met de hand uitvoert?
Dan kun je zien of je vanaf je NAS data van die converter binnen kunt halen.
Dus:
Citaat
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'

En als dat niet werkt nog iets simpeler maken zoals:
Citaat

wget --user JOUWINVERTERUSERNAAM --password JOUWINVERTERPASSWORD http://192.168.0.29/js/status.js
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: mishendr op 12 juni 2016, 12:24:08
Oei, ik denk dat ik dat niet weet hoe te doen... Ben al aan het googlen geslagen, ik moet dus vanaf mijn Mac (geen Putty dus...) een telnet connectie opzetten naar mijn Syno. Zal eens kijken of mij dat lukt...
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Birdy op 12 juni 2016, 12:53:26
Citaat
ik moet dus vanaf mijn Mac (geen Putty dus...)
Hier even kijken (http://www.synology-forum.nl/algemeen/nas-benaderen-met-ssh-winscp-putty/), staan ook oplossingen in voor MAC.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: mishendr op 12 juni 2016, 13:31:47
De link is leeg...?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Birdy op 12 juni 2016, 15:30:13
Nu niet meer 8)
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: michiel_pv op 12 juni 2016, 16:30:59

Is er speciale manier om het script te kopiëren...? Krijg een beetje het idee dat dat niet helemaal goed overkomt?

Hoe kopieer je het script? Dacht dat je het niet zomaar kan/mag kopiëren vanuit windows (en de browser) vanwege end-of-line characters die niet in linux gewenst zijn. (Maar ben daar helaas ook geen expert in, script in de nas ontwikkeld)

Je kan de tip hierboven om even stap voor stap een regel code testen ook zonder putty doen.Door een test-taak in de Nas aanmaken en daar de de regels INTYPEN (en niet kopieren vanuit windows).  Dus uitgaande van het script extra regel toevoegen b.v. na het ophalen van de content. Het resultaat schrijf ik lokaal weg in de map 'cron' (zelf map aanmaken of mapnaam kiezen) :

$content =   ...................zie hierboven.......

echo $minute$content  >> "/volume1/cron/pv_datalogging_$today.txt"


En dan taak eenmalig uitvoeren en zien of er iets is weggeschreven.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Birdy op 12 juni 2016, 17:51:06
Met WinSCP, maar dan 1 van de alternatieven voor MAC (zie mijn eerder link), gaat het prima hoor.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: mishendr op 16 juni 2016, 17:20:20
Ik denk dat mij dit niet gaat lukken...

Heb het script wel helemaal handmatig ingetikt, maar nog steeds niks. De andere methodes gaat nu niet lukken, gewoonweg te weinig tijd om het uit te zoeken hoe dat te doen. Misschien dat ik het nog eens ga oppakken.

Toch bedankt!
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Chris12 op 03 december 2016, 17:31:04
Bedankt voor het script, werkt perfect op mijn DS415+ NAS (met laatste DSM 6.x versie) en Hosola 3680MTL omvormer.

Nu heb ik zelf niet veel kaas gegeten van scripts, maar is het mogelijk om het script uit te breiden met bv temperatuur?
Of een uitbreiding dat ik elke string van de omvormer apart zie?
(deze staan ook in de pvoutput kolommen erbij).
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: michiel_pv op 03 december 2016, 19:42:47
Tsja, de (buiten)temperatuur wordt door mijn omvormer niet gemeten cq getoond. Maar omdat ik deze inderdaad wel wilde hebben en tonen in pvoutput gebruik ik een nabijgelegen weerstation uit wunderground.com (zelf een nabijgelegen station zoeken!) die regelmatig goede temperatuurmetingen publiceerd. In het voorbeeld hieronder haal ik de temperatuur uit het personal weerstation met id IBERGSCH5



today=`date '+%Y%m%d'`
minute=`date '+%H:%M'`
content=$(wget --user XXXXXXXXXX --password XXXXXXXXXXX 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')

set -- "$content"
IFS=","; declare -a Array=($*)
echo "${Array[0]}"
echo "${Array[1]}"


temperature=$(wget https://www.wunderground.com/personal-weather-station/dashboard?ID=IBERGSCH5 -q -O - | sed ':a;N;$!ba;s/\n//g' | sed -e 's/\t//g' | sed -e 's/<span class="wx-value">/@/g' | sed -e 's/<\/span><span class="wx-unit">/@/g')

set -- "$temperature"
IFS="@"; declare -a Temparray=($*)
#loggen naar lokale file? uncomment volgende regel
#echo $minute ${Temparray[1]}  >> "/volume1/cron/bleiswijk_temperature_datalog_$today.txt"

postdatastring="sid=YYYY&key=XYZZZZZZZZZZZ&v2=${Array[6]}&v5=${Temparray[1]}&t=$minute&d=$today"

wget --output-file /volume1/cron/postlogfile.log http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Chris12 op 03 december 2016, 20:29:10
Thanks, ik ga ook eens even puzzelen met een lokaal weerstation van wunderground!

edit:
Ok, ik heb het script aangepast naar de voor mij relevante waarden (SID/APIkey/etc.) en voorzien van het dichtstbijzijnde station wat ik kon vinden. Morgen maar eens kijken of het werkt :-)

Ik heb je gehele script overgenomen behalve de onderste regel, het eerste deel...daar ik niks lokaal bewaar.
Of moet deze erin blijven voor de juiste werking?

In ieder geval bedankt voor het delen!
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Chris12 op 04 december 2016, 12:24:32
Hmzzz... ik zie nog niet de temperature kolom gevuld worden met waarden, dit is toch wat er gevuld zou moeten worden?

edit:
gevonden waar het aan lag... in de post datastring zat nog wat niet OK. Nu werkt het!
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Chris12 op 04 december 2016, 12:39:05
Volgende vraag nu de Temperature output/input ook werkt in pvoutput, hoe kan ik de Voltage waarden ook vullen? (dit zijn denk ik de waarden die ook beschikbaar zijn, daar de Hosola omvormer deze op het display toont)

In een ander script:
https://github.com/Mattie112/hosola-data-logger

Kan ik zie dat er een groot aantal parameters zijn op te vragen (hosola-data.sql), zijn deze ook op één of andere manier om te bouwen naar dit huidige script?

Ik ben er nog niet achter of ik dat andere script ook op een zelfde wijze als dit huidige script kan gebruiken op de Synology Nas.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Kees1973 op 26 januari 2017, 16:48:21
Aller eerst super dank voor de tips, ik ben gewoon aan het programmeren geslagen door dit topic....

Ik heb de test regel bij pv output kunnen aanmaken, en de temperatuur komt ook in het logfile terecht.
Echter als ik de regel in de taakplanner run, automatisch 5 of 10 min, of handmatig, komt er op pvoutput geen extra (live)regel bij.

In het logfile op de Nas lees ik als log-regels "resolving" , " connected" en "awaiting response" en dan komt ie : "400 bad request"

Ik zie de temperatuur in regel die gezonden wordt achter de apikey, maar niet de 517 (watt) Enig idee waar ik het nu moet zoeken?

Ik ben geen programmeur maar volgens mij zet je deze onderstaande info string om in onderliggende regels en dan kies je regel 6 met dan de "517" uit om te pakken voor pvoutput upload.

Op de omnik http://"jevasteomnikIP"/js/status.js zie ik onder andere deze live regel:

webData="Xxxxxxxxxx,NL2-V9.5-5914,V5.2-30138,omnik4000tl2,4000,517,1110,1271,,0,";function initPageText(){var

Groet,

 
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Chris12 op 27 januari 2017, 09:46:39
Staat je omvormer nog wel aan op dat moment? Mijn Hosola schakelt zich automatisch uit als er te weinig opbrengst is, wellicht dat de Omnik hetzelfde doet?

Post anders even het gehele script (zonder je persoonlijke password etc).
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Kees1973 op 27 januari 2017, 11:23:01
De omvormer staat aan.
Het bleek te liggen aan het bij ontbrekende " js/status.js


De temperatuur en het type weer, heb ik via de aangemaakte account bij wundergroundweather en wundergrount api, welke ik dan in pvoutput profiel heb gezet. Dus het loggen van het weer loopt buiten het script om.

Nu ben ik vanavond benieuwd of dit script naast live data, ook er voor zorgt dat, de piek en dagopbrengst wordt getotaliseerd door pvoutput, of dat dit nog in een regel met &v1=${array[6]} moet worden toegevoegd.

Any way : het werkt!  met mijn omnik en synology nas, er komt per 5 minuten live data binnen bij pvoutput.org met onderstaande taak/script:

today=`date '+%Y%m%d'`
minute=`date '+%H:%M'`

# get most recent webdata from Hosola / Omnik inverter
content=$(wget --user USERNAME --password PASSWORD http://192.168.2.xx/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=xxxxx&key=xxxxxxxxxxxxxxxx&v2=${Array[6]}&t=$minute&d=$today"

wget http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Genesis op 10 februari 2017, 20:33:06
Hallo, dank voor het script :)

Ik heb nog wel een paar ideeën om voor wat aanpassingen, nog geen idee hoe dit te realiseren maar wie weet leer ik er nog iets van.

Alle noodzakelijke invoerparameters zouden aan het begin van het script moeten staan b.v.:
# PV Inverter
PVUsername=
PVPassword=

# PVOutput.org
PVOUTPUTSID=
PVOUTPUTKey=

# Ophalen Data van Inverter

code

# Ophalen data van het weer

code

# aanmaken parameters voor output

code

# schrijven naar pvoutput.org

code

Ik heb zelf nog geen idee hoe dit netjes te structureren en wat dan de code moet worden, dus ik ben al heel blij met het script wat er al is.
Weather underground geeft overigens veel meer info dan alleen de temperatuur, ik vraag mij af of ook de parameter voor de weer condities uitgelezen kan worden, en deze vervolgens verwerkt in de upload naar pvoutput.org.

Waar ik nog wel tegenaanliep is dat het script in de taakplanner moet worden uitgevoerd als root, een andere user zelfs al is deze admin werkt bij mij niet. Dit moet ik nog verder uitzoeken.

Groet,
Genesis

Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 14 april 2017, 12:21:33
Vanaf september 2016 ben ik in het bezit van een PV installatie met 2 Omnik omvormers en kijk bijna elke dag wel op de portal. Ik had PV output al een tijdje in het oog maar begreep dat je altijd handmatig de gegevens diende toe te voegen.

Door wat gezoek via Google er zojuist achter gekomen dat ik hiervoor mijn NAS kan gebruiken, perfect en dank hiervoor!

Ik heb het nog niet geprobeerd en ga dat vandaag doen, eens kijken of ik er uit ga komen....

Topic gelijk even gebookmarked  :P

Edit1:
Even wat opstartproblemen, maar volgens mij werkt het nu en zie ik iets verschijnen in PVoutput

Waar ik nog wel tegenaanliep is dat het script in de taakplanner moet worden uitgevoerd als root, een andere user zelfs al is deze admin werkt bij mij niet. Dit moet ik nog verder uitzoeken.
Same here, kreeg telkens een Permission denied melding via de log en dat verdween wanneer ik als gebruiker root aangaf.

Misschien dat iemand mij verder kan helpen met mijn specifieke situatie, ik heb namelijk 2 Omnik omvormers en hoe kan ik die beiden in het script plaatsen?

Edit2:
Volgens mij is dit ook gelukt door een extra regel toe te voegen aan het script:

today=`date '+%Y%m%d'`
minute=`date '+%H:%M'`

# get most recent webdata from Hosola / Omnik inverter 1
content=$(wget --user USERNAME --password PASSWORD http://192.168.1.xx/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 most recent webdata from Hosola / Omnik inverter 2
content=$(wget --user USERNAME --password PASSWORD http://192.168.1.xx/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 temperature to pvoutput site, please change with correct ID from wunderground
temperature=$(wget https://www.wunderground.com/personal-weather-station/dashboard?ID=IBARENDR5 -q -O - | sed ':a;N;$!ba;s/\n//g' | sed -e 's/\t//g' | sed -e 's/<span class="wx-value">/@/g' | sed -e 's/<\/span><span class="wx-unit">/@/g')

set -- "$temperature"
IFS="@"; declare -a Temparray=($*)

# post power value to pvoutput site, please change with correct sid and key from pvoutput.org account
postdatastring="sid=xxxxx&key=xxxxxxxxxxxxxxxx&v2=${Array[6]}&t=$minute&d=$today"

wget http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring

Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 15 april 2017, 16:30:39
Volgende vraag nu de Temperature output/input ook werkt in pvoutput, hoe kan ik de Voltage waarden ook vullen? (dit zijn denk ik de waarden die ook beschikbaar zijn, daar de Hosola omvormer deze op het display toont)

In een ander script:
https://github.com/Mattie112/hosola-data-logger

Kan ik zie dat er een groot aantal parameters zijn op te vragen (hosola-data.sql), zijn deze ook op één of andere manier om te bouwen naar dit huidige script?

Ik ben er nog niet achter of ik dat andere script ook op een zelfde wijze als dit huidige script kan gebruiken op de Synology Nas.
Ben jij er al achter of je de andere parameters ook in PVpoutput kunt krijgen middels dit script?

Ik krijg nu wel data, maar ik zie (nog) geen temperatuur in mijn PVoutput. Zou jij je script eens kunnen posten?

Die van mij staat hierboven: https://www.synology-forum.nl/overige-software/nas-synology-taak-om-zonnepanelen-opbrengst-naar-pvoutput-te-uploaden/msg220447/#msg220447
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: michiel_pv op 15 april 2017, 16:56:23

Edit2:
Volgens mij is dit ook gelukt door een extra regel toe te voegen aan het script:

today=`date '+%Y%m%d'`
minute=`date '+%H:%M'`

# get most recent webdata from Hosola / Omnik inverter 1
content=$(wget --user USERNAME --password PASSWORD http://192.168.1.xx/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 most recent webdata from Hosola / Omnik inverter 2
content=$(wget --user USERNAME --password PASSWORD http://192.168.1.xx/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=($*)


wet je zeker dat dit doet wat je wil? script leest eerst inverter 1 en slaat data op in variabele 'content' . Dan wordt van inverter 2 data in gelezen onder dezelfde naam. Kortom, volgens mij lees je alleen inverter 2 data in.

Je zou bv de variabel namen kunnen aanpassen in content1 en content2 en dan elk apart verwerken in Array1 en Array2. Maar dan nog weet ik niet of je dat in 1 upload naar pvoutput kunnen sturen.

Zelf zou ik aparte (vrijwel identieke) taken maken voor de 2 inverters.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: michiel_pv op 15 april 2017, 17:04:27


# post temperature to pvoutput site, please change with correct ID from wunderground
temperature=$(wget https://www.wunderground.com/personal-weather-station/dashboard?ID=IBARENDR5 -q -O - | sed ':a;N;$!ba;s/\n//g' | sed -e 's/\t//g' | sed -e 's/<span class="wx-value">/@/g' | sed -e 's/<\/span><span class="wx-unit">/@/g')

set -- "$temperature"
IFS="@"; declare -a Temparray=($*)

# post power value to pvoutput site, please change with correct sid and key from pvoutput.org account
postdatastring="sid=xxxxx&key=xxxxxxxxxxxxxxxx&v2=${Array[6]}&t=$minute&d=$today"

wget http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring

In je code hierboven post je helemaal geen temperatuur data. De variabele temperature zal de data bevatten, en is opgehakt in stukjes door het bouwen van Temparray. Variable Temparray[1] bevat de gevonden temperatuur uit wunderground site, die dien je posten samen met de zonnepaneelopbrengst:

postdatastring="sid=YYYY&key=XYZZZZZZZZZZZ&v2=${Array[6]}&v5=${Temparray[1]}&t=$minute&d=$today"

succes!
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 15 april 2017, 17:09:15
Ik heb dus 0,0 verstand van het maken/aanpassen van een dergelijk script en ben spelenderwijs aan het uitvogelen of ik het aan de praat krijg. Misschien is het inderdaad beter om 2 taken aan de maken, eentje voor omvormer 1 en eentje voor omvormer 2. Ga ik gelijk even uitproberen.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 17 april 2017, 02:47:44
Omdat het in het script ietwat omslachtig was heb ik het maar met de API van WeatherUnderground in PVOutput gedaan, net zo makkelijk!

Het aanmaken van 2 taken om de data van 2 omvormers door te sturen werkte ook niet, en hij bleef maar 1 omvormer loggen. Uiteindelijk heb ik maar 3 systemen aangemaakt in PVoutput (1 x Parent, en 2 x Child). Op deze wijze heb ik de beide omvormers los van elkaar in PVoutput staan, en vormen ze samen één totaal die weergegeven wordt in de Parent.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: ringlord op 15 mei 2017, 22:29:21
Hallo, ik probeer dit script ook te implementeren.

Ik krijg echter deze fout :
line 6: syntax error: unexpected "("

dus op deze regel:
IFS=","; declare -a Array=($*)

enig idee wat er fout is?

BusyBox v1.16.1 (2016-04-26 17:12:35 CST) built-in shell (ash)
Linux DiskStation 2.6.32.12 #5967 Tue Apr 26 16:30:14 CST 2016 armv5tel GNU/Linux synology_88f6281_210j
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 15 mei 2017, 23:32:01
MOD: @NasiBal Niet onnodig citeren.

Probeer eens het script aan te houden in de openingspost. Die zou gewoon moeten werken met je eigen gegevens.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Encite op 26 mei 2017, 10:57:06
Tot op heden werkte het script van Michiel_Pv uitstekend, incl. de temperatuur.
Maar sinds 2 dagen krijg ik een temperatuur in pvoutput te zien van -1. Mijn vermogens kloppen nog wel gewoon.

Er zijn geen wijzigingen doorgevoerd in het script en ik ben het nogmaals nagelopen, maar alles is nog hetzelfde.
Ik heb een ander weerstation geprobeerd, maar dat maakt niets uit. Het weerstation via wunderground werkt wel gewoon.

Waar kan ik het log vinden van mijn uitvoer van het script in mijn synology?

Bedankt alvast!
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Encite op 26 mei 2017, 11:07:08
Ik heb mijn temperatuur laten loggen in een lokaal tekstbestand en dit is de output:

11:04 cc_on!

Titel: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 26 mei 2017, 11:47:17
@Encite

Is het gebruiken van de API van Wunderground in PVoutput geen optie? Je kunt dan gewoon het script gebruiken in de openingspost.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Encite op 28 mei 2017, 10:00:58
@NasiBal,

Ik heb gezocht, maar kon zo snel geen API vinden van Wunderground?

Wat ik voornamelijk niet begrijp is waarom het eerst wel gewoon werkte...en van de log gegevens wordt ik helaas niet zoveel wijzer.

Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Peterzon op 01 juni 2017, 10:59:47
Bij het zoeken naar een mogelijkheid om de data van mijn Hosola te loggen naar pvoutput kwam ik hier terecht. Omdat ik ook een Synology DS215J heb, heb ik het script in de Taakplanner ingevoerd. Helaas, het werkt niet. Althans, ik zie wel iets in pvoutput verschijnen maar geen data.

Ik zie in de taakplanner dat er keurig iedere 5 min een actie is maar als ik kijk bij Resultaat uitvoeren zie ik bij Script en Standaard uitvoerfout geen gegevens staan. Nu ben ik een leek wat scripts/nas betreft dus wellicht is dit goed maar ik denk van niet. Verder heb ik ook nog de firewall even uitgezet maar dat maakte niet uit.

Iemand die kan zeggen wat ik mogelijk fout doe of een hint kan geven.

Thnx,

Peter
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Peterzon op 17 juni 2017, 10:43:41
Inmiddels weer wat verder gekomen waarom het niet werkt. Volgens mij zit het probleem in de Hosola, die ik recent heb gekocht en die ook later werd geleverd omdat ze zaten te wachten op een nieuwe zending.

Uit een vergelijking van de js/status.js pagina met een andere/oudere Hosola en die van mij blijkt dat er verschillen zijn op die pagina, zo is "var webData" niet in de js/status.js pagina van mijn Hosola te vinden.

Iemand die hier ook al tegenaan is gelopen en dit heeft opgelost?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: bigfoot87 op 08 maart 2018, 16:14:39
Bedankt michiel_pv voor je script, het werkt super.

Ik ben zo vrij geweest er de temperatuur aan toe te voegen. Geen idee of dit de beste manier is maar het werkt wel. Verander de plaatsnaam naar je eigen woonplaats om updates te krijgen van het dichtstbijzijnd meetstation van het KNMI (update iedere 10 minuten).

today=`date '+%Y%m%d'`
minute=`date '+%H:%M'`

# get weatherdata from KNMI
temp=`curl -s http://weerlive.nl/api/json-10min.php?locatie=Amsterdam |    grep 'temp' | cut -d : -f 4 | cut -d , -f 1 | sed 's/"//g'`

# 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&v5=$temp"

wget http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: vandermark op 25 maart 2018, 17:13:17
Super bedankt voor dit script! Ik heb de Hosola via een reverse proxy op de NAS (met let'sencrypt certificaat) ook van buiten af bereikbaar gemaakt en dat werkt ook prima, het script leest keurig elke 5 minuten uit via https://solar.mijnserver.nl/js/status.js

Erg blij mee!
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 07 juni 2018, 16:16:48
Wie o wie kan mij helpen?

Ik heb een Growatt wifi die via de router prima contact maakt met server.growatt.com.

Ik wil graag de data van Growatt via mijn Synology nas laten gaan. Echter als ik mijn nas ip adres(192.168.x.xx) bij de Growatt Wifi invul (op de plek waar normaal server.growatt.com staat) dan blijft het growatt systeem disconnected.

Wat zie ik over het hoofd?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Ben(V) op 07 juni 2018, 17:18:50
Wat niet?

Wat bedoel je eigenlijk met "ik wil de data via mijn Synology Nas laten gaan"?
Wil je die GroWatt uitlezen en de data op je Nas opslaan?

Dan moet je een applicatie maken die de GroWatt kan uitlezen en de data op je Nas kan opslaan.
Alleen maar een ip adress invullen doet natuurlijk niets.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 07 juni 2018, 17:51:45
Ik wil inderdaad de data met de Nas opslaan. Maar ook doorsturen naar pvouput.org. Een en ander zoals beschreven bij de start van deze topic.
Hoe krijg ik het signaal van de growatt naar de NAS ipv direct via de router naar het internet?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 07 juni 2018, 19:02:19
Met het IP uit je eerdere post, gaat de data richting nas. Maar zoals Ben aangeeft, moet daar ook software staan die die data voor GroWatt begrijpt en inleest. En op de goede poort luistert.

Het zal toch de fabrikant van die site moeten zijn die dergelijke software levert. (Of de struktuur van hun data publiceert)
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Ben(V) op 07 juni 2018, 20:09:47
Heb even gegoogeld.
Hier vind je de interface specificaties van de growatt.
Dan kub je zelf een script schijven om hem uit  te lezen.
http://www.growatt.pl/dokumenty/Inne/Growatt%20Server%20Open%20API%20protocol%20standards.pdf
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 07 juni 2018, 20:55:26
Bedankt voor het zoekwerk. Ik zal eens kijken of ik hier verder mee kom.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 09 juni 2018, 23:54:39
Je moet een aantal dingen regelen:

- op je growatt wifi stick je ip adres van je nas invullen (of lokaal in je netwerk server.growatt.com laten resolven naar het adres van je nas, zo doe ik het, dan kan ik inm de wifi stick gewoon server.growatt.com laten staan)
- op je nas middels iptables een forward naar het ip adres van server.growatt.com instellen. Alle data van de wifistick wordt dan gewoon doorgestuurd naar server.growatt.com, en blijft daar ook gelogd worden.
- op je nas een permanente tcpdump laten draaien die alle data naar het ip adres server.growatt.com captured naar bestandjes
- deze bestandjes uitlezen met een script om de diverse waarden er uit te filteren

- en dan heb je dus de data (actuele opbrengst, dagopbrengst etc) op je synology.  Ik sla die waarden op in domoticz en stuur ze door naar pvoutput.org.

zie script capture_growatt_traffic.sh voor hoe de forwards ingesteld worden (iptables) en de data gecaptured wordt naar bestanden (tcpdump)..
het script process_growatt_pvoutput.sh leest de bestandjes in en plukt de waarden er uit en stuurt ze naar pvoutput.org en domoticz.
Beide scripts staan in mijn taakplanner en draaien continu. Ik laat de taakplanner ze elke dag om 00:00 starten, voor als er eentje per ongeluk stopt. De scripts hebben ingebouwde bescherming om te voorkomen dat ze dubbel gestart worden.

Als je geen ervaring met scripts hebt, bereid je dan voor op een aantal weken experimenteren voordat je het aan de praat hebt.
In de bijlagen mijn 2 scripts die dit allemaal regelen (die ook data inlezen van de smart meter, en data wegschrijven naar domoticz en  pvoutput.org)

Ik heb dit zo draaien sinds 2014.


Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 10 juni 2018, 12:09:53
Aangezien ik geen ervaring heb met scripts wordt dat een paar weken knutselen  :)
Bedankt voor de uitleg en de meegeleverde scripts. Ik ga er mee aan de gang. Zou leuk zijn als het gaat lukken.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 11 juni 2018, 21:33:30
De scripts maken gebruik van een flink aantal commando's/tools die niet standaard op de synology aanwezig zijn. Je moet optware en vervolgens een aantal pakketten via de command prompt installeren om alles aan de praat te krijgen:

zie bijlage voor installeren van optware (BOOTSTRAP)

 
Daarna via de command prompt:
sudo /opt/bin/ipkg update
sudo export PATH=/opt/bin:$PATH
sudo /opt/bin/ipkg install coreutils
sudo/opt/bin/ipkg install util-linux
sudo /opt/bin/ipkg install bc
sudo /opt/bin/ipkg install tshark  zodat de 'editcap' functie beschikbaar komt
sudo /opt/bin/ipkg install grep
sudo /opt/bin/ipkg install libcurl

Vervolgens zou ik eerst eens via de command prompt kijken of je uberhaupt data kunt capturen.

Eerst de iptables aanpassen zodat data van de growatt naar je synology doorgestuurd wordt naar server.growatt.com:

iptables -t nat -A PREROUTING -p tcp --dport 5279 -j DNAT --to-destination 47.91.67.66:5279
iptables -t nat -A POSTROUTING -p tcp --dport 5279 -j MASQUERADE

en dan een tcpdump starten, je zou elke 5 minuten een stuk data voorbij moeten zien komen:

/usr/sbin/tcpdump -i eth0 dst 47.91.67.66

Zodra je dat ziet weet je dat er in ieder geval data van de growatt op de synology langskomt en kun je verder werken om het via het 2e script te verwerken.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 12 juni 2018, 17:09:22
Hi Peeweesyn,

Ik krijg inderdaad data te zien. (o.a. ip adressen, Flags, options) ik neem aan dat dat de bedoeling is?
Hoe ga ik nu verder met het 2e script? Het is te groot om zo in de taakplanner te zetten.

Bedankt voor je duidelijke hulp zover. TOP. :thumbup:

Gr Remelco
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Ben(V) op 12 juni 2018, 17:10:48
Zet het script ergens neer en roep het aan in de taakplanner.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 12 juni 2018, 18:34:46
Een voorbeeldje wat ik elke 5 minuten zie langskomen (ik drukte op ctrl-c toen ik wat had):

admin@Synology:~$ sudo tcpdump -i eth0 dst 47.91.67.66
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
18:19:50.925605 IP server.growatt.com.10255 > 47.91.67.66.5279: Flags [P.], seq 3703023170:3703023393, ack 905815561, win 18824, options [nop,nop,TS val 91035 ecr 9639909], length 223
18:19:50.950457 IP server.growatt.com.10255 > 47.91.67.66.5279: Flags [.], ack 10, win 18815, options [nop,nop,TS val 91035 ecr 9654066], length 0
^C
2 packets captured
56 packets received by filter
0 packets dropped by kernel


Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 12 juni 2018, 18:43:02
Waar bij jou server.growatt.com staat, staat bij mij het ip adres van de Nas?
Ik zie ook nog geen gegevens komen in pvoutput.org.
script 1 en 2 staan in de taakplanner.

Wat wordt er eigenlijk in Domotisz gebruikt om de data te bekijken? Met pvoutput wordt er van de pvoutput site data binnengehaald naar Domoticz. Volgens mij kan jij deze data direct zien.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 12 juni 2018, 20:11:19
dan gaat het nog niet zoals het moet.  Laat eens het resultaat zien van het commando

iptables -t nat -L | grep 5279

en je hebt gezien dat je bovenin het process script nog van alles in moet stellen naar jouw situatie?  Growatt serienummer, PVoutput api key, mappen op je synology etc.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 12 juni 2018, 20:53:09
# iptables -t nat -L | grep 5279
MASQUERADE  tcp  --  anywhere             anywhere             tcp dpt:5279
DNAT       tcp  --  anywhere             anywhere             tcp dpt:5279 to:47.91.67.66:5279

Growatt serienummer, PVoutpu api key zijn ingevuld tussen de "". Welke mappen op de Synology mis ik?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 12 juni 2018, 21:13:33
Ook in de Nas een map pvoutput aangemaakt met daarin: input, logs, processed, scripts en tmp
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 12 juni 2018, 21:57:49
# iptables -t nat -L | grep 5279
MASQUERADE  tcp  --  anywhere             anywhere             tcp dpt:5279
DNAT       tcp  --  anywhere             anywhere             tcp dpt:5279 to:47.91.67.66:5279

Growatt serienummer, PVoutpu api key zijn ingevuld tussen de "". Welke mappen op de Synology mis ik?

Je iptables staan goed. Ik denk dat je tcpdump output ook wel goed kan zijn. Ik heb in mijn router e.e.a. zo ingesteld dat server.growatt.com resolved naar mijn Nas, daarom zie je waarschijnlijk bij mij server.growatt.com, en bij jou je nas ip.

Nu zou je toch in de map capture bestandjes moeten gaan zien, en het process script verwerkt die naar de processed map. Als je het process script nog even niet laat lopen blijven de bestanden in de capture map staan, en heb je meer tijd om ze te bekijken. Maar, inmiddels is het 21:57, dus ik denk dat je wifi stick geen data meer stuurt... Morgen weer een kans :-)
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 13 juni 2018, 16:06:58
Helaas mijn capture map blijft leeg (volume1/homes/pvoutput/capture)
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 13 juni 2018, 17:31:35
Heb je het pad naar de pvoutput mappen in het capturescript wel aangepast?  Ik gebruik een ander pad.

Als het capturescript loopt, dan zie je met bijgaand commando als het goed is tcpdump actief als taak. Dan moet er wat geschreven worden....

$ ps -ax |grep tcpdump
dat geeft bij mij:

20156 pts/13   S+     0:00 grep --color=auto tcpdump
22999 ?        S      0:01 /usr/sbin/tcpdump -i eth0 -nn -G 60 -s 0 -w /volume1/pvoutput/capture/growatt_%Y%m%d_%H:%M.cap greater 220 and tcp and less 500 and dst 47.91.67.66

en zie je ook meteen dat ik een ander pad gebruik
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 13 juni 2018, 18:14:38
mappen zijn aangepast maar het gaat wel mis.

als resultaat krijg ik dit (ingelogd als root):  -ash: $: command mot found
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 13 juni 2018, 18:40:36
op welk commando krijg je de foutmelding?

Ik denk op grep, wat als je alleen 'grep' geeft?

admin@Synology:~$ grep
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.


Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 13 juni 2018, 18:54:36
Als alleen grep ingevoerd wordt krijg ik hetzelfde als jou. met grep --help een lijst output control. Ik zie geen foutmelding
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 13 juni 2018, 19:15:36
dan moet het commando   ps -ax    zijn wat de foutmelding geeft?  Doe die maar eens, dan moet je een lange rij lopende processen krijgen, en daar zou tcpdump tussen moeten zitten.   Dat is ook de functie van het toevoegen van | grep tcpdump aan een commando: dan filter je de output tot alles wat 'tcpdump' bevat
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 13 juni 2018, 19:26:37
Inderdaad een lange lijst maar geen tcpdump
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 13 juni 2018, 19:49:01
wat ik me nog bedenk:

een script moet na aanmaken eenmalig op executable gezet worden met (in jouw geval) het volgende commando:

$  chmod +x /volume1/home/pvoutput/scripts/capture_growatt_traffic.sh

je kunt het script ook los (niet va de taakplanner) starten met:

$ /volume1/home/pvoutput/scripts/capture_growatt_traffic.sh &

NB in het script wordt eerst 120 seconden gepauzeerd (sleep 120).   Ik weet niet meer waarom, haal deze regel er maar uit, dan moet je na het starten van het script toch echt het tcpdump commando in de lijst met processen terugvinden.  Zo niet, dan zit er weinig anders op dan de regels van het script stap voor stap vanaf de commandoprompt te starten om er achter te komen waar het fout gaat.


Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 16 juni 2018, 15:06:42
Ik ben weer een stap verder. Er staan files in de capture map die elke 5 minuten worden gemaakt.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 16 juni 2018, 21:11:19
A, goed zo. Dat kun je nu je aandacht gaan richten op het process script.  Dat is een veel langer en ingewikkelder script, ik hoop dat het gaat lukken. Als je het script draait zouden de bestanden uit de capture folder verwerkt moeten worden, ze verdwijnen dan uit de capture folder en komen terecht in de processed folder.  Het bestand growatt_process.log zou informatie over deze verwerking moeten bevatten.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 17 juni 2018, 12:17:53
De bestanden komen in de processed folder. Welke instelling moet ik doen in pvoutput.org? Hier zie ik onder het diagram niet de "live" of "daily" staan. Het begint met "weekly"
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 18 juni 2018, 11:36:43
Geen idee eerlijk gezegd, kun je de laatste regels uit growatt_proces.log eens posten?

Een paar regels uit  de mijne ( de 'OK' slaat op het succesvol bijwerken van Domoticz, dus dat zul je waarschijnlijk niet zien. Maar je ziet wel of de diverse waarden goed uit de capture bestanden gehaald worden)

Time stamp: 20180618,11:16:14; Solar generation: 702.2 Watt, Solar accumulated today: 800 Watthour, Solar total: 21567300.0 Watthour, Power consumption: 603.2 Watt: { "status" : "OK", "title" : "Update Device" } from /volume1/pvoutput/input/growatt_20180618_09:11_17.cap
    Capture file splitted: /volume1/pvoutput/capture/growatt_20180618_11:16.cap.
   Valid file moved to input directory: growatt_20180618_09:16_13.cap.
Time stamp: 20180618,11:21:14; Solar generation: 598.4 Watt, Solar accumulated today: 900 Watthour, Solar total: 21567400.0 Watthour, Power consumption: 149.4 Watt: { "status" : "OK", "title" : "Update Device" } from /volume1/pvoutput/input/growatt_20180618_09:16_13.cap
    Capture file splitted: /volume1/pvoutput/capture/growatt_20180618_11:21.cap.
   Valid file moved to input directory: growatt_20180618_09:21_12.cap.
Time stamp: 20180618,11:26:11; Solar generation: 849.2 Watt, Solar accumulated today: 1000 Watthour, Solar total: 21567500.0 Watthour, Power consumption: 546.2 Watt: { "status" : "OK", "title" : "Update Device" } from /volume1/pvoutput/input/growatt_20180618_09:21_12.cap
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 18 juni 2018, 14:32:24
Dit zijn mijn regels. Volgens mij gaat dat niet goed

Mon Jun 18 14:24:35 CEST 2018
Process_growatt_pvoutput.sh started.
------------------------------------------------------------------------------------
    Capture file splitted: /volume1/homes/pvoutput/capture/growatt_20180616_13:33.cap.
    Capture file splitted: /volume1/homes/pvoutput/capture/growatt_20180616_13:38.cap.
    Capture file splitted: /volume1/homes/pvoutput/capture/growatt_20180616_13:43.cap.
    Capture file splitted: /
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 18 juni 2018, 20:38:29
De bestanden worden wel gesplitst, maar deze stap uit het script wordt niet volledig uitgevoerd:

   # 2. Process the split files from the temp dir into the input dir

waarschijnlijk omdat het serienummer van je omvormer niet gevonden wordt in de capture bestanden.


Voor de zekerheid geef ik hier de 4 regels bovenaan het process script met de diverse variabelen, zodat je kan kijken of de syntax van die variabelen goed is.

Ik heb bewust wat cijfers in de key en het serienummer veranderd, maar de opbouw van die sleutels moet verder gelijk zijn.

PVOUTPUTKEY="9cc756292f4ab6f7c2c0f64cc63fd33de692c884"
PVOUTPUTSID="30123"
GROWATTSERIAL="RX04120453"
DOMOTICZ=gebruiker:wachtwoord@192.168.0.1:8095

NB Growattserial is niet gelijk aan de AH12345678 Serial Number die je in de wifi interface ziet, het serienummer wat we nodig hebben wordt in de display van de inverter getoond. De twee beginletters variëren per model.
update: het serienummer is ook zichtbaar op de website van growatt (server.growatt.com of 47.91.67.66, onder plant, device list, inverter, in de kolom SN
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 19 juni 2018, 19:13:28
Bij  Growattserial had ik inderdaad het AH nummer staan. Dat is nu een BX nummer geworden.
Domoticz is aangepast naar admin:wachtwoord @192.168.1.89:8084.

Nu heeft de "processed"map maar 1 bestand op 19-6-2018? Van de 18e staat er elke 5 minuten een log bestandje.
De "capture"map is keurig leeg.
De "input" map geeft elke 5 minuten een .cap file

Sorry voor mijn onkunde, maar wat kan er nu nog niet goed staan?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 19 juni 2018, 20:29:31
O, er kunnen nog 100 dingen fout gaan, dat hoort bij scripts  :D De twee weken zijn nog niet voorbij  (:

Elke 5 minuten een logbestandje?  Er zou één logbestand moeten zijn , growatt_process.log, en dat wordt elke 5 minuten aangevuld. Het process script moet ook eeuwig op zichzelf blijven draaien (er zit een loop in).  Blijkbaar crasht het script. Wat staat er nu in growatt_process.log?

En je hebt domoticz draaien op de synology? 
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 19 juni 2018, 20:40:32
Nadat het script is aangepast met het growatt omvormer nummer en domoticz url adres.
Geeft de logfile alleen nog onderstaande kreet.

 Tue Jun 19 13:08:10 CEST 2018
Capture_growatt_traffic.sh started.

Van 18-6, voordat het script is aangepast naar het juiste omvormer nummer, kreeg ik een hele lijst. Dat gaat nu dus beter.
Domotisc staat inderdaad op de synology
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 20 juni 2018, 09:06:08
Ik denk gevonden te hebben wat er mis gaat.

Nu je bestanden gesplitst worden en naar de processed map verplaatst worden is zeker dat je serienummer gevonden wordt in de bestanden. We zijn er bijna!

Mijn process script verwerkt ook data uit mijn slimme meter, door de waarden daarvan op te halen uit domoticz. Dat zal bij jou (nog) niet zo zijn, dus moet dat gedeelte in het script gedeactiveerd worden (dit zal ook de reden zijn dat het script niet blijft lopen).

Zoek onderstaand stukje code op
#-------------------------------------------------------------------------
# Calculate the power
#-------------------------------------------------------------------------
if [ "$(echo "$Pac >= 0" | /opt/bin/bc)" -eq 1 ] &&  [ "$fts" != "$ftsprev" ] ; then   
powercalculate $Pac
N=0
else
powercalculate 0
N=0
fi


en verander het naar

#-------------------------------------------------------------------------
# Calculate the power
#-------------------------------------------------------------------------
#if [ "$(echo "$Pac >= 0" | /opt/bin/bc)" -eq 1 ] &&  [ "$fts" != "$ftsprev" ] ; then   
# powercalculate $Pac
# N=0
#else
# powercalculate 0
# N=0
#fi
                                PowerConsumption=0
                               


Nb ik schrijf ook waardes terug naar domoticz in de regel
result=$(/opt/bin/curl -s -m 5 "$DOMOTICZ/json.htm?type=command&param=udevice&idx=262&nvalue=0&svalue=$Pac;$Eall10000")
Hier wordt de actuele stroomopbrengst van de panelen, en de totaal opgewekte energie van de zonnepanelen terug geschreven. Je zult het idx in deze commandoregel moeten aanpassen aan het idx van jouw device in domoticz, of deze regel moeten uitschakelen door er # voor te zetten.


Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Remelco op 26 juni 2018, 11:25:27
Alles werkt nu. Dit met de grote hulp van Peeweesyn. :thumbup:
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: honnes op 02 augustus 2018, 23:19:11
Goedendag, bij toeval kwam ik dit tegen toen ik exact naar deze oplossing zocht (i.c.m met mijn NAS en Growatt 3000 MTLS)
Zou iemand mij kunnen helpen, het verwerken naar pvoutput gaat niet, de hexdump heeft er geen zin in.

Het werkt tot dusver dat mijn NAS de data ontvangt, doorstuurt naar growatt, en ook de capture bestanden aanmaakt.
Het uitvoeren van het process-data-script wil echter niet gelukken...

Parameters bovenin aangepast, en domoticz idx ingevuld. (Klopt dit dat de hardware in domoticz PVOutput(input) heet?)
Ik heb de 'Calculate the power' in commentaar geplaatst en dan ook PowerConsumption=0 eronder getikt.

Bij het uitvoeren van het process-data script loop ik tegen deze fout aan:

util-linux-hexdump: failed to parse offset: '-n'
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
./process_growatt_pvoutput.sh: line 305: [: : integer expression expected

Op regel 305 staat dit (ongewijzigd, evenals de rest)
if [ "$(echo "$Pac >= 0" | /opt/bin/bc)" -eq 1 ] ; then

Het script gaat wel verder, en de bestanden worden dan ook in processed geplaatst, en ook heeft het 1x (nadat ik de API op PVOutput ingeschakeld had) iets weggeschreven (0 watt).

In het log staat o.a dit nu, en had dus getallen verwacht op alle plekken.

Thu Aug  2 22:51:55 CEST 2018
Process_growatt_pvoutput.sh started.
------------------------------------------------------------------------------------
Time stamp: 20180802,22:18:23; Solar generation:  Watt, Solar accumulated today:  Watthour, Solar total:  Watthour, Power consumption: 0 Watt: OK 200: Added Status from /volume1/pvoutput/input/growatt_20180802_17:32_42.cap
Time stamp: 20180802,22:18:23; Solar generation:  Watt, Solar accumulated today:  Watthour, Solar total:  Watthour, Power consumption: 0 Watt: OK 200: Added Status from /volume1/pvoutput/input/growatt_20180802_17:49_23.cap
Time stamp: 20180802,22:18:23; Solar generation:  Watt, Solar accumulated today:  Watthour, Solar total:  Watthour, Power consumption: 0 Watt: OK 200: Added Status from /volume1/pvoutput/input/growatt_20180802_17:55_36.cap
Time stamp: 20180802,22:18:23; Solar generation:  Watt, Solar accumulated today:  Watthour, Solar total:  Watthour, Power consumption: 0 Watt: OK 200: Added Status from /volume1/pvoutput/input/growatt_20180802_18:05_27.cap

In een willekeurig .OK-bestand staat onleesbare data behalve dat ik 2 teksten herken, op de 2e regel staat:
<WIFISN><INVERTERSN> (dus bijv AH554712341VZ9711234)
en helemaal aan het eind staat nogmaals <WIFISN>. (dus AH55471234).

Een willekeurig .ELSE bestand bevat op regel 3 de wifi+inverterSN combinatie en voor de rest niks leesbaars.

Hopelijk heeft iemand de gouden tip :-)

[update]
Hmm... het doorsturen ging vandaag ook niet lekker. Blijkt dat (ondanks dat de log zegt "Started") dat bij mij de iptables command niet goed werkt (en gisteren had ik het dus tijdelijk gefixt). Het bestand in de bijlage heb ik in mijn /usr/local/etc/rc.d geplaatst (waar ik ook de process growatt and capture data heb geplaatst). Mijn NAS staat 's nachts een paar uurtjes uit. En bij opstarten activeert ie de boel, maar nog steeds werkt m'n process output niet. Growatt server snap m'n data nu wel weer. CHMOD 755 niet vergeten en de rename.
[/update]
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: peeweesyn op 10 augustus 2018, 17:50:43
Hallo Honnes,

De capture bestanden worden aangemaakt, en de info wordt ook doorgestuurd naar server.growatt.com, dus je bent al ver.

Citaat
Parameters bovenin aangepast, en domoticz idx ingevuld. (Klopt dit dat de hardware in domoticz PVOutput(input) heet?)

Het domoticz idx is het idx van de virtuele sensor die je zelf (via een dummy hardware) hebt aangemaakt in Domoticz om de zonnepaneel info te zien (een sensor van het type Elektra (Aktueel + Teller).

Citaat
util-linux-hexdump: failed to parse offset: '-n'
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
./process_growatt_pvoutput.sh: line 305: [: : integer expression expected

Op regel 305 staat dit (ongewijzigd, evenals de rest)
if [ "$(echo "$Pac >= 0" | /opt/bin/bc)" -eq 1 ] ; then

Deze foutmelding suggereert dat er in de variabele $Pac geen waarde (integer) terecht komt maar iets anders. Dat kan komen omdat de inhoud van de .cap bestanden niet klopt. Het serienummer van de omvormer moet niet ingevuld worden als AH1234567, maar lijken op RX01234567 (te vinden als je de device informatie op server.growatt.com bekijkt).  Als je wilt kun je me een paar .cap bestandjes via pm sturen, dan kan ik kijken of de inhoud klopt.

Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: honnes op 10 augustus 2018, 18:31:25
Hallo,

Hartelijk dank, ik denk dat door mijn communicatie de indruk is gewekt dat ik het verkeerde nummer heb ingetikt.
Maar op dit moment lijken m'n parameters wel in orde, bij mijn serial staat dus zoiets als "1VZ12345678". In het capture bestand zie ik beide serienummers terugkomen.

En ah oke, ik had in m'n domoticz een hardware-device van het type 'pvoutput' toegevoegd en dacht dat dát 'em was :-). Anyway doet dat sowieso nu niks omdat hij er al op een eerder moment geen zin meer in heeft.

Ik heb je gemaild, ben erg benieuwd.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: honnes op 26 augustus 2018, 20:14:17
Ter afronding wil ik 'peeweesyn' hartelijk danken voor z'n hulp (via e-mail).

Achteraf bleek dus dat in het script ook één en ander werd gedaan met het berekenen van Energie i.c.m de slimme meter (los van het eerder genoemde wat in commentaar gezet moest worden). Met een ouderwetse meter kun je dat per definitie niet werkend krijgen en heb dus het script aangepast.

Mocht je dus net zoals mij een analoge meter nog hebben, dan moet je dus de plek waar 'calculate' the power staat, alle regels van '#calculate the power' t/m 'fi' voorzien van '#' vooraan de regels, maar niet bij de 'N=0overblijft. Hierdoor wordt de slimme meter niet uitgelzen.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: honnes op 26 augustus 2018, 20:21:42
Toch nog één dingetje; Bij mij werken de iptables doorsturen niet 'out of the box'. Het eerder toegevoegde script als bijlage had ik nu als taak toegevoegd om op te starten, maar dit werkt niet (zowel niet als 'standaard taak' als 'taak bij opstarten'. Handmatig uitvoeren werkt wel, iemand een idee?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 09 november 2018, 12:36:05
[off-topic] Door de zonnige zomer zal iedereen begin oktober een opbrengst gezien hebben die ze normaal in een heel jaar hebben. Ik heb net de meterstanden doorgegeven aan Essent. Ik zie dat ik dit jaar voor het eerst een netto leverancier geworden ben.

Bij mij is er 122 kWh meer geleverd dan afgenomen. Dan verschijnt er plots een negatief getal in de berekening. Dit is dan direct een test of de software goed geschreven is en ook met negatieve getallen kan omgaan.  ;) [/off-topic]
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Chris12 op 28 december 2018, 21:32:07
Sinds een aantal dagen wordt de data uit mn Hosola omvormer niet meer in pvoutput getoond.
Het script op mn NAS werkt nog wel steeds, aangezien ik elke 5min in pvoutput een lege status zie (zonder omvormer waarden erin, maar wel met de temperatuur en verbruik settings (deze laatste komen van youless logger )).

De omvormer geeft nog keurig de waarden weer op het display, en er zijn geen foutmeldingen geweest.

Er is niks veranderd de afgelopen dagen/weken/maanden qua netwerk/IPs/etc., en ik kan via wifi nog wel bij de Hosola omvormer komen en zie daar de ingestelde settings welke overeenkomen met het script.
Ook zie ik daar de opbrengsten, welke ik verwacht te zien in pvoutput (current power etc.)

Ook via de http://<ip address>/js/status.js wordt er info getoond in de browser over de Hosola omvormer:
var version="H4.01.36Y2.0.03W1.0.04";
var webData="H7015I0083,V1.10,V1.10,SolarBright3.68K, 3680,1446,399,73581,,0,"
etc. etc.

Wat kan ik verder doen om het probleem op te lossen?
Moet wellicht de firmware van de omvormer een update krijgen, of moet ik wat resetten?
Of kan ik middels een ander commando in de browser nog wat meer info ophalen?

Heb ook al de wifi via menu op de Hosola omvormer gereset en opnieuw ingesteld, door rechstreeks verbinding te maken met AP_XXXXX wifo netwerk van de omvormer zelf.

Probleem is helaas niet opgelost.

Mijn script (zonder persoonlijke info), welke de afgelopen 2 jaar heeft gewerkt zonder problemen:

today=`date '+%Y%m%d'`
minute=`date '+%H:%M'`

# get most recent webdata from Hosola / Omnik inverter
content=$(wget --user XXXXXX --password XXXXXXX http://XXXXXXX/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=($*)
echo "${Array[0]}"
echo "${Array[1]}"

# define weather info from wunderground station www.wunderground.com
temperature=$(wget https://www.wunderground.com/personal-weather-station/dashboard?ID=XXXXXXX -q -O - | sed ':a;N;$!ba;s/\n//g' | sed -e 's/\t//g' | sed -e 's/<span class="wx-value">/@/g' | sed -e 's/<\/span><span class="wx-unit">/@/g')

#get temperature from local weather station, put all available values in array
set -- "$temperature"
IFS="@"; declare -a Temparray=($*)
#loggen naar lokale file? uncomment volgende regel
#echo $minute ${Temparray[1]}  >> "/volume1/log/<hier de filename>_$today.txt"

# post power value to pvoutput site, please change with correct sid and key from pvoutput.org account
postdatastring="sid=49205&key=a3d6e7ead65ca4853670f861a905fd9da7fXXXXX&v2=${Array[6]}&v5=${Temparray[1]}&t=$minute&d=$today"

wget http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring


Van de missende dagen nu wel handmatig de waarden bij pvoutput erin gezet, maar wil dit natuurlijk niet elke dag gaan doen ;-)
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Chris12 op 29 december 2018, 12:10:58
Na een reboot van m'n synology werkt de task weer zoals het hoort. (deze oplossing ergens op synology.com forum gelezen).
Soms is het zo voor de hand liggend.... :S
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 29 december 2018, 13:05:39
…Mijn script (zonder persoonlijke info), …

Mooi dat de oplossing zo simpel bleek.

Persoonlijk heb ik een hekel met scripts waar een hardcoded wachtwoord in staat. Dit doet gewoon pijn aan mijn ogen.  :) Ik weet dat het alleen lokaal is, maar voor je het weet, deel je het script een keer en vergeet het wachtwoord er uit te halen.

Mooier is om het wachtwoord en usernaam als variabele te definiëren in een aparte file en die file dan te linken in het script.

Maak b.v. een file "key.txt" aan in de folder waar ook het script staat met de volgende inhoud:
password="MijnGeheimeWachtwoord"
account="Briolet"

En in het script link je naar deze file door in het begin van de code de volgende regel op te nemen:

source $(dirname $0)/key.txtDit geeft een pad naar de actuele scriptfolder, maar je kunt die key.txt file natuurljk ook heet ergens anders plaatsen.

De variabelen uit deze file kun je nu ook in het script gebruiken in plaats van de hardcoded credentials. Hierna kun je ongegeneerd het script aan andere tonen, zonder dat je bang hoeft te zijn dat je wachtwoord per ongeluk op een forum komt.

#!/bin/sh

source $(dirname $0)/key.txt

content=$(wget --user ${account} --password ${password} etc.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: 7oost op 29 januari 2019, 17:03:10
==Edit==

Het bleek hem te zitten in de weergave van PVoutput zelf... Dit na enkele slokken koffie  ;D



Beste allen,

bedankt voor de tip voor het script! Werkt goed! Toch loop ik tegen 1 ding aan en wellicht weten jullie mij op weg te helpen.

Mijn script loopt om de 5 mins, de log toont aan dat alle data gepushed wordt naar PVoutpu. Maar wat gaat er nu "mis" gaat is dat hij elke nieuwe input overschrijft en niet toevoegt als nieuwe dataregel. Ik blijf dus steeds 1 "input" zien.... Hoe kan ik dit tackelen?

today=`date '+%Y%m%d'`
minute=`date '+%H:%M'`

# get most recent webdata from Hosola / Omnik inverter
content=$(wget --user XXX --password XXX http://x.x.x.x.x/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=BLAAA&key=BLAAA&v2=${Array[6]}&t=$minute&d=$today"

wget http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: sander1985 op 16 februari 2019, 07:55:07
Heeft iemand een idee wat er bij mij verkeerd ingesteld is. Wanneer ik de taak in de taakplanner handmatig uitvoer krijg ik de gegevens in pvoutput. Wanneer synology het automatisch doet krijg ik op pvoutput "no data recorded" .
De rechten van de taakplanner staan op root. Ik gebruik dezelfde code als Chris12.

Alvast bedankt
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Keldertrapken op 17 februari 2019, 19:33:50
Hallo,

Als ik het script uitvoer krijg ik ERROR 400: Bad Request. Hij geraakt wel geconnecteerd met PVoutput. Wat doe ik fout?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Echoes2018 op 22 maart 2019, 00:27:05
We hebben zonnepanelen en een slimme meter.

Leuk artikel. Data van de Omnik omvormer is dus af te vangen en het lukt mij zowaar deze via de NAS naar PV Output te uploaden.

Op de slimme meter heb ik een logger  (https://opencircuit.nl/Product/13859/Slimme-meter-uitlezer-V3-bouwpakket-met-ESP-01) aangesloten. Hiermee zie je op je smartphone live wat je teruglevert en wat je afneemt aan elektriciteit (en gas).

Leuk is dan ook om behalve de afname en teruglevering ook nog een kolom met je paneelproductie te hebben. Nogmaals .... leuk, maar wordt nog een hele uitdaging!

Iemand hier al ervaring mee?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 14 december 2019, 12:55:42
Ik heb daar geen ervaring mee, maar ik heb echter met het script wel problemen en ben benieuwd of iemand die kan oplossen. Na verloop van tijd loopt door dit script de root vol waardoor ik dus mijn NAS niet meer kan benaderen. Ik krijg dan de melding via mijn mail:

Citaat
Beste gebruiker

Taakplanner heeft een geplande taak voltooid.

Taak: PV 1 data to PVoutput.org
Starttijd: Sat, 14 Dec 2019 12:50:02 GMT
Stoptijd: Sat, 14 Dec 2019 12:50:05 GMT
Huidige status: 3 (Onderbroken)
Standaard uitvoer/fout:
--2019-12-14 12:50:05--  http://pvoutput.org/service/r2/addstatus.jsp?sid=xxxx&key=xxxxxxxxxx&v2=218&t=12:50&d=20191214
Resolving pvoutput.org... <externip>
Connecting to pvoutput.org|4
<externip>|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]
addstatus.jsp?sid=xxxxx&key=xxxxx&v2=218&t=12:50&d=20191214: No space left on device

Cannot write to 'addstatus.jsp?sid=xxxxx&key=xxxxx&v2=218&t=12:50&d=20191214' (No space left on device).


met vriendelijke groeten,
Synology DiskStation

Vervelende is dat ook dan ook niets meer kan omdat dus mijn root partitie blijkbaar vol zit. Hoe kan ik dat oplossen zodat ik niet telkens DSM opnieuw moet installeren? Het script zou dus eigenlijk niet de root vol moeten zetten....
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 14 december 2019, 13:36:42
Omdat het script slecht geschreven is. Een script dat veel data opslaat zou van de systeem partitie moeten afblijven. Nu slaat het de data volgens mij op in de folder waar ook het script staat.

Zet het script op een gewone share, of specificeer een pad waar het heen moet in het script. Een script dat geen doelfolder voor zijn data specificeert is slecht in mijn opinie.

Edit: Volgens mij is het zelfs niet de bedoeling dat dit script permanent data opslaat. Hij had het dan in de temp folder van het systeem moeten zetten. Die wordt na elke reboot van de nas geleegd. Nog beter was het om zijn eigen rommel in de temp folder vervolgens zelf op te ruimen.

Maar dat is iets voor de maker van het script om toe te voegen.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 14 december 2019, 14:05:33
Ik heb nu zojuist mijn DSM maar opnieuw geïnstalleerd en dit is natuurlijk geen doen. Ik ben helaas niet bekend met dit soort scripts en hoe aan te passen. Wat Briolet aangeeft klinkt aannemelijk, echter heb ik geen enkel idee hoe ik dat kan bereiken.

Iemand die het script iets aan zou kunnen passen zonder dat de systeempartitie vol loopt en je je NAS dus niet meer kunt benaderen? Volgens mij kreeg ik het script ook niet werkend als ik het onder een een andere user dan root liet draaien.

Citaat
Edit: Volgens mij is het zelfs niet de bedoeling dat dit script permanent data opslaat. Hij had het dan in de temp folder van het systeem moeten zetten. Die wordt na elke reboot van de nas geleegd. Nog beter was het om zijn eigen rommel in de temp folder vervolgens zelf op te ruimen.

Klopt, hij hoeft wat mij betreft helemaal geen data op te slaan, alleen door te sturen naar PVOutput

Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 14 december 2019, 14:33:42
Het script moet beginnen om met een 'mkdir' een directory in '/temp' maken en dit de default maken met en 'cd' instructie.

Dan pas het script uitvoeren, waarbij her 'wget' commando elke keer iets ophaalt met een andere naam waardoor het zichzelf niet overschrijft.

En tenslotte eindigen met een 'rm' commando om de eerder gemaakte folder in '/temp' weer op te ruimen.

Misschien is het zelfs voldoende om de laatste 'wget' aan een variabele toe te kennen, zodat de inhoud helemaal niet naar disk gaat, via een 'temp=$(wget ........)'

Ziet er ook niet efficiënt uit. wget is een instructie om iets op te halen. Ik neem aan dat hij bij elke aanroep alle oude data ophaalt, met de nieuwe er achter geplakt.

Het is sowieso een rommelig topic waar ik veel versies van het script voorbij zie komen en ik niet de indruk het dat de topic starter alles in zijn eerste post update.  Na 7 pagina's discussie had ik eigenlijk verwacht dat er iets doordachts uit gekomen was. (Ik volg dit topic niet echt)
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 14 december 2019, 16:27:22
Ik ga me er maar eens wat meer in verdiepen. Bedankt tot zo ver, misschien dat je me op weg kunt helpen met iets van literatuur/leesvoer voor de beginnende scriptschrijver? Moet toch iets van een boek zijn waar de basis staat uitgelegd denk ik?

Overigens kwam ik bij mijn zoektocht uit op deze site: https://pypi.org/project/omnik-data-logger/

Hier zou ik toch ook iets mee moeten kunnen icm mijn Synology NAS?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 15 december 2019, 09:24:47
Zoek b.v. op "bash scripting tutorial", voor literatuur over scripts. Ik zelf heb dit (https://www.tutorialspoint.com//unix_commands/bash.htm) in mijn bookmark staan.

Het scripts heeft nog meer onvolkomenheden. Als je een 'wget' gebruikt, dan haal je iets binnen via een netwerk. En als je op dit forum kijkt bij netwerk, zul je zien dat dit niet altijd doet wat het moet doen.

Dit script rekent echter rustig verder met het resultaat van de eerste 'wget'. In theorie zou je daardoor je hele database kunnen verminken door via de 2e 'wget', ongedefinieerde waarden te pushen.

Input waardes moet je daarom altijd valideren. In dit geval zou ik het script afbreken als er een fout optreed. Plaats dus direct na de 1e wget:

if [[ $? -ne 0 ]]; then
echo "Error on getting data from solar pannels"
exit 1
fi

De 1 achter exit betekent dat hij  met een error stop. Als taakplanner een mailtje bij fouten stuurt, zou je hierover een melding moeten krijgen.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 24 december 2019, 13:59:29
...knip
Het script moet beginnen om met een 'mkdir' een directory in '/temp' maken en dit de default maken met en 'cd' instructie.

Dan pas het script uitvoeren, waarbij her 'wget' commando elke keer iets ophaalt met een andere naam waardoor het zichzelf niet overschrijft.

En tenslotte eindigen met een 'rm' commando om de eerder gemaakte folder in '/temp' weer op te ruimen...knip
Volgens mij is het met mijn beperkte kennis gelukt om het script wat aan te passen en heb ik het volgende er boven gezet:

cd ..
cd tmp
mkdir pvoutput
cd pvoutput

Nu maakt het script inderdaad netjes een directory aan in de root tmp folder waar ook de data wordt neergezet. Bij een reboot wordt de folder inclusief inhoud ook vanzelf verwijderd. Omdat ik niet telkens wil rebooten heb ik getracht om de volgende code onder het script te plakken:

rm -rf pvoutput
Maar dat kreeg ik helaas niet aan de praat. Ik heb dus maar een aparte taak aangemaakt in de taakplanner waarbij ik elke dag op een vaste tijd het volgende script laat draaien waarbij hij dus de directory + inhoud verwijdert.

cd ..
cd tmp
rm -rf pvoutput

Nog op- of aanmerkingen?

Als het goed is loopt nu in ieder geval de root nu niet meer vol. Ook al is het script slecht geschreven, het werkt vooralsnog en zal me in een later stadium eens wat verder verdiepen of het niet anders (lees "beter") kan.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Birdy op 24 december 2019, 14:29:39
Ik zou dit helemaal niet in de root (DSM) partitie willen hebben, maar in volume1/<een gedeelde map>
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 24 december 2019, 16:59:42
rm -rf pvoutput
Maar dat kreeg ik helaas niet aan de praat.
Waarschijnlijk omdat je in de folder zelf zit. Ga 1 stapje terug

cd ..
rm -rf pvoutput

Ik zou bij de laatste 'wget' ook de fout afvangen en het script met een foutcode laten eindigen. Als je dan in de taakplanner ingeeft om alleen bij een probleem een mail te sturen, krijg je een waarschuwing.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 24 december 2019, 17:08:30
Als ik dat alles toepas op de eerste versie van het script dan krijg je iets dergelijks.

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')
if [[ $? -ne 0 ]]; then
     echo "Error on getting data from solar pannels"
     exit 1
fi

# 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"

upload=$(wget http://pvoutput.org/service/r2/addstatus.jsp?$postdatastring)
if [[ $? -ne 0 ]]; then
    echo "Error on pushing data from solar pannels"
    exit 1
fi

# wis alles weer
cd ..
rm -rf pvoutput

Maar ik denk dat hij nu helemaal niets op de nas schrijft door het gebruik van de variabele 'upload'.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: NasiBal op 24 december 2019, 18:14:44
Ik ga weer testen en uitproberen, bedankt Birdy en Briolet, fijne kerstavond!
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Techman op 06 april 2024, 18:20:38
Ik had op mijn Nas 2 taken draaien die de omnik ovormers uitleest en deze upload naar PV-output.
Nadat ik mijn DS218+ heb geupdate naar DSM 7.1 werken deze taken niet meer.

Is er iemand die dit werkend heeft op DSM 7.1?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 07 april 2024, 10:28:34
Dat is wel een heel cryptische vraag, waar geen antwoord op te geven is.

In principe moeten alle scripts die onder dsm5 of 6 werkten ook onder de nieuwste dsm werken want het zijn gewoon native linux commando's.  Zonder te weten welke incourante commando's in je script staan, is jouw vraag niet te beantwoorden. Begin eens met de errors weer te geven die het script geeft.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Babylonia op 07 april 2024, 13:53:31
Een kennis van me leest "heel zijn huis" uit met Zigbee sensoren wat dan verder via het pakket  "Home Assistant" wordt aangestuurd.
Inclusief uitlezing van zonnepanelen / slimme meter uitlezing (via speciaal stekkertje / kabeltje op de slimme meter).
Met de hele rattenplan van statistieken en uitlezing van vermogens "per uur" of net wat je wilt.
Allemaal te bereiken via app / apps op de telefoon.

Zover ik weet doet hij niks met scripts. Alles via de opties en menu instellingen van Home Assisant.

Echter nog wel met  DSM 6.2.4   omdat een heleboel externe pakketten niet draaien onder DSM 7.x
waaronder  "indertijd"  toen DSM 7.x zijn intrede deed,  ook dat Home Assistant.
Inmiddels zou dat allemaal wel weer zijn aangepast door de ontwikkelaars van Home Assistant?
Maar vooralsnog heeft hij niet de stap gezet naar DSM 7.x

Bij die kennis, de zonnepanelen uitlezing is nog maar het kleinste deel van zijn  IoT  aangestuurde zaken.
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Techman op 07 april 2024, 16:42:46
Dat is wel een heel cryptische vraag, waar geen antwoord op te geven is.

In principe moeten alle scripts die onder dsm5 of 6 werkten ook onder de nieuwste dsm werken want het zijn gewoon native linux commando's.  Zonder te weten welke incourante commando's in je script staan, is jouw vraag niet te beantwoorden. Begin eens met de errors weer te geven die het script geeft.

Excuus, ik ben inderdaad een beetje te summier geweest.
Via de taakplanner start ik ieder minuut het volgende script https://github.com/Woutrrr/Omnik-Data-Logger/

Na een update naar DSM 7.1 krijg ik de volgende foutmeldingen:

Taak: Omnik_export
Starttijd: Sun, 07 Apr 2024 16:39:23 GMT
Stoptijd: Sun, 07 Apr 2024 16:39:27 GMT
Huidige status: 1 (Onderbroken)
Standaard output/fout:
Traceback (most recent call last):
File "/usr/lib/python3.8/configparser.py", line 789, in get
value = d[option]
File "/usr/lib/python3.8/collections/__init__.py", line 898, in __getitem__
return self.__missing__(key) # support subclasses that define __missing__
File "/usr/lib/python3.8/collections/__init__.py", line 890, in __missing__
raise KeyError(key)
KeyError: 'filename'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/volume1/cron/Omnik-Data-Logger-master/OmnikExport.py", line 198, in
omnik_exporter.run()
File "/volume1/cron/Omnik-Data-Logger-master/OmnikExport.py", line 40, in run
self.build_logger(self.config)
File "/volume1/cron/Omnik-Data-Logger-master/OmnikExport.py", line 127, in build_logger
'filename': self.__expand_path(config.get('log',
File "/usr/lib/python3.8/configparser.py", line 792, in get
raise NoOptionError(option, section)
configparser.NoOptionError: No option 'filename' in section: 'log'

Ik hoop dat ik hiermee voldoende informatie heb gegeven m het probleem te kunnen verhelpen.

Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Birdy op 07 april 2024, 16:57:42
Misschien is python3.8 niet meer van toepassing in DSM 7.1, dus misschien die upgraden ?
Of is misschien al upgraded maar je script niet ?
Titel: Re: nas synology taak om zonnepanelen opbrengst naar pvoutput te uploaden
Bericht door: Briolet op 07 april 2024, 22:40:58
Even voor het gemak het main script van github:

#!/usr/bin/python
"""OmnikExport program.

Get data from an omniksol inverter with 602xxxxx - 606xxxx ans save the data in
a database or push to pvoutput.org.
"""
import socket  # Needed for talking to inverter
import sys
import logging
import logging.config
import ConfigParser
import os
from PluginLoader import Plugin
import InverterMsg  # Import the Msg handler


class OmnikExport(object):
    """
    Get data from Omniksol inverter and store the data in a configured output
    format/location.

    """

    config = None
    logger = None

    def __init__(self, config_file):
        # Load the setting
        config_files = [self.__expand_path('config-default.cfg'),
                        self.__expand_path(config_file)]

        self.config = ConfigParser.RawConfigParser()
        self.config.read(config_files)

    def run(self):
        """Get information from inverter and store is configured outputs."""

        self.build_logger(self.config)

        # Load output plugins
        # Prepare path for plugin loading
        sys.path.append(self.__expand_path('outputs'))

        Plugin.config = self.config
        Plugin.logger = self.logger

        enabled_plugins = self.config.get('general', 'enabled_plugins')\
                                     .split(',')
        for plugin_name in enabled_plugins:
            plugin_name = plugin_name.strip()
            self.logger.debug('Importing output plugin ' + plugin_name)
            __import__(plugin_name)

        # Connect to inverter
        ip = self.config.get('inverter', 'ip')
        port = self.config.get('inverter', 'port')

        for res in socket.getaddrinfo(ip, port, socket.AF_INET,
                                      socket.SOCK_STREAM):
            family, socktype, proto, canonname, sockadress = res
            try:
                self.logger.info('connecting to {0} port {1}'.format(ip, port))
                inverter_socket = socket.socket(family, socktype, proto)
                inverter_socket.settimeout(10)
                inverter_socket.connect(sockadress)
            except socket.error as msg:
                self.logger.error('Could not open socket')
                self.logger.error(msg)
                sys.exit(1)

        wifi_serial = self.config.getint('inverter', 'wifi_sn')
        inverter_socket.sendall(OmnikExport.generate_string(wifi_serial))
        data = inverter_socket.recv(1024)
        inverter_socket.close()

        msg = InverterMsg.InverterMsg(data)

        self.logger.info("ID: {0}".format(msg.id))

        for plugin in Plugin.plugins:
            self.logger.debug('Run plugin' + plugin.__class__.__name__)
            plugin.process_message(msg)

    def build_logger(self, config):
        # Build logger
        """
        Build logger for this program


        Args:
            config: ConfigParser with settings from file
        """
        log_levels = dict(debug=10, info=20, warning=30, error=40, critical=50)
        log_dict = {
            'version': 1,
            'formatters': {
                'f': {'format': '%(asctime)s %(levelname)s %(message)s'}
            },
            'handlers': {
                'none': {'class': 'logging.NullHandler'},
                'console': {
                    'class': 'logging.StreamHandler',
                    'formatter': 'f'
                },
                'file': {
                    'class': 'logging.FileHandler',
                    'filename': self.__expand_path(config.get('log',
                                                              'filename')),
                    'formatter': 'f'},
            },
            'loggers': {
                'OmnikLogger': {
                    'handlers': config.get('log', 'type').split(','),
                    'level': log_levels[config.get('log', 'level')]
                }
            }
        }
        logging.config.dictConfig(log_dict)
        self.logger = logging.getLogger('OmnikLogger')

    def override_config(self, section, option, value):
        """Override config settings"""
        self.config.set(section, option, value)

    @staticmethod
    def __expand_path(path):
        """
        Expand relative path to absolute path.

        Args:
            path: file path

        Returns: absolute path to file

        """
        if os.path.isabs(path):
            return path
        else:
            return os.path.dirname(os.path.abspath(__file__)) + "/" + path

    @staticmethod
    def generate_string(serial_no):
        """Create request string for inverter.

        The request string is build from several parts. The first part is a
        fixed 4 char string; the second part is the reversed hex notation of
        the s/n twice; then again a fixed string of two chars; a checksum of
        the double s/n with an offset; and finally a fixed ending char.

        Args:
            serial_no (int): Serial number of the inverter

        Returns:
            str: Information request string for inverter
        """
        response = '\x68\x02\x40\x30'

        double_hex = hex(serial_no)[2:] * 2
        hex_list = [double_hex[i:i + 2].decode('hex') for i in
                    reversed(range(0, len(double_hex), 2))]

        cs_count = 115 + sum([ord(c) for c in hex_list])
        checksum = hex(cs_count)[-2:].decode('hex')
        response += ''.join(hex_list) + '\x01\x00' + checksum + '\x16'
        return response


if __name__ == "__main__":
    omnik_exporter = OmnikExport('config.cfg')
    omnik_exporter.run()

Ik gok dat het aan de gebruikte python versie ligt, zoals Birdy aangeeft. Maar ik ben verre van een expert in python. Ik wist niet een dat je daar object geörienteert mee kunt programmeren, zoals in dit script gebeurd.