Freeware perl script voor Plugwise stretch

part of www.heitbrink.com

 

Bash scripts

De bash scripts zijn bedoeld voor Linux systemen.

Tegenwoordig kan Windows hier ook mee overweg, maar voor het gemak ga ik er nu van uit dat de scripts op een unix systeem gaan draaien.

de stuurvariabelen worden op de volgende manier meegegeven:
{naam}={value} (zonder de accoladen)

gethour.sh

  • localdir=/padname/
    ==> Het volledige pad waar de logs moeten komen te staan. == voorbeeld: /volume1/Tom/stretch/
    ==> Dit is ook de plek waar volgens dit script het perl-script staat

  • filename1=loghours_$(date +%Y-%m-%d)
    ==> filenaam van de uurfile, vervallen in versie 1.0.3, de waarden %Y-%m-%d zorgt voor een datumnotatie als 2013-03-16

  • filename2=logdays_$(date +%Y-%m)
    ==> filenaam van de dagfile, vervallen in versie 1.0.3, de waarden %Y-%m zorgt voor een datumnotatie als 2013-03

  • stretchurl="http://192.168.0.8/appliances/interval_logs?type=electricity_produced"
    ==> de url van uw stretch in uw netwerk

  • stretch_pwd=xxxxxxxx
    ==> wachtwoord voor inlog op stretch, met sticker vermeldt op stretch.

  • stretch_device=Zonnepanelen
    ==> device waarmee opbrengst zonnepanelen wordt bepaald, deze waarde kunt u in de stretch instellen, initiele waarde staat vermeld op circle.

  • pvoutput_enabled=1
    ==> moet er een upload naar pvoutput.org plaatsvinden ?

  • PV_API_key=xxxxxxxxxxxxxxxxxxx111111111111111xxxxxxxx
    ==> API-code voor inlog op pvoutput.org, Deze kunt u aanmaken als u een account heeft bij pvoutput.org

  • PV_sid=12345
    ==> system ID van uw gemeten systeem. bij pvoutput te vinden als system Id (http://www.pvoutput.org/account.jsp)
        De parameters worden als volgt doorgegeven aan het perl script.
        $localdir/parsehours.pl $localdir/gethour.xml  \
                                               $localdir                       \
                                               $stretch_device           \
                                               $pvoutput_enabled     \
                                               $PV_API_key              \
                                               $PV_sid                       \
        >> $localdir/gethour.log
        (let op: tussen de >> en het logbestand moet een spatie staan, anders wordt er niet gelogd.)

        getcurrent.sh

        • localdir=/padname/
          ==> Het volledige pad waar de logs moeten komen te staan. == voorbeeld: /volume1/Tom/stretch/

        • filename=logcurrent_$(date +%Y-%m-%d)
          ==> filenaam van de outputfile, de waarden %Y-%m-%d zorgt voor een datumnotatie als 2013-03-16

        • stretchurl="http://192.168.0.8/appliances/interval_logs?type=electricity_produced"
          ==> de url van uw stretch in uw netwerk

        • stretch_pwd=xxxxxxxx
          ==> wachtwoord voor inlog op stretch, met sticker vermeldt op stretch.

        • stretch_device=Zonnepanelen
          ==> device waarmee opbrengst zonnepanelen wordt bepaald, deze waarde kunt u in de stretch instellen
          ==> initiele waarde staat vermeld op circle.
          De parameters worden als volgt doorgegeven aan het perl script.
            $localdir/parsecurrent.pl $localdir/getcurrent.xml \
                                                      $localdir/$filename.csv  \
                                                      $stretch_device              \
            >> $localdir/getcurrent.log