It has a lot of information but I then use node-red to build the response like this
value = "currently, " + global.get("HornsbyWeatherCurrent.Conditions") +
" and " + Math.round(global.get("HornsbyWeatherCurrent.Temperature")) +
". Expected " + global.get("HornsbyWeatherForecast0.Conditions") +
" with a high of " + Math.round(global.get("HornsbyWeatherForecast0.HighTemperature")) +
" and a low of " + Math.round(global.get("HornsbyWeatherForecast0.LowTemperature"));
Where I have stored the fields in an object like:
{“thingname”:“HornsbyWeatherCurrent”,“Comfort”:“Warm”,“Conditions”:“Partly Cloudy”,“Humidity”:85,“LocationUsed”:"-33.6,151.1 - Australia/Sydney",“LocationUsedText”:"-33.6,151.1 - Australia/Sydney",“Pressure”:1026.1,“RainFallDay”:0.2217,“RainFallsource”:“weather”,“THI”:15.08,“Temperature”:15.08,“WindDegrees”:157,“WindDirection”:“SE”,“WindGust”:1.7,“WindSpeed”:1.06,“Windsource”:“weather”,“source”:“weather”}
and
{“thingname”:“HornsbyWeatherForecast0”,“Conditions”:“Mostly cloudy throughout the day.”,“HighComfort”:“Warm”,“HighHumidity”:97,“HighPressure”:1026.1,“HighTHI”:22.2,“HighTemperature”:24.79,“HighWind”:2.94,“HighWindDegrees”:272,“Highsource”:“weather”,“LowComfort”:“Cold”,“LowHumidity”:65,“LowPressure”:1019.7,“LowTHI”:2.19,“LowTemperature”:13.93,“LowWind”:0.73,“LowWindDegrees”:29,“Lowsource”:“weather”,“POP”:44,“source”:“weather”}
I collect 7 days forecast at present I just provide current information and the forecast for the coming day.
So the above would read out:
“currently, Partly Cloudy and 15. Expected Mostly cloudy throughout the day. with a high of 25 and a low of 14”