Buienradar binding

The new buienradar binding is awesome!

I have one remaining question: the amounts of precipitation reported by the binding seem to be orders of magnitude bigger than in reality.

If I look at the code, I see that the 5-minute precipitation forecast data are provided as mm/h.

Edit: I believe the buienradar API returns intensity figures, while I wanted to get amounts (intensity x time interval). So the correct way of going from the reported values to an estimation of the amount of rain, is by multiplying the values reported by the buienradar binding with 5/60, in other words dividing by 12.

It doesn’t seem to be working for me. Could it be the a combination of versions?

Running 2.4.0-1 and I grabbed the jar file today and I put it in the add-ons directory.

I can see and configure the binding but the status remains on UNKNOWN. I can see the channels and in the paper UI I do see the (correct) Actual Date/Time but the rainfall remains on -NaN.

Any pointers would be appreciated. (Or do I need to go to a 2.5.0 release , which I tried but that broke my whole setup)

Or could it be that their webservice is down?

A lot changed since OH 2.4.0-1 was released. So it is possible that you may need to use a more recent version of OH core.

If you have a spare computer, try installing one of the nightly builds and see if that solves your problems.

I’m currently running the latest nightly build, which seems to be fine for my automation needs.

That’s easy to check in /var/log/openhab2/openhab.log

Assuming you have a Linux-based environment, you can use the following command to filter relevant messages:

$ grep -i buienradar /var/log/openhab2/openhab.log

@shutterfreak - I’ll give that a try later on. The problem is that I tried to upgrade to the latest nightly build but that broke my OH completely. Nothing no bindings, no items etc etc was visible anymore.

Thanks for the quick reply though!

at org.openhab.binding.buienradar.internal.BuienradarHandler.refresh(BuienradarHandler.java:158) ~[?:?]
at org.openhab.binding.buienradar.internal.BuienradarHandler.refresh(BuienradarHandler.java:118) ~[?:?]
at org.openhab.binding.buienradar.internal.BuienradarHandler.lambda$0(BuienradarHandler.java:109) ~[?:?]
at org.openhab.binding.buienradar.internal.BuienradarHandler.refresh(BuienradarHandler.java:158) ~[?:?]
at org.openhab.binding.buienradar.internal.BuienradarHandler.refresh(BuienradarHandler.java:118) ~[?:?]
at org.openhab.binding.buienradar.internal.BuienradarHandler.lambda$0(BuienradarHandler.java:109) ~[?:?]

Hmmm… Which version of the Buienradar binding are you using?

At the Karaf console, run the following commands:

openhab> log:list | grep -i buienradar
org.openhab.binding.buienradar                     │ WARN
openhab> list | grep -i buienradar
225 │ Resolved │  80 │ 2.5.0.201907090404    │ openHAB Add-ons :: Bundles :: Buienradar Binding

As you can see, I’m running a very recent buiild: 2.5.0.201907090404 and reporting WARN level from the buienradar binding.

I just installed 2.5.0 M2 and it worked out of the box.

Hello Olivier, Edwin,
I also have this issue, running OH2.4.0 and buienradar binding 2.5.0.201907100404 log level set to DEBUG gives me the following:

