Weather forecast on daily base for free?! End of support ForecastIo/DarkSky

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… :frowning:

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&timesteps=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&timesteps=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

1 Like

bump… anyone has a solution?
=> I am also looking for a possibility without giving my Credit Card information. Once stolen, I would have issues for a service I never intended to pay for.

What weather binding do you guys and gals use?

1 Like