How do I, like, make it start?


#1

I wrote this piston after following the intro video.

image

Either there is some way of getting the code out of WebCoRE into smatthings or it runs through the website and I don’t see where I need to push start to get it to start executing.

help much appreciated.


#2

Your piston should be active and working just the way you have it. To FORCE it to run, click the orange TEST button when you’re reviewing your piston. Otherwise your piston will run every time your Motion Sensor’s temperature sends an update to SmartThings.

Looking at what you posted, it has already executed at least once, temperature was above 83 so your cooling setpoint was set to 78.


#3

Excellent. I can understand what the interface is telling me now. What I don’t understand is why the setpoint on the actual tstat isn’t changing.

This thing is live right. This isn’t some giant sandbox “it will work like this in the future once we build it” POS is it?


#4

It’s live. At the bottom of your piston, can you set Logging to Full? Then click TEST again and see what it puts in there?

Post the logs in here and we’ll see if there’s anything telling in there.

Edit: I don’t have a thermostat on my set-up, but I feel like most pistons I’ve seen that do use “setpoint” rather than just “point”. Is that an option on your dropdown list when selecting an action?


#5

Here’s the log:

5/20/2018, 12:16:34 PM +495ms
+0ms ╔Received event [104 Primary].test = 1526832994494 with a delay of 0ms
+58ms ║RunTime Analysis CS > 11ms > PS > 33ms > PE > 14ms > CE
+60ms ║Runtime (36479 bytes) successfully initialized in 33ms (v0.3.104.20180323) (59ms)
+61ms ║╔Execution stage started
+75ms ║║Comparison (decimal) 85.5 is_greater_than (integer) 83 = true (1ms)
+76ms ║║Condition #6 evaluated true (10ms)
+77ms ║║Condition group #1 evaluated true (state did not change) (11ms)
+83ms ║║Cancelling statement #4’s schedules…
+256ms ║║Executed physical command [null].setCoolingSetpoint([78.0]) (159ms)
+257ms ║║Executed [Fidure 2nd Generation Thermostat].setCoolingSetpoint (164ms)
+264ms ║╚Execution stage complete. (204ms)
+265ms ╚Event processed successfully (265ms)

I’ll check for the point option, I looked at a bunch of them.


#6

These are the options I have:


#7

These two lines show webCoRE thinks it did what it was supposed to do. So the good news is your piston is working.

Can you change the setpoint on your thermostat from your SmartThings app? (just making sure the broken link isn’t there for some reason)


#8

yes I can. I can change the setpoint and switch modes fine through the smartthings app on android.


#9

Man, this sucks your first piston is giving you so much trouble. These usually work really well!

Here’s what I would try next just to see what’s happening. Log into SmartThings on a web browser and go to Live Logging, then see what commands are sent to your Thermostat when you change the setpoint from your Android SmartThings app. Then run your piston and see what commands come through… you should see something different between the two that will help you figure it out.

I’m heading to lunch now but will be on later if you can get a couple screen grabs and post them up. Lots of other people here to help too! (someone with a thermostat can probably help more than me)


#10

I do not have a thermostat either, but what I do with any new device that I buy.

(1) Connect the device to SmartThings
(2) Tell webCoRE to monitor that device
(3) Make a 1 line piston to try to control that device

Keep in mind that webCoRE is made for MANY devices from MANY companies, so some of the drop down choices may or not work with your particular brand of thermostat. This is why I like the 3 steps listed above because you can quickly test to see which commands works best for your devices.

For a visual example, notice there are 5 different ways to brighten or dim a bulb here:

temp

For my bulbs, Set level works best, but other devices may have better results with one of the other choices.


#11

In addition to the great advice provided so far …AND I assume you’ve already looked and would have noticed this but…

Your thermostat may take while for setpoint change commands to take effect. In my case, it takes 25 seconds - even after a ‘refresh’ command is sent to the thermostat for it to respond with the intended change.


#12

With the one I’m using the delay is normally not more than 2 seconds.

It looks like, from the live log, that when it changes the parameters from the DTH it does it in a programming block where it says “programming on” and then sends all the setpoints over in a block.


#13

well, that idea didn’t work…


#14

Can you confirm that a basic piston with only the following command does nothing?
(You will have to manually run (TEST) to see results)

temp

(It is always best to start ultra simple, then build upon that)


#15

Correct, at least for a Honeywell Tstat. I use Set cooling point at x and Set heating point at x and it works without issue.

@DaveKeil - Your tstat is already set to the cooling mode when you are setting a cooling setpoint, right? If it’s set to off or heating, there is a bit more you have to do.


#16

Is the [null].coolingSetpoint thing normal?

yeah, it’s in cooling mode. It’s all it does I don’t have heating at my house.


#17

If this test failed:

temp

…can you change the line:
Set cooling point
-TO-
setTemperature(..)
and try testing again?

If that also fails, my third test would be change that line to:
temp
and see what options appear in the popup.

EDIT
Basically, these tests are trying to determine what commands your particular thermostat responds to.


#18

I found the problem. I had edited the DTH a while back and forgot about it, when I reverted it back to an older version it worked as is.

I may try the device configure thing with the edited DTH to see what happens.

Thanks for the help peeps! I’m looking forward to writing all kinds of craziness with WebCoRE now! :smiley: