Hallo zusammen!
Ich habe ein kleines Problem mit einer Rule in OH 3.
In OH2 sah sie so aus:
Erklärung dazu: Wenn der Schalter "Heizung" (ein einfaches Item) auf ON steht, dann sollen sich die Heizpumpen einschalten, wenn das Gruppenitem meldet, dass sich eines der Heizventile einschaltet.
Ist "Heizung" auf OFF, dann passiert gar nichts, wenn sich ein Heizventil einschaltet (zB an einem kühlen Tag im Sommer). Schaltet sich das Heizventil aus, dann schaltet sich auch die Pumpe ab.
Der Code in OH 3 sieht nun so aus:
Wie kriege ich den "else" Befehl hinein? Ich habe versucht die alte Rule im Editor einzuarbeiten, erhalte aber dann ständig Fehlermeldungen.
Um es ein bisschen zu steigern, habe ich eine temperaturabhängige Schaltung als Frostwächter, hier OH2:
Kann das in OH3 so stimmen bzw. wie kriege ich wieder else OFF unter:
Vielen Dank im Voraus für die Hilfe!
Ich habe ein kleines Problem mit einer Rule in OH 3.
In OH2 sah sie so aus:
Code:
rule "Pumpe EG und OG" when Item HO_EG_OG changed then if (Heizung.state==ON) Pumpe_EG_OG.sendCommand(if(HO_EG_OG.state != OFF) ON else OFF)
Ist "Heizung" auf OFF, dann passiert gar nichts, wenn sich ein Heizventil einschaltet (zB an einem kühlen Tag im Sommer). Schaltet sich das Heizventil aus, dann schaltet sich auch die Pumpe ab.
Der Code in OH 3 sieht nun so aus:
Code:
triggers: - id: "1" configuration: itemName: KNXHeizungoben command: ON type: core.ItemCommandTrigger conditions: - inputs: {} id: "3" configuration: itemName: Heizung state: ON operator: = type: core.ItemStateCondition actions: - inputs: {} id: "2" configuration: itemName: KNXJalousienEG2undGerate_HeizpumpeEGundOG command: ON type: core.ItemCommandAction
Um es ein bisschen zu steigern, habe ich eine temperaturabhängige Schaltung als Frostwächter, hier OH2:
Code:
rule "Pumpe Garage" when Time cron "0 0/20 * * * ?" then if(Heizung.state==ON) { if(!(Grad_WE_Aussentemperatur.state instanceof Number)) { logError("pumpe_garage","Außenfühler hat keinen gültigen Wert!") return; } if(!(ActualTemperature_GA_Garage.state instanceof Number)) { logError("pumpe_garage","Innenfühler hat keinen gültigen Wert!") return; } Pumpe_Garage.sendCommand(if((Grad_WE_Aussentempera tur.state as Number) < -3 || (ActualTemperature_GA_Garage.state as Number) < 2) ON else OFF) } else { if(Pumpe_Garage.state != OFF) Pumpe_Garage.sendCommand(OFF) } end
Code:
triggers: - id: "1" configuration: itemName: KNXAussentemperatur_Aussentemperatur1fC state: =< 1 type: core.ItemStateChangeTrigger conditions: - inputs: {} id: "3" configuration: itemName: Heizung state: ON operator: = type: core.ItemStateCondition actions: - inputs: {} id: "2" configuration: itemName: KNXJalousienEG2undGerate_HeizpumpeKeller command: ON type: core.ItemCommandAction
Kommentar