Hi,
during my recent OH 2 to OH 3.4 upgrade (upps; a little late…) I had to re-configure the weather binding and discovered there is no future with ForecastIo anymore as the services will reach and of support already in March 31, 2023 !
History of ForecastIo:
ForecastIo → Dark Sky → Apple Weather
See also https://blog.darksky.net/
So my assumption was to simply switch to any other weather binding and retrieve temperature max/min for today and tomorrow again. I was very surprised (or disappointed?!) that this is/was not that as easy expected…
Why:
- Wunderground weather → no free API available anymore as of Feb/2023
- OpenWeatherMap
+Free Plan does not offer any daily based min/max temperature values; Only min/max in +1hour, +2hour and so on
+One Call API is free for first 1000 API calls (which is more than enough) but you need to directly give your credit card number address etc. to be able to use this; I really don’t like this!!
I ended up to use the HTTP Binding to retrieve the 4x values (Temperature max/min today & tomorrow) via https://www.tomorrow.io/
HTTP Thing:
https://api.tomorrow.io/v4/weather/forecast?location=berlin×teps=1d&units=metric&apikey=XXXXXXXXXXXXX
- 1x String Channel
and 4x items with JSONPATH like below
- $.timelines.daily[0].values.temperatureMin #today/0
- $.timelines.daily[0].values.temperatureMax
- $.timelines.daily[1].values.temperatureMin #tomorrow/1
- $.timelines.daily[1].values.temperatureMax
Now I’m wondering if this was really the easiest approach (without credit card) or is there any other binding which simply allows to accomplish this without a custom HTTP Binding or a rule which retrieves the hourly values and does some magic to calculate daily forecasts (see OpenWeatherMap daily forecasts with free API using plain OpenHAB rules which only works with OH2)??
Any thoughts?
Regards, Tom
HTTP Binding Thing
UID: http:url:e8b7d65f27
label: HTTP_tomorrow.io
thingTypeUID: http:url
configuration:
ignoreSSLErrors: false
headers:
- ""
baseURL: https://api.tomorrow.io/v4/weather/forecast?location=berlin×teps=1d&units=metric&apikey=XXXXXXXXXXXX
delay: 0
stateMethod: GET
refresh: 3600
commandMethod: GET
contentType: application/json
timeout: 3000
bufferSize: 2048
channels:
- id: tommorow_io_waether
channelTypeUID: http:string
label: tommorow_io_waether
description: ""
configuration:
mode: READONLY
PS: if you copy paste this, make sure to repalce XXXX with your own api key from tomorrow.io