Regelfehler - Logik-fehler?
Verfasst: 12. Mai 2019 21:54
Hallo openHABforum.de-Mitglieder,
ich nutze OpenHab seit Oktober 2018 und bin bisher mit der suche im Internet oder Foren ausgekommen. Ob es die Einbindung von Shellys per MQTT, oder das störische "Velux-Binding" war, auch bei meinen Regeln hab ich mir alles aus dem Netz zusammen gesucht. Nur bei meiner aktuellen Regel scheine ich einen Fehler zu haben den ich nicht sehe:
Beim import meldet OpenHab keinen Fehler! Später, wahrscheinlich wenn es ausführen will steht in der LOG:
Meine Rule kommt am Ende. Die sich aus meiner Sicht von selbst erklärt - aber das trifft nicht auf andere zu. Also erkläre ich mal möglichst genau
Was will ich mit der Regel bezwecken:
Ich hab 3 automatische Veluxfenster, 1 mit Insektenschutz (FensterMitte) und zwei Ohne (Fenster Links und rechts = FensterLuR)
Die Steuereung erfolg über Szenen d.h. jeder Vorgang ist mit einem SWITCH-Item gekoppelt (z.B. FensterMitte_auf)
Ich habe drei Modi festgelegt: -- auf=ganz geöffnet, -- zu=zu, -- Lüftung(mit luft abgekürzt)= die Lüftungsklappe geöffnet,Fenster aber zu.
Item-Fensterautomatik = Dummi zum an- und ausschalten der Regel
Item-Dachboden_Heizung = Heizkörperthermostat mit SOLL Termperatur
Im Sommer soll bei warmen Temperaturen z.B. Sonnenuntergang die Fenster geöffnet werden (das Fenster_Mitte dürfte die ganze Nacht geöffnet bleiben weil Insektenschutz) in der Heizperiode im Winter jedoch nicht (bzw. wenn Heizkörper SOLL erhöht ist - ich möchte ja nicht durch das offene Fenster heizen )
Die Veluxfenster verfügen über einen Regensensor der automatich schließt und erst bei "trockenheit" wieder öffnet
Ich hoffe ich hab bei meiner Einführung kein wichtiges Detail vergessen oder mich unverständlich ausgedrückt, und hier meine Regel:
Ich freue mich wenn Ihr mal drüber schauen könnt - da ich sie gern erweitern würde aber erst wenn Sie -bis hierher- ohne Probleme funktioniert. Ich glaube das ich ein Zirkelbezug habe- sehe Ihn aber nicht.
Besten Dank und
viele Grüße
Zubertus
ich nutze OpenHab seit Oktober 2018 und bin bisher mit der suche im Internet oder Foren ausgekommen. Ob es die Einbindung von Shellys per MQTT, oder das störische "Velux-Binding" war, auch bei meinen Regeln hab ich mir alles aus dem Netz zusammen gesucht. Nur bei meiner aktuellen Regel scheine ich einen Fehler zu haben den ich nicht sehe:
Beim import meldet OpenHab keinen Fehler! Später, wahrscheinlich wenn es ausführen will steht in der LOG:
Code: Alles auswählen
Rule 'Fenster auf am Abend bei Wärme': An error occurred during the script execution: Could not invoke method: org.eclipse.smarthome.model.script.lib.NumberExtensions.operator_lessThan(org.eclipse.smarthome.core.types.Type,java.lang.Number) on instance: null
Was will ich mit der Regel bezwecken:
Ich hab 3 automatische Veluxfenster, 1 mit Insektenschutz (FensterMitte) und zwei Ohne (Fenster Links und rechts = FensterLuR)
Die Steuereung erfolg über Szenen d.h. jeder Vorgang ist mit einem SWITCH-Item gekoppelt (z.B. FensterMitte_auf)
Ich habe drei Modi festgelegt: -- auf=ganz geöffnet, -- zu=zu, -- Lüftung(mit luft abgekürzt)= die Lüftungsklappe geöffnet,Fenster aber zu.
Item-Fensterautomatik = Dummi zum an- und ausschalten der Regel
Item-Dachboden_Heizung = Heizkörperthermostat mit SOLL Termperatur
Im Sommer soll bei warmen Temperaturen z.B. Sonnenuntergang die Fenster geöffnet werden (das Fenster_Mitte dürfte die ganze Nacht geöffnet bleiben weil Insektenschutz) in der Heizperiode im Winter jedoch nicht (bzw. wenn Heizkörper SOLL erhöht ist - ich möchte ja nicht durch das offene Fenster heizen )
Die Veluxfenster verfügen über einen Regensensor der automatich schließt und erst bei "trockenheit" wieder öffnet
Ich hoffe ich hab bei meiner Einführung kein wichtiges Detail vergessen oder mich unverständlich ausgedrückt, und hier meine Regel:
Ich freue mich wenn Ihr mal drüber schauen könnt - da ich sie gern erweitern würde aber erst wenn Sie -bis hierher- ohne Probleme funktioniert. Ich glaube das ich ein Zirkelbezug habe- sehe Ihn aber nicht.
Code: Alles auswählen
rule "Fenster auf am Abend bei Wärme"
when
Item Dachboden_Temperature changed or
Channel 'astro:sun:local:set#event' triggered START or
Item FensterTest_zu changed to ON
then
if((Dachboden_Temperature.state >= 20) && (Dachboden_Heizung.state <= 18) && (Fensterautomatik.state == ON) && (Outside_Temperature.state <= Dachboden_Temperature)) {
createTimer(now.plusSeconds(5)) [| sendCommand(FensterMitte_auf, ON) ]
createTimer(now.plusSeconds(5)) [| sendCommand(FensterLuR_auf, ON) ]
createTimer(now.plusMinutes(15)) [| sendCommand(FensterLuR_luft, ON) ]
}
end
rule "Fenster wieder zu bei kalte oder Luftung"
when
Item Dachboden_Temperature changed or
Item Outside_Temperature changed or
Item FensterTest_zu changed to ON
then
if((Dachboden_Temperature.state <= 20) && (Fensterautomatik.state == ON) && (Outside_Temperature.state >= 15)) {
createTimer(now.plusSeconds(30)) [| sendCommand(FensterMitte_luft, ON) ]
createTimer(now.plusSeconds(30)) [| sendCommand(FensterLuR_luft, ON) ]
}
if((Dachboden_Temperature.state <= 20) && (Fensterautomatik.state == ON) && (Outside_Temperature.state <= 15)) {
createTimer(now.plusSeconds(30)) [| sendCommand(FensterMitte_zu, ON) ]
createTimer(now.plusSeconds(30)) [| sendCommand(FensterLuR_zu, ON) ]
}
if((Dachboden_Temperature.state <= 17) && (Fensterautomatik.state == ON)) {
createTimer(now.plusSeconds(30)) [| sendCommand(FensterMitte_zu, ON) ]
createTimer(now.plusSeconds(30)) [| sendCommand(FensterLuR_zu, ON) ]
}
if(Outside_Temperature.state <= 5) {
createTimer(now.plusSeconds(45)) [| sendCommand(FensterMitte_zu, ON) ]
createTimer(now.plusSeconds(45)) [| sendCommand(FensterLuR_zu, ON) ]
}
end
rule "rechts und Links am Abend zu"
when
Channel 'astro:sun:local:set#event' triggered END or
Item FensterTest_zu changed to ON
then
if((Fensterautomatik.state == ON) && (Outside_Temperature.state >= 15)) {
createTimer(now.plusSeconds(30)) [| sendCommand(FensterLuR_luft, ON) ]
}
end
Besten Dank und
viele Grüße
Zubertus