Am 11. April 2013 22:35 schrieb Thorben Thuermer <r...@constancy.org>:

> On Thu, 11 Apr 2013 20:29:03 +0200 Jan Tamm <v...@tamms.net> wrote:
> > Am 11. April 2013 09:55 schrieb Thorben Thuermer <r...@constancy.org>:
> > > ich habe den code schonmal gelesen und einen groeberen bug gefixt,
> > > wohl dummerweise mal wieder nur in einer (der c-) version,
> > > anscheinend hast du gerade den gleichen in der c++ version gefunden?
> > >
> http://volkszaehler.org/pipermail/volkszaehler-users/2012-December/000757.html
> > >
> https://github.com/volkszaehler/vzlogger/commit/d5c0a10ec3a08c47dd0d55972ce3d3a8b4906c25
> > >
> > > Genau, der Bug ist in der C++ Version noch enthalten. Zusätzlich wurde
> der
> > > Meter in der C++ Version aber ergänzt, sodass er nun drei Readings
> > > ermittelt:
> > 1) Identifier "counter" mit value gleich einem internen Zähler, der
> erhöht
> > wird. Mein Verständnis war, dass bei Countern immer nur Impulse
> übermittelt
> > werden, und im Frontend der value Wert ignoriert wird (was leider die
> > Aggregation in der Middleware vor dem Frontend unmöglich macht). Also
> > sollte der doch Value 1 haben.
> > 2) Einen NilIdentifier mit Wert 1 der sich mir nicht erschließt. Habt Ihr
> > eine Idee was das sein könnte?
> > 3) einen Power Identifier der die errechnete Leistung ausgibt. Leider
> > werden zur Errechnung der Leistung jedesmal zwei Impulse gezählt und
> nicht
> > ein Zeitstempel vom vorherigen Lauf herangezogen. Folglich wird im
> counter
> > nur jeder zweite Impuls weitergegeben.
>
> der code war mir noch nicht bekannt, muss ich bei gelegenheit mal
> reinschauen...
> vielleicht moegen die autoren mal was dazu sagen?
>
> > Ganz komisch wird es, das zwar die drei Readings errechnet werden aber
> die
> > Funktion mit "return 1" nur den ersten Wert im counter zurückgibt, der
> wie
> > oben beschrieben nur die halbe Frequenz hat. Also insgesamt bin ich
> stutzig
> > ob jemand den S0 Meter in der c++ Variante nutzt.
>
> vermutlich nicht.
> in der C-version sollte er aber soweit funktionieren, mit dem erwaehnten
> fix.
>

Da sich niemand gemeldet hat, habe ich selbst Änderungen eingebaut. Wenn
ich, wie in der C++ Version angefangen, auch den aus den Impulsen
ausgerechnete Leistung übergeben will, muss ich den MeterS0 umstellen und
StringIdentifier einbauen. Damit brechen wir die Kompatibilität zu der C
Version. Da ist es wohl besser, den C++ Code der C Version anzugleichen und
weiterhin ohne Identifier die Impulse zurückzugeben. Wie würde das nun ins
Repository kommen, kann ich einfach einen Pull Request starten?

--Jan

Antwort per Email an