[vz-dev] Fragen zum Protokoll "s0" in vzlogger

Andreas Goetz cpuidle at gmail.com
Thu May 5 12:28:52 CEST 2016


Servus (ich muss endlich in den Garten ;)

2016-05-05 12:12 GMT+02:00 Justin Otherguy <justin at justinotherguy.org>:

> Hi,
>
> > Am 05.05.2016 um 11:57 schrieb Andreas Goetz <cpuidle at gmail.com>:
> >
> > 2016-05-05 8:18 GMT+02:00 Justin Otherguy <justin at justinotherguy.org>:
> >
> >> um die Menge verbrauchter Pellets zu bestimmen, verwende ich das
> Protokoll „s0“ in vzlogger zusammen mit dem „Betriebsstundensensor“ in der
> Middleware. Mir scheint, ich habe ein paar Dinge in vzlogger noch nicht
> verstanden - vielleicht könnt Ihr mir helfen, Licht drauf zu werfen.
> >>
> > Sensor = Wert oder Zustand. Ist eigentlich per Definition mit S0
> (=Impuls oder Änderung) nicht verdaulich und allenfalls ein Hack. Siehe
> https://github.com/volkszaehler/vzlogger/issues/252 wie wir das ändern
> wollen.
>
> ok - ich habe (für den Moment) die Middleware absichtlich mal
> rausgelassen, damit wir das Stück für Stück einmal durchkauen können.
>

ok, OT fürs erste.


>
>
> >> Hier ist meine vzlogger.conf:
> >> http://pastie.org/10824437
> >>
> >> Ich hatte das Thema als Github-Issue #249 eröffnet - dann zeigte sich
> aber, dass das auf der ML besser aufgehoben ist.
> >> Hier schon mal ein paar Zwischenergebnisse und neue Fragen:
> >>
> >> 1. bei der Verwendung von s0 in Kombination mit "interval": 1 werden
> lt. Matthias für 1 s keine Daten gezählt
> >> das verstehe ich nicht; weder leuchtet mir ein, wieso oder wozu das so
> sein soll noch deckt es sich mit meiner Beobachtung - habe ich das falsch
> verstanden?
> >>
> > Das soll gar nicht sein. S0 reagiert auf Impulse (!), interval pollt.
> Die beiden Settings schließen sich logisch eigentlich aus und sollten nicht
> zusammen verwendet werden.
>
> ok - richtig wäre also, interval nicht zu setzen, wenn ich s0 nutze,
> korrekt?
>

M.E. ja!


>
> Das probiere ich mal aus. Falls ich das richtig verstanden habe: haben wir
> eine Chance, das beim Parsen der Config entweder
> - als Fehler auszugeben -> vzlogger beendet sich oder
> - als Warning auf der Konsole und im Logfile?
>

Mach bitte ein Issue auf.


>
>
> >> Ausschnitt aus vzlogger.conf:
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][s0]   Reading S0 - returning 4 readings (n=100 n_neg
> = 0)
> >> [May 05 08:11:31][mtr0] Got 4 new readings from meter:
> >> [May 05 08:11:31][mtr0] Reading: id=Power/StringIdentifier:
> value=359281.40 ts=1462428691862
> >> [May 05 08:11:31][mtr0] Reading: id=Impulse/StringIdentifier:
> value=100.00 ts=1462428691862
> >> [May 05 08:11:31][mtr0] Reading: id=Power_neg/StringIdentifier:
> value=0.00 ts=1462428691862
> >> [May 05 08:11:31][mtr0] Reading: id=Impulse_neg/StringIdentifier:
> value=0.00 ts=1462428691862
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >> [May 05 08:11:31][S0]   MeterS0:HWIF_GPIO:first poll returned 1
> >>
> >> Ich gebe 50 Hz auf den Eingang - und das sieht so aus, als würden die
> auch (zum Grossteil) verarbeitet.
>
> Mal für die Doofen wie mich: Du erwartest aufgrund der 50 Hz also einen
konstanten Wert im Log, richtig?

>>
> >> 2. aggtime ist die Zeit, über die aggregiert wird
> >>
> >> das scheint mir nicht immer zu funktionieren - noch ein Auszug, jetzt
> gegrept nach "Impulse/StringIdentifier“:
> >>
> >> [May 05 08:12:36][mtr0] Reading: id=Impulse/StringIdentifier:
> value=100.00 ts=1462428756878
> >> [May 05 08:12:37][mtr0] Reading: id=Impulse/StringIdentifier:
> value=99.00 ts=1462428757871
> >> [May 05 08:12:38][mtr0] Reading: id=Impulse/StringIdentifier:
> value=100.00 ts=1462428758874
> >> [May 05 08:12:48][mtr0] Reading: id=Impulse/StringIdentifier:
> value=998.00 ts=1462428768879
> >> [May 05 08:12:49][mtr0] Reading: id=Impulse/StringIdentifier:
> value=100.00 ts=1462428769882
> >> [May 05 08:12:50][mtr0] Reading: id=Impulse/StringIdentifier:
> value=99.00 ts=1462428770874
> >> [May 05 08:12:51][mtr0] Reading: id=Impulse/StringIdentifier:
> value=100.00 ts=1462428771877
> >>
> >> -> in der Liste hat’s ein Mal geklappt: „value=998“, sonst immer ca.
> 100.
>

