[vz-dev] Absoulter Verbrauch in Volkszaehler speichern

Steffen Vogel info at steffenvogel.de
Tue Dec 6 01:32:34 CET 2011


Hi,

Am Montag, den 05.12.2011, 19:11 +0100 schrieb Sven Anders:
> Am 05.12.2011 09:56, schrieb Steffen Vogel:
> Wie wäre es, wenn für den MeterInterpreter nur
> > immer den relativen Verbrauch speichern und diesen dann alle 100 Impulse
> > summieren? Allso immer 100 Datensätze für die Impulse gefolgt von einem
> > Datensatz mit dem absoluten Verbrauch?
> 
> Ich glaube das ist nicht das was wir brauchen. Man will ja einfach 
> festhalten: Am 17.11. um 9:36 Uhr hat jemand den Stand 3456,12 
> abgelesen. Evtl. noch mit wer das war und Zählernummer, Aktenzeichen etc.

Das würde nicht unbedingt von meinem Vorschlag ausgeschlossen werden.

> Wenn dann in der Zwischenstand 100.000 Impulse dazu gekommen sind, ist 
> man halt danach bei 3556,12. Ich denke das man das dem Benutzer schon 
> anzeigen könnte: Letze Offizelle Messung am ...: ist ... Daraus 
> berechneter Zählerstand .. (ohne Gewähr).

Die S0-Impulszähler liefern ja eigentlich keinen absoluten Zählerstand.
Also keinen offiziellen auf den wir uns 100%ig verlassen können.

> Auch ist das berechnen, bin ich jetzt 100 Datensätze weiter vermutlich 
> kompliziert. Vielleicht eher sowas wie, der erste/letze Datensatz des Tages?

Joa, das klingt auch gut. Ob jetzt pro Tag oder alle 100 Impulse dürfte
wohl nicht einen so großen Unterschied machen.
Wir wollen ja nur versuchen, das aufwendige Summieren über alle
vergangenen Impulse zu vermeiden. Wenn wir das nur für die vergangenen
Impulse des bisherigen Tages machen müssen würde das schon etwas
Ressourcen schonen.

Leider fällt mir gerade noch keine gut Mögllichkeit ein, wie wir die
absoluten Zählerstände von den Relativen unterscheiden könnten.
Wir haben die der "data" Tabelle derzeit 3 Spalten:
- channel_id
- timestamp
- value
Das würde ich wenn möglich auch gerne beibehalten:
- Abwärtskompatibilität
- Größe der Tabelle (Justin hat sicher schon ein paar Millionen Einträge
in seiner Tabelle :p)

Meine favorisierte Lösung daher:

Wir führen für jeden Impulszähler einen "Schattenzähler" ein, der nur
die Verwaltung des absoluten Zählerstands übernimmt.
Wir behalten wie bisher den Zähler mit "MeterInterpreter" für die
Impulse.

Ein zweiter virtueller Zähler (nur im Hintergrund auf der Middleware,
keine UUID) benutzt dann den "CounterInterpreter". Das wäre der gleiche
Interpreter den wir auch für die SML/D0 Zähler benutzen wollen/könnten.

Damit hätte dieser Zähler dann zwei channel_id's:
- ID1 für die Impulsdaten
- ID2 für die absoluten Daten (täglicher, stündlicher Ziwschenstand der
Summe über alle Impulse)

Ich finde es wichtig für die absoluten Zählerstände auch den richtigen
Interpreter zu benutzen: CounterInterpreter. Auch wenn das hier dazu
führt, dass wir im Prinzip zwei Zähler haben. Dabei sagen wir: ein
Zähler hat eine Menge von Daten in einem bestimmten Format.

> >> Im Moment wird anhand des Types (heat,water,power etc.) auch der
> >> Interpreter festgelegt, das sollte man dann aber vermutlich
> >> konfigurierbar machen, oder?
> >
> > Stimmt. Die Idee find ich gut :) Momentan haben wir ja auch den Typ
> > "power" (S0-Zähler) und "powersensor" (Leistungsmesser)
> 
> Messen die nicht was anderes, wie Durchfluß (flow) und Wasser (water). 
> Der eine misst die Geschweindigkeit des Wassers und der andere wieviel 
> Wasser vorbei gekommen ist? (Oder hab ich mich da vertan?)?

Genau. Sie messen etwas unterschiedliches. Aber eigentlich interressiert
uns an beiden doch das gleiche: wann haben wir wieviel verbraucht?
Sie liefern die Daten nur in unterschiedlichen Formaten:
- einmal müssen wir differenzieren (Impulse => Leistung/Durchflussmenge)
- und einmal müssen wir integrieren (Leistung/Durchfluss => Verbrauch)

Sie unterscheiden sich ja daher nur im Format der Daten. Ich fände es
jetzt etwas aufwendig für jede Messgröße jeweils zwei Zählertypen
einzuführen.

> > Dein Vorschlag hier die Messgröße ("power") vom Datenformat (Interpreter
> > "sensor", "counter", "meter/impulse") zu trennen ist sicherlich ne gute
> > Idee.
> >
> > Was halten die anderen davon?
> 
> Die MBUS Spezifikation hat noch ein paar Dinge die man evtl. umsetzen 
> könnte, wenn man gerade dabei ist, z.B. wird da das Medium von der 
> Zählerart getrennt.
> 
> Mann kann ja 500 Liter Heizöl messen, oder 500l Wasser ist halt alles in 
> der Einheit Liter und Flüssig, und der Zähler funktioniert ja ähnlich.
> 
> vgl.http://www.m-bus.de/medium.shtml , http://www.m-bus.de/vif.shtml

Vielleicht wäre es sinnvoll für die meisten Messgrößen/Medium eine
default Zählerart festzulegen:
- einen Temperatursensor wird man nur selten in integraler Form finden
- bei Strom gibts wirklich beides. Eigentlich auch recht
gleichberechtigt

viele Grüße

Steffen

-- 
Steffen Vogel
Robensstraße 69
52070 Aachen

Mail: info at steffenvogel.de
Web: http://www.steffenvogel.de
Jabber: stv0g at jabber.ccc.de
ICQ: 236033
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20111206/eb49de26/attachment.pgp>


More information about the volkszaehler-dev mailing list