<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
Hallo zusammen,<br>
<br>
ich habe meine ersten Schritte mit volkszaehler gemacht und
erfolgreich einen IR - Lesekopf an einem Stromzähler in Betrieb
genommen.<br>
<br>
Aufgrund eines Kontaktproblems kam es für ca. 4 Minuten zu einer
Unterbrechung der Datenaufnahme.<br>
<br>
Im Frontend hat sich das dann als hoher Spike (23.3kW) im Kanal für
die Leistung bemerkbar gemacht.<br>
Ich habe den fehlerhaften Wert in der Datenbank gepatched, um eine
vernünftige Skalierung im Frontend zu erhalten.<br>
<br>
In der Stundenskalierung der Zeitachse erhalte ich aus das
gewünschte Ergebnis (Anlage: volkszaehler.org-web
frontend-zoom_in.jpg), in der Tagesskalierung bleibt der hohe Peak
bestehen und macht die Skalierung kaputt. Das gleiche passiert, wenn
ich in der Stundenskalierung herauszoome (Anlage:
volkszaehler.org-web frontend-zoom_out.jpg).<br>
<br>
Ich vermute, dass eine Umrechung der Daten auf das gröbere
Zeitraster der Datenpunkte (13sec) des Zoom-out erfolgt und dabei
der Peak künstlich erzeugt wird. Allerdings ist mir unklar welches
der naheliegenden Interpolations- oder Mittelungsverfahren zu so
einer starker Erhöhung führen kann (Ist: 450W, Frontend: Ansteigend
von 400W auf 23.3 kW). <br>
Generell weichen die Daten in der Zoum-out Darstellung mitunter bis
zu 20% von der Werten der Datenbank ab, selbst wenn der wirkliche
Wert ins Darstellungszeitraster passt.<br>
<br>
Hat jemand eine Idee? Kann mir jemand helfen?<br>
<br>
Folgende Daten mit Firefox und RESTclient PlugIn von der Middleware
abgerufen (csv format) - stimmen mit den Datenbankwerten überein:<br>
<br>
.....<br>
<br>
2022-05-05 10:18:02;497;1<br>
2022-05-05 10:18:03;494;1<br>
2022-05-05 10:18:05;496;1<br>
2022-05-05 10:18:06;490;1<br>
2022-05-05 10:18:08;489;1<br>
2022-05-05 10:18:09;493;1<br>
2022-05-05 10:18:11;494;1<br>
2022-05-05 10:18:12;491;1<br>
2022-05-05 10:18:14;487;1<br>
2022-05-05 10:18:15;489;1<br>
2022-05-05 10:18:17;489;1<br>
2022-05-05 10:18:18;490;1<br>
2022-05-05 10:18:19;491;1<br>
2022-05-05 10:18:21;490;1<br>
2022-05-05 10:18:22;491;1<br>
2022-05-05 10:18:24;493;1<br>
2022-05-05 10:18:25;490;1<br>
2022-05-05 10:18:27;488;1<br>
2022-05-05 10:18:28;491;1<br>
2022-05-05 10:18:30;490;1<br>
2022-05-05 10:18:31;487;1<br>
2022-05-05 10:18:33;503;1<br>
2022-05-05 10:18:34;487;1<br>
2022-05-05 10:18:36;487;1<br>
2022-05-05 10:18:37;493;1<br>
2022-05-05 10:18:38;496;1<br>
2022-05-05 10:18:40;491;1<br>
2022-05-05 10:18:41;491;1<br>
2022-05-05 10:18:43;497;1<br>
2022-05-05 10:18:44;495;1<br>
2022-05-05 10:18:46;499;1<br>
2022-05-05 10:18:47;490;1<br>
2022-05-05 10:18:49;494;1<br>
2022-05-05 10:18:50;491;1<br>
2022-05-05 10:18:52;494;1<br>
2022-05-05 10:18:53;491;1<br>
2022-05-05 10:18:55;494;1<br>
2022-05-05 10:18:56;503;1<br>
2022-05-05 10:18:57;494;1<br>
2022-05-05 10:18:59;493;1<br>
2022-05-05 10:19:00;491;1<br>
2022-05-05 10:19:02;496;1<br>
2022-05-05 10:19:03;490;1<br>
2022-05-05 10:19:05;495;1<br>
2022-05-05 10:19:06;494;1<br>
2022-05-05 10:19:08;490;1<br>
2022-05-05 10:19:09;495;1<br>
2022-05-05 10:19:11;490;1<br>
2022-05-05 10:19:12;493;1 <---------------<br>
2022-05-05 10:23:20;450;1 Datenlücke. Zeitstempel und Wert in der
Datenbank gepatched, um Sprung zu vermeiden.<br>
2022-05-05 10:27:07;410;1 <----------------<br>
2022-05-05 10:27:15;370;1<br>
2022-05-05 10:27:16;329;1<br>
2022-05-05 10:27:17;322;1<br>
2022-05-05 10:27:28;330;1<br>
2022-05-05 10:27:29;322;1<br>
2022-05-05 10:27:30;321;1<br>
2022-05-05 10:27:31;324;1<br>
2022-05-05 10:27:32;324;1<br>
2022-05-05 10:27:33;323;1<br>
2022-05-05 10:27:35;333;1<br>
2022-05-05 10:27:36;322;1<br>
2022-05-05 10:27:37;320;1<br>
2022-05-05 10:27:38;323;1<br>
2022-05-05 10:27:39;322;1<br>
2022-05-05 10:27:40;322;1<br>
2022-05-05 10:27:41;321;1<br>
2022-05-05 10:27:42;321;1<br>
2022-05-05 10:27:43;322;1<br>
2022-05-05 10:27:45;323;1<br>
2022-05-05 10:27:46;322;1<br>
2022-05-05 10:27:47;321;1<br>
2022-05-05 10:27:50;342;1<br>
2022-05-05 10:27:51;321;1<br>
2022-05-05 10:27:52;320;1<br>
2022-05-05 10:27:53;325;1<br>
2022-05-05 10:27:55;320;1<br>
2022-05-05 10:27:56;322;1<br>
2022-05-05 10:27:57;324;1<br>
2022-05-05 10:27:58;319;1<br>
2022-05-05 10:27:59;323;1<br>
2022-05-05 10:28:00;323;1<br>
.....<br>
<br>
Verwendete Version: Image 2022-04-20-volkszaehler.img für Raspi 4B,
vzlogger Version 0.8.1<br>
<br>
vzlogger.conf:<br>
<br>
{<br>
// General settings<br>
"verbosity": 5, // log verbosity (0=log_alert,
1=log_error, 3=log_warning, 5=log_info, 10=log_debug, 15=log_finest)<br>
"log": "/var/log/vzlogger/vzlogger.log", // log file, optional<br>
"retry": 30, // http retry delay in seconds<br>
<br>
// Build-in HTTP server<br>
"local": {<br>
"enabled": false, // enable local HTTPd for serving live
readings<br>
"port": 8080, // TCP port for local HTTPd<br>
"index": true, // provide index listing of available
channels if no UUID was requested<br>
"timeout": 30, // timeout for long polling comet
requests in seconds (0 disables comet)<br>
"buffer": -1 // HTTPd buffer configuration for
serving readings, default -1<br>
// >0: number of seconds of
readings to serve<br>
// <0: number of tuples to server
per channel (e.g. -3 will serve 3 tuples)<br>
},<br>
<br>
// realtime notification settings<br>
// "push": [<br>
// {<br>
// "url": <a class="moz-txt-link-rfc2396E" href="http://127.0.0.1:5582">"http://127.0.0.1:5582"</a> // notification
destination, e.g. frontend push-server<br>
// }<br>
// ],<br>
<br>
<br>
<br>
// Meter configuration<br>
"meters": [<br>
{<br>
// S0 meter - gas<br>
<br>
"enabled": false, // disabled meters will
be ignored (default)<br>
"allowskip": false, // errors when
opening meter may be ignored if enabled<br>
"aggtime": -1, // aggregate meter
readings and send middleware update after <aggtime> seconds<br>
"aggfixedinterval": true, // round timestamps to
nearest <aggtime> before sending to middleware<br>
"protocol": "s0", // meter protocol, see
'vzlogger -h' for full list<br>
// "device": "/dev/ttyAMA0", // meter device<br>
"gpio": 18, // verwende raspi gpio18
(pin 12)<br>
"gpio_dir": -1,<br>
"configureGPIO": true,<br>
"resolution": 1,<br>
"send_zero": false,<br>
"debounce_delay": 30,<br>
"nonblocking_delay": 10000,<br>
<br>
<br>
"channel": {<br>
"identifier": "Impulse", // s0 meter knows
"Impulse" and "Power"<br>
"uuid": "712d3800-c8a4-11ec-ad5c-eb32d8bd8683",<br>
"api": "volkszaehler", // middleware api,
default volkszaehler<br>
"middleware": <a class="moz-txt-link-rfc2396E" href="http://localhost/middleware.php">"http://localhost/middleware.php"</a>,<br>
"aggmode": "SUM" // aggregation mode:
aggregate meter readings during <aggtime> interval<br>
// "SUM": add readings
(use for s0 impulses)<br>
// "MAX": maximum
value (use for meters sending absolute readings)<br>
// "AVG": average
value (use for meters sending current usage)<br>
}<br>
},<br>
{<br>
// Example SML meter<br>
<br>
"enabled": true, // disabled meters will
be ignored (default)<br>
"allowskip": false, // errors when
opening meter may be ignored if enabled<br>
"protocol": "sml", // meter protocol, see
'vzlogger -h' for full list<br>
"interval": -1,<br>
"pullseq": "",<br>
"parity": "8N1",<br>
"baudrate": 9600,<br>
"use_local_time": false,<br>
"device": "/dev/ttyAMA0", // meter device<br>
<br>
"aggtime": 1, // aggregate meter
readings and send middleware update after <aggtime> seconds<br>
"aggfixedinterval": true, // round timestamps to
nearest <aggtime> before sending to middleware<br>
<br>
<br>
<br>
"channels": [{<br>
"api": "volkszaehler", // middleware api,
default volkszaehler<br>
"uuid": "f46df0d0-cbbd-11ec-a796-170eaa4275d9",<br>
"middleware": <a class="moz-txt-link-rfc2396E" href="http://localhost/middleware.php">"http://localhost/middleware.php"</a>,<br>
"identifier": "1-0:16.7.0", // OBIS identifier
Wirkleistung in W<br>
// "duplicates": 10, // duplicate
handling, default 0 (send duplicate values)<br>
// >0: send
duplicate values only each <duplicates> seconds<br>
// Activate only for
abs. counter values (Zaehlerstaende) and not for impulses<br>
"aggmode": "AVG" // aggregation mode:
aggregate meter readings during <aggtime> interval<br>
// "SUM": add readings
(use for s0 impulses)<br>
// "MAX": maximum
value (use for meters sending absolute readings)<br>
// "AVG": average
value (use for meters sending current usage)<br>
<br>
}, {<br>
"api": "volkszaehler", // middleware api,
default volkszaehler<br>
"uuid": "82eee1e0-cbbe-11ec-aa77-99a6a520661b",<br>
"middleware": <a class="moz-txt-link-rfc2396E" href="http://localhost/middleware.php">"http://localhost/middleware.php"</a>,<br>
"identifier": "1-0:1.8.0", // OBIS identifier
Wirkenergie in Wh<br>
"aggmode": "MAX" // aggregation mode:
aggregate meter readings during <aggtime> interval<br>
// "SUM": add readings
(use for s0 impulses)<br>
// "MAX": maximum
value (use for meters sending absolute readings)<br>
// "AVG": average
value (use for meters sending current usage)<br>
<br>
}]<br>
}<br>
]<br>
}<br>
<br>
Gruss Manfred<br>
</body>
</html>