ich verfolge in History einige Parameter, vor kurzem ist mit aufgefallen, dass History die Daten nicht in dem Maße archiviert, wie sie zur Verfügung stehen.
Im nachfolgendem Memo berechne ich jede halbe Stunde Werte zum Ölverbrauch meine Heizung, jedoch werden die Daten nicht jede halbe Stunde erfasst?
(es werden noch andere Grundeinstellungen durchgeführt, meines Erachtens nichts kompliziertes).
Code: Alles auswählen
//Funktion: Zeiten für unterschiedliche Aktionen setzen
//Bemerkung:
// 1l Öl sind 10,08 kWh/l
//198 m² Wohnfläche
starte(Makro_Meldungen)
warte("00:00:10")
Meldung1:=Datum + " " + Uhrzeit + " Makro B_001MemoZeiten wurde aufgerufen"
//Sonnenschutz Rollo Merker zurücksetzen
wenn Uhrzeit >= "23:00:00" dann
B_003TempStRollo.TempFlag:=0
endewenn
//Heizungspumpe im Sommer sporadisch laufen lassen
Wenn Wochentag = "Samstag" und Uhrzeit zwischen "10:00:00" und "11:30:00" und A_010HeizungAnAus = 0 dann
Setzewert(UPuScha_HeizUmwaelzpumpe,"EINSCHALTZEIT",300)
UPuScha_HeizUmwaelzpumpe:=1
endewenn
//Durchschnittswerte ermitteln Ölverbrauch ermitteln
DatumEingBetrHZaehler := C_006ErfassungVorratHeizoel //Übergabe aus Objekt Datum Uhrzeit Inventur Heizöl
Oelverbrauch := C_012OelVerbrauchSeitInventur
warte("00:00:05")
DatumAktuell := Datum +" " + Uhrzeit
ZeitDauer1 := DatumAktuell - DatumEingBetrHZaehler //Ermittlung Zeitdifferenz seit Inventur
C_009TagesverbrauchOel := Oelverbrauch * 86400 / ZeitDauer1 //68400 s entspr ein Tag; Übergabe Ergebnis in Objekt / Anzeige
warte("00:00:05")
C_010WochenverbrauchOel := (Oelverbrauch * 86400 / ZeitDauer1) * 7 //Übergabe Ergebnis in Objekt / Anzeige
warte("00:00:05")
C_011MonatsverbrauchOel := (Oelverbrauch * 86400 / ZeitDauer1) * 30 //Übergabe Ergebnis in Objekt / Anzeige
warte("00:00:05")
Anz_SpezHeizbed := (Oelverbrauch * 86400 / ZeitDauer1) * 10,08 * 365/198 //Übergabe Ergebnis in Objekt / Anzeige
//Diverses
Wenn Sonnenuntergang < "20:30:00" dann
RollAb := Sonnenuntergang + "00:30:00"
endewenn
Wenn Sonnenuntergang >= "20:30:00" dann
RollAb := "21:00:00"
endewenn
RollAlUntereZgr := RollAb - "04:00:00"
RollAlObereZgr := RollAb - "00:00:10"
wenn Uhrzeit > "22:00:00" dann
A_009RolladenAlarmBewegung.ZaehlerAlarm:=0
endewenn
D_007RolladenAlarmObereZeitgr:=RollAlObereZgr
D_008RolladenAlarmUntereZeitgr:=RollAlUntereZgr
D_009ZeitRolloAb:=RollAb
D_001AnzSonnenaufgang:=Sonnenaufgang
D_002AnzSonnenuntergang:=Sonnenuntergang
ALLEWERTESICHERN
starte(Makro_Meldungen)
warte("00:00:10")
Meldung1:=Datum + " " + Uhrzeit + " Zeitmakro und Allewertesichern abgearbeitet"