Nice work, @dejavux2!
The only thing that bugs me a bit about piston “k087” is you are making 15 hits to the weather server to gather 7 data points…
The way I do it is to store the $twcweather into local variables, and then the rest of the piston only references those variables, instead of spamming the server a few milliseconds later for the same query. (globals are still ok to be set towards the end)
For example:
Set variable temp = $twcweather.conditions.temperature
Log info "Temp is {temp}"
Set variable @globalTemp = {temp}
Just my two cents.