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

Use the restore code 5iwut

  1. I don’t know this answer.
  2. There is a system variable that holds the last execution time $previousEventDate
  3. My options hold so that I do not have to select show advance statements with every new piston.

@ady624

How do we add a restriction for only certain days of the week? I see “time” and “date and time”, but I’m not sure how to do it.

Thanks.

Did my piston take too long to run so that it no longer met the time criteria? I’m not sure what happened this morning. My piston has a 4:01 lighting time, and then a 4:15 lighting time. This is the logging I got regarding why it failed on the 4:15 time. (It has worked in the past)

5/18/2017, 4:14:59 AM +127ms
+8ms ╔Received event [Home].time = 1495102500000 with a delay of -874ms
+270ms ║RunTime Analysis CS > 60ms > PS > 162ms > PE > 43ms > CE
+287ms ║Runtime (32571 bytes) successfully initialized in 162ms (v0.1.0a8.20170516) (277ms)
+293ms ║╔Execution stage started
+339ms ║║Comparison :a5ce13383bc80bc7a24535adb839aee6: is_not_any_of :7791ab36026626fc6efc1693ff03eea8:,:c71874ce3888799b06eff59206a0d92b: = true (14ms)
+342ms ║║Condition #13 evaluated true (28ms)
+344ms ║║Condition group #1 evaluated true (did not change) (30ms)
+359ms ║║Comparison 1495102499474 happens_daily_at 1495101660000 = false (4ms)
+367ms ║║Condition #12 evaluated false (21ms)
+408ms ║║Requesting time schedule wake up at Fri, May 19 2017 @ 4:01:00 AM MDT
+411ms ║║Condition group #1 evaluated false (changed) (65ms)
+464ms ║╚Execution stage complete. (176ms)
+480ms ║Setting up scheduled job for Fri, May 19 2017 @ 4:01:00 AM MDT (in 85560.394s)
+816ms ╚Event processed successfully (815ms)

Here is the piston. People have talked about the efficiency of combining pistons, but when I do I seem to have trouble with the. I could always split this up back into 2 pistons… thanks for your help!

Not sure what you are trying to achieve, but you have a time trigger at 4:15 inside a time trigger at 4:01 saying - if it’s 4:01am, then if it’s 4:15am, then do this. It’s never going to be both 4:01 and 4:15 at the same time. Using triggers inside triggers is not a good idea, unless those triggers target the same device/attribute pair. Only one trigger is true at any given time. Perhaps you meant to have two different time triggers one after another one? Drag the second time trigger outside the first.

I couldn’t see it!! I put the second one in the wrong place. I must have made a revision and screwed it up. Thanks!!

To the WebCoRE gurus. Can someone tell me if this piston is optimally configured? I’m using it to announce presence changes for two people.

1 Like

If by optimally configured you mean most condensed, then this should do the exact same thing, assuming the presence sensors include the person’s name:

[$currentEventDevice:presence] will return the current state of the device (person) that has triggered the piston, so it is either present or not present. That whole expression is a ternary operator:

condition ? valueIfTrue : valueIfFalse

so if the state is present, it returns ‘arrived’, otherwise it returns ‘left’, thus completing the sentence :smiley:

2 Likes

Awesome! Most condensed is the perfect way to describe it. I’ll update my piston and test it. Cheers!

Import the one I posted :smiley: you’ll have to select your presence sensors during the import. And you’re done :smiley:

Where is the fun in that? haha I imported the piston you made and just finished testing it. When the presence changes (present or away) my sonos plays (Christopher a left) Any thoughts? lol

I’m new to smartthings, webcore and pretty much anything smart home. I love the idea of home automation, but my wife isn’t as enthused as I am. So all my automation needs to have the ability to be overriden by someone(my wife) pushing a switch that overides that piston. I’m sure all of this is possible, but with my limited experience with webcore and smartthings, i am struggling. Below is a piston I created to turn on the fan to 100% when the temp reaches 71, but i want to be able to turn it off manually if the switch is pressed. It does all this right now, but 5 seconds after I turn it off the fan comes back on. Like it’s a never ending loop.

If I can get some help to figure out how to make this work, it will make my piston creating life a lot easier.

Thanks in advance.

@c1arkbar, trying to use the Sample piston ew1y5 for complex motion and it is not behaving correctly.

When motion is detected it properly turns on the light. But as soon as motion changes to inactive it starts a 2 minute count down and shuts off - regardless of whether motion becomes active again. Something with the latching I think.

Here’s mine:

Why do I have this warning in the middle of my piston? It works just like I want it to. I just want to turn on a light between certain times each day. Apparently there is a better way to do it?

what i’m trying to say is (and this is the part that i don’t know how), if the switch manually changes to on or off by toggling the wall switch, then stay on or off no matter the temp or mode of the thermostat.

Can webCoRE distinguish between manual (physical) interaction and program yet? The last I knew, this was only a feature in CoRE. The interaction option is exposed only when selecting a Trigger in CoRE.

This is why I still have many pistons left in CoRE because I have many switches and Pistons that rely on whether or not the switch was turned on/off physically or progamatically.

In the meantime, you can check the switch using {$currentEventDevicePhysical}. Tests true if it has been physically switched (on or off).

Example:

Yes :wink:

3 Likes

Can you use it in an If statement?

Wow you read his mind before he asked.

3 Likes

The advantages of having pointy ears … antenna-like, LOL

1 Like