11:38:13.530 [DEBUG] [org.openhab.binding.buienradar ] - BundleEvent STARTING - org.openhab.binding.buienradar
11:38:13.536 [DEBUG] [org.openhab.binding.buienradar ] - BundleEvent STARTED - org.openhab.binding.buienradar
11:38:13.554 [DEBUG] [org.openhab.binding.buienradar ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=396, service.bundleid=265, service.scope=bundle, component.name=org.openhab.binding.buienradar.internal.BuienradarHandlerFactory, component.id=249} - org.openhab.binding.buienradar
11:38:13.844 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - ‘buienradar:rain_forecast:72f2be40’ changed from UNINITIALIZED to INITIALIZING
11:38:13.858 [INFO ] [ome.event.ThingStatusInfoChangedEvent] - ‘buienradar:rain_forecast:72f2be40’ changed from INITIALIZING to UNKNOWN
11:38:14.850 [DEBUG] [buienradarapi.BuienradarPredictionAPI] - Returned result from buienradar: 000|11:40
000|11:45
000|11:50
000|11:55
000|12:00
000|12:05
000|12:10
000|12:15
000|12:20
000|12:25
000|12:30
000|12:35
000|12:40
000|12:45
000|12:50
000|12:55
000|13:00
000|13:05
000|13:10
000|13:15
000|13:20
000|13:25
000|13:30
000|13:35
11:38:14.933 [DEBUG] [buienradar.internal.BuienradarHandler] - Forecast for 0 at 2019-07-10T11:40+02:00[Europe/Amsterdam] made at 2019-07-10T11:40+02:00[Europe/Amsterdam] is 0.00
11:38:14.941 [WARN ] [ommon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NoSuchFieldError: MILLIMETRE_PER_HOUR
at org.openhab.binding.buienradar.internal.BuienradarHandler.refresh(BuienradarHandler.java:158) ~[?:?]
at org.openhab.binding.buienradar.internal.BuienradarHandler.refresh(BuienradarHandler.java:118) ~[?:?]
at org.openhab.binding.buienradar.internal.BuienradarHandler.lambda$0(BuienradarHandler.java:109) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
11:38:14.980 [INFO ] [smarthome.event.ItemStateChangedEvent] - RainForecast_ActualDateTime changed from NULL to 2019-07-10T11:40:00.000+0200

The Thing is showing as state: “unknown”.

Best regards

The problem is that apparently your openHAB release does not know about the MILLIMETRE_PER_HOUR unit.

If you’re running a rule that is triggered by a buienradar status update, then you will have to explicitly import SIUnits at the top of your rules file:

import org.eclipse.smarthome.core.library.unit.SIUnits

Then you can use the units, e.g. SIUnits.MILLIMETRE_PER_HOUR.

Otherwise you probably need to upgrade to a more recent OH release (e.g. 2.5.0 MS1). You could give OH2.5MS1 a try on a spare computer running only the buienradar binding to see if that solves your problems.

I really like these plots. But I don’t know anthing about grafana yet. As soon as I switch to 2.5 (stable) I will start using the buienradar binding (currently using the http binding for that).
Could you write a walk through I how to make these plots and show them on your sitemap?

I’m using OH 3. How must I interpret this value 0.000001000 km/h ?
Would that be 1l/h

1 Like

Hi,

Buienradar is a nice addition to my domotica setup. Unfortunatelly, my logfiles are regularly filled with these kind of errors… any idea how to fix this?
Thanks!

java.io.IOException: java.util.concurrent.TimeoutException: Total timeout 3000 ms elapsed

at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrlAndGetReponse(HttpUtil.java:259) ~[?:?]

at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:156) ~[?:?]

at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:131) ~[?:?]

at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:109) ~[?:?]

at org.eclipse.smarthome.io.net.http.HttpUtil.executeUrl(HttpUtil.java:90) ~[?:?]

at org.openhab.binding.buienradar.internal.buienradarapi.BuienradarPredictionAPI.getPredictions(BuienradarPredictionAPI.java:144) ~[?:?]

at org.openhab.binding.buienradar.internal.BuienradarHandler.refresh(BuienradarHandler.java:131) ~[?:?]

at org.openhab.binding.buienradar.internal.BuienradarHandler.refresh(BuienradarHandler.java:115) ~[?:?]

at org.openhab.binding.buienradar.internal.BuienradarHandler.lambda$0(BuienradarHandler.java:106) ~[?:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_152]

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_152]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_152]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_152]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]

at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]

Caused by: java.util.concurrent.TimeoutException: Total timeout 3000 ms elapsed

at org.eclipse.jetty.client.TimeoutCompleteListener.onTimeoutExpired(TimeoutCompleteListener.java:51) ~[?:?]

at org.eclipse.jetty.io.CyclicTimeout$Wakeup.run(CyclicTimeout.java:282) ~[?:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_152]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_152]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_152]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_152]

... 3 more