I use a “Time To Live” (counter) paradigm to solve this.
- create a system variable to hold a simple counter, initialize it to 1440 minutes (because I only care to take action if the door’s been network-inaccessible for a day).
- have a system routine that runs every minute that decrements the TTL, no matter what
- have a routine that runs when the door is opened by my dog which resets the TTL back to 1440.
- finally, I have a system alert that sends me a note if TTL=0. In my case I just want the alert, in yours you might want to take some other action.
In my situation I basically know my dog uses the door like 10x day and if the door hasn’t reported an action, the network is borked for some reason.