Rules funktionieren nicht

Allgemeine Fragen zum Thema "Smart Home" und Entscheidungshilfen

Moderator: seppy

mh1984
Beiträge: 7
Registriert: 4. Okt 2020 06:54
Answers: 0

Rules funktionieren nicht

Beitrag von mh1984 »

Hallo

ich spiele im moment mit den Regeln rum. aber so richtig klappt es nicht.
Der Heizkörper soll in der Woche von 6-7Uhr heizen und von 14-21Uhr, am Wochenende von 7-21Uhr

Irgendwie klappt es nicht. Vieleicht kann mir jemand helfen

MFG
Michael

Code: Alles auswählen

//Montag bis Freitag//

    //AN Früh//
rule "Heizen AN Früh"
when
    Time cron "* 0 6 ? * 1-5"    
then
    Bad_Solltemperatur.sendCommand(21)
end

    //AUS Früh//
rule "Heizen AUS Früh"
when
    Time cron "* 0 7 ? * 1-5"    
then
    Bad_Solltemperatur.sendCommand(18)
end

    //AN Nachmittag//
rule "Heizen AN Nachmittag"
when
    Time cron "* 0 14 ? * 1-5"    
then
    Bad_Solltemperatur.sendCommand(21)
end

    //AUS Nachmittag//
rule "Heizen AUS Nachmittag"
when
    Time cron "* 0 21 ? * 1-5"    
then
    Bad_Solltemperatur.sendCommand(18)
end

//Wochende//

    //AN//
rule "Heizen AN Wochenende"
when
    Time cron "* 0 21 ? * 6-7"    
then
    Bad_Solltemperatur.sendCommand(25)
end

    //AUS//
rule "Heizen AUS Wochenende"
when
    Time cron "* 0 21 ? * 6-7"    
then
    Bad_Solltemperatur.sendCommand(18)
end

Benutzeravatar
udo1toni
Beiträge: 14001
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Rules funktionieren nicht

Beitrag von udo1toni »

mh1984 hat geschrieben:Hallo

ich spiele im moment mit den Regeln rum. aber so richtig klappt es nicht.
Der Heizkörper soll in der Woche von 6-7Uhr heizen und von 14-21Uhr, am Wochenende von 7-21Uhr

Irgendwie klappt es nicht. Vieleicht kann mir jemand helfen

MFG
Michael
Aber gerne :)

Code: Alles auswählen

rule "Heizen Komfort"
when
    Time cron "0 0  6 ? * MON-FRI" or // Montag bis Freitag 06:00:00 Uhr
    Time cron "0 0 14 ? * MON-FRI" or // Montag bis Freitag 14:00:00 Uhr
    Time cron "0 0  7 ? * SAT,SUN"    // Samstag und Sonntag 07:00:00 Uhr
then
    Bad_Solltemperatur.sendCommand(21)
end

rule "Heizen Nachtabsenkung"
when
    Time cron "0 0 7 ? * MON-FRI" or // Montag bis Freitag 07:00:00 Uhr
    Time cron "0 0 21 ? * MON-FRI" or // Montag bis Freitag 21:00:00 Uhr
    Time cron "0 0 21 ? * SAT,SUN"    // Samstag und Sonntag 21:00:00 Uhr
then
    Bad_Solltemperatur.sendCommand(18)
end
Strenggenommen könnte man in der „Ausschaltrule“ einfach auf die Wochentag verzichten, da ja beide Male um 21 Uhr geschaltet wird.

Gesendet von iPad mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

mh1984
Beiträge: 7
Registriert: 4. Okt 2020 06:54
Answers: 0

Re: Rules funktionieren nicht

Beitrag von mh1984 »

Hallo

Vielen dank :) :)

Mfg
Michael

mh1984
Beiträge: 7
Registriert: 4. Okt 2020 06:54
Answers: 0

Re: Rules funktionieren nicht

Beitrag von mh1984 »

Hallo

Ich nochmal😋

Gibt es eine Möglichkeit per Switch eine Thermostat von den Regeln auszuschließen? Nehmen wir Mal jetzt Bad als Beispiel. Wenn ich sagen will das Bad solange aus sein soll bis ich den Switch wieder sage on

