I get an error in my rule, even thought the designer does not point out any errors:
01:01:30.189 [INFO ] [marthome.event.ItemStateChangedEvent] - Netatmo_Indoor_Max_CO2 changed from 725 to 750
01:01:30.216 [INFO ] [marthome.event.ItemStateChangedEvent] - Netatmo_MasterBedroom_CO2 changed from 1443 to 1496
01:01:30.224 [ERROR] [.script.engine.ScriptExecutionThread] - Rule 'Heater in living room': java.lang.Number
01:01:30.239 [INFO ] [marthome.event.ItemStateChangedEvent] - Netatmo_Indoor_CO2 changed from 725 to 750
01:01:30.250 [INFO ] [marthome.event.ItemStateChangedEvent] - Netatmo_Bedroom_CO2 changed from 1431 to 1511
01:01:30.272 [INFO ] [marthome.event.ItemStateChangedEvent] - Netatmo_Bedroom_Temperature changed from 18.4 to 18.6
I have a lambda function (when commented as below, no error occurs, so its in that lambda function the error is):
import org.eclipse.smarthome.core.items.GenericItem
import org.eclipse.smarthome.core.library.types.DecimalType
import org.eclipse.xtext.xbase.lib.Functions
val Functions.Function3 heatings = [ GenericItem setPoint,GenericItem temperature,GenericItem relay |
// Turn on the heater if the temp gets more than 2 degrees below the Heating_LivingRoom_Setpoint to prevent rapid cycling
/*
if(temperature.state as Number-1.0< setPoint.state as Number) {
//Items connected to NC, i.e sendcommand off is ON!!
if(relay.state != OFF) relay.sendCommand(OFF)
}
else {
//Items connected to NC, i.e sendcommand off is ON!!
if(relay.state != ON) relay.sendCommand(ON)
}
*/
]
This lambda function is triggered by this rule, which generates the error:
// Rule to drive the Heater
rule "Heater in living room"
when
Item Netatmo_Indoor_Temperature received update or
Item Heating_LivingRoom_Setpoint received update
then
heatings.apply(Heating_LivingRoom_Setpoint,Netatmo_Indoor_Temperature,Heating_LivingRoom)
end
Any idea what the error can be?