Counter in VZ analog zu rrd vorhanden?

  • Hallo Community,

    Gibt es in Volkszähler sowas wie das Counter Feld in rrd, welches aus aufeinanderfolgenden Zählerwerten dann die Differenz ermittelt? Rrd erkennt auch den Überlauf des Zählers.


    Grüße

    Det

    Seit 03.2012 10,64kWp: 56x IBC Monosol 195; SMA Tripower STP 10000TL-10, Einspeiseregelung Schüco Sunalyzer mit RSE; Ostausrichtung (-100°); Dachneigung 40°; openWB Standard+

  • Ich habe einen S0 USB Adapter, der liefert quasi den aufsteigenden Zählerwert. Über die Zeit wird quasi daraus der kWh Wert berechnet. In rrd kann man den Counter Typ für sowas verwenden. Kann man auch selbst programmieren, aber wenn es sowas schon in VZ gibt, brauche ich mir die Mühe nicht machen ;).


    VG

    Det

    Seit 03.2012 10,64kWp: 56x IBC Monosol 195; SMA Tripower STP 10000TL-10, Einspeiseregelung Schüco Sunalyzer mit RSE; Ostausrichtung (-100°); Dachneigung 40°; openWB Standard+

  • Gibt es meines Wissens nicht.

    Hätte ich selbst schon brauchen können, speziell den Überlauf.



    mfg JAU

    No Shift - No Service

  • Es handelt sich dabei (wohl) um einen Zähler mit einer begrenzten Variablen. Z.B. ein einzelnes Byte, das läuft bei 254 über und beginnt wieder bei 0. Mit sowas kommt der VZ nicht klar und der Graph geht ins Negative.



    mfg JAU

    No Shift - No Service

  • Ja genau so ist es

    pi@vz01:/onewire $ tail -f L1v.txt

    202537

    tail: L1v.txt: Datei abgeschnitten

    202549

    tail: L1v.txt: Datei abgeschnitten

    202557

    tail: L1v.txt: Datei abgeschnitten

    202561

    tail: L1v.txt: Datei abgeschnitten

    202564

    tail: L1v.txt: Datei abgeschnitten

    202568

    tail: L1v.txt: Datei abgeschnitten

    202576


    rrd macht aus sowas dann z.B.

    <snip>

    <!-- 2020-12-05 20:20:00 CET / 1607196000 --> <row><v>2.225000000e+01</v><v>4.327110524e-02</v></row>

    <!-- 2020-12-05 20:25:00 CET / 1607196300 --> <row><v>2.225000000e+01</v><v>1.029685424e-01</v></row>

    <!-- 2020-12-05 20:30:00 CET / 1607196600 --> <row><v>2.225000000e+01</v><v>1.067578481e-01</v></row>

    <!-- 2020-12-05 20:35:00 CET / 1607196900 --> <row><v>2.225000000e+01</v><v>1.100373065e-01</v></row>

    <!-- 2020-12-05 20:40:00 CET / 1607197200 --> <row><v>2.225000000e+01</v><v>1.130520610e-01</v></row>

    <!-- 2020-12-05 20:45:00 CET / 1607197500 --> <row><v>2.225000000e+01</v><v>1.136648368e-01</v></row>

    </snip>

    Das hintere sind die Differenzwerte zum vorigen Zeitstempel


    /usr/bin/rrdtool create my.rrd --step 300 \

    DS:temps:GAUGE:600:-40:110 \ <-- Tempertaturwert

    DS:powcnts:COUNTER:600:0:U \ <-- Power

    Der Counter darf auch überlaufen, das kann rrd dann erkennen, dass der Vorwert größer war als der aktuelle Wert und berechnet die Differenz dann trotzdem korrekt. Wenn ich es richtig gelesen habe, kann ein 32 Bit und ein 64 Bit Wertüberlauf erkannt werden.


    VG

    Det

    Seit 03.2012 10,64kWp: 56x IBC Monosol 195; SMA Tripower STP 10000TL-10, Einspeiseregelung Schüco Sunalyzer mit RSE; Ostausrichtung (-100°); Dachneigung 40°; openWB Standard+