[vz-dev] Zeitstampfer - was: Re: Fwd: watchcat.c und Hardwareansteuerung

Justin Otherguy justin at justinotherguy.org
Sat May 1 21:14:17 CEST 2010


Moin,

ich antworte jetzt einfach mal hier - halbwegs zusammenfassend.

Lasst uns das doch mal wie folgt ausprobieren:
- der Controller sammelt die eingehenden Impulse für ein konfiguriertes Intervall, z.B. 1s, 1 min, 15 min, 1 Tag...
  auf diese Weise lassen sich verschiedene Fälle abdecken:
  - wir brauchen keine Auswertung der ms
  - wir ahmen das Verhalten der Smart Meter der grossen EVU nach
  - wir schonen unsere Internet-Anbindung
  - wir haben einen Zähler, der kontinuierlich Impulse rausspuckt und wandeln das so in eine zeitkontinuierliche Folge
- bei der Übermittlung verwenden wir dann einen zusätzlichen Parameter "count"
  - dieser ist optional (so können wir auch den bisherigen Modus weiter laufen lassen)
  - das Default ist count=1

- bei der Auswertung können gibt es ja derzeit bereits 2 Modi:
  - den "Direktmodus":
    hier wird aus allen Zeitstempeln Zeitstempel-/Leistungs-Tupel berechnet und an den Browser übermittelt
    Das ist wunderbar für eine Darstellung, bei der die Anzahl Impulse/Pixel in der Darstellung sehr gering würde (derzeit ist dieser Schwellwert (Variable "$schwelle") auf 10 eingestellt: weniger als $schwelle Impulse im Intervall -> "Direktmodus"; sonst: "Zählmodus"
  - den "Zählmodus":
    hier werden bereits nicht mehr alle einzelnen Impuls-Intervalle ausgewertet und übermittelt, sondern hier wird pro Intervall nur noch die Anzahl Impulse bestimmt; daraus wird dann die Leistung berechnet (Impulse/Zeit)
-> der Direktmodus würde nun also entfallen; das bedeutet:
- wir müssen uns mal anschauen, wie sich das auf Darstellungen mit "hohem Zoom" auswirkt (also: wenig Impulse für das darzustellende Zeitfenster)
- bei der Auswertung können nicht mehr nur die Einträge gezählt werden:
  SELECT * from public.pulses where id='$id' and servertime > '$schritt_anfang' and servertime < '$schritt_ende'
  sondern man müsste pro Eintrag das Feld "count" aufsummieren

-> die DB-Struktur müsste man also um das Feld "count" ergänzen

Das wär's schon ;-)

Das bedeutet, dass man mit der Wahl des Intervalls eben die Auflösung festlegt. Eine "bulk"-Übertragung ("1 impuls kam zu $zeitpunkt1; 1 impuls kam zu $zeitpunkt2; ...) halte ich für zu aufwändig. Wer eine höhere Auflösung haben möchte, sollte das Intervall entsprechend wählen.

Ich finde es sehr schick, eine möglichst fein aufgelöste Darstellung zu haben - vielleicht sollte man das aber auch nicht überbewerten. Im Anhang zu Folien zum DFN-Workshop sind Graphen mit unterschiedlicher zeitlicher Auflösung zum Vergleich abgebildet. Wenn man sich das anschaut wird klar, dass 15 Minuten fast schon ausreichen; die reale Aussagekraft steigt m.E. damit nicht mehr besonders durch eine höhere Auflösung. Wenn man also 1 oder 5 Minuten wählt, sollte das wunderbar sein.

Einverstanden?

Hat jemand Lust, das im Controllercode zu implementieren?


Gruss, J.



More information about the volkszaehler-dev mailing list