[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