Was heißt "geklappt"? Ich verstehe Deine Erwartungshaltung nicht. Siehe
oben- ich würde jeweils den gleichen Wert erwarten und mir erscheint die
998 spanisch.

>>
> >> Wie kann ich das genauer eingrenzen?
> >>
> > Ich kann nicht erkennen wo/was da nicht  funktioniert insofern schwer zu
> beantworten.
>
> bei 1. ging’s mir um „Interval=1 bewirkt, dass jeweils 1 Sekunde keine
> Impulse verarbeitet werden
> der Auszug zeigt mehrere Einträge innerhalb einer Sekunde - direkt vor und
> nach dem Loggen eines Wertes
>

Lass uns den Punkt mal bitte vergessen. Betrachten wir Interval bei S0 mal
als undefiniert. Bleibt aggtime auf Deinem 2. Log.


> Damit wollte ich zeigen, weshalb ich hier einen Widerspruch erkenne
> -> ich verstehe jetzt: Interval und s0 gehören nicht zusammen
>

Si ;)


>
>
> bei 2. ging’s mir darum zu zeigen, dass aggtime in meinem konkreten Fall
> nicht immer funktioniert:
> die ersten drei Einträge sind im Abstand von 1 Sekunde mit einem value von
> ca. 100
> der vierte Eintrag kommt dann nach 10 s mit einem value von ca. 1000
>
> Sind die Fragen jetzt klarer?
>

Yep- und da könnte es am unten verlinkten Fehler liegen:


>
> > Wir haben seit ewigen Zeiten aber vmtl. diesen Fehler offen:
> https://github.com/volkszaehler/vzlogger/issues/231 Könnte das die
> Ursache sein?
>
> das ist ein guter Punkt - vielleicht können wir das nun gleich mit klären.
>
> Ich habe send_zero nun auskommentiert [1] - Auszug aus dem Log (wieder
> gegrept nach Impulse/StringItentifier):
>

Das ist schon Fehlersuche aus dem Issue- noch wissen wir nicht obs bei Dir
vorher einen anderen Fehler gibt der den überlagert.
Könntest Du bitte erstmal testen ob aggtime wie erwartet funktioniert wenn
Du aggfixedinterval ebenfalls setzt? Dann wissen wir ob das Logging wie
erwartet läuft und können dann in send_zero aus dem Issue einsteigen.


>
> [May 05 12:09:54][mtr0] Reading: id=Impulse/StringIdentifier: value=100.00
> ts=1462442994364
> [May 05 12:09:55][mtr0] Reading: id=Impulse/StringIdentifier: value=100.00
> ts=1462442995367
> [May 05 12:09:56][mtr0] Reading: id=Impulse/StringIdentifier: value=100.00
> ts=1462442996369
> [May 05 12:09:57][mtr0] Reading: id=Impulse/StringIdentifier: value=99.00
> ts=1462442997362
> [May 05 12:09:58][mtr0] Reading: id=Impulse/StringIdentifier: value=100.00
> ts=1462442998364
> [May 05 12:10:08][mtr0] Reading: id=Impulse/StringIdentifier: value=998.00
> ts=1462443008370
> [May 05 12:10:09][mtr0] Reading: id=Impulse/StringIdentifier: value=100.00
> ts=1462443009373
> [May 05 12:10:10][mtr0] Reading: id=Impulse/StringIdentifier: value=99.00
> ts=1462443010365
> [May 05 12:10:11][mtr0] Reading: id=Impulse/StringIdentifier: value=100.00
> ts=1462443011368
>
> -> das scheint zumindest das Verhalten nicht zu ändern.
>

Yep, sagt aber auch wenig aus :(


>
> > Bevor wir weiter an Symptomen rumdoktorn würde mich aber eigentlich
> interessieren wie konkret Deine Meßeinrichtung aussieht- dann finden wir
> auch die richtige Konfiguration dazu.
>
> ich verwende Udos whm [2] „produktiv“ und im Test hier gerade einen
> Arduino, der 50 Hz auf den GPIO17 des RPi ausgibt.
> Brauchst Du weitere Details?
>

D.h. Du erwartest einfach konstate Readings solange der whm getaktet wird,
richtig?


>
> Weitere Ideen, was ich testen kann?
>

Erstmal aggfixedinterval.


>
>
> Gruß, J.
>
> [1] http://pastie.org/10825317
> [2] http://wiki.volkszaehler.org/hardware/channels/meters/working_hours
>
> Viele Grüße,
Andreas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20160505/51a45b90/attachment-0001.html>


More information about the volkszaehler-dev mailing list