Turn of the heat during summer months or if outside temperature rises above xx


#1

1) Give a description of the problem
I’m having problems trying to make this piston work the way I want to. Ideally I want a piston that checks to see if we’re in the summer months or if the outside temperature is above 14 celcius.

And if it is, it should turn off all heating thermostats in the house.

2) What is the expected behaviour?
Piston should check what month we are in and outside temperature, if any of th criteria is met then turn off the heat.

3) What is happening/not happening?
It seems like nothing is happening.

My big problem is that WebCore says the piston won’t run by itself (why?) and I have other pistons that is triggered daily that sets the thermostats into their default heating mode. So I need to design the piston so it overrides whatever else is going on.

**4) Post a Green Snapshot of the piston!

5) Attach logs after turning logging level to Full
No log due to it never firing.


#2

Pistons are literally event handlers. The events they handle are things like subscriptions to device attributes, timers, and various webCoRE events that are created in response to things like the Test button being pressed, the piston being started and stopped, piston execution being requested by URL or IFTTT, global variables being changed etc.

Your piston is simply checking the month and the temperature when it runs. There is nothing there that gives the piston a clue when it should run automatically. There isn’t any event generated when $monthname changes or $twcweather.conditions.temperature changes.


#3

Above is correct. If you have a weather device installed, you can use that as a trigger, but then there can be a timing issue between when your weather device updates temperature and $twc (ie if you use both in the same piston, there can be different answers)

On HE to help deal with this:

Also see:


#4

This is a piston I designed for extreme Summer weather. It uses the device SmartWeather Station Tile created in IDE. It has never run, since the parameters haven’t occurred, but it should work if my local weather gets a bit crazy. I have a similar one paused for winter weather.


#5

As a SmartThings user can I also make use of this?

I think I understand half of what you’re linking to, so is there a “I’m a dummy” guide somewhere?


#6

This feature is part of the Hubitat port of webcore (as all of $weather works differently in HE).

In ST there is not notification of $twc changing…

Over in HE forums, if you have an HE questions can get answered on these details or example pistons can be shown.


#7

Would this variant of the piston then run and turn off the heat in the house?

Regarding the weather thing, I’m genuinely very confused. Searching on the web sends me to this link - https://wiki.webcore.co/TWC_Weather

And I input “$twcweather.conditions.temperature” into Webcore I get a temperature readout that matches what the temp is outside:

So shouldn’t that be a valid thign for WebCore to go “Oh, the temperature outside of above 14 Celcius, I will now tunr off the radiators” ?


#8

This is the YouTube video that gave me the information needed to create the weather information. Hopefully it will work for you.


#9

When a piston is subscribed to a device or attribute, you will see a lightning bolt in the left margin. (denoting that it is a trigger). Afterwords, any changes to that device will execute the piston.

With regards to $twcweather… the data is there and available, but your SmartHome is not aware until after a query is made.

IE: $twcweather is not a trigger here in WebCoRE. We have to determine WHEN to check the temperature, and program accordingly. (IE: Every day at noon, check the temp)


Edit: There are free alternatives if you want to keep timers out of the piston.

The Accu-Weather plugin for webCoRE is pretty decent for temperatures, cloud coverage, and more…

You can test this plugin by loading the ST app on your phone, and going to:
Market Place > Smart Apps > Climate Control > AccuWeather Connect

It is actually seen as a device, so you can make triggers from the weather events. For instance, you can code: If AccuWeather’s temp rises above 14 degrees, do X.