[vz-dev] Absoulter Verbrauch in Volkszaehler speichern
Sven Anders
sven at anders-hamburg.de
Sun Dec 4 19:22:23 CET 2011
Moin,
ich hab mal eine Beispiel-Implementation für absoulten Verbrauch[1] für
den Volkszaehler auf meinem Branch data_meter gemacht[2].
Ich habe einfach eine neue Spalte "meter" für den absoluten Meterstand
eingefügt.
Zur Namensgebung:
Ich hab den Absoulten Stand erstmal "meter" abgeleitet von "meter
reading" genannt.
Man könnte auch den alten Stand statt "value" neu "relative" nennen und
den neuen Stand "absoulte" zu nennen.
Die API wurde um die Option "meter" erweitern.
Man kann jetzt also entweder wie bislang:
vzclient -u 174ccb70-1e96-11e1-aa66-b1c63b213bd0 add data value=2
oder mit der meter Option, mit absoulten Werten:
vzclient -u 174ccb70-1e96-11e1-aa66-b1c63b213bd0 add data value=97
vzclient -u 174ccb70-1e96-11e1-aa66-b1c63b213bd0 add data meter=99
oder auch gemisch:
vzclient -u 174ccb70-1e96-11e1-aa66-b1c63b213bd0 add data value=2\
meter=101
Werte submitten.
Wer den Branch ausprobieren möchte muss mit:
php misc/tools/doctrine orm:schema-tool:update --force
das Datenbank Schema erweitern lassen.
Mir sind keine Probleme mit anderen Applikation bekannt.
Ich bin mir zwar immer noch nicht 100%ig sicher, ob die Idee die
absoluten Werte zusätzlich in die Data Tabelle zu schreiben gut ist,
aber ich finde es spricht einiges dafür:
* Zählerwechsel ist möglich. Dafür muss nur einmalig von Hand der
Anfangszählerstand eingetragen werden:
z.B.
zclient -u $UUID add data value=0 meter=42
Wenn dann der Controler den neuen Stand mit meter=43 meldet, wird von
neuen der value korrekt berechnet.
* Wenn mal ein Paket verloren geht, macht das nichts, da value erst in
der Middelware berechnet wird.
* Es ist möglich einfach historische Zählerstände zu ermitteln, das ist
IMHO wichtig, da z.B. ein Mieter häufig nicht weiß, wann ein
Mittarbeiter des Wasserwerks im Keller die Zählerstände abliest. So
könnte er einfach in den VZ schaun und nachsehen....
* Es ist auch möglich bei Zählern die sich nur relativ automatisch
ablesen lassen einmalig einen Anfangsstand zu übermitteln. (?Zwangsweise
beim Anlegen des Zählers?)
Man könnte dann den Absoulten Stand auch berechnen.
(Das wäre evtl. noch ein Zusatz zu meiner Implementierung).
Dagegen spricht:
* Es wird mehr gespeichert und das betrifft alle Channels, also auch
Temperaturen etc.
Möglich wäre natürlich auch, den Stand in eine andere Tabelle zu speichern.
Was meint Ihr?
Sven
1:
http://volkszaehler.org/pipermail/volkszaehler-users/2011-November/000055.html
2: https://github.com/tabacha/volkszaehler.org/commits/data_meter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2321 bytes
Desc: S/MIME Kryptografische Unterschrift
URL: <http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20111204/35c12a95/attachment-0001.bin>
More information about the volkszaehler-dev
mailing list