Ereignisse und Bedingungen

Hallo,

ich bin gerade dabei für unsere KWL ein kleines Skript zu schreiben welches die Intensität der Lüfter regelt bzw. die einzelnen Belüftungsstufen abbildet. Dabei soll es auch eine Sommerregelung geben die, sobald eine bestimmte Temperatur überschritten oder unterschritten ist, die Belüftungsstufe reduziert bzw. erhöht.

Der Übersicht halber habe ich mir die Temperatur ab wann die Sommerregelung greift in eine Variable gespeichert, da ich diesen Wert ggf. noch öfters anpassen muss. Jetzt habe ich zwei Ereignisse für das Skript angelegt mit Grenzüberschreitung und Grenzunterschreitung, doch dort muss ich jeweils die z.b 28°C eintragen und kann nicht auf den Wert einer Variable referenzieren. Alternativ könnte ich die Prüfung auch ein einem Skript vornehmen und mir dort den Wert der Variable auslesen, aber bei jeder Temperaturänderung das Skript aufzurufen ist ja auch nicht so toll. Gibt es da eine elegante Lösung für?

Hab’s jetzt gerade nicht parat aber du kannst über ein Script die Bedingung bearbeiten. Das hab ich bei meiner PV Überschuss Steuerung so gelöst. So kann ich einfach einstellen ab wie viel Watt etwas geschaltet wird und das Ereignis schaltet dementsprechend…

schau mal hier:
IPS_SetEventConditionVariableRule

https://www.symcon.de/service/dokumentation/befehlsreferenz/ereignisverwaltung/ips-seteventconditionvariablerule/

Im Prinzip schon nicht schlecht, aber das Skript müsste dann ja trotzdem bei jeder Temperaturänderung laufen lassen oder nicht? Also ein Ereignis bei Temperaturänderung und als Bedingungen Temperaturschwelle >= 25°C oder Temperaturschwelle < 25°C. Da würde eine Bedingung ja immer zutreffen und das Skript ausgeführt werden. Im Prinzip brauche ich die Grenzwertüberschreitung / Unterschreitung nur mit Referenz auf den Wert einer Variable, sodass das Skript wirklich nur einmal ausgeführt wird wenn die 25°C (Wert der Variable) über- oder unterschritten werden.

Kannst ja beim Ereignis wählen ob es auch bei nachfolgenden Änderungen etc. ausgeführt werden soll oder nur beim ersten Mal wenn alle Bedingungen zutreffen. Das Script wird dann nur beim ersten Mal ausgeführt und nicht jedes Mal wenn die Temperatur sich ändert.

OK ich habe es jetzt wie folgt gelöst,
Aktionsskript auf die Variable mit der Temperaturschwelle und dort wird mit

IPS_SetEventTriggerValue (integer $EreignisID, variant $Grenzwert)

dann der Wert vom Ereignis aktualisiert. Klappt wunderbar :loveips: