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

Hah! I walked right into that one.

2 Likes

Worked!

1 Like

The stock DTH for dimmers does not report the physical/digital interaction to ST. This DTH fixes that and allows dimmers that use the stock dimmer DTH to report whether or not the dimmer was changed physically or programatically.

I’m a Happy Happy Happy Man right now!!!

2 Likes

Try making them separate ifs instead of else if. I’ll have a look at it tonight to see what is going on with it

Hey all,

I am struggling to understand why this piston works for a few hours, days… then just stops

The issue I am trying specifically solve is my SimplySafe status isn’t refreshing therefore this piston.

I am using the SS DTH/SA but refresh, ugh


Thanks, Rick

I have just created the absolute most wonderful Piston for “Simple Lighting” I could ever hope for in SmartThings! I have a slew of GE 12724s and they are darn dependable but have a flaw that plagued me for a long time now. Couldn’t get the light to stay off if I turned it off physically. Couldn’t get the setting to stick if automation was enabled. With this Piston and the DTH I listed earlier, all of my problems have been solved.

  1. Motion On-Light On (Easy)
  2. Motion Off Light Off (Easy)
  3. Light On with Manual Changes that Stick (Hard Before)
  4. Light Off and Motion Doesn’t Turn it Back On! (Hard Before)
  5. Motion Sensor Reset Wait Period to Turn Light Back On after Turned Off Physically (Hard Before)
  6. Different Settings for Different Times and Modes (Easy)
  7. Simple Automation Bypass for All Scenarios (Easy)

Now my lights work just like my dumb motion sensor! :joy:

Remember, in order to get the dimmer physical to work, you might need this DTH.

2 Likes

Well 6 months of work on webCoRE and it finally pays off :wink: good job :wink: going to update my DTH :wink:

2 Likes

This has been my #1 problem with the ST Platform. The regular switches were not a problem but them darn dimmers…Arrrggg! Crazy how I have about 6 dumb regular occupancy/vacancy motion that just plain work…

Appreciate all that you do @ady624!

1 Like

On your suggestion, I’m messing around with the tileSetLevel() command to adjust the volume on my music, but I’m having major issues getting it change the volume. Any tips?

Has anyone set up a thermostat (ecobee3) used in automode (switches automatically between heat and cool). This is something that is recognized by ST but I am scratching my head on how to set up a piston.

Should I have a piston set heat and cool points at the same time, is there another way, or is it not possible to use this feature of the thermostat?

In core I had a if mode is heat then, if not then piston set up, but it would be easier not to have to manually switch between heat and cool modes in the spring and fall depending on the day.

There does appear to be some weirdness with the Volumes for the R!
As far as I have worked out:

The PlayTrack option needs a volume setting, without one it won’t work. It can be 0 though, it just needs to be there. Then using tileSetLevel() with the parameter set to your required volume you get the correct volume.

I have found that the SpeakText option works best without a volume i.e Nothing Selected under the Volume(optional) setting. Then once again tileSetLevel() will give the correct volume.

Try this test piston see if it works for you

Switch 6 is a virtual switch i created just to act as a trigger for the piston

Music Player 1 is my Samsung R1

Try changing the volume in of the variable varVolume in the define section.

Works fine for me

edit:
This is the addres I use for the Play Track option

https://s3.amazonaws.com/sonos-media/bell2.mp3

@ady624,

Your example does not work correctly for me. It always states a person have left even when they have actually arrived.

Could I see yours please?

That what she said!

2 Likes

Logs
5/26/2017, 9:13:37 AM +103ms
+1ms 	╔Received event [Bear].presence = present with a delay of 303ms
+145ms 	║Runtime (31497 bytes) successfully initialized in 91ms (v0.1.0b1.20170524) (143ms)
+147ms 	║╔Execution stage started
+347ms 	║║Executed [Ubi Speaker].playTextAndRestore (128ms)
+401ms 	║║Bear has left
+402ms 	║║Executed virtual command [Ubi Speaker].log (2ms)
+428ms 	║╚Execution stage complete. (281ms)
+445ms 	╚Event processed successfully (446ms)
5/26/2017, 9:03:10 AM +36ms
+2ms 	╔Received event [Bear].presence = not present with a delay of 95ms
+186ms 	║Runtime (31490 bytes) successfully initialized in 101ms (v0.1.0b1.20170524) (183ms)
+188ms 	║╔Execution stage started
+481ms 	║║Executed [Ubi Speaker].playTextAndRestore (218ms)
+532ms 	║║Bear has left
+534ms 	║║Executed virtual command [Ubi Speaker].log (2ms)
+557ms 	║╚Execution stage complete. (370ms)
+573ms 	╚Event processed successfully (573ms)

