Hi Ian,
I would definitely be interested in your script, if that's OK. Anything to get me started!

I guess you know that PVOutput will auto add the weather/temperature for you from a local station, using weatherunderground as the source?
However, I too (for my VB app) coded a feed from a local station (either using google or weatherunderground as my source), adding it to my upload data. I started coding it just before bankstownbloke added it to PVOutput, so kept going for programming practice.
I don't know if this will help or is wanted or not, but pvoutput only accepts a few weather type designations so those provided by google or weatherunderground need condensing. Here's my conversion table (VB coding structure removed):
'Google
Value ("fine")
becomes = "Fine"
Value ("rain showers")
becomes = "Showers"
Value ("partly sunny")
becomes = "Partly Cloudy"
Value ("scattered thunderstorms")
becomes = "Showers"
Value ("showers")
becomes = "Showers"
Value ("scattered showers")
becomes = "Showers"
Value ("rain and snow")
becomes = "Snow"
Value ("overcast")
becomes = "Cloudy"
Value ("light snow")
becomes = "Snow"
Value ("freezing drizzle")
becomes = "Showers"
Value ("chance of rain")
becomes = "Showers"
Value ("sunny")
becomes = "Fine"
Value ("clear")
becomes = "Fine"
Value ("mostly sunny")
becomes = "Partly Cloudy"
Value ("partly cloudy")
becomes = "Partly Cloudy"
Value ("mostly cloudy")
becomes = "Mostly Cloudy"
Value ("chance of storm")
becomes = "Showers"
Value ("rain")
becomes = "Showers"
Value ("chance of snow")
becomes = "Snow"
Value ("cloudy")
becomes = "Cloudy"
Value ("mist")
becomes = "Cloudy"
Value ("storm")
becomes = "Showers"
Value ("thunderstorm")
becomes = "Showers"
Value ("chance of tstorm")
becomes = "Showers"
Value ("sleet")
becomes = "Snow"
Value ("snow")
becomes = "Snow"
Value ("icy")
becomes = "Snow"
Value ("dust")
becomes = "Fine"
Value ("fog")
becomes = "Cloudy"
Value ("smoke")
becomes = "Fine"
Value ("haze")
becomes = "Fine"
Value ("flurries")
becomes = "Showers"
Value ("light rain")
becomes = "Showers"
Value ("snow showers")
becomes = "Snow"
Value ("hail")
becomes = "Snow"
Value ("drizzle")
becomes = "Showers"
Value ("heavy rain")
becomes = "Showers"
'Wunderground
Value ("Light Drizzle")
becomes = "Showers"
Value ("Light Rain")
becomes = "Showers"
Value ("Light Snow")
becomes = "Snow"
Value ("Light Snow Grains")
becomes = "Snow"
Value ("Light Ice Crystals")
becomes = "Snow"
Value ("Light Ice Pellets")
becomes = "Snow"
Value ("Light Hail")
becomes = "Snow"
Value ("Light Mist")
becomes = "Partly Cloudy"
Value ("Light Fog")
becomes = "Partly Cloudy"
Value ("Light Smoke")
becomes = "Partly Cloudy"
Value ("Light Volcanic Ash")
becomes = "Partly Cloudy"
Value ("Light Widespread Dust")
becomes = "Partly Cloudy"
Value ("Light Sand")
becomes = "Partly Cloudy"
Value ("Light Haze")
becomes = "Partly Cloudy"
Value ("Light Spray")
becomes = "Partly Cloudy"
Value ("Light Dust Whirls")
becomes = "Partly Cloudy"
Value ("Light Sandstorm")
becomes = "Partly Cloudy"
Value ("Light Low Drifting Snow")
becomes = "Snow"
Value ("Light Low Drifting Widespread Dust")
becomes = "Partly Cloudy"
Value ("Light Low Drifting Sand")
becomes = "Partly Cloudy"
Value ("Light Blowing Snow")
becomes = "Snow"
Value ("Light Blowing Widespread Dust")
becomes = "Partly Cloudy"
Value ("Light Blowing Sand")
becomes = "Partly Cloudy"
Value ("Light Rain Mist")
becomes = "Showers"
Value ("Light Rain Showers")
becomes = "Showers"
Value ("Light Snow Showers")
becomes = "Snow"
Value ("Light Ice Pellet Showers")
becomes = "Snow"
Value ("Light Hail Showers")
becomes = "Snow"
Value ("Light Small Hail Showers")
becomes = "Snow"
Value ("Light Thunderstorm")
becomes = "Showers"
Value ("Light Thunderstorms and Rain")
becomes = "Showers"
Value ("Light Thunderstorms and Snow")
becomes = "Snow"
Value ("Light Thunderstorms and Ice Pellets")
becomes = "Snow"
Value ("Light Thunderstorms with Hail")
becomes = "Snow"
Value ("Light Thunderstorms with Small Hail")
becomes = "Snow"
Value ("Light Freezing")
becomes = "Snow"
Value ("Light Freezing Rain")
becomes = "Snow"
Value ("Light Freezing Fog")
becomes = "Snow"
Value ("Heavy Drizzle")
becomes = "Showers"
Value ("Heavy Rain")
becomes = "Showers"
Value ("Heavy Snow")
becomes = "Snow"
Value ("Heavy Snow Grains")
becomes = "Snow"
Value ("Heavy Ice Crystals")
becomes = "Snow"
Value ("Heavy Ice Pellets")
becomes = "Snow"
Value ("Heavy Hail")
becomes = "Snow"
Value ("Heavy Mist")
becomes = "Cloudy"
Value ("Heavy Fog")
becomes = "Cloudy"
Value ("Heavy Smoke")
becomes = "Cloudy"
Value ("Heavy Volcanic Ash")
becomes = "Cloudy"
Value ("Heavy Widespread Dust")
becomes = "Cloudy"
Value ("Heavy Sand")
becomes = "Cloudy"
Value ("Heavy Haze")
becomes = "Cloudy"
Value ("Heavy Spray")
becomes = "Cloudy"
Value ("Heavy Dust Whirls")
becomes = "Cloudy"
Value ("Heavy Sandstorm")
becomes = "Cloudy"
Value ("Heavy Low Drifting Snow")
becomes = "Snow"
Value ("Heavy Low Drifting Widespread Dust")
becomes = "Cloudy"
Value ("Heavy Low Drifting Sand")
becomes = "Cloudy"
Value ("Heavy Blowing Snow")
becomes = "Snow"
Value ("Heavy Blowing Widespread Dust")
becomes = "Cloudy"
Value ("Heavy Blowing Sand")
becomes = "Cloudy"
Value ("Heavy Rain Mist")
becomes = "Showers"
Value ("Heavy Rain Showers")
becomes = "Showers"
Value ("Heavy Snow Showers")
becomes = "Snow"
Value ("Heavy Ice Pellet Showers")
becomes = "Snow"
Value ("Heavy Hail Showers")
becomes = "Snow"
Value ("Heavy Small Hail Showers")
becomes = "Snow"
Value ("Heavy Thunderstorm")
becomes = "Showers"
Value ("Heavy Thunderstorms and Rain")
becomes = "Showers"
Value ("Heavy Thunderstorms and Snow")
becomes = "Snow"
Value ("Heavy Thunderstorms and Ice Pellets")
becomes = "Snow"
Value ("Heavy Thunderstorms with Hail")
becomes = "Snow"
Value ("Heavy Thunderstorms with Small Hail")
becomes = "Snow"
Value ("Heavy Freezing")
becomes = "Snow"
Value ("Heavy Freezing Rain")
becomes = "Snow"
Value ("Heavy Freezing Fog")
becomes = "Snow"
Value ("Overcast")
becomes = "Cloudy"
Value ("Clear")
becomes = "Fine"
Value ("Partly Cloudy")
becomes = "Partly Cloudy"
Value ("Mostly Cloudy")
becomes = "Mostly Cloudy"
Value ("Scattered Clouds")
becomes = "Partly Cloudy"
Otherwise = "Unknown"
Cheers, Jim