Unterstützung zur Erstellung einer Rule
- udo1toni
- Beiträge: 15440
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: Unterstützung zur Erstellung einer Rule
Du willst nur, dass ich erröte...

openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)
- peter-pan
- Beiträge: 2814
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Unterstützung zur Erstellung einer Rule
Nee, nee. Ich spreche ein wahres Wort nur gelassen aus. Ehre wem Ehre gebührt

Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian
- PeterA
- Beiträge: 1107
- Registriert: 8. Feb 2019 12:12
Re: Unterstützung zur Erstellung einer Rule
Ich merke, hier gibt es auch einen Lehrauftrag 
- OpenHab
#PWRUP
#PWRUP
-
ollis112
- Beiträge: 109
- Registriert: 18. Aug 2018 11:36
- Wohnort: Alsbach-Hähnlein
Re: Unterstützung zur Erstellung einer Rule
Wo er recht hat..... 
Openhab3.3.0, openhabian auf Ubuntu, Gigabyte Brix, Z-Wave, Zigbee, Enocean
- PeterA
- Beiträge: 1107
- Registriert: 8. Feb 2019 12:12
Re: Unterstützung zur Erstellung einer Rule
Hallo nochmal zusammen 
Hab noch mal eine Frage zu meiner Rule (etwas aktualisiert):
Könnte man die Rule so abändern das die "when" Bedinung der Switch "Lueftung_min_max_Temp" ist und nicht der Change der "Aussenluft" ?
Also quasi umgekehrt ?
Hab noch mal eine Frage zu meiner Rule (etwas aktualisiert):
Code: Alles auswählen
when
Item Aussenluft changed // WAC350 Sensor
then
if(Lueftung_min_max_Temp.state != ON) return; // wenn Schalter aus(nicht an) , keine Aktionen
if(!(Aussenluft.state instanceof Number)) {
logWarn("Aussenluft manuell","Aussenluft.state not a Number: {}",Aussenluft.state) // numerisch ?
return;
}
if (Aussenluft.state >= AussenGrenzMax_Set.state && FanStandby_switch.state != 0) {
FanStandby_Switch.sendCommand(0)
logInfo("Aussenluft manuell","LuefterStufe ist jetzt: {} Aussenluft beträgt {}",LuefterStufe.state,Aussenluft.state )
}
else if (AussenTemp.state <= AussenGrenzMin_Set.state && FanStandby_Switch.state != 1) { // LaCrosse Sensor
FanStandby_Switch.sendCommand(1)
logInfo("Aussenluft manuell","LuefterStufe ist jetzt: {} AussenTemp beträgt {}",LuefterStufe.state,AussenTemp.state)
}
endAlso quasi umgekehrt ?
- OpenHab
#PWRUP
#PWRUP
- peter-pan
- Beiträge: 2814
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Unterstützung zur Erstellung einer Rule
Hallo Peter,
klar das kannst du
. Aber das Ergebnis wird dich wahrscheinlich nicht befriedigen. So wie ich das sehe, wird dann deine Regel genau einmal durchlaufen, nämlich dann, wenn du den Schalter anmachst. (wenn du nur changed machst, dann auch bei aus). Es fehlt dann der eigentliche Trigger für die Prüfung der Werte.
Gruss - Peter
klar das kannst du
Gruss - Peter
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian
- PeterA
- Beiträge: 1107
- Registriert: 8. Feb 2019 12:12
Re: Unterstützung zur Erstellung einer Rule
Und wieder eine Frage zu meiner Rule:
Diese wird ja "aktiviert" über einen Softschalter:
Und dann sollte die Rule bei einem Change von "AussenTemp" ablaufen.
hier kommt der Change:
Achso der Setpoint "AussenGrenzMAX" ist 19° also müsste ja die Rule ablaufen.
Es passiert aber nichts...
EDIT:
Oder kann das daran liegen das der Setpoint so aussieht ?:
Dh. die Rule wartet auf einen Wert ohne Komma ?
EDIT2:
Jupp so war es, ich musste die beiden Grenzwert Items in der PaperUI noch auf "Temperature" stellen.
Passt!
Mal sehen ob die Lüfter bei erreichen der GrenzMin wieder anlaufen....
Code: Alles auswählen
rule "Aussenluft manuell"
when
Item AussenTemp changed // LaCrosse Sensor
then
if(Lueftung_min_max_Temp.state != ON) return; // wenn Schalter aus(nicht an) , keine Aktionen
if(!(AussenTemp.state instanceof Number)) {
logWarn("Lüftung manuell","AussenTemp.state not a Number: {}",AussenTemp.state) // numerisch ?
return;
}
if (AussenTemp.state >= AussenGrenzMax_Set.state && FanStandby_Switch.state != 0) {
FanStandby_Switch.sendCommand(ON)
logInfo("Lüftung manuell","LuefterStufe ist jetzt: {} AussenTemp beträgt {}",LuefterStufe.state,AussenTemp.state )
}
else if (AussenTemp.state <= AussenGrenzMin_Set.state && FanStandby_Switch.state != 1) { // LaCrosse Sensor
FanStandby_Switch.sendCommand(OFF)
logInfo("Lüftung manuell","LuefterStufe ist jetzt: {} AussenTemp beträgt {}",LuefterStufe.state,AussenTemp.state)
}
endCode: Alles auswählen
2019-02-28 13:49:00.375 [ome.event.ItemCommandEvent] - Item 'Lueftung_min_max_Temp' received command ON
2019-02-28 13:49:00.381 [vent.ItemStateChangedEvent] - Lueftung_min_max_Temp changed from OFF to ONhier kommt der Change:
Code: Alles auswählen
2019-02-28 13:49:44.750 [vent.ItemStateChangedEvent] - AussenTemp changed from 18.9 °C to 19.0 °CEs passiert aber nichts...
EDIT:
Oder kann das daran liegen das der Setpoint so aussieht ?:
Code: Alles auswählen
2019-02-28 14:22:20.522 [ome.event.ItemCommandEvent] - Item 'AussenGrenzMax_Set' received command 18
2019-02-28 14:22:20.540 [vent.ItemStateChangedEvent] - AussenGrenzMax_Set changed from 17.5 to 18EDIT2:
Jupp so war es, ich musste die beiden Grenzwert Items in der PaperUI noch auf "Temperature" stellen.
Code: Alles auswählen
2019-02-28 14:42:45.665 [vent.ItemStateChangedEvent] - AussenTemp changed from 18.8 °C to 18.7 °C
2019-02-28 14:42:45.687 [ome.event.ItemCommandEvent] - Item 'FanStandby_Switch' received command ON
2019-02-28 14:42:45.694 [nt.ItemStatePredictedEvent] - FanStandby_Switch predicted to become ON
2019-02-28 14:42:45.693 [INFO ] [arthome.model.script.Lüftung manuell] - LuefterStufe ist jetzt: 1 AussenTemp beträgt 18.7 °C
2019-02-28 14:42:45.704 [vent.ItemStateChangedEvent] - FanStandby_Switch changed from OFF to ON
2019-02-28 14:42:55.099 [vent.ItemStateChangedEvent] - LuefterStufe changed from 1 to 0
2019-02-28 14:43:03.287 [vent.ItemStateChangedEvent] - Abluft changed from 19.5 to 19.6
2019-02-28 14:43:08.527 [vent.ItemStateChangedEvent] - Abluft changed from 19.6 to 19.5
2019-02-28 14:43:08.633 [vent.ItemStateChangedEvent] - Luefter1 changed from 35 to 0
2019-02-28 14:43:08.648 [vent.ItemStateChangedEvent] - Luefter2 changed from 35 to 0
Mal sehen ob die Lüfter bei erreichen der GrenzMin wieder anlaufen....
- OpenHab
#PWRUP
#PWRUP
- peter-pan
- Beiträge: 2814
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Unterstützung zur Erstellung einer Rule
Hallo Peter,
hab's nicht so genau angeschaut, aber du hast folgenden Code-Snipped:
Muss das nicht
heissen? Also FanStandby_Switch.sendCommand(0)
Probier's mal
hab's nicht so genau angeschaut, aber du hast folgenden Code-Snipped:
Code: Alles auswählen
if (AussenTemp.state >= AussenGrenzMax_Set.state && FanStandby_Switch.state != 0) {
FanStandby_Switch.sendCommand(ON)
logInfo("Lüftung manuell","LuefterStufe ist jetzt: {} AussenTemp beträgt {}",LuefterStufe.state,AussenTemp.state Code: Alles auswählen
if (AussenTemp.state >= AussenGrenzMax_Set.state && FanStandby_Switch.state != 0) {
FanStandby_Switch.sendCommand(0)
logInfo("Lüftung manuell","LuefterStufe ist jetzt: {} AussenTemp beträgt {}",LuefterStufe.state,AussenTemp.state Probier's mal
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian
- PeterA
- Beiträge: 1107
- Registriert: 8. Feb 2019 12:12
Re: Unterstützung zur Erstellung einer Rule
Ne... das ist etwas verwirrend, aber wenn Standby ON ist... geht die Anlage in Standbypeter-pan hat geschrieben: 28. Feb 2019 14:48 Hallo Peter,
hab's nicht so genau angeschaut, aber du hast folgenden Code-Snipped:Muss das nichtCode: Alles auswählen
if (AussenTemp.state >= AussenGrenzMax_Set.state && FanStandby_Switch.state != 0) { FanStandby_Switch.sendCommand(ON) logInfo("Lüftung manuell","LuefterStufe ist jetzt: {} AussenTemp beträgt {}",LuefterStufe.state,AussenTemp.stateheissen? Also FanStandby_Switch.sendCommand(0)Code: Alles auswählen
if (AussenTemp.state >= AussenGrenzMax_Set.state && FanStandby_Switch.state != 0) { FanStandby_Switch.sendCommand(0) logInfo("Lüftung manuell","LuefterStufe ist jetzt: {} AussenTemp beträgt {}",LuefterStufe.state,AussenTemp.state
Probier's mal
- OpenHab
#PWRUP
#PWRUP
- peter-pan
- Beiträge: 2814
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Unterstützung zur Erstellung einer Rule
Okeeeey
Aber du frägst doch auf FanStandby_Switch.state != 0 ab.
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian