[SOLVED] JSON Path weather warnings DWD (Deutscher Wetterdienst)

@vzorglub

thanks for your support.

Today I am very busy, but I will try it as soon as possible.

See in my linked file, delete the .xml and you got a warnings.json from the day with many warnings.

I found multiple warings with the IDs 110042000, 107336000, 109173000 …
All the IDs had warning “level”:1 (advance warning, hours before) and “level”:4

perhaps it help you for analysing

Mmmmh I had a look,
It won’t be easy for two reasons.

  • We don’t know how many warning there can be
  • The returned json will be an array (No big deal)

How do you plan to store the results in OH?
Do you want to create another for items for each warning?

Is there a way to get the size of the array (i.e. the list)? one could define a pointer, an item to store the whole array and some items to display one warning. A rule would ensure that the pointer will fit to the list size, then you could switch between the messages via setpoint.

There is always a way in javascript…

But I don’t want to end up with several javascript transforms… (Maybe that’s the way forward)

If I return the array from the js transform it will be a string
We can’t easily split it because the separator is a comma, used everywhere in json…

The Json transform doesn’t accept arrays as a result… :frowning_face:

Not straightforward…

Oh, I wasn’t aware of that. What a pity…

I think we need a separate item for each value and items for each event.
So I think it makes the most sense in terms of concept to have only the most recent (newest) warning displayed?
If I interpret the JSON file correctly, are at the top always the current (newest) warning and if another warning is present, then it is further down in the file?!

as additional information:

the values:

“start”:1528722000000
“end”:1528723800000

are displays the date time in UNIX.

maybe we can combine this?

Today I had a little bit time and try it: I try it with ID 113003000 in cause of warnings now!

items:

DateTime	DWD_Unwetter_last_update			"letzte Aktualisierung [%1$td.%1$tm.%1$tY %1$tH:%1$tM Uhr]"		<time>			

String		DWD_Unwetter_start					"Start: [%s]"				
String		DWD_Unwetter_end					"Ende: [%s]"
String		DWD_Unwetter_level					"Level: [%s]"
String		DWD_Unwetter_description			"Beschreibung: [%s]"
String		DWD_Unwetter_headline				"Betreff: [%s]"
String		DWD_Unwetter_instruction			"Hinweis: [%s]"
String		DWD_Unwetter_event					"Event: [%s]"

getDWDjson.js

(function(jsonString) {
var newString = jsonString.replace('warnWetter.loadWarnings(','');
newString = newString.replace(');','');
var newJSON = JSON.parse(newString);
var jsonResult = "";
if (newJSON.warnings.hasOwnProperty('113003000')) {
    jsonResult =JSON.stringify(newJSON.warnings['113003000'][0]);
} else jsonResult = 'NULL'
return jsonResult;
})(input)

rule:


rule "Unwetterwarnung DWD"
when
   Time cron "0 * * ? * *"     
then
	var String jsonString = sendHttpGetRequest("https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json")
	jsonString = transform("JS", "getDWDjson.js", jsonstring)
	DWD_Unwetter_start.postUpdate(transform("JSONPATH","$start",jsonString))
	DWD_Unwetter_end.postUpdate(transform("JSONPATH","$end",jsonString))
	DWD_Unwetter_level.postUpdate(transform("JSONPATH","$level",jsonString))
	DWD_Unwetter_description.postUpdate(transform("JSONPATH","$description",jsonString))
	DWD_Unwetter_headline.postUpdate(transform("JSONPATH","$headline",jsonString))
	DWD_Unwetter_instruction.postUpdate(transform("JSONPATH","$instruction",jsonString))
	DWD_Unwetter_event.postUpdate(transform("JSONPATH","$event",jsonString))
	DWD_Unwetter_last_update.postUpdate(new DateTimeType())
end

but I got this log:

2018-06-19 11:11:01.739 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule 'Unwetterwarnung DWD': The name 'jsonstring' cannot be resolved to an item or type; line 18, column 48, length 10

@vzorglub Do you have any ideas?

jsonString = transform("JS", "getDWDjson.js", jsonstring)

jsonString with a capital S at String

now no failure log, but I got for all Items:

2018-06-19 13:02:00.359 [vent.ItemStateChangedEvent] - DWD_Unwetter_event changed from warnWetter.loadWarnings({"time":1529405406000,"warnings":{"501000008":[{"regionName":"Östlich Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"113003000":[{"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073002":[{"regionName":"Kreis Vorpommern-Rügen - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073003":[{"regionName":"Kreis Vorpommern-Rügen - Insel Rügen","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"501000006":[{"regionName":"Flensburg bis Fehmarn","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"501000007":[{"regionName":"Östlich Fehmarn bis Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"913072002":[{"regionName":"Kreis Rostock - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"901055002":[{"regionName":"Kreis Ostholstein - Küste","start":1529370000000,"end":1529424000000,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Es treten Windböen mit Geschwindigkeiten um 55 km/h (15m/s, 30kn, Bft 7) anfangs aus südwestlicher, später aus westlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}]},"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"}); to warnWetter.loadWarnings({"time":1529406071000,"warnings":{"501000008":[{"regionName":"Östlich Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"113003000":[{"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073002":[{"regionName":"Kreis Vorpommern-Rügen - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073003":[{"regionName":"Kreis Vorpommern-Rügen - Insel Rügen","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"501000006":[{"regionName":"Flensburg bis Fehmarn","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"501000007":[{"regionName":"Östlich Fehmarn bis Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"913072002":[{"regionName":"Kreis Rostock - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"901055002":[{"regionName":"Kreis Ostholstein - Küste","start":1529370000000,"end":1529424000000,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Es treten Windböen mit Geschwindigkeiten um 55 km/h (15m/s, 30kn, Bft 7) anfangs aus südwestlicher, später aus westlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}]},"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"});

It look like thef ull warnings.json

rule "Unwetterwarnung DWD"
when
   Time cron "0 * * ? * *"     
then
	var String jsonString = sendHttpGetRequest("https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json")
	jsonString = transform("JS", "getDWDjson.js", jsonstring)
	DWD_Unwetter_start.postUpdate(transform("JSONPATH","$.start",jsonString))
	DWD_Unwetter_end.postUpdate(transform("JSONPATH","$.end",jsonString))
	DWD_Unwetter_level.postUpdate(transform("JSONPATH","$.level",jsonString))
	DWD_Unwetter_description.postUpdate(transform("JSONPATH","$.description",jsonString))
	DWD_Unwetter_headline.postUpdate(transform("JSONPATH","$.headline",jsonString))
	DWD_Unwetter_instruction.postUpdate(transform("JSONPATH","$.instruction",jsonString))
	DWD_Unwetter_event.postUpdate(transform("JSONPATH","$.event",jsonString))
	DWD_Unwetter_last_update.postUpdate(new DateTimeType())
end

same result; not work

jsonResult =JSON.stringify(newJSON.warnings.['113003000'][0]);

same issue

	var String jsonString = sendHttpGetRequest("https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json")
        logInfo("TEST1", jsonString)
	var String newString = transform("JS", "getDWDjson.js", jsonstring)
        logInfo("TEST2", newString)
        logInfo("TEST1", transform("JSONPATH", "$.start", newString))
	DWD_Unwetter_start.postUpdate(transform("JSONPATH","$.start", newString))
        ....
2018-06-19 14:54:01.844 [INFO ] [eclipse.smarthome.model.script.TEST1] - warnWetter.loadWarnings({"time":1529412466000,"warnings":{"501000008":[{"regionName":"Östlich Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"113003000":[{"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073002":[{"regionName":"Kreis Vorpommern-Rügen - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073003":[{"regionName":"Kreis Vorpommern-Rügen - Insel Rügen","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"501000006":[{"regionName":"Flensburg bis Fehmarn","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"501000007":[{"regionName":"Östlich Fehmarn bis Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"913072002":[{"regionName":"Kreis Rostock - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"901055002":[{"regionName":"Kreis Ostholstein - Küste","start":1529370000000,"end":1529424000000,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Es treten Windböen mit Geschwindigkeiten um 55 km/h (15m/s, 30kn, Bft 7) anfangs aus südwestlicher, später aus westlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}]},"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"});
2018-06-19 14:54:01.850 [INFO ] [eclipse.smarthome.model.script.TEST2] - warnWetter.loadWarnings({"time":1529412466000,"warnings":{"501000008":[{"regionName":"Östlich Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"113003000":[{"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073002":[{"regionName":"Kreis Vorpommern-Rügen - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073003":[{"regionName":"Kreis Vorpommern-Rügen - Insel Rügen","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"501000006":[{"regionName":"Flensburg bis Fehmarn","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"501000007":[{"regionName":"Östlich Fehmarn bis Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"913072002":[{"regionName":"Kreis Rostock - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"901055002":[{"regionName":"Kreis Ostholstein - Küste","start":1529370000000,"end":1529424000000,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Es treten Windböen mit Geschwindigkeiten um 55 km/h (15m/s, 30kn, Bft 7) anfangs aus südwestlicher, später aus westlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}]},"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"});
2018-06-19 14:54:01.864 [INFO ] [eclipse.smarthome.model.script.TEST1] - warnWetter.loadWarnings({"time":1529412466000,"warnings":{"501000008":[{"regionName":"Östlich Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"113003000":[{"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073002":[{"regionName":"Kreis Vorpommern-Rügen - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073003":[{"regionName":"Kreis Vorpommern-Rügen - Insel Rügen","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"501000006":[{"regionName":"Flensburg bis Fehmarn","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"501000007":[{"regionName":"Östlich Fehmarn bis Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"913072002":[{"regionName":"Kreis Rostock - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"901055002":[{"regionName":"Kreis Ostholstein - Küste","start":1529370000000,"end":1529424000000,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Es treten Windböen mit Geschwindigkeiten um 55 km/h (15m/s, 30kn, Bft 7) anfangs aus südwestlicher, später aus westlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}]},"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"});

Hello!

With this transformation:

(function(jsonString) {
    var newString = jsonString.replace('warnWetter.loadWarnings(','');
    newString = newString.replace(');','');
    var newJSON = JSON.parse(newString);
    var jsonResult = "";
    if (newJSON.warnings.hasOwnProperty('113003000')) {
         jsonResult =JSON.stringify(newJSON.warnings['113003000'][0]);

    } else jsonResult = 'NULL'
    return jsonResult;
    })(input)

and this rule (changed jsonstring to jsonString)

rule "Unwetterwarnung DWD"
when
   Time cron "0 * * ? * *"     
then
	var String jsonString = sendHttpGetRequest("https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json")
        logInfo("TEST1", jsonString)
	var String newString = transform("JS", "getDWDjson.js", jsonString)
        logInfo("TEST2", newString)
        logInfo("TEST1", transform("JSONPATH", "$.start", newString))
	DWD_Unwetter_start.postUpdate(transform("JSONPATH","$.start", newString))
	DWD_Unwetter_end.postUpdate(transform("JSONPATH","$.end",jsonString))
	DWD_Unwetter_level.postUpdate(transform("JSONPATH","$.level",jsonString))
	DWD_Unwetter_description.postUpdate(transform("JSONPATH","$.description",jsonString))
	DWD_Unwetter_headline.postUpdate(transform("JSONPATH","$.headline",jsonString))
	DWD_Unwetter_instruction.postUpdate(transform("JSONPATH","$.instruction",jsonString))
	DWD_Unwetter_event.postUpdate(transform("JSONPATH","$.event",jsonString))
	DWD_Unwetter_last_update.postUpdate(new DateTimeType())
end

the result in the item

String		DWD_Unwetter_start					"Start: [%s]"				

looks like this: "Start: {“regionName”:"Hansestadt…

and

String		DWD_Unwetter_end					"Ende: [%s]"

containes: “Ende: warnWetter.loadWarnings({”…

Logging from OpenHab says:

[eclipse.smarthome.model.script.TEST1] - warnWetter.loadWarnings({"time":1529413111000,"warnings":{"501000008":[{"regionName":"Östlich Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"113003000":[{"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073002":[{"regionName":"Kreis Vorpommern-Rügen - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073003":[{"regionName":"Kreis Vorpommern-Rügen - Insel Rügen","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"501000006":[{"regionName":"Flensburg bis Fehmarn","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"501000007":[{"regionName":"Östlich Fehmarn bis Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"913072002":[{"regionName":"Kreis Rostock - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"901055002":[{"regionName":"Kreis Ostholstein - Küste","start":1529370000000,"end":1529424000000,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Es treten Windböen mit Geschwindigkeiten um 55 km/h (15m/s, 30kn, Bft 7) anfangs aus südwestlicher, später aus westlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}]},"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"});
2018-06-19 15:09:00.276 [INFO ] [eclipse.smarthome.model.script.TEST2] - {"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}
2018-06-19 15:09:00.278 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
2018-06-19 15:09:00.280 [WARN ] [ore.transform.actions.Transformation] - No transformation service 'JSONPATH' could be found.
2018-06-19 15:09:00.284 [INFO ] [eclipse.smarthome.model.script.TEST1] - {"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}
2018-06-19 15:09:00.287 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
2018-06-19 15:09:00.289 [WARN ] [ore.transform.actions.Transformation] - No transformation service 'JSONPATH' could be found.
2018-06-19 15:09:00.293 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
2018-06-19 15:09:00.295 [WARN ] [ore.transform.actions.Transformation] - No transformation service 'JSONPATH' could be found.
2018-06-19 15:09:00.299 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
2018-06-19 15:09:00.301 [WARN ] [ore.transform.actions.Transformation] - No transformation service 'JSONPATH' could be found.
2018-06-19 15:09:00.306 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
2018-06-19 15:09:00.307 [WARN ] [ore.transform.actions.Transformation] - No transformation service 'JSONPATH' could be found.
2018-06-19 15:09:00.312 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
2018-06-19 15:09:00.313 [WARN ] [ore.transform.actions.Transformation] - No transformation service 'JSONPATH' could be found.
2018-06-19 15:09:00.319 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
2018-06-19 15:09:00.320 [WARN ] [ore.transform.actions.Transformation] - No transformation service 'JSONPATH' could be found.
2018-06-19 15:09:00.324 [WARN ] [.core.transform.TransformationHelper] - Cannot get service reference for transformation service of type JSONPATH
2018-06-19 15:09:00.326 [WARN ] [ore.transform.actions.Transformation] - No transformation service 'JSONPATH' could be found.

You have to install the JSONPATH transformation service for your test first.

Thank you! For OpenHAB you need four eyes: one for the items, one for the sitemap, one for the rules and … one for the Bindings/Transformations. :slight_smile:

Installed via PaperUI -> AddOns -> Transformations: “JSONPath Transformation”

But … OH is not happy:

2018-06-19 15:20:00.342 [ERROR] [ore.transform.actions.Transformation] - Error executing the transformation 'JSONPATH': Invalid path '$.event' in 'warnWetter.loadWarnings({"time":1529413751000,"warnings":{"501000008":[{"regionName":"Östlich Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"113003000":[{"regionName":"Hansestadt Rostock","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073002":[{"regionName":"Kreis Vorpommern-Rügen - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"913073003":[{"regionName":"Kreis Vorpommern-Rügen - Insel Rügen","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"501000006":[{"regionName":"Flensburg bis Fehmarn","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"501000007":[{"regionName":"Östlich Fehmarn bis Rügen","start":1529350320000,"end":null,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Südwest bis West 5 bis 6, dabei Böen von 7 Beaufort.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche Warnung des Seewetterdienstes Hamburg vor STARKWIND","instruction":"","event":"STARKWIND"}],"913072002":[{"regionName":"Kreis Rostock - Küste","start":1529388000000,"end":1529431200000,"type":1,"state":"Mecklenburg-Vorpommern","level":2,"stateShort":"MV","description":"Es treten Windböen mit Geschwindigkeiten bis 60 km/h (17m/s, 33kn, Bft 7) anfangs aus südwestlicher, später aus nordwestlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}],"901055002":[{"regionName":"Kreis Ostholstein - Küste","start":1529370000000,"end":1529424000000,"type":1,"state":"Schleswig-Holstein","level":2,"stateShort":"SH","description":"Es treten Windböen mit Geschwindigkeiten um 55 km/h (15m/s, 30kn, Bft 7) anfangs aus südwestlicher, später aus westlicher Richtung auf.","altitudeStart":null,"altitudeEnd":null,"headline":"Amtliche WARNUNG vor WINDBÖEN","instruction":"","event":"WINDBÖEN"}]},"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"});'

You are using jsonString in your test items, which hasn’t been cleared by the javascript transformation.
Due to this the json string is still malformed and prduces an error.
You have to use newString like here:

// Correct with newString
DWD_Unwetter_start.postUpdate(transform("JSONPATH","$.start", newString))

// Wrong with jsonstring
DWD_Unwetter_end.postUpdate(transform("JSONPATH","$.end",jsonString))

@ topic:

Really strange. If i use https://codebeautify.org/jsonpath-tester for the whole json file (without that malforming)
it works for $.warnings['113003000'][0].start but if i just grab the one warning it doesnt find the timestamp for start.

@The-Elk could you please try:

var String jsonString = sendHttpGetRequest("https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json")
logInfo("TEST1", jsonString)
var String newString = transform("JS", "getDWDjson.js", jsonString)
logInfo("TEST2", newString)
logInfo("TEST1", transform("JSONPATH", "$.start", newString))

There was again a mistake with the capitalized variable.
jsonstring and jsonString are two different variables and openHAB can’t find the first one, since you never initialized it.