SmartThings Community

Back Porch Light Automation Disabling

(Lee Florack) #21

You can change the example that @Bry provided from just turns on or turns off to include IF sections for each of the speed levels too. You’ll need to check to ensure that this switch provides the proper physical vs programmatic feedback for this to work. But if it does, you should be good to go.

(Bryan) #22

@johnandy, I don’t quite understand your question but what @lflorack said is what I think may answer your question.

The key here to see if your “real” switch will work in this scenario is to see what interactions the switch exposes to webCore. In webCore, select the drop-down for “Which interaction” to see your options. In this case, you are looking for “Physical interaction” which, at least for the switch I tested, only fires when the switch is physically pressed. If the switch you are using doesn’t expose this interaction, then this technique won’t work.

(Bryan) #23

FYI, when I tested I didn’t wait for a Smart Lighting scheduled event to throw the switch, but I did toggle the switch via ST manually and it didn’t affect the virtual switch.

(Ron Talley) #24

The Physically vs Programmatically option only works with a select few devices. Most manufacturers don’t take the time to add that specific reporting function into their Switches. The GE 12xxx Switch reports it but not the Dimmer. You need a custom DTH for it to report and even then it’s highly unreliable.


(John) #25

Hi Brian and Lee,

It looks like WebCoRE does not distinguish between a physical or a programmed start/stop of this switch (GE 14287). I think it is because the physical paddles are also used to change the speed of the fan and everything is driven from software in the switch. I checked and made sure that the piston is stating “physical interaction” and it is (I used your initial example as a template and just updated the name of switches).

Any other thoughts on how I can get this to work properly?



(Ron Talley) #26

You can’t you need to think of another way to accomplish your goal…I’ll work on a Piston for you but here’s the logic.

In webCoRE:

Define dynamic variable {alreadyon}

If Furnance fan changes to on
Ceiling fan is off
Then using ceiling fan
Set level
Set variable alreadyon to false

If Furnance fan changes to on
Ceiling fan is on
Set variable alreadyon to true

If Furnance fan changes to off
Variable alreadyon is false
Then using ceiling fan
Turn off

If Ceiling fan changes to off
Then using Location
Set variable alreadyon to false

Each of the above arguments would be a seperate “If” block in the same Piston. They should be set to run asynchronously. This setting can be found by clicking on the “With” then the gear icon. Scroll down and you’ll see it. It will still work without it though…This setting just breaks it up for each “If” Block to run independently.

(Lee Florack) #27

I think it’s actually this specific switch that’s not sending the data webCoRE needs. The GE 12xxxx switch happens to do it, but as you found out, the dimmer version doesn’t. Many (most?) devices don’t.

@rontalley is on the right track with using webCoRE and a boolean variable to determine if each fan was already on when the furnace starts.

(Bryan) #28

I think this thread got hijacked. We started off working on @Tom_C’s back porch light and wound up with someone’s furnace. :zipper_mouth_face:

@Tom_C Agree with @lflorack that @rontalley is on the right track. If your switch doesn’t support what I suggested with webCore you are going to have to set a variable or throw a virtual switch to identify that the light is supposed to stay on.

Maybe you can use a button like a WallMote that you can press as an override? Or if your dog is always quick maybe you can do something based on time where the turning off gets disabled if there is a particular time lapse after the door opens.

(Ron Talley) #29

Typically happens but its all relevant.

@johnandy , import this one and it should do what you need. There is an overide built in in case you wanted to make a VS to pause the Piston. I typically have an override in all of my Pistons. You can disable it by just removing the restriction. Also, you can define what level all fans will turn on in the define area. You can choose to delete that as well and just assign a level in the Piston Set Level Section.

(Tom C) #30

I think I may have figured it out, my switch GE 14295 does not seem to differentiate between physical and programmed on/offs. I tired this without the sunset-sunrise restriction and it was working requested. I will try it out tonight just to make sure.

(Lee Florack) #31

Nice work!

(John) #32


Sorry for high jacking this thread. I was directed to this post after issuing a new issue/question.

Ron, Lee, Brian,

I got it working perfectly. I do not have my switch installed on the furnace yet, so I used my refrigerator door to act the same as the switch (fridge open simulates furnace fan on and visa versa).

Attached is the piston

(Ron Talley) #33

Once you get a handle on using variables in webCoRE, it really opens up the potential. Great work guys!

(John) #34

Thanks Ron, Brian, and Lee for all the help. You guys are great.

I’ll get the hang of this over time, but it was great to learn from automation experts. I’m a Mechanical Engineer by Education and Project Management is essentially what I have done the last 15 years. This is for Industrial Production facilities, so I get a taste of Controls and Automation in terms of making sure specs are correct and working with experts to Loop Check. However, the bulk of the programming (via PLC and DCS) is done by Experts like you.

Thanks for the patience. I’ll have many more questions in the future.

(Lee Florack) #35

There are many things that make webCoRE so powerful. However, variables is at the top of the list. Programming without variables is like fighting with both hands tied behind your back. I sincerely hope that webCoRE can be ported to or recreated in the new SmartThings environment once Samsung cuts off the Classic version.

(Lee Florack) #36


As a follow up regarding ST and tracking physical changes versus programmatic device changes that we discussed in this thread, I saw this excellent description of the issues involved from @JDRoberts: