[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