Moving from DarkSky.io

Here's my progress so far:

I haven't found anything that compares to Dark Sky :frowning:

1) Norway
Nice and simple. Just send a message with msg.lat and msg.lon into an HTTP request node pointing to https://api.met.no/weatherapi/locationforecast/2.0/.json?lat={{{lat}}}&lon={{{lon}}}. This returns an array of 90 elements, starting with 0 previous hour, 1 current hour, 2 next hour, etc... then at array item 64, it goes to every 6 hours. I think this takes you out to about 10 days.

BUT... I ended up ditching it because it doesn't give us an up-to-the-minute precipitation for next hour, which was one of the main benefits of Dark Sky. Nor does it give us precipitation NOW. So you can't actually tell if it's raining. (Sounds silly, but if you are away in a foreign country / in a darkened room and can't be bothered to look out the window... you can't. Also, I previously logged rainfall into a database so I could cross-reference with other things in my home later, e.g. sumps, which turned out to be very useful for diagnosing problems)

2) OpenWeatherMap.org
It advertises TWO things that sound really fab: firstly it has a free tier with up to 1000 calls per day. Secondly it says it's designed for those who were hooked on Dark Sky, as the API is compatible. **Sounds perfect right?

EDIT: I misunderstood the pricing plan, I think maybe this could be perfect. Currently testing. I may use this from now on!

3) WeatherAPI.com.
I like this API. There's an hourly forecast, out to 10 days. But then you realise that the free version only gives you that hourly forecast out to 3 days. I know hourly forecasts beyond 3 days are never that accurate, certainly not out to 10 days... but still, I'd rather have the inaccurate hourly forecast out to 10 days than none at all - my brain is able to automatically add a confidence figure for hourly forecasts for 10 days time!

But another issue I found with the above is that I think the CURRENT weather info is just copied from the forecast for the given hour of today. Which means that the current weather doesn't actually reflect well what's happening right now.

So for example, in the UK's April showers, it can be bright blue skies with no clouds, then 10 minutes later it can be very heavy rain. As it was this year. I made notes in April this year and it was completely inaccurate, showing heavy rainfall when there wasn't a cloud in sight and there was hot sun. And it stayed that way for about 2 hours! In my opinion, that is not a good replacement for Dark Sky - which as DS users know, would simply never happen.

4) UK Met Office
What a hassle to get it working! I gave up. Maybe if I tried harder, I'd get all the things I really want?

Summary / Whinge
EDIT: Maybe OpenWeatherMap.org is the solution to the below problems!

The wonderful thing about Dark Sky was the ridiculous level of accuracy when predicting rain. It would tell you "raining in 17 minutes" and to the nearest 30 seconds it was right. (At least here in London. Maybe less so elsewhere I guess.) In fact - it was a great party trick when I first started using it, before others had heard of it. Now, I guess everyone is used to that level of accurate rain forecasting, as it's built into Apple Weather. (Sadly, a dumbed-down UI and not as good as Dark Sky, but still very very good.)

The other wonderful thing about Dark Sky was that it reported the current rainfall in mm / minute VERY well indeed. I had the data feeding to an Influx database which also logged my sump pump water levels. It was astonishingly good when cross-referencing the data. When the rainfall showed as 1mm, the sumps filled up slowly, and when it showed as 5 or 10mm, the sumps filled up really fast. There was barely any latency!

ALSO - I was able to use Dark Sky precipitation data to actually ping my phone if there was going to be a very high amount of rainfall in a short period of time in the next 48 hours, so I could ensure I could get myself or someone into our basement to check the pumps (thanks to Thames Water, we have sewage backing up when there's flash flooding in London... not an event you want to miss)

Nothing I have tried comes close to this in terms of accuracy.

Just my thoughts... and I'm really interested in hearing that I'm wrong, and I should try something else!

No that's wrong. Their "OneCall" API does allow free access to "current weather, minute forecast for 1 hour, hourly forecast for 48 hours, daily forecast for 8 days"
I have never used the minute by minute forecast so no idea if it matches your experience with DarkSky.

Edit: This flow works for me - but I notice that there is no "Minutely" data.

[{"id":"b5c0d5b07cb01554","type":"function","z":"4f02d48c1fd987a5","name":"Setup","func":"const appid = global.get('openweathermapid');   // Openweathermap OneCall API key\nmsg.location = msg.payload;\nmsg.lat = 21.321775;\nmsg.long = -158.01860\nmsg.url=\"https://api.openweathermap.org/data/2.5/onecall?lat=\" + msg.lat + \"&lon=\" + msg.long + \"&units=metric&appid=\" + appid;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":470,"y":300,"wires":[["af36edca67cc19bf"]]},{"id":"af36edca67cc19bf","type":"http request","z":"4f02d48c1fd987a5","name":"Openweathermap","method":"GET","ret":"obj","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":650,"y":300,"wires":[["49ce8f14c2282226"]]},{"id":"49ce8f14c2282226","type":"debug","z":"4f02d48c1fd987a5","name":"debug 389","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":850,"y":300,"wires":[]},{"id":"0b4ea17f33caee20","type":"inject","z":"4f02d48c1fd987a5","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":320,"y":300,"wires":[["b5c0d5b07cb01554"]]}]

An example of the data returned

{"lat":21.3218,"lon":-158.0186,"timezone":"Pacific/Honolulu","timezone_offset":-36000,"current":{"dt":1687736802,"sunrise":1687708309,"sunset":1687756647,"temp":27.54,"feels_like":28.89,"pressure":1020,"humidity":61,"dew_point":19.35,"uvi":10.73,"clouds":0,"visibility":10000,"wind_speed":9.26,"wind_deg":70,"wind_gust":12.35,"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}]},"hourly":[{"dt":1687734000,"temp":27.35,"feels_like":28.54,"pressure":1020,"humidity":60,"dew_point":18.9,"uvi":12.35,"clouds":4,"visibility":10000,"wind_speed":10.04,"wind_deg":71,"wind_gust":11.97,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0.18},{"dt":1687737600,"temp":27.54,"feels_like":28.89,"pressure":1020,"humidity":61,"dew_point":19.35,"uvi":10.73,"clouds":0,"visibility":10000,"wind_speed":10.4,"wind_deg":71,"wind_gust":12.64,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0.14},{"dt":1687741200,"temp":27.31,"feels_like":28.48,"pressure":1020,"humidity":60,"dew_point":18.87,"uvi":7.76,"clouds":2,"visibility":10000,"wind_speed":10.27,"wind_deg":73,"wind_gust":12.51,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687744800,"temp":26.96,"feels_like":28.17,"pressure":1020,"humidity":62,"dew_point":19.06,"uvi":4.62,"clouds":2,"visibility":10000,"wind_speed":10.05,"wind_deg":70,"wind_gust":12.49,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687748400,"temp":26.38,"feels_like":26.38,"pressure":1019,"humidity":64,"dew_point":19.03,"uvi":2.07,"clouds":4,"visibility":10000,"wind_speed":9.68,"wind_deg":67,"wind_gust":12.25,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687752000,"temp":25.66,"feels_like":26.03,"pressure":1019,"humidity":67,"dew_point":19.08,"uvi":0.58,"clouds":6,"visibility":10000,"wind_speed":9.2,"wind_deg":66,"wind_gust":11.82,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687755600,"temp":24.51,"feels_like":24.92,"pressure":1019,"humidity":73,"dew_point":19.11,"uvi":0,"clouds":8,"visibility":10000,"wind_speed":8.81,"wind_deg":65,"wind_gust":11.61,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687759200,"temp":24.4,"feels_like":24.83,"pressure":1020,"humidity":74,"dew_point":19.23,"uvi":0,"clouds":11,"visibility":10000,"wind_speed":8.39,"wind_deg":67,"wind_gust":11.9,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"pop":0},{"dt":1687762800,"temp":24.27,"feels_like":24.74,"pressure":1020,"humidity":76,"dew_point":19.34,"uvi":0,"clouds":25,"visibility":10000,"wind_speed":9.15,"wind_deg":67,"wind_gust":12.23,"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}],"pop":0},{"dt":1687766400,"temp":24.14,"feels_like":24.57,"pressure":1020,"humidity":75,"dew_point":19.14,"uvi":0,"clouds":26,"visibility":10000,"wind_speed":9.47,"wind_deg":63,"wind_gust":12.62,"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}],"pop":0},{"dt":1687770000,"temp":23.84,"feels_like":24.34,"pressure":1021,"humidity":79,"dew_point":19.47,"uvi":0,"clouds":19,"visibility":10000,"wind_speed":9.35,"wind_deg":64,"wind_gust":12.66,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"pop":0.04},{"dt":1687773600,"temp":23.92,"feels_like":24.4,"pressure":1020,"humidity":78,"dew_point":19.54,"uvi":0,"clouds":21,"visibility":10000,"wind_speed":8.86,"wind_deg":72,"wind_gust":12.32,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"pop":0.11},{"dt":1687777200,"temp":24.03,"feels_like":24.47,"pressure":1020,"humidity":76,"dew_point":19.16,"uvi":0,"clouds":24,"visibility":10000,"wind_speed":8.9,"wind_deg":67,"wind_gust":11.89,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"pop":0.11},{"dt":1687780800,"temp":23.97,"feels_like":24.43,"pressure":1019,"humidity":77,"dew_point":19.26,"uvi":0,"clouds":25,"visibility":10000,"wind_speed":8.66,"wind_deg":67,"wind_gust":11.73,"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}],"pop":0.11},{"dt":1687784400,"temp":23.72,"feels_like":24.18,"pressure":1019,"humidity":78,"dew_point":19.36,"uvi":0,"clouds":26,"visibility":10000,"wind_speed":8.52,"wind_deg":63,"wind_gust":11.73,"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}],"pop":0.11},{"dt":1687788000,"temp":23.84,"feels_like":24.32,"pressure":1018,"humidity":78,"dew_point":19.43,"uvi":0,"clouds":44,"visibility":10000,"wind_speed":9.37,"wind_deg":65,"wind_gust":12.66,"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}],"pop":0.23},{"dt":1687791600,"temp":23.98,"feels_like":24.42,"pressure":1019,"humidity":76,"dew_point":19.23,"uvi":0,"clouds":62,"visibility":10000,"wind_speed":9.36,"wind_deg":74,"wind_gust":12.19,"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"pop":0.35},{"dt":1687795200,"temp":23.95,"feels_like":24.36,"pressure":1019,"humidity":75,"dew_point":18.81,"uvi":0,"clouds":67,"visibility":10000,"wind_speed":8.98,"wind_deg":73,"wind_gust":12.63,"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"pop":0.36},{"dt":1687798800,"temp":24.19,"feels_like":24.6,"pressure":1019,"humidity":74,"dew_point":19.02,"uvi":0.29,"clouds":58,"visibility":10000,"wind_speed":9.1,"wind_deg":71,"wind_gust":12.81,"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"pop":0.4},{"dt":1687802400,"temp":24.81,"feels_like":25.2,"pressure":1020,"humidity":71,"dew_point":18.96,"uvi":1.12,"clouds":51,"visibility":10000,"wind_speed":9.58,"wind_deg":73,"wind_gust":12.65,"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"pop":0.4},{"dt":1687806000,"temp":25.29,"feels_like":25.68,"pressure":1020,"humidity":69,"dew_point":18.95,"uvi":3.92,"clouds":7,"visibility":10000,"wind_speed":10.03,"wind_deg":76,"wind_gust":12.68,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0.18},{"dt":1687809600,"temp":25.82,"feels_like":26.21,"pressure":1020,"humidity":67,"dew_point":18.92,"uvi":6.78,"clouds":9,"visibility":10000,"wind_speed":10.01,"wind_deg":76,"wind_gust":12.31,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0.23},{"dt":1687813200,"temp":26.25,"feels_like":26.25,"pressure":1020,"humidity":65,"dew_point":18.76,"uvi":9.48,"clouds":8,"visibility":10000,"wind_speed":9.71,"wind_deg":77,"wind_gust":11.92,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0.24},{"dt":1687816800,"temp":26.43,"feels_like":26.43,"pressure":1019,"humidity":63,"dew_point":18.46,"uvi":11.46,"clouds":7,"visibility":10000,"wind_speed":10.15,"wind_deg":77,"wind_gust":11.8,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0.22},{"dt":1687820400,"temp":26.53,"feels_like":26.53,"pressure":1019,"humidity":64,"dew_point":18.8,"uvi":11.58,"clouds":5,"visibility":10000,"wind_speed":10.36,"wind_deg":76,"wind_gust":12.04,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0.22},{"dt":1687824000,"temp":26.45,"feels_like":26.45,"pressure":1019,"humidity":65,"dew_point":19.12,"uvi":10.07,"clouds":5,"visibility":10000,"wind_speed":10.6,"wind_deg":74,"wind_gust":11.88,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0.18},{"dt":1687827600,"temp":26.29,"feels_like":26.29,"pressure":1018,"humidity":66,"dew_point":19.13,"uvi":7.51,"clouds":0,"visibility":10000,"wind_speed":10.6,"wind_deg":73,"wind_gust":11.42,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687831200,"temp":26.03,"feels_like":26.03,"pressure":1018,"humidity":66,"dew_point":18.83,"uvi":4.48,"clouds":0,"visibility":10000,"wind_speed":10.08,"wind_deg":74,"wind_gust":11.22,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687834800,"temp":25.69,"feels_like":26.12,"pressure":1018,"humidity":69,"dew_point":19.14,"uvi":2.01,"clouds":0,"visibility":10000,"wind_speed":9.7,"wind_deg":73,"wind_gust":11.68,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687838400,"temp":25.12,"feels_like":25.57,"pressure":1018,"humidity":72,"dew_point":19.28,"uvi":0.57,"clouds":1,"visibility":10000,"wind_speed":9.43,"wind_deg":72,"wind_gust":11.59,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687842000,"temp":24.66,"feels_like":25.14,"pressure":1019,"humidity":75,"dew_point":19.52,"uvi":0,"clouds":3,"visibility":10000,"wind_speed":8.77,"wind_deg":71,"wind_gust":11.49,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"pop":0},{"dt":1687845600,"temp":24.41,"feels_like":24.89,"pressure":1019,"humidity":76,"dew_point":19.57,"uvi":0,"clouds":5,"visibility":10000,"wind_speed":8.12,"wind_deg":69,"wind_gust":10.96,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0},{"dt":1687849200,"temp":24.31,"feels_like":24.75,"pressure":1020,"humidity":75,"dew_point":19.17,"uvi":0,"clouds":11,"visibility":10000,"wind_speed":8.07,"wind_deg":69,"wind_gust":10.86,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"pop":0.17},{"dt":1687852800,"temp":24.19,"feels_like":24.62,"pressure":1020,"humidity":75,"dew_point":19.31,"uvi":0,"clouds":8,"visibility":10000,"wind_speed":8.24,"wind_deg":69,"wind_gust":11.08,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0.12},{"dt":1687856400,"temp":24.11,"feels_like":24.51,"pressure":1020,"humidity":74,"dew_point":18.87,"uvi":0,"clouds":8,"visibility":10000,"wind_speed":8.69,"wind_deg":69,"wind_gust":11.16,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0.09},{"dt":1687860000,"temp":23.94,"feels_like":24.3,"pressure":1020,"humidity":73,"dew_point":18.51,"uvi":0,"clouds":6,"visibility":10000,"wind_speed":8.54,"wind_deg":67,"wind_gust":11.34,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0.06},{"dt":1687863600,"temp":23.75,"feels_like":24.22,"pressure":1019,"humidity":78,"dew_point":19.3,"uvi":0,"clouds":5,"visibility":10000,"wind_speed":8.2,"wind_deg":68,"wind_gust":11.62,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0.06},{"dt":1687867200,"temp":23.9,"feels_like":24.36,"pressure":1018,"humidity":77,"dew_point":19.36,"uvi":0,"clouds":9,"visibility":10000,"wind_speed":9,"wind_deg":69,"wind_gust":11.93,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"pop":0.06},{"dt":1687870800,"temp":23.79,"feels_like":24.21,"pressure":1018,"humidity":76,"dew_point":19.03,"uvi":0,"clouds":32,"visibility":10000,"wind_speed":9.59,"wind_deg":71,"wind_gust":12.14,"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}],"pop":0.06},{"dt":1687874400,"temp":23.7,"feels_like":24.06,"pressure":1017,"humidity":74,"dew_point":18.41,"uvi":0,"clouds":21,"visibility":10000,"wind_speed":9.3,"wind_deg":71,"wind_gust":11.64,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"pop":0.01},{"dt":1687878000,"temp":23.62,"feels_like":23.94,"pressure":1018,"humidity":73,"dew_point":18.1,"uvi":0,"clouds":15,"visibility":10000,"wind_speed":8.9,"wind_deg":73,"wind_gust":11.22,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02n"}],"pop":0.02},{"dt":1687881600,"temp":23.71,"feels_like":23.91,"pressure":1018,"humidity":68,"dew_point":17.21,"uvi":0,"clouds":14,"visibility":10000,"wind_speed":8.33,"wind_deg":72,"wind_gust":10.85,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"pop":0.05},{"dt":1687885200,"temp":24.27,"feels_like":24.5,"pressure":1019,"humidity":67,"dew_point":17.49,"uvi":0.46,"clouds":13,"visibility":10000,"wind_speed":7.58,"wind_deg":72,"wind_gust":10.29,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"pop":0.02},{"dt":1687888800,"temp":24.8,"feels_like":25.16,"pressure":1019,"humidity":70,"dew_point":18.51,"uvi":1.74,"clouds":12,"visibility":10000,"wind_speed":8.55,"wind_deg":77,"wind_gust":10.37,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"pop":0.02},{"dt":1687892400,"temp":25.23,"feels_like":25.66,"pressure":1019,"humidity":71,"dew_point":19.17,"uvi":3.23,"clouds":11,"visibility":10000,"wind_speed":9.03,"wind_deg":75,"wind_gust":10.4,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"pop":0.04},{"dt":1687896000,"temp":25.58,"feels_like":26.02,"pressure":1019,"humidity":70,"dew_point":19.28,"uvi":5.61,"clouds":13,"visibility":10000,"wind_speed":9.46,"wind_deg":73,"wind_gust":10.5,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"pop":0.04},{"dt":1687899600,"temp":25.95,"feels_like":25.95,"pressure":1019,"humidity":68,"dew_point":19.18,"uvi":7.83,"clouds":17,"visibility":10000,"wind_speed":9.52,"wind_deg":73,"wind_gust":10.12,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"pop":0},{"dt":1687903200,"temp":26.19,"feels_like":26.19,"pressure":1018,"humidity":65,"dew_point":18.78,"uvi":11.87,"clouds":15,"visibility":10000,"wind_speed":9.28,"wind_deg":72,"wind_gust":9.85,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"pop":0}],"daily":[{"dt":1687730400,"sunrise":1687708309,"sunset":1687756647,"moonrise":1687731360,"moonset":1687687680,"moon_phase":0.25,"temp":{"day":26.84,"min":23.45,"max":27.54,"night":23.84,"eve":25.66,"morn":23.45},"feels_like":{"day":28.02,"night":24.34,"eve":26.03,"morn":23.68},"pressure":1020,"humidity":62,"dew_point":18.95,"wind_speed":10.56,"wind_deg":71,"wind_gust":13.62,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":8,"pop":0.19,"uvi":12.35},{"dt":1687816800,"sunrise":1687794725,"sunset":1687843056,"moonrise":1687820820,"moonset":1687775940,"moon_phase":0.27,"temp":{"day":26.43,"min":23.72,"max":26.53,"night":24.11,"eve":25.12,"morn":23.95},"feels_like":{"day":26.43,"night":24.51,"eve":25.57,"morn":24.36},"pressure":1019,"humidity":63,"dew_point":18.46,"wind_speed":10.6,"wind_deg":74,"wind_gust":12.81,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":7,"pop":0.4,"uvi":11.58},{"dt":1687903200,"sunrise":1687881141,"sunset":1687929463,"moonrise":1687910280,"moonset":1687864260,"moon_phase":0.3,"temp":{"day":26.19,"min":23.62,"max":26.65,"night":24.01,"eve":25.27,"morn":23.71},"feels_like":{"day":26.19,"night":24.32,"eve":25.58,"morn":23.91},"pressure":1018,"humidity":65,"dew_point":18.78,"wind_speed":9.59,"wind_deg":71,"wind_gust":12.14,"weather":[{"id":801,"main":"Clouds","description":"few clouds","icon":"02d"}],"clouds":15,"pop":0.06,"uvi":11.99},{"dt":1687989600,"sunrise":1687967557,"sunset":1688015870,"moonrise":1687999980,"moonset":1687952700,"moon_phase":0.33,"temp":{"day":26.31,"min":23.61,"max":27.02,"night":24.29,"eve":26.3,"morn":23.94},"feels_like":{"day":26.31,"night":24.76,"eve":26.3,"morn":24.37},"pressure":1018,"humidity":67,"dew_point":19.34,"wind_speed":8.73,"wind_deg":74,"wind_gust":11.53,"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":14,"pop":0.22,"rain":0.14,"uvi":11.89},{"dt":1688076000,"sunrise":1688053975,"sunset":1688102275,"moonrise":1688089980,"moonset":1688041320,"moon_phase":0.37,"temp":{"day":26.83,"min":23.97,"max":27.4,"night":24.52,"eve":26.54,"morn":23.98},"feels_like":{"day":28,"night":25.01,"eve":26.54,"morn":24.42},"pressure":1018,"humidity":62,"dew_point":18.53,"wind_speed":7.81,"wind_deg":78,"wind_gust":9.66,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":3,"pop":0.21,"uvi":12.34},{"dt":1688162400,"sunrise":1688140392,"sunset":1688188680,"moonrise":1688180160,"moonset":1688130360,"moon_phase":0.4,"temp":{"day":27.09,"min":24.1,"max":27.37,"night":24.44,"eve":26.68,"morn":24.34},"feels_like":{"day":28.35,"night":24.9,"eve":27.87,"morn":24.74},"pressure":1019,"humidity":62,"dew_point":18.67,"wind_speed":8.08,"wind_deg":74,"wind_gust":8.76,"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01d"}],"clouds":3,"pop":0.2,"uvi":13},{"dt":1688248800,"sunrise":1688226811,"sunset":1688275083,"moonrise":1688270580,"moonset":1688219820,"moon_phase":0.44,"temp":{"day":26.68,"min":23.91,"max":27.34,"night":24.61,"eve":26.59,"morn":23.91},"feels_like":{"day":27.94,"night":25.08,"eve":26.59,"morn":24.34},"pressure":1019,"humidity":64,"dew_point":18.89,"wind_speed":6.32,"wind_deg":89,"wind_gust":7.07,"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":23,"pop":0.24,"rain":0.29,"uvi":13},{"dt":1688335200,"sunrise":1688313230,"sunset":1688361486,"moonrise":1688360940,"moonset":1688309760,"moon_phase":0.48,"temp":{"day":26.54,"min":24,"max":27.35,"night":24.36,"eve":26.7,"morn":24},"feels_like":{"day":26.54,"night":24.81,"eve":27.96,"morn":24.34},"pressure":1019,"humidity":67,"dew_point":19.41,"wind_speed":7.82,"wind_deg":81,"wind_gust":8.9,"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10d"}],"clouds":6,"pop":0.32,"rain":0.11,"uvi":13}],"alerts":[{"sender_name":"NWS Honolulu (Hawaii)","event":"High Surf Advisory","start":1687698180,"end":1687795200,"description":"...HIGH SURF ADVISORY FOR SOUTH FACING SHORES OF ALL ISLANDS...\n.A long-period south-southeast swell (170 degrees) will peak\ntoday, then briefly diminish. A second pulse arriving Monday\ncould keep surf elevated through early next week.\n...HIGH SURF ADVISORY REMAINS IN EFFECT UNTIL 6 AM HST MONDAY...\n* WHAT...Surf 8 to 12 feet.\n* WHERE...South facing shores of all islands.\n* WHEN...Until 6 AM HST Monday.\n* IMPACTS...Moderate. Strong breaking waves and strong currents\nwill make swimming dangerous.","tags":["Marine event"]}]}

Absolutely! I'm pretty well used to the detailed documentation for APIs not giving me any idea how to use them but the Met office really shines here.
I have managed to retrieve forecast data from the Met Office but I failed with the weather maps.
There is a discussion about the Met Office API at https://discourse.nodered.org/t/http-get-format-for-uk-met-office-api/79255/3

It's hard to know how often the providers update their models or where they get their data from.
You can get what is pretty much guaranteed current info from airport METAR APIs but while they give figures for wind, precipitation info is only a (standardised) text description.

This is hugely helpful, thank you. I was previously looking at this pricing chart below, but I didn't realise this was a different service to the OneCall API. I'll edit my post above...

I've just tested it, and I'm getting minutely forecast data, so that's great.

Hopefully this is a good replacement for Dark Sky - I'll come back to this thread with my further thoughts.

Are you using API version 3.0? My flow currently uses 2.5.

I am using 3.0. This is how my request looks like:

https://api.openweathermap.org/data/3.0/onecall?lat=47.4979&lon=19.0402&exclude=hourly,minutely,alerts&appid=<id>

No - I copied your flow and used that, with my own appid and lat/lon... and have minutely data returned:

I think you are lucky to live somewhere with stable weather! :slight_smile: None of the forecasts are particularly accurate all the time where I live! :frowning: And the weather can be different a few hundred meters away. Even from one side of the house to the other!

Odd, I didn't have any issues getting the MetOffice data.

Again, the airport data is pretty useless for giving either current or forecast data for us. Even Met Office can be a problem, especially when I sit next to my wife when we are out and the Met Office app on our phones gives us different forecasts!

I don't seem to be able to sign up to OneCall v3 without buying a subscription? Even though it says 1000 calls daily for free.

If I click on the pro collection free API key, it just tells me I'm already logged in.

And my existing API key tells me it is invalid when I try to use it on v2.5 API.

Yes, it was the same for me. Even made a 0 EUR authorization on my credit card.

I tried simply changing 2.5 to 3.0 in my URL and it said invalid key. So I guess that means you need a different key for V3.
You do need to give credit card details to get a V3 key (can't recall if I had to for 2.5) but it does clearly say free for 1000 calls per day.
If I do get a new key I'll route all requests via a central NR server with a conservative rate limit just in case I change the inject node to fire every 5 seconds

I very often have different weather either side of my front door. :crazy_face:
If your weather is so locally variable you should get a grid of weather stations up and running.
A community project. Dead easy and cheap for temp and pressure, not so cheap for rain and wind.
Or get the council to put them on lampposts.

Ah, well before all the API's got locked down and made commercial, already had this!

I used to have an external temp/pressure device but when it broke I couldn't be bothered to replace it since the weather api's are good enough. To be honest, I don't really do much with weather because we have apps that are OK and I just look out of my office window to get the near-term "forecast" generally! :grin:

Yes. In any case, I've not really a need to measure actual rain. We live high up on the edge of the escarpment that is the link between the Pennines (the UK's backbone if you aren't from the UK) and the Lincolnshire lowlands that reach right out to the North Sea. So no flooding danger for us.

Wind I would measure but would be really complex for us and I'd either need 2 devices (front and back of the house) or would need to put something on top of the house to be free of local eddies. Really not worth it. Even with "normal" conditions, positioning an anemometer correctly isn't easy.

:rofl: Nice try! We can't even get agreement on parking or electric vehicle charging here.

I should perhaps dig through my 433MHz reciever inputs again to see if any weather stations have popped up amongst the myriad wireless smoke alarms that seem to exist round here.

https://www.lufft.com/projects/new-network-of-weather-stations-in-sheffield-562/
No date on that post of course.

A university research project - no access to the data for plebs like us I'm afraid. Though I do know a couple of profs at the Uni ...

Well it is funded by the Engineering and Physical Sciences Research Council so there should be at least a bias towards public access

at the end of the link it does say "The installation of the weather stations will be completed during the October half-term and Steve hopes to have the data publically available by the end of the year." - so @TotallyInformation if you know a couple of Profs there - then well worth a call to "discuss" the merits of Node-RED, MQTT etc :wink:

3 Likes

The sensor they are using - just the sensor - is $5000!

I've reached out to them to see if they know Steve. If they have a contact, I might give him a call.

1 Like

I did a quick and dirty example of using the OWM weather map tiles with OpenLayers if anyone ever wants it. Took quite a while to work out (couple of hours) because OWM have NO example code at all and what exists on the Internet is many years old. Also does not help that OWM say that the v2 maps api is available but they don't tell you that isn't available on the free login.

Anyway, got it working eventually and it would be pretty easy to integrate with Node-RED - especially if using uibuilder (of course!).

Also, the Met Office have a webinar coming up for Met Office data users in case you want to reach out to them and ask about their API :slight_smile:

I have replaced DarkSky with WeatherAPI which is working great

For a detailed forecast I'm currently exploring Open-Meteo which gives me hourly forecast upto 16days (no API key required!!) .. they provide a huge options of measurement points.


(sorry no rain in next 3 days )

I'm currently very happy with the details and accuracy across the 2 services .. best of all .. its free and easy to implement ...have fun :slight_smile: :+1:

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.