[DEPRECATED Thread: visit community.webcore.co for assistance] webCoRE - Piston Design Help (ask your fellow members for assistance)

Use this thread to ask for help from other community members if your webCoRE piston doesn’t work the way you would like to…


I have a general question related to Pistons. Specifically, what exactly “piston state” does. When I’m on my main webCoRE page, some of my Pistons have “true” next to them, and some have “false” next to them. I’ve also seen some example Pistons where people have an action that sets the piston state to true or false depending on what is happening. I’m not clear on what this does and how/why it should be utilized.

1 Like

Your pistons that have true next to them ran their evaluation and the conditions resulted in a true state. The same for false except the conditions were not met so the state is false.

In the example I posted I used that to replicate the latching (but-if) piston like in CoRE.

1 Like

@c1arkbar just writing you back here so I don’t clutter the other thread…

I attempted this Piston (changed it as you suggested):

However, it looks like it’s not actually evaluating. It says it’s running, currently both sensors are set to “Away” and yet the location mode is still set to “Home”.

All I see in Live Logging (after pausing and restarting) is just that, webCoRE and the Piston noting that the Piston was started.

Any thoughts?

[EDIT] Let me add that on the dashboard, it shows “True” and that it executed 7 minutes ago. However, the home mode has not changed.

Install and initial setup of webCore went smoothly thanks to the wiki instructions. I only had 3 CoRE pistons to transition and one of them was had a couple If/else if statements inside. The new web UI made setting this one up much easier than the old app.

The only issue I ran into is the piston that turns on a light when the front door is unlocked. In CoRE I could use a Front Door “changes to” “unlocked” and it had a further option for “By user code(s)” with a multiple choice for code slot # so it would only trigger when unlocked from the outside keypad and not when manually unlocked from inside. I don’t see this option when setting up this condition in webCoRE, is there another way to mimic this function in the current version?

In the webcore ST app. Go to settings and enable full logging for pistons. Without those logs all I can do is guess.

My best guess is that you made the piston while no one was home to begin with?

@c1arkbar, that is a true statement. I made the piston while on the road. I didn’t think that would matter since I used a condition versus a trigger?

Check the system variables when the door gets unlocked. $currentEventDeviceIndex might be it. You are looking for the code entered to be in one of those variables.

If you can find this then you can set up a switch statement with the different cases

Conditions act as triggers when no triggers present. It reallly just needs to be kicked to get going.

But the logic is correct

So, I am just now seeing that webCoRE exists. Cool! So, I’m a very heavy CoRE user. Can CoRE and webCoRE coexist in the same ST hub? Also, is there a way to get all the Pistons from CoRE into webCoRE, or would I need to manually re-create?


They can coexist. There is not nor will there be a migration tool. You will find that the user interface is incredibly easy to set pistons up.

Perfect, thanks for the quick response!

Got it, Thank you! I will either go for a trip around the block later or I will see what happens tomorrow!

Can I monitor the contents of that variable from the live logging or is there a way to check its history from the lock/unlock events?
In the event for the lock it looks like I get this event data when the door is unlocked manually:

    "usedCode": "manual"

or this when unlocked by a user code (slot 2 in this case):

    "usedCode": 2

Is this something I can access from a conditional statement?

I think @ady624 has to enable it from his side…

PS…been migrating my CoRE pistons this morning and was just about to do the lock one, when you posted …

I guess that code should be added to the IF, eventually.

Until then, I’d try an argument or the system variable {$args.usedCode} - though you’ll have to use it like this:

in an Expression field:


or in a Value field:


or in an Argument field:


Thanks, using usedCode in Argument did the trick!
I added a conditional to check if it was not ‘manual’ which would correspond with any keypad codes and then a check if it’s after sunset/before sunrise so now my living room lamp comes on when the door is unlocked from outside.

1 Like

There is a virtual device called Time, makes it easier to write time conditions… has presets like sunset, sunrise, etc, too

1 Like

Found it and the presets for sunset/sunrise, thanks.
I definitely need to spend some time digging through the drop-downs. It’s a bit of a change from everything being lumped together in a single “capability” list in the old system but is more intuitive starting with a device instead of what it can do.


I have a Virtual Button (momentary) ‘Good Night’. The premise is, when this button is pressed, it runs a set of action and changes my location mode to “Night”.

I’m finding that I have to hit the button twice in order for it to work. I believe the problem is that the button goes from an ‘off’ state to ‘on’ then back to ‘off’ too quickly.

Here is the piston I have; is there anything obviously wrong with the logic?

Thank you!