[V4.1.1] Custom Logik für Rasenbewässerung, ACHTUNG KI: führte zu Absturz Logik Subsystem (WD-2731)
Verfasst: Di Jun 03, 2025 10:15 pm
Hallo Logik begeisterte und Programmierer.
Ich habe unter anderen jetzt gelesen, dass harte Nüsse und so u.a. für LLM Experimente gesucht werden...
Hier war meine Anforderung an meine KI (ChatGPT):
Ziel der Logik für die Rasenbewässerung:
1. Automatische Bewässerung nur wenn:
Regenmenge der letzten 2 Stunden ist < 5 mm
UND (Temperatur aktuell > 24 °C ODER Durchschnitt der letzten 3 h > 23 °C)
UND Uhrzeit ist genau 04:30 Uhr
UND es besteht keine aktive Sperre (36 h)
2. Manuelle Aktivierung möglich
z. B. per Taster oder über Visu
Diese umgeht alle Bedingungen außer der Sperre
3. Sperrlogik (36h):
Nach manuellem Start oder
wenn Regen ≥ 5 mm in 2h
→ wird eine Sperre aktiviert (Monoflop)
→ Dauer: 36 Stunden (129600 Sekunden)
Hinweis: Ich wollte 3 Tage Sperre, hab aber 36h bei der Erstellung angegeben. 3 Tage Nacht mehr Sinn, aber tut der Logik ja nichts zur Sache.
Heraus kam folgende Logik:
Diese Logik führte u.a. zum Absturz des gesamten Logik Subsystems!!!!
Wenn die Logik auch nicht vollends passend umgeschrieben werden kann, vielleicht hilft es ja heraus zu finden, was genau da zum Fehler führte Oder hilft euch bei Erstellung der eigenen KI für die Logikengine?
Ich habe unter anderen jetzt gelesen, dass harte Nüsse und so u.a. für LLM Experimente gesucht werden...
Hier war meine Anforderung an meine KI (ChatGPT):
1. Automatische Bewässerung nur wenn:
Regenmenge der letzten 2 Stunden ist < 5 mm
UND (Temperatur aktuell > 24 °C ODER Durchschnitt der letzten 3 h > 23 °C)
UND Uhrzeit ist genau 04:30 Uhr
UND es besteht keine aktive Sperre (36 h)
2. Manuelle Aktivierung möglich
z. B. per Taster oder über Visu
Diese umgeht alle Bedingungen außer der Sperre
3. Sperrlogik (36h):
Nach manuellem Start oder
wenn Regen ≥ 5 mm in 2h
→ wird eine Sperre aktiviert (Monoflop)
→ Dauer: 36 Stunden (129600 Sekunden)
Hinweis: Ich wollte 3 Tage Sperre, hab aber 36h bei der Erstellung angegeben. 3 Tage Nacht mehr Sinn, aber tut der Logik ja nichts zur Sache.
Heraus kam folgende Logik:



Code: Alles auswählen
{
"Level": [
["$Rain_2h", "float", 0],
["$Temp_now", "float", 25],
["$Temp_3h_avg", "float", 24],
["$Hour", "int", 4],
["$Min", "int", 30],
["$LockActive", "int", 0],
["$ManualTrigger", "int", 0],
["$RainLimit", "float", 5],
["$TempLimitNow", "float", 24],
["$TempLimitAvg", "float", 23],
["$HourTarget", "int", 4],
["$MinTarget", "int", 30],
["$One", "int", 1],
["$RainHigh", "int", 0],
["$RainLow", "int", 0],
["$TempNowOk", "int", 0],
["$TempAvgOk", "int", 0],
["$TempOk", "int", 0],
["$HourOk", "int", 0],
["$HourNotOk", "int", 0],
["$MinOk", "int", 0],
["$MinNotOk", "int", 0],
["$TimeOk", "int", 0],
["$NoLock", "int", 0],
["$AutoStart", "int", 0],
["$LockTrigger", "int", 0],
["$WaterOn", "int", 0]
],
"Module": [
["Comparator", "$Rain_2h", "$RainHigh", "$RainLimit"],
["Xor", ["$RainHigh", "$One"], "$RainLow"],
["Comparator", "$Temp_now", "$TempNowOk", "$TempLimitNow"],
["Comparator", "$Temp_3h_avg", "$TempAvgOk", "$TempLimitAvg"],
["Or", ["$TempNowOk", "$TempAvgOk"], "$TempOk"],
["Comparator", "$Hour", "$HourOk", "$HourTarget"],
["Xor", ["$HourOk", "$One"], "$HourNotOk"],
["Comparator", "$Min", "$MinOk", "$MinTarget"],
["Xor", ["$MinOk", "$One"], "$MinNotOk"],
["And", ["$HourOk", "$MinOk"], "$TimeOk"],
["Xor", ["$LockActive", "$One"], "$NoLock"],
["And", ["$RainLow", "$TempOk", "$TimeOk", "$NoLock"], "$AutoStart"],
["Or", ["$ManualTrigger", "$AutoStart"], "$WaterOn"],
["Or", ["$ManualTrigger", "$RainHigh"], "$LockTrigger"],
["Monoflop", "$LockTrigger", 0, "$LockActive", 129600, 0]
],
"Input": [
["Rain_2h", "Regen 2h (mm)", "$Rain_2h", "c"],
["Temp_now", "Temperatur aktuell (°C)", "$Temp_now", "c"],
["Temp_3h_avg", "Temperatur 3h Mittel (°C)", "$Temp_3h_avg", "c"],
["Hour", "Aktuelle Stunde", "$Hour", "c"],
["Min", "Aktuelle Minute", "$Min", "c"],
["ManualTrigger", "Manuelle Aktivierung", "$ManualTrigger", "c"]
],
"Output": [
["WaterOn", "Bewässerung aktiv", "$WaterOn", "c"],
["LockActive", "Sperre aktiv", "$LockActive", "c"]
]
}