Number var null

Hi everyone,

Can anyone see what I’m doing wrong here?

I’m trying to write a rule that will keep my kettle at a set temperature.

I have the following items.

Switch         Kettle "Kettle"                      (PersistenceGroup)      ["Switchable"] {mqtt=">[localhost:cmnd/tasmotaKettle/POWER:command:*:default], <[localhost:stat/tasmotaKettle/POWER:state:default]"}
String         KettleTemp                                         {mqtt="<[localhost:tele/tasmotaKettle/RESULT:state:JSONPATH($.TuyaReceived.DpType2Id5)]"}
Switch         Kettle_Keep_Warm
Number 		   Kettle_Keep_Warm_Temperature 		"Kettle Keep Warm Temperature [%d]" 

and the following rule

rule "Keep kettle warm"
when
    Item KettleTemp changed or
    Item Kettle_Keep_Warm changed or
    Item Kettle_Keep_Warm_Temperature changed
then
    var Number var_KettleTemp
    var String var_Kettle_Keep_Warm
    var Number var_Kettle_Keep_Warm_Temperature

if (triggeringItem.name == "KettleTemp")
{
	var_KettleTemp = newState
}
else
{
	var_KettleTemp = KettleTemp.state
}

if (triggeringItem.name == "Kettle_Keep_Warm")
{
	var_Kettle_Keep_Warm = newState.toString
}
else
{
	var_Kettle_Keep_Warm = Kettle_Keep_Warm.state.toString
}

if (triggeringItem.name == "Kettle_Keep_Warm_Temperature")
{
	var_Kettle_Keep_Warm_Temperature = newState
}
else
{
	var_Kettle_Keep_Warm_Temperature = Kettle_Keep_Warm_Temperature.state
}

logInfo("Kettle","var_KettleTemp set to " + var_KettleTemp)
logInfo("Kettle","var_Kettle_Keep_Warm set to " + var_Kettle_Keep_Warm)
logInfo("Kettle","var_Kettle_Keep_Warm_Temperature set to " + var_Kettle_Keep_Warm_Temperature)

if  (Kettle_Keep_Warm.state == ON && var_KettleTemp < var_Kettle_Keep_Warm_Temperature)
{
    logInfo("Kettle","Turning the kettle on as " + var_KettleTemp + " is below " + var_Kettle_Keep_Warm_Temperature)
    sendCommand(Kettle,ON)
}
if  (Kettle_Keep_Warm.state == ON && var_KettleTemp => var_Kettle_Keep_Warm_Temperature)
{
    logInfo("Kettle","Turning the kettle off as " + var_KettleTemp + " is not less than " + var_Kettle_Keep_Warm_Temperature)
	sendCommand(Kettle,OFF)
}

end

When the rule executes, regardless of which item triggers it, the following appears in the log.
Rule 'Keep kettle warm': An error occurred during the script execution: Could not invoke method: org.eclipse.smarthome.model.script.lib.NumberExtensions.operator_lessThan(java.lang.Number,java.lang.Number) on instance: null

Even more puzzling is this

rule "Keep kettle warm"
when
	Item KettleTemp changed or
	Item Kettle_Keep_Warm changed or
	Item Kettle_Keep_Warm_Temperature changed
then
    if  (Kettle_Keep_Warm.state == ON && 10 < 20)
    {
        sendCommand(Kettle,ON)
    }
    if  (Kettle_Keep_Warm.state == ON && 10 => 20)
    {
    	sendCommand(Kettle,OFF)
    }
end

Rule 'Keep kettle warm': An error occurred during the script execution: Could not invoke method: org.eclipse.xtext.xbase.lib.ObjectExtensions.operator_doubleArrow(T,org.eclipse.xtext.xbase.lib.Procedures$Procedure1) on instance: null

What does it think is null?

The var here becomes a state type object (not a Number)

have a look here