Plausibilisierung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== Motivation == | == Motivation == | ||
* Verhinderung von Fehleingaben (Zahlendreher, Stellen vergessen, Komma falsch gesetzt) | * Verhinderung von Fehleingaben beim Zählerstand des Ausbauzählers (Zahlendreher, Stellen vergessen, Komma falsch gesetzt) | ||
== Funktionsweise == | == Funktionsweise == | ||
| Zeile 36: | Zeile 36: | ||
VERBRAUCH_PRO_JAHR = ((Verbrauch_Zähler_Stand - Verbrauch_0_Zähler_Stand) / TageZwischen(Verbrauch_0_Datum, Verbrauch_Datum)) * 365 | VERBRAUCH_PRO_JAHR = ((Verbrauch_Zähler_Stand - Verbrauch_0_Zähler_Stand) / TageZwischen(Verbrauch_0_Datum, Verbrauch_Datum)) * 365 | ||
=== Lastkurve === | |||
[[Datei:20230613 180501.jpg|200px]] | |||
== Transaktionen == | == Transaktionen == | ||
Aktuelle Version vom 14. Juni 2023, 10:39 Uhr
Motivation
- Verhinderung von Fehleingaben beim Zählerstand des Ausbauzählers (Zahlendreher, Stellen vergessen, Komma falsch gesetzt)
Funktionsweise
- Intern speichert OrgaMon für jeden Auftrag nur 3 Felder für ein einziges Zählwerk
VERBRAUCH_DATUM VERBRAUCH_ZAEHLER_STAND VERBRAUCH_PRO_JAHR
- damit ist eine Prognose für den Ablesewert für den heutigen Ablesetag möglich
- Die Genauigkeit der Prognose wird verbessert, in dem verschiedene Lastkurven für Gas/Strom/Wasser verwendet werden
Import
Dazu braucht man im Import die 3 Werte
Verbrauch_Datum()Datum einer AblesungVerbrauch_Zähler_Stand()der Ablesewert an dem DatumVerbrauch_Pro_Jahr()der Jahresverbrauch
alternativ aber auch 4 Werte
- OrgaMon berechnet den Jahresverbrauch dann selbst
- ACHTUNG: Die Import-Reihenfolge muss genau wie angegeben eingehalten werden
Verbrauch_Datum()Datum einer AblesungVerbrauch_Zähler_Stand()der Ablesewert an dem DatumVerbrauch_0_Datum()2. Datum einer AblesungVerbrauch_0_Zähler_Stand()der Ablesewert an dem 2. Datum
- in diesem Fall wird der Jahresverbrauch selbst durch OrgaMon berechnet:
VERBRAUCH_PRO_JAHR = ((Verbrauch_Zähler_Stand - Verbrauch_0_Zähler_Stand) / TageZwischen(Verbrauch_0_Datum, Verbrauch_Datum)) * 365
Lastkurve
Transaktionen
siehe Transaktionen#HA7
Qualitätssicherung
in der OrgaMon-App
- der Transport erfolgt über Zähler-Infos (bitte testen!)
ZaehlerInfo.values['P0'] := inttostr(round(ZaehlerstandExact - Toleranzband));
ZaehlerInfo.values['P1'] := inttostr(round(ZaehlerstandExact + Toleranzband));
vor der Ergebnismeldung
Toleranzband-Methode
Toleranzband := JahresVerbrauch * (3.0 / 12.0);
Grenz-Methode
v := sZaehlerInfo.values['v1']
b := sZaehlerInfo.values['b1']
a := sZaehlerInfo.values['a1']
s := Zählerstand( / 'ET' / HT)
E2
v := sZaehlerInfo.values['v2']
b := sZaehlerInfo.values['b2']
a := sZaehlerInfo.values['a2']
s := Zählerstand('E2')
if (V < 0) then
begin
Log('[Q16] keine "Untere Grenze" definiert' + MoreInfo);
end;
if (b < 0) then
begin
Log('[Q17] keine "Obere Grenze" definiert' + MoreInfo);
end;
if (a < 0) then
begin
Log('[Q18] kein "Letzter Stand" definiert' + MoreInfo);
end;
//
if (ZWS < 0) then
begin
Log('[Q01] Ablesestand fehlt' + MoreInfo);
break;
end;
if (a > 0) and (ZWS < a) then
begin
if (ZWS + 10 >= a) then
Log('[Q13] Ablesestand unterschreitet leicht letzten Stand' + MoreInfo)
else
Log('[Q19] Ablesestand kleiner als letzter Stand' + MoreInfo);
break;
end;
if (b - V < 0) then
begin
Log('[Q06] Zählwerk-Überlauf erwartet' + MoreInfo);
end;
BandErweiterung := max((b - V) * 3, 1000);
if (ZWS < V) then
begin
if (ZWS < V - BandErweiterung) then
Log('[Q07] Ablesestand unterschreitet massiv untere Grenze' + MoreInfo)
else
Log('[Q08] Ablesestand unterschreitet leicht untere Grenze' + MoreInfo);
break;
end;
if (ZWS > b) then
begin
if (ZWS > b + BandErweiterung) then
Log('[Q09] Ablesestand überschreitet massiv obere Grenze' + MoreInfo)
else
Log('[Q10] Ablesestand überschreitet leicht obere Grenze' + MoreInfo);
break;
end;