Ok, here we go. The following, based on ecobee geofencing plus notification from Chamberlain that the garage is open, unlocks the front door and turns on the light outside that door.
The key is to have a unique cooling setpoint (or some other unique setting) for each user. 77 is my wife.
If the cooling setpoint was not 77 but becomes 77, it then checks every 15 seconds, for the next 20 minutes, to see whether the garage has opened.
If the garage does open during those 20 minutes, it presumes my wife is the one opening it and unlocks & lights for her.
//
/* */
//
execute
if
ecobee’s coolingSetpoint was different than 77°F for at least 20 minutes
and
ecobee’s coolingSetpoint is equal to 77°F
then
for ($index = 0 to 80 step 1)
do
if
Garage’s contact was closed for at least 20 minutes
and
Garage’s contact is open
then
with
Front Door Lock
do
Unlock;
end with;
with
Front Door Bulb
do
Turn on;
end with;
else
Wait 15 seconds;
end if;
end for;
end if;
end execute;