I wanted to have a good morning greeting play at 7AM each morning which gave a weather forecast for the upcoming day - I had planned on doing this using Rules Engine. The challenge I had however was finding a reliable driver which gave a weather forecast (not just alerts) that I could use within the greeting. With this in mind, I set about creating my own...
Apologies if I am duplicating efforts that someone else has already done, I just couldn't find anything that worked for me.
Some of the key points of my driver:
The driver pulls the forecast from the National Weather Service API (API Web Service) so no API keys are required.
The driver uses the longitude and latitude settings from the hub (settings -> hub details) to determine the location and thus get the correct forecast.
The driver stores a bunch of data within Current States that can be used, but the most interesting one (at least for my use case) is ** weatherSummaryString** which is a human readable weather forecast that can be used in TTS situations for example.
Once you import the custom driver code, create a new device using the driver and then use Refresh to pull the latest forecast. The returned data (and populated properties) should look like this -
Very cool. I did something similar in webCoRE, which has baked-in weather attributes. It triggers the first time that I walk into the kitchen or living room each morning. The Sonos speakers are sometimes grouped throughout the house, so I had to ungroup each day.
This is very cool and exactly what I'm looking for. Thank you. I'm plotting this data vs. interior temperature data. Unfortunately the virtual device and my physical device are using different scales in WatchTower 4.0. Exterior temperature should be lower that interior, but the exterior scale is on the right side of the graph, and interior is on the left when they are plotted, it is impossible to do apples vs. apples. Anyone have any suggestions on how to create a plot with a common scale for both so the comparison is clear? Is there another method I should use to track this now that I have a good source of outdoor temperature? Thanks.
Solution: I realized if I just graphed a single attribute this problem went away. Sorry for the wasted bandwidth.