[vz-dev] vzlogger - advanced Konfig
Rainer Gauweiler
volkszaehler at moppl.inka.de
Wed Mar 19 10:33:25 CET 2014
Hallo,
Am 18.03.2014 19:40, schrieb Thorben Thuermer:
> das betrifft den code fuer den custom format-string,
> der scheint fehlerhaft zu sein.
> einfach den format-string weglassen, schon funktioniert es
> mit dem temp-file.
Ok, danke fürs Nachgucken. Hab es unter
https://github.com/volkszaehler/vzlogger/issues/24 erfasst.
Es tut zwar besser aber noch nicht ausreichend:
[Mar 19 10:07:28][mtr1] Got 1 new readings from meter:
[Mar 19 10:07:28][mtr1] Reading: id=/StringItentifier: value=32552.00
ts=1395220048.127
[Mar 19 10:07:28][chn1] Buffer dump (size=0 keep=30): {}
[Mar 19 10:07:28][mtr1] Next reading in 20 seconds
[Mar 19 10:07:28][chn1] ==> number of tuples: 0
[Mar 19 10:07:28][chn1] JSON request body is null. Nothing to send now.
-> er überträgt es nicht zur Middleware
Mir ist auch nicht so klar, wie man sich von den Möglichkeiten die scanf
bietet auf den String schließt. Ist da nur die Position innerhalb eines
Strings möglich, oder auch die Formatieroptionen wie %2d die scanf kann?
Und kann man da auch noch einfache Berechnungen machen? Ich müsste ja
eigentlich 39553 in 39.552 umrechnen. Würde ich das dann über die
Auflösung machen, oder geht das gleich in dem String? Und geht es
überhaupt über die Auflösung?
Ich kann das alles natürlich trivial in bash/php lösen, versuche aber
gerade die Möglichkeiten vom vzlogger auszuloten.
>> Im Wiki (http://wiki.volkszaehler.org/software/controller/vzlogger)
>> steht das Protocol file als Beispiel um den Load zu erfassen. Was nimmt
>> man denn in der Middleware als Kanaltyp dazu?
>
> wie erwaehnt, einen beliebige sensorinterpreter-basierten typ.
> (oder einen passenden selbst definieren, ich denke aber temperature
ok, ich habe Temperatur genommen, und habe das Beispiel um einen
entsprechenden channel-Eintrag ergänzt.
Das Ergebnis ist auch hier:
[Mar 19 10:18:58][] MeterFile::read: 32, 32
[Mar 19 10:18:58][mtr2] Got 1 new readings from meter:
[Mar 19 10:18:58][mtr2] Reading: id=/StringItentifier: value=0.13
ts=1395220738.833
[Mar 19 10:18:58][chn2] ==> number of tuples: 0
[Mar 19 10:18:58][chn2] JSON request body is null. Nothing to send now.
[Mar 19 10:18:58][chn2] Buffer dump (size=0 keep=60): {}
[Mar 19 10:18:58][mtr2] Next reading in 10 seconds
-> wieder kein Eintrag. Kaputt?
Ich habe auch noch ein bisschen mit aggtime/mode rumgespielt um zu sehen
ob es das inzwischen braucht. Hat aber auch kein wesentlicher
Unterschied - da läuft es dann einfach nur durch
Wer die Konfig braucht:
{
"enabled" : true,
"protocol" : "file",
"path" : "/proc/loadavg",
// "format" : "$i $v $t", /* a format string for parsing complex
logfiles */
/* arbitrary text and whitespaces are
allowed, see 'scanf()' */
/* at least $v has to be used */
/* $i => identifier, $v => value, $t =>
timestamp */
"rewind" : true, /* reset file pointer each interval to
the beginning of the file */
"interval" : 10, /* of ommitted, we will try to listen
on changes with inotify */
"aggtime" : 300, /* aggregate all signals and give one
update to middleware every 'aggtime' seconds */
"aggfixedinterval" : true, /* round all timestamps to
middleware to nearest aggtime */
"channel" : {
"uuid" : "6b935420-af46-11e3-aea7-f7bf03375759",
"middleware" : "http://localhost/middleware.php",
"aggmode" : "MAX" /* add all s0 intervals in the
aggregation. Possible Modes: SUM, AVG, MAX and NONE */
} // channel
} // meter
Ich würde erwarten dass da nach 10 Sekunden eine Änderung im log ist -
ich sehe aber keine. Sieht so aus als wäre die Aggregation dafür
eventuell auch nicht in Ordnung.
Gruss
Rainer
More information about the volkszaehler-dev
mailing list