[vz-users] Negativer Verbrauch nach Restart oder Absturz (vzlogger) im Frontend

Thorben Thuermer r00t at constancy.org
Tue Oct 8 14:55:25 CEST 2013


Marco at gallux.de, Tue Oct 8 14:23:01 CEST 2013
> Hallo,
> 
> mir ist aufgefallen, dass im Frontend negative Werte (-25.000) 
> für den Zeitraum vom Absturz/Ende bis zum Neustart gibt.

das bestaetigt nur meinen verdacht, dass deine konfiguration
auf's UEBELSTE kaputt ist,
was wir ja leider nicht feststellen konnten, da du die config
und details zu deiner vzlogger-version unterschlagen hast.

wir stellen fest:
> [Oct 04 12:53:05][s0]   Reading S0 - n=3 power=738.579258 counter=738.579258
du hast scheinbar eine version von vzlogger aufgetrieben, die fuer s0-zaehler
zaehlerstaende synthetisiert, d.h. es wird ein virtueller zaehler hochgezaehlt,
der aber entsprechend bei jedem neustart bei 0 anfaengt!
(das passt auf dein problem)
(nebenbei ist wohl noch die debug-ausgabe falsch, weil da hinter counter=
 nochmal der leistungswert ausgegeben wird)
(und es erklaert die merkwuerdige resolution,
 da statt einem zaehlerstand in kWh die anzahl impulse geloggt wird!)

WOHER hast du diese version? von uns ist die nicht!
(es gibt wohl die counter-variable, aber die wird nicht verwendet:
 $ git clone https://github.com/volkszaehler/vzlogger.git
 $ grep counter vzlogger/src/protocols/MeterS0.cpp 
                 , _counter(0)
)

zweitens:
> "meters" : [{
>         "enabled" : true,
>         "protocol" : "s0",
>         "device" : "/dev/ttyUSB0",
>         "channel" : {
>                 "uuid" : "45d14e70-29af-17e3-87fb-93c897cd87dc",
>                 "middleware" : "http://localhost/volkszaehler.org/htdocs/middleware.php",
>                 }
>         }
> ]}

du definierst dort einen zaehler, und darauf einen zu loggenden kanal.
du gibt aber NICHT an, welcher wert vom zaehlers geloggt werden soll,
wie erwaehnt erzeugt in deiner vzlogger-version der s0-zaehler DREI
kanale: impulse, leistungswerte, zaehler.
(passend zu den drei moeglichen kanaltypen in der middleware nebenbei.)

es fehlt hier die angabe eines identifiers, da du keinen angegeben hast,
wird scheinbar als default der kanal mit dem zaehler verwendet.
(in "unserer" version sollten es als default die impulse sein,
 dort waehre diese config richtig.)

die moeglichen werte in unserer version sind:
$ grep Identifier vzlogger/src/protocols/MeterS0.cpp
        rds[0].identifier(new StringIdentifier("Power"));
        rds[1].identifier(new StringIdentifier("Impulse"));

also fuegst du unter "channel" hinzu:
"identifier": "Power",
oder
"identifier": "Impulse",

und legst den kanal in der middleware entsprechend als
Strommesser  => Elektrische Energie (S0-Impulse)
bzw.
Stromsensor  => Elektrische Energie (Leistungswerte)
an.

> Gruß
> Marco

- Thorben


More information about the volkszaehler-users mailing list