[RELEASE CANDIDATE] CoRE (Community's own Rule Engine)

these basic pistons did not work.

if door WAS closed for at least 15 min & if door WAS unlocked for at least 15 min. then lock door.

if door STAYS closed for at least 15 min & if door STAYS unlocked for at least 15 min. then lock door

i did setup a piston for my light that is working fine
if motion STAYS inactive for at least 15 min. then turn off light.

but if used if motion WAS inactive for at least 15 min. then turn off light

anyone else get same?

Stays is a trigger, both the door and lock would have to happen at the same time.

Have you tried:
IF door is closed and lock is unlocked
THEN Using lock wait 15 min lock
Cancel on piston state change

ya i did that before and after and it worked. but just wanted to try it a little different. but what you said makes sense, but it says AT LEAST 15 min. so they would both reach at least 15 min at some point. so one reaches 15 min. later other reaches 15 min. it should work, right? @ady624 :slightly_smiling_face: thank you

Anyone experiencing slowdown the past 2 days? I got a notification that my door had closed, an hour late.

Your thinking would be right if there was an or between both trigger (obviously not what you want though). Both of your stays trigger need to be true at the same time for your door to lock. Think of a trigger as one and done I guess. Say the door reached 15min and at 20 min the lock, they both were true but not at the same time.

1 Like

Re: slowdown…

Yes, not all the time but yes.

Stays closed is not the same as is closed. Stays is only true during one run of the piston, when the15 minutes elapse. The two events will cause two different piston runs, one for the door and one for the lock. Each run will mutually exclude the other, so only one trigger will be true at any run time.

1 Like

Slow is not the right word…

2 Likes

i know many of us say it, but it will never stop being said. Thank you for everything :slight_smile:
i hope this becomes a paid app system, and you can live off this app :stuck_out_tongue_winking_eye:

1 Like

Trying to use my thermostat mode as the trigger (the if statement) my smart vents. When I do, the smartapp does not run.

If (My Ecobee is heat)
then (Turn on Vent)

Here is my Condition 1
Thermostat List - My Ecobee
Comparison - is
Value - heat

It sees if it is true or not and when I run the simulation, it works. It just does not trigger on it’s own. Any thoughts?

Does ‘Changes To’ work?
Just a thought.

Double-check the Ecobee modes. It could be “heating” or something other than “heat”. If its “Heat”, then capitalize your value.

I don’t have an option to change the value. It has a pre-built list when I
drill down to that part of setting it up. If it is a capitulation or
spelling issue, then I would think it would not run when I run the
simulation. I tried adding in other conditions without any luck (like only
when when at Home or between certain times). I will try to have it run at
a specific time to see if I force a time, it will run.

I had to get creative with my ecobee. I wanted a living room fan when the AC is cooling but the status that it gives you is as an example is “Cooling to 72 F”. So it will vary depending on what your heating setpoint is. So your trigger would be something like “Heating to XX F”.

Hi @ady624 Need some help please understanding how to trigger a pistion from another piston.

I have a piston (call it Piston #1) which is triggered at [Sunset-60 mins] daily. It turns on lights and sets mode to Evening.

I have another piston (Piston #2) that I would like to have do all the same things that the Piston #1 does, except it wouldn’t be triggered by [Sunset-60 mins], it would be triggered by a different condition within Piston #2, which is whether the current time is >= [Sunset-60 mins]. I tried simply calling Piston #1 from within Piston #2, but it didn’t work. I am guessing that is because when Piston #2 was triggered, it evaluated whether or not it was currently [Sunset -60 mins] and since it wasn’t (it was after that time), Piston #2 didn’t fire.

I should add that in Piston #2, the IF and THENIF actions work correctly. It’s only the ELSE action of executing the ‘Turn On Evening Mode’ piston (Piston #1) that doesn’t work.

Am I thinking about this the right way?

Any help appreciated.

Thanks.

Piston #1

Piston #2

A screenshot of your piston might help with diagnosing the problem.

Guys, I’m struggling with the capture/restore for a RGBW bulb.

I capture the variable ColorType to local storage, that represents the status of the bulb (white or color), then when required to restore, I would like to do different things if the bulb was in Color or White mode.

The problem is that the begin Switch/Case doesn’t access the value for such captured variable. Is that possible? Or I would require to create a variable (which is seen by Switch/Case)?

Just added them to my original post

Perhaps I should have the common set of Actions as a standalone ‘Do Piston’ and then call that Do Piston from both Piston 1 and Piston 2? I will try this.

EDIT: I tried this and it worked, if anyone is reading this in the future.

Good day all - strange behavior with CoRE last two days - any time I try to create or modify a piston, i have no issues, but cannot save anything at all - at point of save, in live logging i get

java.lang.NullPointerException @ line 8650

And then the piston goes into a paused state.

I’ve removed CoRE , reinstalled from repo, same thing. Hope someone can shed some light.