Freeware perl script voor Plugwise stretch

part of www.heitbrink.com

 

Perl scripts

De Perl scripts maken gebruik van enkele routines, welke op het systeem aanwezig moeten zijn.

Aangezien het (vooral) standaard routines zijn, is dit geen probleem.

Per systeem kan de locatie van perl anders zijn. Het eerste commando moet wijzen naar de locatie waar perl zich bevindt.
In mijn geval bevindt perl zich in usr/bin/perl. Als dit niet overeen komt, dient u de eerste regel van het perl script aan te passen.
De -w is een parameter die bedoeld is om warnings te tonen bij het draaien van het script.

parsehours.pl

routines:

use strict; == feitelijk geen routine, maar een validatie op coding
use LWP::UserAgent;
use HTTP::Request::Common qw(POST); == nodig voor pvoutput
use Time::Local; -- nodig voor timeconversie (vanaf Versie 1.04)
require XML::Parser::Expat;

require XML::Parser; == XML lezen
use XML::Parser; == XML lezen
use LWP::Simple;

verwerking:

  • inlezen xml in geheugen
  • sorteren ingelezen waarden op datum/tijd
  • bepalen welke file geopend en beschreven moet worden voor uurrapporten
  • bepalen welke file geopend en beschreven moet worden voor dagrapporten
  • in geval van dagovergang waarden vorige dag naar pvoutput versturen
  • dagmaximum en dagtotalen bijwerken gedurende dag, en resetten bij dagwissel
  • Bij einde run actuele dagstanden doorsturen naar pvoutput

 

parsecurrent.pl

routines:

use strict; == feitelijk geen routine, maar een validatie op coding

verwerking:

  • inlezen xml in geheugen
  • openen en schrijven file met huidige waarden