Mfg
Michael

Benutzeravatar
udo1toni
Beiträge: 14001
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Rules funktionieren nicht

Beitrag von udo1toni »

Ja sicher. Dafür nutzt Du einfach eine if-Anweisung und den Status des betreffenden Schalters. Fast jede Rule in fast jedem Thread hier enthält solche Bedingungen...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

mh1984
Beiträge: 7
Registriert: 4. Okt 2020 06:54
Answers: 0

Re: Rules funktionieren nicht

Beitrag von mh1984 »

Hallo

das mit dem Schalter habe ich verstanden. Aber wie sage ich der Regel das bei Schalter aus eine Regel ausgeführt werden soll?
Dazu hab ich nicht so richtig was gefunden

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Rules funktionieren nicht

Beitrag von Darkwin101 »

Code: Alles auswählen

Rule "Schalter"
when 
Item Schalter changed  //triggerd bei Änderung deines Schalters 
then
....    //Hier die Anweisungen die du Asuführen willst
end
Dieser Code wird immer ausgeführt wenn sich der Schalter ändert also bei Änderung ON-OFF sowie OFF-ON, du musst also in den Anweisung nochmal unterscheiden was bei ON und was bei OFF passieren soll.
Wenn du nur auf OFF reagieren willst kannst du auch changed to OFF nehmen und anders herum auf changed to ON

mh1984
Beiträge: 7
Registriert: 4. Okt 2020 06:54
Answers: 0

Re: Rules funktionieren nicht

Beitrag von mh1984 »

Darkwin101 hat geschrieben: 11. Okt 2020 19:25

Code: Alles auswählen

Rule "Schalter"
when 
Item Schalter changed  //triggerd bei Änderung deines Schalters 
then
....    //Hier die Anweisungen die du Asuführen willst
end
Dieser Code wird immer ausgeführt wenn sich der Schalter ändert also bei Änderung ON-OFF sowie OFF-ON, du musst also in den Anweisung nochmal unterscheiden was bei ON und was bei OFF passieren soll.
Wenn du nur auf OFF reagieren willst kannst du auch changed to OFF nehmen und anders herum auf changed to ON
Verstehe ich das richtig? Wenn ich schreibe Item Switch changed to Off wird Thermostat auf 20 Grad gestellt. Und wenn ich den Schalter wieder anmache läuft das Thermostat mit der normalen Regel weiter?

Benutzeravatar
PeterA
Beiträge: 1052
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Rules funktionieren nicht

Beitrag von PeterA »

So könnte Deine Rule mit jeweils einem Schalter aussehen:

Code: Alles auswählen

rule "Heizen Komfort"
when
    Time cron "0 0  6 ? * MON-FRI" or // Montag bis Freitag 06:00:00 Uhr
    Time cron "0 0 14 ? * MON-FRI" or // Montag bis Freitag 14:00:00 Uhr
    Time cron "0 0  7 ? * SAT,SUN"    // Samstag und Sonntag 07:00:00 Uhr
then
    if (Bad_Heizen_Komfort.state==ON) { // Das ist das Switch Item, ON bedeutet sendCommand wird ausgeführt
            Bad_Solltemperatur.sendCommand(21)
    }
end

rule "Heizen Nachtabsenkung"
when
    Time cron "0 0 7 ? * MON-FRI" or // Montag bis Freitag 07:00:00 Uhr
    Time cron "0 0 21 ? * MON-FRI" or // Montag bis Freitag 21:00:00 Uhr
    Time cron "0 0 21 ? * SAT,SUN"    // Samstag und Sonntag 21:00:00 Uhr
then
    if (Bad_Heizen_Absenkung.state==ON) { // Das ist das Switch Item, ON bedeutet sendCommand wird ausgeführt
            Bad_Solltemperatur.sendCommand(18)
    }
end
Ohne Gewähr :)
- OpenHab 2.4
#PWRUP

Tobii
Beiträge: 53
Registriert: 18. Sep 2020 19:43
Answers: 0

Re: Rules funktionieren nicht

Beitrag von Tobii »

Spart man sich mit solchen Rules Heizkosten?

Antworten