Door Left Open Reminder - Configurable by Individual Contact


Any way I can make the message NOT send for one of the contacts if other contacts are open?

My back door is one of 4 contacts I use these pistons for, however, if the weather is nice we open the windows (none of which are monitored by these pistons) and the back door. I’m looking for a way to “intercept” the message about the back door being open when any of the windows are open. I’d like the piston to run normally otherwise, in case the windows close or for the other monitored contacts, just not send the message for the back door.

I thought I could put a restriction on the actual “sending” part that said ONLY WHEN all windows are closed AND $device isn’t “back door” but it didn’t seem to let me do that. Maybe I missed something?

Your help would be greatly appreciated! Thanks!


I got this to work so far. I created another set of constant variables for the below 0 times. I then put some restrictions based on the temp.

Edit I made an if/then for the different temps. It is 29 degrees here now so the 0-40 was true. Which works :smile:

Is there a better way to accomplish this?


Any thoughts on how I am using the different temperature ranges to set the timer variables?

Maybe there is a better way to handle this…


Our local weather is more moderate, so that’s an interesting variation on the piston I hadn’t really considered. Overall, your approach looks good, and if it works I wouldn’t be too concerned about whether or not there might be a better way. Offhand, I don’t think there is anyway, and I’m loathe to make or recommend changes to a working piston unless those changes streamline piston execution or make it easier for me (or others) to follow the logic.


@Dmo012 You should be able to accomplish this with something like this:


There are a couple of places you could put that restriction, depending on whether your want the timers to increment, etc.


I don’t know why but I didn’t think “is different than” was going to work! Thanks a lot. I put the restriction in front of the “send to contacts” portion that way everything else runs normally it just doesn’t send the message.


@kxavier_23, thanks for sharing.

Silly question… How to you add comments to piston code?


Click on the statement or task (for example “if” or “For each”) and then in the window that pops-up click the gear icon or “cog” next to “Save.” You can enter comments in the description field.


I’m really loving this piston and am looking forward to getting it up and running. I’m trying to understand how to get line 61 in your piston setup properly. When I pull it up using the restore function, the “What kind of comparison” field is blank. When I click on that drop down box, it does not give me the option for a greater than or equal to comparison. Any idea why that would be happening?


Here’s a snapshot of what I have currently. Looks like everything else is good except line 48 in my piston. The “timeOpenList” is green, not red like all the other variables are listed. I had to add "{timeOpenList[$device]} as an argument in order for me to get the option to have it compared using an is greater than or equal to comparison…


Yes, WebCoRE no longer offers the “greater than or equal to” comparison here. I’m not sure when this change was made, but it actually makes sense because the variable being compared is a string variable. I’ll probably have to update the original piston so that others don’t run into this.


Another edit.

I now have 3 conditions and 3 sets of “AlertTimes” and “RepeatTimes”

  1. Below0 - Current outdoor temp for the location below 0F
  2. Cold - Current outdoor temp for the location between 1 - 40F
  3. Warm - Current outdoor temp for the location above 40F

I might try to play with the “alertMessage” because I modified the original message to include the current temp, and text that there are liquids that might freeze :smile:

Maybe a cleaner way to accomplish this, but it works so far.


So do you recommend just changing the variable type from string to integer?


I suspect I meant it to be an integer[list] variable all along, so yes. While It’s a simple enough change, I haven’t had time to look at it closely and ensure there are no undesirable side effects to making that change.

Edit: I’ve updated the original piston in this post to reflect this correction. Thx.


Hey Webcore gang. I’m new here and I just added a simple piston like this, but I’m having one small issue. I want the Webcore to contact me if the door has been open for 90 seconds. This part is working fine.

The part I’m having an issue with is when the door closes it’s “ONLY” supposed to notify me on that “IF” the door was open for more than 90 seconds. Right now it’s notifying me every time the door closes. Which of course is annoying :slight_smile:

Here’s my code that I have. What do I need to add or modify to have it notify me when the door closes “ONLY IF” the door has been opened for more than 90 seconds?



So I installed the piston and modified it accordingly…but I don’t receive any notifications. What did I do wrong?



There are two pistons, Door Left Open Reminder A and Door Left Open Reminder B that are required for this to work. The one you posted is the “B” piston. Have you installed both of them?

Part of the reason I ask is that your piston appears to pause itself rather than the originating piston. The first line in your “B” piston is “pause piston Home \ webcore \ Door Left Open,” which is what you’ve renamed the “B” piston. That pause (and subsequent ‘resume’ at the end) must refer to the “A” or originating piston.


Anyone able to help?


@kamran - Did you see my response to your first post? As I noted, it is unclear whether you installed both pistons and it appears you misdirected the pause/resume statement in the second piston to point to itself. If you can answer those issues, I am more than happy to help.

FYI, I am the OP for these pistons.


Sorry…I missed your message. Thanks for answering :slight_smile:

That was the mistake I made…I didn’t have both of them.

How does this look? Will see if it functions when I get home.