Could you please enable full debug? Thank you

Logs
5/26/2017, 9:24:36 AM +168ms
+2ms 	╔Received event [Bear].presence = present with a delay of 91ms
+152ms 	║RunTime Analysis CS > 22ms > PS > 106ms > PE > 23ms > CE
+163ms 	║Runtime (31580 bytes) successfully initialized in 106ms (v0.1.0b1.20170524) (160ms)
+164ms 	║╔Execution stage started
+188ms 	║║Comparison present changes = true (1ms)
+190ms 	║║Condition #4 evaluated true (16ms)
+192ms 	║║Condition group #1 evaluated true (state did not change) (18ms)
+195ms 	║║Cancelling statement #2's schedules...
+216ms 	║║Calculating (string) present == (device) [present] >> (boolean) false
+227ms 	║║Calculating (string) Bear + (string) has >> (string) Bear has
+233ms 	║║Calculating (string) Bear has + (string) left >> (string) Bear has left
+362ms 	║║Executed physical command [Ubi Speaker].playTextAndRestore([Bear has left, null]) (120ms)
+363ms 	║║Executed [Ubi Speaker].playTextAndRestore (122ms)
+388ms 	║║Calculating (string) present == (device) [present] >> (boolean) false
+398ms 	║║Calculating (string) Bear + (string) has >> (string) Bear has
+404ms 	║║Calculating (string) Bear has + (string) left >> (string) Bear has left
+414ms 	║║Bear has left
+415ms 	║║Executed virtual command [Ubi Speaker].log (2ms)
+446ms 	║╚Execution stage complete. (282ms)
+466ms 	╚Event processed successfully (465ms)
5/26/2017, 9:23:35 AM +383ms
+1ms 	╔Received event [Bear].presence = not present with a delay of 105ms
+146ms 	║RunTime Analysis CS > 23ms > PS > 100ms > PE > 23ms > CE
+155ms 	║Runtime (31581 bytes) successfully initialized in 100ms (v0.1.0b1.20170524) (153ms)
+157ms 	║╔Execution stage started
+182ms 	║║Comparison not present changes = true (1ms)
+184ms 	║║Condition #4 evaluated true (17ms)
+186ms 	║║Condition group #1 evaluated true (state did not change) (20ms)
+189ms 	║║Cancelling statement #2's schedules...
+211ms 	║║Calculating (string) not present == (device) [present] >> (boolean) false
+222ms 	║║Calculating (string) Bear + (string) has >> (string) Bear has
+229ms 	║║Calculating (string) Bear has + (string) left >> (string) Bear has left
+422ms 	║║Executed physical command [Ubi Speaker].playTextAndRestore([Bear has left, null]) (184ms)
+423ms 	║║Executed [Ubi Speaker].playTextAndRestore (186ms)
+448ms 	║║Calculating (string) not present == (device) [present] >> (boolean) false
+459ms 	║║Calculating (string) Bear + (string) has >> (string) Bear has
+465ms 	║║Calculating (string) Bear has + (string) left >> (string) Bear has left
+475ms 	║║Bear has left
+476ms 	║║Executed virtual command [Ubi Speaker].log (2ms)
+505ms 	║╚Execution stage complete. (349ms)
+524ms 	╚Event processed successfully (525ms)

Hey groovy peeps,

I think I’m in need of assistance to help rid me of these warnings for my Tea Kettle timer. It’s set to turn on every day at the same time, but turn off at different times depending on the day of the week.

Glad to hear it is useful for you, I submitted it to ST a while back (6-8 months) but they never reviewed it…

Looking for some help here. I would just like to confirm that this piston will execute everyday of the year except between October 10 and October 31.

I am using this restriction:

Is this correct? I can’t think of an easier way to do this (without using variables).