Anstieg von rel. Luftfeuchtigkeit berechnen

Hallo zusammen,

ich bin neu hier im Forum und auch noch relativ neu im Symcon Umfeld. Meine ersten Gehversuche mit der Software waren schon super und ich habe auch schon die ersten einfachen Skripte für mich geschrieben.

Ich habe hier zu Hause eine KNX Installation und möchte im Badezimmer die Szene „Duschen“ aufrufen, sobald sich der Wert der relativen Luftfeuchtigkeit innerhalb der letzten 2 Minuten um n% nach oben verändert hat.

Leider fehlt mir absolut der Ansatz, wie ich das berechne, bzw. wie ich mir die Daten hole.

Ich gehe davon aus, dass ich auf jeden Fall die Werte archivieren muss, oder?
Hat eventuell jemand von euch schon mal sowas gescripted und kann mir einen Hinweis geben?

Variable loggen. Script bei Onchange (über Event) ausführen. Hier die letzten x-Archivwerte abfragen und verrechnen.

Um selbst mal wieder etwas mit PHP zu üben habe ich einen Beispielcode gebaut. Geht bestimmt noch kürzer, wenn man fit in PHP ist, aber es funktioniert auch so.

Der Code holt die Mittelwerte der letzten 30 Minuten = 1800s aus dem Archiv und nutzt dabei die 5-minütige Aggregation. Das sind 7 Werte in 5-Minuten-Intervallen, die als Array zurückgegeben werden. Daraus wird in der foreach-Schleife dann ein Mittelwert über die 30 Minuten gebildet.

Was noch fehlt ist die Abfrage ob der aktuelle Wert um xx Prozentpunkte drüber liegt, aber das bekommst du selbst hin.

Viel Erfolg!
Volker


$archivID = 18193;
$valueID = 29154;
$aggregation_level = 5; //	5-Minütige Aggregation (Aus Rohdaten berechnet)
$periodlength = 30*60; // 30 Minuten

$value_array = AC_GetAggregatedValues($archivID, $valueID, $aggregation_level, time()-$periodlength, time(), 0);
// var_dump($value_array);

$value_count=0;
$value_sum=0;
foreach ($value_array as $value) {
  $value_sum = $value_sum + $value['Avg'];
  $value_count = $value_count+1;
}  
$average_value = $value_sum/$value_count;