Hi,
i implemented the following function:
var org.eclipse.xtext.xbase.lib.Functions$Function3<RollershutterItem, ContactItem, Number, Boolean> tryCloseDoorRollos = [
rollo, contact, maxNumberOfRetries |
var numberOfTries = 1;
logInfo(logName, "RO:" + rollo);
logInfo(logName, "CI:" + contact);
while (numberOfTries <= maxNumberOfRetries)
{
if(contact.state == OPEN)
{
logInfo(logName, contact.name + " is still open, waiting 60s before retrying ... (Try No. " + numberOfTries + ")");
numberOfTries++;
Thread.sleep(60000);
}
else
{
logInfo(logName, "Closing " + rollo);
rollo.sendCommand(100);
return true;
}
}
logInfo(logName, contact.name + " was open after " + numberOfTries + " retries. Exiting.");
return false;
]
rule "Door_Rollos_Night"
when
// Channel 'astro:sun:local:nauticDusk#start' triggered START
Time cron "30 6 19 * * ? *"
then
if(Temperature_Today_Min.state < 15 || Temperature_Tomorrow_Min.state < 15)
{
logInfo(logName, "Forecast Temperature < 15°C, going to ANTI-CHILL mode (100) (Doors)");
tryCloseDoorRollos.apply(WZ_Terrassentuer_Rolladen_1_Level, WZTerrassentuer_1_State, 10);
}
end
When I have the rule triggered I get the following error:
2018-04-29 19:06:30.213 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - **Error during the execution of rule 'Door_Rollos_Night': null**
Does anyone know what might be null? The passed items are not null, at least according to the logInfo output:
2018-04-29 18:36:00.292 [INFO ] [clipse.smarthome.model.script.Rollos] - WZ_Fenster_Rolladen_1_Level (Type=RollershutterItem, State=0, Label=Level, Category=Blinds, Groups=[Rolladen, Wohnzimmer])
2018-04-29 18:36:00.292 [INFO ] [clipse.smarthome.model.script.Rollos] - WZTerrassentuer_1_State (Type=ContactItem, State=OPEN, Label=State, Category=Contact, Groups=[Zugangssensoren, Wohnzimmer])
Regards Sebastian