[vz-users] Fragen zum Betriebsstundensensor

Justin Otherguy justin at justinotherguy.org
Tue Dec 22 22:19:37 CET 2015


Servus *,

ich habe diese Woche den Betriebsstundenzähler [1] in Betrieb genommen. Als Sensor habe ich dazu den neuen Typ „Betriebsstundensensor“ verwendet und das Ganze mit vzlogger Config Editor [2] konfiguriert. Das passt erst mal wunderbar zusammen - vielen Dank an Udo, Andreas und Matthias für die tolle Arbeit :)

Noch nicht ganz verstanden habe ich die notwendigen Parameter in vzlogger.conf. Ich verwende derzeit die folgenden:
    {
      "enabled": true,
      "allowskip": false,
      "interval": -1,
      "aggtime": 10, // aggregate all signals and give one update to middleware every <aggtime> seconds
      "aggfixedinterval": false,
      "channels": [
        {
          "uuid": „<sssh! meine uuid>",
          "identifier": "Impulse", //identifier of this channel from the meter. E.g. 1-0:1.8.0
          "api": "volkszaehler",
          "middleware": "http://demo.volkszaehler.org/middleware.php",
          "secretKey": "",
          "type": "device",
          "scaler": 1, //scaling factor to use. Only needed for MySmartGrid api
          "aggmode": "sum", //Mittelwert fuer Leistung, MAX fuer Zaehler, SUM fuer Counter
          "duplicates": 0
        }
      ],
      "protocol": "s0",
      "gpio": 17,
      "mmap": "",
      "gpio_dir": -1,
      "configureGPIO": true,
      "resolution": 1000,
      "send_zero": false,
      "debounce_delay": 30,
      "nonblocking_delay": 100000
    }

Besonders interessiert mich:
- type: device - welche gibt es noch? (habe versucht, die passende Stelle im Source zu finden - „type“ und „device“ sind aber wohl zu unspezifisch…)
- mmap - hier steht in Config-Editor: "For gpio based devices and high frequency signals (>5-10kHz on a rpi2) memory mapped gpio can be used. Currently only supported on Raspberry-Pi 1 or 2. Leads to a constant but high CPU load depending on nonblocking_delay value. MMAPed GPIO pins need to be configured manually as input pins.“; bei den 10 Hz, die ich verarbeiten möchte, brauche ich das wohl nicht - will ich das trotzdem haben?
- gpio_dir: "Number of GPIO port to be used as directional pin. If this pin is used and active Impulses_neg instead of Impulses is returned. Keep to -1 if unsure about the purpose.“; „-1“ ist also im Zweifel der richtige Entrag - was wäre die Alternative? 
- debounce_delay: "Delay in ms until the next edge is detected“ - begrenzt mir das die Frequenz auf < 50Hz?

Ich habe die Schaltung von Udo leicht modifiziert - in der Originalversion liefert sie 1 Hz; gedacht war das für den Net-IO, der mit 50 Hz ja heillos überfordert gewesen wäre. 50 Hz waren bei meinen Tests mit dem RPi B auch zu viel - ich habe den hinteren Teiler übersprungen, so dass 10 Hz am RPi ankommen (nachgemessen - stimmt). Jede Sekunde kommen also 10 Impulse an.
Wenn ich die Resolution in vzlogger auf 1000 setze und die Auflösung des Kanals auf 200, erhalte ich die erwarteten Werte: jede Stunde Laufzeit ergibt 1h Betriebszeit.

1. Frage:
  welche Bedeutung hat die „resolution“ in vzlogger und wie steht diese in Beziehung zur Resolution in der Middleware? Wie muss ich diese einstellen für 10 Hz?
  Wenn ich das richtig verstehe, hat ein Betriebsstundenzähler ja als einzigen Parameter die Frequenz, mit welcher die Impulse ankommen. Jede Stunde Betriebszeit sollte am Ende ja mit 1h geloggt werden.

2. Frage:
  wie kann ich das Intervall einstellen, in welchem die GPIO-Zähler abgefragt werden? Ich hätte vermutet, dass hierfür „aggtime“ zuständig ist - obwohl hier 10 steht, scheint der Zähler aber trotzdem jede Sekunde abgefragt zu werden.


In meinem ersten Test hatte ich Zähler [1] direkt an einem RPi B, auf dem sonst nichts lief. Die Kurve verlief dabei schön glatt - s. [3].
Nachdem ich das dann auf meinen „produktiven“ RPi geschoben habe (also: Ausgang des Zählers umgehängt, vzlogger um den Block erweitert) schwankt die Kurve nun sehr stark - s. [4].
Der RPi hat eine Load von < 0,4; ausser vzlogger läuft da nicht viel (TM). Die Boards habe ich schon vertauscht - das hat keine Änderung gebracht. mysqld habe ich schon abgeklemmt - auch keine merkliche Änderung. Noch ne Idee, woran das liegen könnte?

Weil ich weiß, dass ihr gefragt hättet - hier [5] ist meine ganze vzlogger.conf :)

Danke schon mal :)


Gruß, J.

[1] http://wiki.volkszaehler.org/hardware/channels/meters/working_hours#maedchenvariante
[2] https://volkszaehler.github.io/vzlogger/
[3] https://demo.volkszaehler.org/frontend/?uuid[]=b58f7870-a8cc-11e5-aa7f-d73cd264e084&from=1450722984144&to=1450773301597
[4] https://demo.volkszaehler.org/frontend/?uuid[]=b58f7870-a8cc-11e5-aa7f-d73cd264e084&from=1450774013607&to=1450804864550
[5] http://pastie.org/10647700


More information about the volkszaehler-users mailing list