Hallo
gegeben ist eine Boolsche Variable welche gelogged wird.
dieser Code gibt mir:
$data = AC_GetLoggedValues($archiveHandlerID, $variableID, time()-(3600*24*5), time(), 1000);
print_r($data);
Array
(
[0] => Array
(
[Duration] => 1
[LastTime] => 1308955917
[TimeStamp] => 1308955917
[Value] => 1
)
[1] => Array
(
[Duration] => 5
[LastTime] => 1308955912
[TimeStamp] => 1308955912
[Value] => 0
)
[2] => Array
(
[Duration] => 30431
[LastTime] => 1308925488
[TimeStamp] => 1308925481
[Value] => 1
)
[3] => Array
(
[Duration] => 8
[LastTime] => 1308788784
[TimeStamp] => 1308788777
[Value] => 1
)
[4] => Array
(
[Duration] => 8
[LastTime] => 1308702400
[TimeStamp] => 1308702393
[Value] => 1
)
[5] => Array
(
[Duration] => 9
[LastTime] => 1308615983
[TimeStamp] => 1308615975
[Value] => 1
)
[6] => Array
(
[Duration] => 8
[LastTime] => 1308599797
[TimeStamp] => 1308599790
[Value] => 1
)
[7] => Array
(
[Duration] => 8
[LastTime] => 1308529598
[TimeStamp] => 1308529591
[Value] => 1
)
[8] => Array
(
[Duration] => 8
[LastTime] => 1308443199
[TimeStamp] => 1308443192
[Value] => 1
)
)
Da Variable war bis auf die 5sec in [1] permanent auf TRUE.
Die Einträge von [2] bis[8] entstehen offensichtlich durch IPS Neustart nach der Datensicherung.
Wie interpretiere ich denn nun die Werte im Feld Duration ?
Soll das die Dauer zwischen zwei Einträgen sein ?
Bei alternierenden Einträgen haut das hin, aber bei aufeinanderfolgenden gleichen Einträgen stimmts net.
Scheinbar fällt dadurch auch die interne Datenaggregierung auf die Nase.
denn
$data = AC_GetAggregatedValues($archiveHandlerID, $variableID, 1, time()-(3600*24*5), time(), 1000);
print_r($data);
ergibt:
Array
(
[0] => Array
(
[Avg] => 1
[Duration] => 3126
[LastTime] => 1308961636
[Max] => 1
[MaxTime] => 1308952800
[Min] => 0
[MinTime] => 1308955912
[TimeStamp] => 1308952800
)
[1] => Array
(
[Avg] => 1
[Duration] => 27319
[LastTime] => 1308952799
[Max] => 1
[MaxTime] => 1308925481
[Min] => 1
[MinTime] => 1308925481
[TimeStamp] => 1308866400
)
[2] => Array
(
[Avg] => 1
[Duration] => 8
[LastTime] => 1308788784
[Max] => 1
[MaxTime] => 1308788777
[Min] => 1
[MinTime] => 1308788777
[TimeStamp] => 1308780000
)
[3] => Array
(
[Avg] => 1
[Duration] => 8
[LastTime] => 1308702400
[Max] => 1
[MaxTime] => 1308702393
[Min] => 1
[MinTime] => 1308702393
[TimeStamp] => 1308693600
)
[4] => Array
(
[Avg] => 1
[Duration] => 9
[LastTime] => 1308615983
[Max] => 1
[MaxTime] => 1308615975
[Min] => 1
[MinTime] => 1308615975
[TimeStamp] => 1308607200
)
)
Da stimmt doch was nicht.
Die von Horst hier http://www.ip-symcon.de/forum/f52/einschaltdauer-geloggten-variablen-berechnen-14340/#post122194 vorgeschlagene Berechnung der Einschaltdauer kann so auch nicht funktionieren.
Das wären nämlich nur 8.4Std. Einschaltdauer, obwohl die variable seit 5 Tagen permanent TRUE ist.
gruß
bb