Frage zur Verallgemeinerung von Rules
Verfasst: 3. Apr 2023 21:56
Hallo,
ich habe ein „Lüftungsregel“ erstellt, die nach Öffnen des Fensters einen Timer startet, die Heizung runterregelt und von Zeit zu Zeit eine Whatsapp mit der Aufforderung zum Schließen des Fensters sendet usw. Im Prinzip wechselt also der Zustand eines Items (der Fensterkontakt) und es werden der State mehrerer anderer Items modifiziert. So weit so gut.
Ich könnte jetzt für andere Räume mit Fensterkontakt und Thermostat die Regel natürlich kopieren und durch Ersetzung der Items anpassen. Ist aber redundant und nicht gut wartbar. Damit zur eigentlichen Frage: Wie kann ich die Regel so generalisieren, dass sie für mehrere Räume anwendbar ist? Für das auslösende Element geht’s über eine Gruppe und Filter, so wie ich das verstehe, aber wie geht das für die anderen beteiligten Items, zum Beispiel die Zielgröße des Thermostats? Kann man zum Beispiel dieses Item einer Variablen zuweisen und dann im Verlauf der Regel das Item durch Veränderung der Variablen ändern? Oder gibts da eine bessere Herangehensweise. Ich verwende grade übrigens RulesDSL als Scriptsprache. Danke für Eure Hinweise!
ich habe ein „Lüftungsregel“ erstellt, die nach Öffnen des Fensters einen Timer startet, die Heizung runterregelt und von Zeit zu Zeit eine Whatsapp mit der Aufforderung zum Schließen des Fensters sendet usw. Im Prinzip wechselt also der Zustand eines Items (der Fensterkontakt) und es werden der State mehrerer anderer Items modifiziert. So weit so gut.
Ich könnte jetzt für andere Räume mit Fensterkontakt und Thermostat die Regel natürlich kopieren und durch Ersetzung der Items anpassen. Ist aber redundant und nicht gut wartbar. Damit zur eigentlichen Frage: Wie kann ich die Regel so generalisieren, dass sie für mehrere Räume anwendbar ist? Für das auslösende Element geht’s über eine Gruppe und Filter, so wie ich das verstehe, aber wie geht das für die anderen beteiligten Items, zum Beispiel die Zielgröße des Thermostats? Kann man zum Beispiel dieses Item einer Variablen zuweisen und dann im Verlauf der Regel das Item durch Veränderung der Variablen ändern? Oder gibts da eine bessere Herangehensweise. Ich verwende grade übrigens RulesDSL als Scriptsprache. Danke für Eure Hinweise!