Meinst du, du könntest mir das mal in meine Rule einbauen. Da wäre ich dir sehr dankbar.
Viele Grüße
Viele Grüße
val Number MODE_OFF_1 = 0 val Number MODE_STANDBY_1 = 1 val Number MODE_ACTIVE_1 = 2 val Number MODE_FINISHED_1 = 3 var Timer tDishwasher = null var Long lDishwasherStart = null rule "Spuelmaschine Consumption State Machine" when Item eg_kueche_spuelmaschine_leistung changed then if(!(eg_kueche_spuelmaschine_leistung.state instanceof Number)) { logWarn("dishwasher","Leistung ungültig! ({}) Abbruch!",eg_kueche_spuelmaschine_leistung.state) return; } var Integer nMode = MODE_OFF_1 if(eg_kueche_spuelmaschine_OpState.state instanceof Number) { nMode = (eg_kueche_spuelmaschine_OpState.state as Number).intValue } val Number nLeistung = eg_kueche_spuelmaschine_leistung.state as Number if(nLeistung < 0.2) { eg_kueche_spuelmaschine_OpState.postUpdate(MODE_OFF_1) logInfo("dishwasher","Spülmaschine: MODE_OFF_1") } else if(nLeistung < 4.5) { if(nMode == MODE_OFF_1) { eg_kueche_spuelmaschine_OpState.postUpdate(MODE_STANDBY_1) logInfo("dishwasher","Spülmaschine: MODE_STANDBY_1") } else if(nMode == MODE_ACTIVE_1 && tDishwasher === null) var Integer iMinutes = 5 if((now.millis - lDishwasherStart)/60000 > 90) iMinutes = 20 tDishwasher = createTimer(now.plusMinutes(iMinutes),[| eg_kueche_spuelmaschine_OpState.postUpdate(MODE_FINISHED_1) logInfo("dishwasher","Spülmaschine: MODE_FINISHED_1") tDishwasher = null ]) } else if(nLeistung > 10) { tDishwasher?.cancel tDishwasher = null if(nMode != MODE_ACTIVE_1) { eg_kueche_spuelmaschine_OpState.postUpdate(MODE_ACTIVE_1) lDishwasherStart = now.millis logInfo("dishwasher","Spülmaschine: MODE_ACTIVE_1") } } end
val Number MODE_OFF_1 = 0 val Number MODE_STANDBY_1 = 1 val Number MODE_ACTIVE_1 = 2 val Number MODE_FINISHED_1 = 3 var Timer tDishwasher = null var Long lDishwasherStart = null rule "Spuelmaschine Consumption State Machine" when Item eg_kueche_spuelmaschine_leistung changed then if(!(eg_kueche_spuelmaschine_leistung.state instanceof Number)) { logWarn("dishwasher","Leistung ungültig! ({}) Abbruch!",eg_kueche_spuelmaschine_leistung.state) return; } var Integer nMode = MODE_OFF_1 if(eg_kueche_spuelmaschine_OpState.state instanceof Number) { nMode = (eg_kueche_spuelmaschine_OpState.state as Number).intValue } val Number nLeistung = eg_kueche_spuelmaschine_leistung.state as Number if(nLeistung < 0.2) { eg_kueche_spuelmaschine_OpState.postUpdate(MODE_OFF_1) logInfo("dishwasher","Spülmaschine: MODE_OFF_1") } else if(nLeistung < 4.5) { if(nMode == MODE_OFF_1) { eg_kueche_spuelmaschine_OpState.postUpdate(MODE_STANDBY_1) logInfo("dishwasher","Spülmaschine: MODE_STANDBY_1") } else if(nMode == MODE_ACTIVE_1 && tDishwasher === null) { // <--- hier var Integer iMinutes = 5 if((now.millis - lDishwasherStart)/60000 > 90) iMinutes = 20 tDishwasher = createTimer(now.plusMinutes(iMinutes),[| eg_kueche_spuelmaschine_OpState.postUpdate(MODE_FINISHED_1) logInfo("dishwasher","Spülmaschine: MODE_FINISHED_1") tDishwasher = null ]) } // <-- und hier } else if(nLeistung > 10) { tDishwasher?.cancel tDishwasher = null if(nMode != MODE_ACTIVE_1) { eg_kueche_spuelmaschine_OpState.postUpdate(MODE_ACTIVE_1) lDishwasherStart = now.millis logInfo("dishwasher","Spülmaschine: MODE_ACTIVE_1") } } end
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar