DWD-Unwetter-Binding (OH3) no warnings

HI @joerg, I have tested with different cities (also cities where warnings at the moment are available). My scripting solution for DWD-Unwetter is working here. Only the binding in OH3 didn’t work :frowning:

Hi,

i have some debug-messages for this issue:

2021-05-13 18:35:16.786 [DEBUG] [.internal.handler.DwdUnwetterHandler] - Start initializing!
2021-05-13 18:35:16.788 [DEBUG] [r.internal.data.DwdWarningDataAccess] - Refreshing Data for cell 109476000
2021-05-13 18:35:16.788 [DEBUG] [.internal.handler.DwdUnwetterHandler] - Finished initializing!
2021-05-13 18:35:16.833 [TRACE] [r.internal.data.DwdWarningDataAccess] - Raw request: https://maps.dwd.de/geoserver/dwd/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=dwd:Warnungen_Gemeinden&CQL_FILTER=WARNCELLID+LIKE+%27109476000%27
2021-05-13 18:35:16.834 [TRACE] [r.internal.data.DwdWarningDataAccess] - Raw response: <?xml version="1.0" encoding="UTF-8"?><wfs:FeatureCollection xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dwd="http://www.dwd.de" xmlns:wfs="http://www.opengis.net/wfs/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" numberMatched="0" numberReturned="0" timeStamp="2021-05-13T16:35:16.805Z" xsi:schemaLocation="http://www.dwd.de https://maps.dwd.de/geoserver/dwd/wfs?service=WFS&amp;version=2.0.0&amp;request=DescribeFeatureType&amp;typeName=dwd%3AWarnungen_Gemeinden http://www.opengis.net/wfs/2.0 https://maps.dwd.de/geoserver/schemas/wfs/2.0/wfs.xsd http://www.opengis.net/gml/3.2 https://maps.dwd.de/geoserver/schemas/gml/3.2.1/gml.xsd"/>

At the moment there is a warning for 27109476000 and I’ll get this: numberMatched=“0” numberReturned=“0”

A technical call auf the Website ist working also on the system:

curl https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json | less

Is there any idea for it? My scripted solution finds warnings for the cellid.

Very very strange …

Best regards,
Reinhard

@eidelsburger

Hi,
sorry for my late reply, but I somehow missed the message that there was a reply for me here.

Have you tried to enter the request URL direct in a browser?
For example:

https://maps.dwd.de/geoserver/dwd/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=dwd:Warnungen_Gemeinden&CQL_FILTER=WARNCELLID+LIKE+%27808117002%27

The OH3 binding worked fine for me in the past and I got warnings issued for my city, but at the moment, the DWD warning server does not function at all, I get the following answer when I use the OH3 binding or if I enter the request URL direct in a browser:

<script/>
<ows:Exception exceptionCode="InvalidParameterValue" locator="GetFeature">
<ows:ExceptionText>Illegal property name: WARNCELLID for feature type dwd:Warnungen_Gemeinden</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>

Maybe this is only a temporary error.

Best regards,
Jörg

Hi,

at the moment the webservice seams to work. For this request:

https://maps.dwd.de/geoserver/dwd/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=dwd:Warnungen_Gemeinden&CQL_FILTER=WARNCELLID+LIKE+%27808117002%27

I’ll get this response:

<ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 https://maps.dwd.de/geoserver/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="InvalidParameterValue" locator="typeName">
<ows:ExceptionText>Feature type dwd:Warnungen_Gemeinden unknown</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>

And this message I’ll didn’t get from the Log in the binding. My scripted solution works fine, so I think the “Warnungen_Gemeinden” ist not integrated in the binding.

If I have a look at WFS 2.0.0 at 2m Temperatur an RBSN Stationen from GeoServer: Willkommen

There is only this feature type available:

<FeatureType xmlns:dwd="http://www.dwd.de">
<Name>dwd:Warnungen_Gemeinden_vereinigt</Name>
<Title>Wetterwarnungen und Vorabinformationen auf Gemeindeebene (vereinigte Warngebiete)</Title>

For this call / request:

https://maps.dwd.de/geoserver/dwd/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=dwd:Warnungen_Gemeinde&CQL_FILTER=WARNCELLID+LIKE+%27808117002%27

I get this response:

<ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 https://maps.dwd.de/geoserver/schemas/ows/1.1.0/owsAll.xsd">
<ows:Exception exceptionCode="InvalidParameterValue" locator="GetFeature">
<ows:ExceptionText>Illegal property name: WARNCELLID for feature type dwd:Warnungen_Gemeinden_vereinigt</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>

It seams that the WARNCELLID ist not the right parameter for the call.

Does someone has an idea for a workaround?

Best regards,
Reinhard

I assume there currently is a bug on the DWD geoserver.

As the error messages are changing during the last days, they might be testing new software at DWD. I recommend to wait some days, so maybe the problems will disappear.

As the OH3-DWD-Unwetter-Binding does not recognize this behaviour as an error, I suggest to add something like a “Status” or “Error” channel, so one can distinct between “no warnings available” and “service unavailable”.

Best regards,
Jörg

8.6.2021:
The problem seems to be solved.
But a “status” or “error” channel in the binding would be helpful.

Hi,

I have done some tests with different WARNCELLID’s. If have used my ID for “Gemeinde” (Amtlicher Gemeindeschlüssel – Wikipedia) and a prepended “8”.

Now I get Warnings for my “Gemeinde” (with “Landkreis” it didn’t work in the binding for my scenario).

Best regards,
Reinhard

Just some additional information:

A detailed explanation of the CQL_FILTER can be found here:

IMHO the current implementation is quite dangerous:

  • An empty response from the DWD server doesn’t result in a message in the debug log. Get your WARNCELLID wrong, and you’ll never see a warning.
  • There is no way to know the NAME of the region corresponding to the data. Get your WARNCELLID wrong (especially when using the wildcard %), and you’ll see wrong or no warnings at all.

So it is of utmost importance to get your WARNCELLID right:

BTW, thanks to @malmix (see Obviously simple task: textbox to display item (string) with more than approximately 56 characters on the sitemap. But how? - #4 by malmix) I found a quite elegant way to embed long texts into sitemaps:

Webview url="http://<ip address>:8080/rest/items/DWDUnwetterWarnungen_Description1/state" visibility=[DWDUnwetterWarnungen_Warning1==ON] height=3
Image url="https://www.dwd.de/DWD/warnungen/warnapp_gemeinden/json/warnungen_gemeinde_map_de.png" visibility=[DWDUnwetterWarnungen_Warning1==ON]

hi all,

is this binding still broken ? (used the ‘official’ one)

just tried it during an active warning for e.g. this cellID :

“109189000”: [{
“regionName”: “Kreis Traunstein”,
“state”: “Bayern”,
“event”: “STURMBÖEN”,
“level”: 3,
“type”: 1,
“description”: “Es treten oberhalb 1500 m Sturmböen mit Geschwindigkeiten um 70 km/h (20m/s, 38kn, Bft 8) aus westlicher Richtung auf. In exponierten Lagen muss mit Sturmböen bis 85 km/h (24m/s, 47kn, Bft 9) gerechnet werden.”,
“end”: 1636045200000,
“start”: 1636009200000,
“headline”: “Amtliche WARNUNG vor STURMBÖEN”,
“instruction”: “ACHTUNG! Hinweis auf mögliche Gefahren: Es können zum Beispiel einzelne Äste herabstürzen. Achten Sie besonders auf herabfallende Gegenstände.”,
“stateShort”: “BY”,
“altitudeStart”: 1500,
“altitudeEnd”: null
}, {
“regionName”: “Kreis Traunstein”,
“state”: “Bayern”,
“event”: “WINDBÖEN”,

and i did not receive any warning…

log:
Raw request: https://maps.dwd.de/geoserver/dwd/ows?service=WFS&version=2.0.0&request=GetFeature&typeName=dwd:Warnungen_Gemeinden&CQL_FILTER=WARNCELLID+LIKE+‘109279000’
14:49:19.967 [TRACE] [ter.internal.dto.DwdWarningDataAccess] - Raw response: <?xml version="1.0" encoding="UTF-8"?><wfs:FeatureCollection xmlns:xs=“XML Schema” xmlns:dwd=“http://www.dwd.de” xmlns:wfs=“http://www.opengis.net/wfs/2.0” xmlns:gml=“http://www.opengis.net/gml/3.2” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” numberMatched=“0” numberReturned=“0” timeStamp=“2021-11-04T13:49:19.911Z” xsi:schemaLocation=“http://www.dwd.de https://maps.dwd.de/geoserver/dwd/wfs?service=WFS&version=2.0.0&request=DescribeFeatureType&typeName=dwd%3AWarnungen_Gemeinden http://www.opengis.net/wfs/2.0 https://maps.dwd.de/geoserver/schemas/wfs/2.0/wfs.xsd http://www.opengis.net/gml/3.2 https://maps.dwd.de/geoserver/schemas/gml/3.2.1/gml.xsd”/>

as mentioned above, the cell is included in the warnings:
https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json

Same for me. I just see the updated timestamp, but get no values. I tried several different (active) IDs.
Is there a fix that can be installed manually?

Hello all together,

I put the jar-file into the addons folder and uninstalled the “original” DWD Unwetter Binding.

But the “new” binding doesn’t start.

The log entries says:

Error while starting bundle: file:/Users/PJH/openhab3/addons/org.openhab.binding.dwdunwetter-3.1.0-SNAPSHOT.jar

org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.dwdunwetter [286]

Unresolved requirement: Import-Package: javax.measure; version="[1.0.0,2.0.0)"

Can anybody help me?

Thank you and best regards. Paul

Hello all,
I installed the original binding under OH3.3 but could not receive updates.
After some searches in the internet I found these 2 links which helped solve the problem:
https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_dwd_profile_en_pdf_1_12.html
and
https://www.dwd.de/DE/leistungen/warnungen/neue_warngebiete_aufstellung.html
In my case the root cause was a new cell_id for the community I am living in.
Maybe it helps some of you to solve the problems.