Hi,
i get an error message from one of my rules, since i upgraded to OH2.
Here is my rule:
rule "Periodically check presence"
when
Time cron "0 */5 * * * ?"
then
if (Presence.state == ON)
{
if(gMobiles.members.filter(s | s.state == ON).size == 0) {
logInfo("PresenceCheck", "No phone within reach, checking for flapping")
if(gMobiles.members.filter(s | s.changedSince(now.minusMinutes(5))).size == 0) {
logInfo("PresenceCheck", "Nobody is at home")
sendCommand(Presence, OFF)
}
}
}
else
{
//For initialisation. If Presence is undefined or off, although it should be on.
if(gMobiles.members.filter(s | s.state == ON).size > 0) {
sendCommand(Presence, ON)
}
else if (Presence.state == Undefined || Presence.state == Uninitialized) {
sendCommand(Presence, OFF)
}
}
end
Error message, when nobody is at home:
2017-02-20 05:10:00.017 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule Periodically check presence: An error occured during the script execution: The name 'Undefined' cannot be resolved to an item or type.
I think, Undefined is no longer working with OH2. Do i have to change this? Is NULL the right thing?