var boolean autoChangeInProgress = false rule "Aussentemperatur Meldung" when System started or Item AiringOutdoorIncomingTemperature changed or Item AiringOutdoorOutgoingTemperature changed then if( (AiringOutdoorIncomingTemperature.state instanceof DecimalType) && (AiringOutdoorOutgoingTemperature.state instanceof DecimalType) ){ postUpdate(AiringOutdoorTemperature_Message,"→ " + AiringOutdoorIncomingTemperature.state.format("%.1f") +"°C, ← " + AiringOutdoorOutgoingTemperature.state.format("%.1f") + "°C") } end rule "Innentemperatur Meldung" when System started or Item AiringIndoorIncommingTemperature changed or Item AiringIndoorOutgoingTemperature changed then if( (AiringIndoorIncommingTemperature.state instanceof DecimalType) && (AiringIndoorOutgoingTemperature.state instanceof DecimalType) ){ postUpdate(AiringIndoorTemperature_Message,"→ " + AiringIndoorIncommingTemperature.state.format("%.1f") +"°C, ← " + AiringIndoorOutgoingTemperature.state.format("%.1f") + "°C") } end rule "Ventilator Meldung" when System started or Item AiringIncommingFan changed or Item AiringOutgoingFan changed then if( (AiringIncommingFan.state instanceof DecimalType) && (AiringOutgoingFan.state instanceof DecimalType) ){ postUpdate(AiringVentilator_Message,"→ " + (AiringIncommingFan.state as DecimalType) +"%, ← " + (AiringOutgoingFan.state as DecimalType) + "%") } end /* rule "Filter Fehler" when Item AiringError changed then if( (AiringError.state as StringType) != "Ok" ){ sendMail("smhswiss@gmail.com", "Lüftung hat einen Fehler gemeldet") } end rule "Filter wechseln" when Item AiringFilterErrorI changed or Item AiringFilterErrorE changed then if( (AiringFilterErrorI.state as DecimalType) == 1 || (AiringFilterErrorE.state as DecimalType) == 1 ){ sendMail("smhswiss@gmail.com", "Lüftungsfilter muss gewechselt werden") } end */ rule "Manueller Eingriff" when Item AiringFanLevel changed then if( autoChangeInProgress ){ autoChangeInProgress = false } else{ postUpdate(AiringAutoMode,0) } end