Reliable LUX for Piston Execution


I always get 0 reported back, when I edit piston and watch it evaluate it I can see it’s always a 0. If I request something else I get non zero results for example

This reported “10” just now integer($weather.conditions.current_observation.visibility_km)
but I get “0” for integer($weather.conditions.current_observation.solarradiation)

Suggests to me that it’s location specific works for some not others. I ran it for a 24hrs and it’s always been 0.


I concur – my weather unerground site is

if you look I am not providing Solar from my PWS so it has nothing to collect. There are a few sorta nearby stations so i’ll take a gander @ their data and see if I can find a way to use

Is there anyway to use the WeatherAPI in WC and pass it a different PWS station code?


You might be able to if you change your location.


yeah - that I can do but defeats the purpose of other bits I am doing / planning … would be easier to drop $125 on a sensor for my Davis unit and start pushing the SR data now instead of waiting for May/June to buy/install it and a UV sensor


Same, changing location would break other things. Shame this looked like a good script for me!

Off to find another way of getting a reliable LUX setting


My apologies for those out in the stix…didn’t realize solar radiation was a local weather API.


Its all good … its just given me a real reason to buy a new toy …


Hi. Could someone please tell me how would I implement using this piston with a motion sensor and lighting ? Thanks


Here is one of the simplest ways.
I use a variable but you can just say if lux is above a certain figure.


Sorry for the simple questions but how and where would I change it to Lux?


Do you have a device that measures illuminance ?
If so, click on the UV variable statement and change it from variable to physical device.
Select your device and select illuminance.
Set the condition and level to suit. Maybe “IS BELOW 20”.


That makes sense. Thank you for your help. I’m just starting with Webcore so there are still a few things I’m unsure about.


You can use weather station as well if you don’t have an illuminance device.
Use UV as it is more accurate.
Look at post 13 above.


Hate to revive this, but how are you using $twcweather UV reporting in pistons similar to this? I’d like to turn on certain lights when it gets cloudy and the light outside is somewhat dark.


Yeah I don’t use WebCore or ST anymore. Switched over to Hubitat.


Hey @leanbarton just wondering if you got anywhere with this? I just started to get this working with Weather Underground to find out that their API doesn’t work any more.


I ended up with a new weather station called WeatherFlow which is great for my use. It has a great API and brightness and UV. I make a get HTTP request to determine brightness in Webcore and then control lights based on the data every 5 minutes.


Could you post an example of what your doing so other people might be able to use it. I am using SmartWather Station and tbh I’m less than impressed with its reliability so any other option would be great. As long as it’s reliable.


I would highly recommend the Aeotec Multisensor 6 for Lux values, I bought one yesterday and set it up and its truly like night and day (pun intended) when setting my auto light pistons up.

I made this graph from the data that was reported from it over the last few hours (from yesterday afternoon to this morning)

I have my lux trigger set to 500 in a global variable, that I then reference in all the pistons that need to trigger something based on the value.


I’ve been using cloud cover value from twc weather for my lighting. On cloudy days certain lights inside the house would come on together with a tts announcement stating that it’s cloudy and the lights are being turned on.

I only check the cloud cover value during the daytime and also reset the value at night so it starts fresh the next day.