Openweathermap new "One Call" API

I can display the item in basic UI, so the item itself must be working.
Is there a way to link items to a dummy Thing, maybe that wuld solve the problem?

If the item and value show up in the Basic UI, then I assume you’re looking at an issue with HabPanel displaying it. I just tried an item calculated by a rule with no backing thing in a Dummy widget, and it shows up. I did have to shift-refresh the page after adding it, though. Might be worth moving this over to a HabPanel thread.

Here, I’m just going to be lazy and wait to see if someone posts a list of weather items for the rule. :wink:

Yesterday i added some items and today at least the tempratures worked in HAB Panel :raised_hands:
When im finished i will poste my rule and items here :wink:

So here is what i made based on sVn´s rules

owm_onecall_wetter.rules

var weatherString = ""

var String lat = "your latitude" /*latitude*/

var String lon = "your longitude" /*longitude*/

var String lang = "de" /*language (see: https://openweathermap.org/api/one-call-api) */

var String exclude = "minutly" /*what to exclude (current,minutely,hourly,daily) WARNING: no rule for minutely*/

var String units = "metric" /*Units of measurement (standard, metric, imperial)*/

var String appid = "your API key"

rule "Refresh OWM Weather Data"

when

    //enter quartz cron expression https://www.freeformatter.com/cron-expression-generator-quartz.html

    //Time cron "0/10 * * ? * * *" or //every 10 second for development

    Time cron "0 0 * ? * *" //At every hour (second :00 of minute :00)

then

    logInfo("owm_onecall_wetter.rules", "Refresh OWM Weather Data")

    var String url = "https://api.openweathermap.org/data/2.5/onecall?lat=" + lat + "&lon=" + lon + "&exclude=" + exclude + "&units=" + units + "&lang=" + lang +"&appid=" + appid

    weatherString = sendHttpGetRequest(url)

    

    //check if it's a valid response -> not "Invalid API key"

    if (weatherString.contains("timezone")) {

        //Curent weather

            /*Abrufzeitstempel*/    postUpdate(OWM_Curent_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.current.dt", weatherString)) * 1000).toString))

            /*Sonnenaufgang*/       postUpdate(OWM_Curent_sunrise, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.current.sunrise", weatherString)) * 1000).toString))

            /*Sonnenuntergang*/     postUpdate(OWM_Curent_sunset, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.current.sunset", weatherString)) * 1000).toString))

            /*Ist Temperatur*/      postUpdate(OWM_Curent_temperature, transform("JSONPATH", "$.current.temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Curent_feel_temperature, transform("JSONPATH", "$.current.feels_like", weatherString))

            /*Luftdruck*/           postUpdate(OWM_Curent_pressure, transform("JSONPATH", "$.current.pressure", weatherString))

            /*Luftfeuchtigkeit*/    postUpdate(OWM_Curent_humidity, transform("JSONPATH", "$.current.humidity", weatherString))

            /*Taupunkt*/            postUpdate(OWM_Curent_dew_point, transform("JSONPATH", "$.current.dew_point", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Curent_clouds, transform("JSONPATH", "$.current.clouds", weatherString))

            /*UV Index*/            postUpdate(OWM_Curent_uvi, transform("JSONPATH", "$.current.uvi", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Curent_wind_speed, transform("JSONPATH", "$.current.wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Curent_wind_deg, transform("JSONPATH", "$.current.wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Curent_weather_id, transform("JSONPATH", "$.current.weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Curent_weather_main, transform("JSONPATH", "$.current.weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Curent_weather_description, transform("JSONPATH", "$.current.weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Curent_weather_icon, transform("JSONPATH", "$.current.weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Curent_rain, transform("JSONPATH", "$.current.rain.1h", weatherString))

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        //hourly weather

        //+0H

            /*zeitstempel*/         postUpdate(OWM_Hourly_0_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[0].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_0_temperature, transform("JSONPATH", "$.hourly.[0].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_0_feel_temperature, transform("JSONPATH", "$.hourly.[0].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_0_clouds, transform("JSONPATH", "$.hourly.[0].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_0_wind_speed, transform("JSONPATH", "$.hourly.[0].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_0_wind_deg, transform("JSONPATH", "$.hourly.[0].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_0_weather_id, transform("JSONPATH", "$.hourly.[0].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_0_weather_main, transform("JSONPATH", "$.hourly.[0].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_0_weather_description, transform("JSONPATH", "$.hourly.[0].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_0_weather_icon, transform("JSONPATH", "$.hourly.[0].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_0_rain, transform("JSONPATH", "$.hourly.[0].rain.1h", weatherString))

        //+1H

            /*zeitstempel*/         postUpdate(OWM_Hourly_1_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[1].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_1_temperature, transform("JSONPATH", "$.hourly.[1].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_1_feel_temperature, transform("JSONPATH", "$.hourly.[1].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_1_clouds, transform("JSONPATH", "$.hourly.[1].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_1_wind_speed, transform("JSONPATH", "$.hourly.[1].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_1_wind_deg, transform("JSONPATH", "$.hourly.[1].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_1_weather_id, transform("JSONPATH", "$.hourly.[1].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_1_weather_main, transform("JSONPATH", "$.hourly.[1].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_1_weather_description, transform("JSONPATH", "$.hourly.[1].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_1_weather_icon, transform("JSONPATH", "$.hourly.[1].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_1_rain, transform("JSONPATH", "$.hourly.[1].rain.1h", weatherString))

        //+2H

            /*zeitstempel*/         postUpdate(OWM_Hourly_2_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[2].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_2_temperature, transform("JSONPATH", "$.hourly.[2].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_2_feel_temperature, transform("JSONPATH", "$.hourly.[2].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_2_clouds, transform("JSONPATH", "$.hourly.[2].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_2_wind_speed, transform("JSONPATH", "$.hourly.[2].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_2_wind_deg, transform("JSONPATH", "$.hourly.[2].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_2_weather_id, transform("JSONPATH", "$.hourly.[2].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_2_weather_main, transform("JSONPATH", "$.hourly.[2].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_2_weather_description, transform("JSONPATH", "$.hourly.[2].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_2_weather_icon, transform("JSONPATH", "$.hourly.[2].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_2_rain, transform("JSONPATH", "$.hourly.[2].rain.1h", weatherString))

        //+3H

            /*zeitstempel*/         postUpdate(OWM_Hourly_3_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[3].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_3_temperature, transform("JSONPATH", "$.hourly.[3].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_3_feel_temperature, transform("JSONPATH", "$.hourly.[3].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_3_clouds, transform("JSONPATH", "$.hourly.[3].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_3_wind_speed, transform("JSONPATH", "$.hourly.[3].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_3_wind_deg, transform("JSONPATH", "$.hourly.[3].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_3_weather_id, transform("JSONPATH", "$.hourly.[3].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_3_weather_main, transform("JSONPATH", "$.hourly.[3].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_3_weather_description, transform("JSONPATH", "$.hourly.[3].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_3_weather_icon, transform("JSONPATH", "$.hourly.[3].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_3_rain, transform("JSONPATH", "$.hourly.[3].rain.1h", weatherString))

        //+4H

            /*zeitstempel*/         postUpdate(OWM_Hourly_4_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[4].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_4_temperature, transform("JSONPATH", "$.hourly.[4].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_4_feel_temperature, transform("JSONPATH", "$.hourly.[4].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_4_clouds, transform("JSONPATH", "$.hourly.[4].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_4_wind_speed, transform("JSONPATH", "$.hourly.[4].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_4_wind_deg, transform("JSONPATH", "$.hourly.[4].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_4_weather_id, transform("JSONPATH", "$.hourly.[4].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_4_weather_main, transform("JSONPATH", "$.hourly.[4].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_4_weather_description, transform("JSONPATH", "$.hourly.[4].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_4_weather_icon, transform("JSONPATH", "$.hourly.[4].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_4_rain, transform("JSONPATH", "$.hourly.[4].rain.1h", weatherString))

        //+5H

            /*zeitstempel*/         postUpdate(OWM_Hourly_5_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[5].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_5_temperature, transform("JSONPATH", "$.hourly.[5].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_5_feel_temperature, transform("JSONPATH", "$.hourly.[5].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_5_clouds, transform("JSONPATH", "$.hourly.[5].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_5_wind_speed, transform("JSONPATH", "$.hourly.[5].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_5_wind_deg, transform("JSONPATH", "$.hourly.[5].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_5_weather_id, transform("JSONPATH", "$.hourly.[5].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_5_weather_main, transform("JSONPATH", "$.hourly.[5].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_5_weather_description, transform("JSONPATH", "$.hourly.[5].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_5_weather_icon, transform("JSONPATH", "$.hourly.[5].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_5_rain, transform("JSONPATH", "$.hourly.[5].rain.1h", weatherString))

        //+6H

            /*zeitstempel*/         postUpdate(OWM_Hourly_6_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[6].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_6_temperature, transform("JSONPATH", "$.hourly.[6].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_6_feel_temperature, transform("JSONPATH", "$.hourly.[6].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_6_clouds, transform("JSONPATH", "$.hourly.[6].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_6_wind_speed, transform("JSONPATH", "$.hourly.[6].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_6_wind_deg, transform("JSONPATH", "$.hourly.[6].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_6_weather_id, transform("JSONPATH", "$.hourly.[6].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_6_weather_main, transform("JSONPATH", "$.hourly.[6].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_6_weather_description, transform("JSONPATH", "$.hourly.[6].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_6_weather_icon, transform("JSONPATH", "$.hourly.[6].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_6_rain, transform("JSONPATH", "$.hourly.[6].rain.1h", weatherString))

        //+7H

            /*zeitstempel*/         postUpdate(OWM_Hourly_7_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[7].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_7_temperature, transform("JSONPATH", "$.hourly.[7].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_7_feel_temperature, transform("JSONPATH", "$.hourly.[7].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_7_clouds, transform("JSONPATH", "$.hourly.[7].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_7_wind_speed, transform("JSONPATH", "$.hourly.[7].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_7_wind_deg, transform("JSONPATH", "$.hourly.[7].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_7_weather_id, transform("JSONPATH", "$.hourly.[7].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_7_weather_main, transform("JSONPATH", "$.hourly.[7].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_7_weather_description, transform("JSONPATH", "$.hourly.[7].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_7_weather_icon, transform("JSONPATH", "$.hourly.[7].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_7_rain, transform("JSONPATH", "$.hourly.[7].rain.1h", weatherString))

        //+8H

            /*zeitstempel*/         postUpdate(OWM_Hourly_8_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[8].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_8_temperature, transform("JSONPATH", "$.hourly.[8].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_8_feel_temperature, transform("JSONPATH", "$.hourly.[8].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_8_clouds, transform("JSONPATH", "$.hourly.[8].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_8_wind_speed, transform("JSONPATH", "$.hourly.[8].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_8_wind_deg, transform("JSONPATH", "$.hourly.[8].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_8_weather_id, transform("JSONPATH", "$.hourly.[8].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_8_weather_main, transform("JSONPATH", "$.hourly.[8].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_8_weather_description, transform("JSONPATH", "$.hourly.[8].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_8_weather_icon, transform("JSONPATH", "$.hourly.[8].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_8_rain, transform("JSONPATH", "$.hourly.[8].rain.1h", weatherString))

        //+9H

            /*zeitstempel*/         postUpdate(OWM_Hourly_9_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[9].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_9_temperature, transform("JSONPATH", "$.hourly.[9].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_9_feel_temperature, transform("JSONPATH", "$.hourly.[9].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_9_clouds, transform("JSONPATH", "$.hourly.[9].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_9_wind_speed, transform("JSONPATH", "$.hourly.[9].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_9_wind_deg, transform("JSONPATH", "$.hourly.[9].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_9_weather_id, transform("JSONPATH", "$.hourly.[9].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_9_weather_main, transform("JSONPATH", "$.hourly.[9].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_9_weather_description, transform("JSONPATH", "$.hourly.[9].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_9_weather_icon, transform("JSONPATH", "$.hourly.[9].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_9_rain, transform("JSONPATH", "$.hourly.[9].rain.1h", weatherString))

        //+10H

            /*zeitstempel*/         postUpdate(OWM_Hourly_10_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[10].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_10_temperature, transform("JSONPATH", "$.hourly.[10].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_10_feel_temperature, transform("JSONPATH", "$.hourly.[10].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_10_clouds, transform("JSONPATH", "$.hourly.[10].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_10_wind_speed, transform("JSONPATH", "$.hourly.[10].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_10_wind_deg, transform("JSONPATH", "$.hourly.[10].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_10_weather_id, transform("JSONPATH", "$.hourly.[10].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_10_weather_main, transform("JSONPATH", "$.hourly.[10].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_10_weather_description, transform("JSONPATH", "$.hourly.[10].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_10_weather_icon, transform("JSONPATH", "$.hourly.[10].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_10_rain, transform("JSONPATH", "$.hourly.[10].rain.1h", weatherString))

        //+11H

            /*zeitstempel*/         postUpdate(OWM_Hourly_11_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[11].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_11_temperature, transform("JSONPATH", "$.hourly.[11].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_11_feel_temperature, transform("JSONPATH", "$.hourly.[11].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_11_clouds, transform("JSONPATH", "$.hourly.[11].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_11_wind_speed, transform("JSONPATH", "$.hourly.[11].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_11_wind_deg, transform("JSONPATH", "$.hourly.[11].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_11_weather_id, transform("JSONPATH", "$.hourly.[11].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_11_weather_main, transform("JSONPATH", "$.hourly.[11].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_11_weather_description, transform("JSONPATH", "$.hourly.[11].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_11_weather_icon, transform("JSONPATH", "$.hourly.[11].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_11_rain, transform("JSONPATH", "$.hourly.[11].rain.1h", weatherString))

        //+12H

            /*zeitstempel*/         postUpdate(OWM_Hourly_12_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.hourly.[12].dt", weatherString)) * 1000).toString))

            /*Temperatur*/          postUpdate(OWM_Hourly_12_temperature, transform("JSONPATH", "$.hourly.[12].temp", weatherString))

            /*Gefühlte Temperatur*/ postUpdate(OWM_Hourly_12_feel_temperature, transform("JSONPATH", "$.hourly.[12].feels_like", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Hourly_12_clouds, transform("JSONPATH", "$.hourly.[12].clouds", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Hourly_12_wind_speed, transform("JSONPATH", "$.hourly.[12].wind_speed", weatherString))

            /*Windrichtung*/        postUpdate(OWM_Hourly_12_wind_deg, transform("JSONPATH", "$.hourly.[12].wind_deg", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Hourly_12_weather_id, transform("JSONPATH", "$.hourly.[12].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Hourly_12_weather_main, transform("JSONPATH", "$.hourly.[12].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Hourly_12_weather_description, transform("JSONPATH", "$.hourly.[12].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Hourly_12_weather_icon, transform("JSONPATH", "$.hourly.[12].weather..icon", weatherString))

            /*Niderschlag 1h*/      postUpdate(OWM_Hourly_12_rain, transform("JSONPATH", "$.hourly.[12].rain.1h", weatherString))

//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        //Daily weather

        //+0D       

            /*zeitstempel*/         postUpdate(OWM_Daily_0_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[0].dt", weatherString)) * 1000).toString))

            /*Sonnenaufgang*/       postUpdate(OWM_Daily_0_sunrise, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[0].sunrise", weatherString)) * 1000).toString))

            /*Sonnenuntergang*/     postUpdate(OWM_Daily_0_sunset, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[0].sunset", weatherString)) * 1000).toString))

            /*Temperatur Tag*/      postUpdate(OWM_Daily_0_temperature_day, transform("JSONPATH", "$.daily.[0].temp.day", weatherString))

            /*Temperatur Tag Min*/  postUpdate(OWM_Daily_0_temperature_day_min, transform("JSONPATH", "$.daily.[0].temp.min", weatherString))

            /*Temperatur Tag Max*/  postUpdate(OWM_Daily_0_temperature_day_max, transform("JSONPATH", "$.daily.[0].temp.max", weatherString))

            /*Temperatur Nacht*/    postUpdate(OWM_Daily_0_temperature_night, transform("JSONPATH", "$.daily.[0].temp.night", weatherString))

            /*Temperatur Abend*/    postUpdate(OWM_Daily_0_temperature_eve, transform("JSONPATH", "$.daily.[0].temp.eve", weatherString))

            /*Temperatur Morgen*/   postUpdate(OWM_Daily_0_temperature_morn, transform("JSONPATH", "$.daily.[0].temp.morn", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Daily_0_wind_speed, transform("JSONPATH", "$.daily.[0].wind_speed", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Daily_0_weather_id, transform("JSONPATH", "$.daily.[0].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Daily_0_weather_main, transform("JSONPATH", "$.daily.[0].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Daily_0_weather_description, transform("JSONPATH", "$.daily.[0].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Daily_0_weather_icon, transform("JSONPATH", "$.daily.[0].weather..icon", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Daily_0_clouds, transform("JSONPATH", "$.daily.[0].clouds", weatherString))

            /*UV Index*/            postUpdate(OWM_Daily_0_uvi, transform("JSONPATH", "$.daily.[0].uvi", weatherString))

        //+1D       

            /*zeitstempel*/         postUpdate(OWM_Daily_1_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[1].dt", weatherString)) * 1000).toString))

            /*Sonnenaufgang*/       postUpdate(OWM_Daily_1_sunrise, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[1].sunrise", weatherString)) * 1000).toString))

            /*Sonnenuntergang*/     postUpdate(OWM_Daily_1_sunset, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[1].sunset", weatherString)) * 1000).toString))

            /*Temperatur Tag*/      postUpdate(OWM_Daily_1_temperature_day, transform("JSONPATH", "$.daily.[1].temp.day", weatherString))

            /*Temperatur Tag Min*/  postUpdate(OWM_Daily_1_temperature_day_min, transform("JSONPATH", "$.daily.[1].temp.min", weatherString))

            /*Temperatur Tag Max*/  postUpdate(OWM_Daily_1_temperature_day_max, transform("JSONPATH", "$.daily.[1].temp.max", weatherString))

            /*Temperatur Nacht*/    postUpdate(OWM_Daily_1_temperature_night, transform("JSONPATH", "$.daily.[1].temp.night", weatherString))

            /*Temperatur Abend*/    postUpdate(OWM_Daily_1_temperature_eve, transform("JSONPATH", "$.daily.[1].temp.eve", weatherString))

            /*Temperatur Morgen*/   postUpdate(OWM_Daily_1_temperature_morn, transform("JSONPATH", "$.daily.[1].temp.morn", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Daily_1_wind_speed, transform("JSONPATH", "$.daily.[1].wind_speed", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Daily_1_weather_id, transform("JSONPATH", "$.daily.[1].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Daily_1_weather_main, transform("JSONPATH", "$.daily.[1].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Daily_1_weather_description, transform("JSONPATH", "$.daily.[1].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Daily_1_weather_icon, transform("JSONPATH", "$.daily.[1].weather..icon", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Daily_1_clouds, transform("JSONPATH", "$.daily.[1].clouds", weatherString))

            /*UV Index*/            postUpdate(OWM_Daily_1_uvi, transform("JSONPATH", "$.daily.[1].uvi", weatherString))

        //+2D       

            /*zeitstempel*/         postUpdate(OWM_Daily_2_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[2].dt", weatherString)) * 1000).toString))

            /*Sonnenaufgang*/       postUpdate(OWM_Daily_2_sunrise, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[2].sunrise", weatherString)) * 1000).toString))

            /*Sonnenuntergang*/     postUpdate(OWM_Daily_2_sunset, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[2].sunset", weatherString)) * 1000).toString))

            /*Temperatur Tag*/      postUpdate(OWM_Daily_2_temperature_day, transform("JSONPATH", "$.daily.[2].temp.day", weatherString))

            /*Temperatur Tag Min*/  postUpdate(OWM_Daily_2_temperature_day_min, transform("JSONPATH", "$.daily.[2].temp.min", weatherString))

            /*Temperatur Tag Max*/  postUpdate(OWM_Daily_2_temperature_day_max, transform("JSONPATH", "$.daily.[2].temp.max", weatherString))

            /*Temperatur Nacht*/    postUpdate(OWM_Daily_2_temperature_night, transform("JSONPATH", "$.daily.[2].temp.night", weatherString))

            /*Temperatur Abend*/    postUpdate(OWM_Daily_2_temperature_eve, transform("JSONPATH", "$.daily.[2].temp.eve", weatherString))

            /*Temperatur Morgen*/   postUpdate(OWM_Daily_2_temperature_morn, transform("JSONPATH", "$.daily.[2].temp.morn", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Daily_2_wind_speed, transform("JSONPATH", "$.daily.[2].wind_speed", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Daily_2_weather_id, transform("JSONPATH", "$.daily.[2].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Daily_2_weather_main, transform("JSONPATH", "$.daily.[2].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Daily_2_weather_description, transform("JSONPATH", "$.daily.[2].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Daily_2_weather_icon, transform("JSONPATH", "$.daily.[2].weather..icon", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Daily_2_clouds, transform("JSONPATH", "$.daily.[2].clouds", weatherString))

            /*UV Index*/            postUpdate(OWM_Daily_2_uvi, transform("JSONPATH", "$.daily.[2].uvi", weatherString))

        //+3D       

            /*zeitstempel*/         postUpdate(OWM_Daily_3_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[3].dt", weatherString)) * 1000).toString))

            /*Sonnenaufgang*/       postUpdate(OWM_Daily_3_sunrise, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[3].sunrise", weatherString)) * 1000).toString))

            /*Sonnenuntergang*/     postUpdate(OWM_Daily_3_sunset, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[3].sunset", weatherString)) * 1000).toString))

            /*Temperatur Tag*/      postUpdate(OWM_Daily_3_temperature_day, transform("JSONPATH", "$.daily.[3].temp.day", weatherString))

            /*Temperatur Tag Min*/  postUpdate(OWM_Daily_3_temperature_day_min, transform("JSONPATH", "$.daily.[3].temp.min", weatherString))

            /*Temperatur Tag Max*/  postUpdate(OWM_Daily_3_temperature_day_max, transform("JSONPATH", "$.daily.[3].temp.max", weatherString))

            /*Temperatur Nacht*/    postUpdate(OWM_Daily_3_temperature_night, transform("JSONPATH", "$.daily.[3].temp.night", weatherString))

            /*Temperatur Abend*/    postUpdate(OWM_Daily_3_temperature_eve, transform("JSONPATH", "$.daily.[3].temp.eve", weatherString))

            /*Temperatur Morgen*/   postUpdate(OWM_Daily_3_temperature_morn, transform("JSONPATH", "$.daily.[3].temp.morn", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Daily_3_wind_speed, transform("JSONPATH", "$.daily.[3].wind_speed", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Daily_3_weather_id, transform("JSONPATH", "$.daily.[3].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Daily_3_weather_main, transform("JSONPATH", "$.daily.[3].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Daily_3_weather_description, transform("JSONPATH", "$.daily.[3].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Daily_3_weather_icon, transform("JSONPATH", "$.daily.[3].weather..icon", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Daily_3_clouds, transform("JSONPATH", "$.daily.[3].clouds", weatherString))

            /*UV Index*/            postUpdate(OWM_Daily_3_uvi, transform("JSONPATH", "$.daily.[3].uvi", weatherString))

        //+4D       

            /*zeitstempel*/         postUpdate(OWM_Daily_4_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[4].dt", weatherString)) * 1000).toString))

            /*Sonnenaufgang*/       postUpdate(OWM_Daily_4_sunrise, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[4].sunrise", weatherString)) * 1000).toString))

            /*Sonnenuntergang*/     postUpdate(OWM_Daily_4_sunset, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[4].sunset", weatherString)) * 1000).toString))

            /*Temperatur Tag*/      postUpdate(OWM_Daily_4_temperature_day, transform("JSONPATH", "$.daily.[4].temp.day", weatherString))

            /*Temperatur Tag Min*/  postUpdate(OWM_Daily_4_temperature_day_min, transform("JSONPATH", "$.daily.[4].temp.min", weatherString))

            /*Temperatur Tag Max*/  postUpdate(OWM_Daily_4_temperature_day_max, transform("JSONPATH", "$.daily.[4].temp.max", weatherString))

            /*Temperatur Nacht*/    postUpdate(OWM_Daily_4_temperature_night, transform("JSONPATH", "$.daily.[4].temp.night", weatherString))

            /*Temperatur Abend*/    postUpdate(OWM_Daily_4_temperature_eve, transform("JSONPATH", "$.daily.[4].temp.eve", weatherString))

            /*Temperatur Morgen*/   postUpdate(OWM_Daily_4_temperature_morn, transform("JSONPATH", "$.daily.[4].temp.morn", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Daily_4_wind_speed, transform("JSONPATH", "$.daily.[4].wind_speed", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Daily_4_weather_id, transform("JSONPATH", "$.daily.[4].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Daily_4_weather_main, transform("JSONPATH", "$.daily.[4].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Daily_4_weather_description, transform("JSONPATH", "$.daily.[4].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Daily_4_weather_icon, transform("JSONPATH", "$.daily.[4].weather..icon", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Daily_4_clouds, transform("JSONPATH", "$.daily.[4].clouds", weatherString))

            /*UV Index*/            postUpdate(OWM_Daily_4_uvi, transform("JSONPATH", "$.daily.[4].uvi", weatherString))

        //+5D       

            /*zeitstempel*/         postUpdate(OWM_Daily_5_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[5].dt", weatherString)) * 1000).toString))

            /*Sonnenaufgang*/       postUpdate(OWM_Daily_5_sunrise, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[5].sunrise", weatherString)) * 1000).toString))

            /*Sonnenuntergang*/     postUpdate(OWM_Daily_5_sunset, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[5].sunset", weatherString)) * 1000).toString))

            /*Temperatur Tag*/      postUpdate(OWM_Daily_5_temperature_day, transform("JSONPATH", "$.daily.[5].temp.day", weatherString))

            /*Temperatur Tag Min*/  postUpdate(OWM_Daily_5_temperature_day_min, transform("JSONPATH", "$.daily.[5].temp.min", weatherString))

            /*Temperatur Tag Max*/  postUpdate(OWM_Daily_5_temperature_day_max, transform("JSONPATH", "$.daily.[5].temp.max", weatherString))

            /*Temperatur Nacht*/    postUpdate(OWM_Daily_5_temperature_night, transform("JSONPATH", "$.daily.[5].temp.night", weatherString))

            /*Temperatur Abend*/    postUpdate(OWM_Daily_5_temperature_eve, transform("JSONPATH", "$.daily.[5].temp.eve", weatherString))

            /*Temperatur Morgen*/   postUpdate(OWM_Daily_5_temperature_morn, transform("JSONPATH", "$.daily.[5].temp.morn", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Daily_5_wind_speed, transform("JSONPATH", "$.daily.[5].wind_speed", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Daily_5_weather_id, transform("JSONPATH", "$.daily.[5].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Daily_5_weather_main, transform("JSONPATH", "$.daily.[5].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Daily_5_weather_description, transform("JSONPATH", "$.daily.[5].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Daily_5_weather_icon, transform("JSONPATH", "$.daily.[5].weather..icon", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Daily_5_clouds, transform("JSONPATH", "$.daily.[5].clouds", weatherString))

            /*UV Index*/            postUpdate(OWM_Daily_5_uvi, transform("JSONPATH", "$.daily.[5].uvi", weatherString))

        //+6D       

            /*zeitstempel*/         postUpdate(OWM_Daily_6_timestamp, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[6].dt", weatherString)) * 1000).toString))

            /*Sonnenaufgang*/       postUpdate(OWM_Daily_6_sunrise, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[6].sunrise", weatherString)) * 1000).toString))

            /*Sonnenuntergang*/     postUpdate(OWM_Daily_6_sunset, new DateTimeType(new DateTime(Long::parseLong(transform("JSONPATH", "$.daily.[6].sunset", weatherString)) * 1000).toString))

            /*Temperatur Tag*/      postUpdate(OWM_Daily_6_temperature_day, transform("JSONPATH", "$.daily.[6].temp.day", weatherString))

            /*Temperatur Tag Min*/  postUpdate(OWM_Daily_6_temperature_day_min, transform("JSONPATH", "$.daily.[6].temp.min", weatherString))

            /*Temperatur Tag Max*/  postUpdate(OWM_Daily_6_temperature_day_max, transform("JSONPATH", "$.daily.[6].temp.max", weatherString))

            /*Temperatur Nacht*/    postUpdate(OWM_Daily_6_temperature_night, transform("JSONPATH", "$.daily.[6].temp.night", weatherString))

            /*Temperatur Abend*/    postUpdate(OWM_Daily_6_temperature_eve, transform("JSONPATH", "$.daily.[6].temp.eve", weatherString))

            /*Temperatur Morgen*/   postUpdate(OWM_Daily_6_temperature_morn, transform("JSONPATH", "$.daily.[6].temp.morn", weatherString))

            /*Windgeschwindigkeit*/ postUpdate(OWM_Daily_6_wind_speed, transform("JSONPATH", "$.daily.[6].wind_speed", weatherString))

            /*Wetter ID*/           postUpdate(OWM_Daily_6_weather_id, transform("JSONPATH", "$.daily.[6].weather..id", weatherString))

            /*Witterung*/           postUpdate(OWM_Daily_6_weather_main, transform("JSONPATH", "$.daily.[6].weather..main", weatherString))

            /*Witterung Stärke*/    postUpdate(OWM_Daily_6_weather_description, transform("JSONPATH", "$.daily.[6].weather..description", weatherString))

            /*Icon ID*/             postUpdate(OWM_Daily_6_weather_icon, transform("JSONPATH", "$.daily.[6].weather..icon", weatherString))

            /*Bewölkung*/           postUpdate(OWM_Daily_6_clouds, transform("JSONPATH", "$.daily.[6].clouds", weatherString))

            /*UV Index*/            postUpdate(OWM_Daily_6_uvi, transform("JSONPATH", "$.daily.[6].uvi", weatherString))

    } else { //log error. Invalid API key ?

        logInfo("weather.rules", "Error loading data from OWM: " + weatherString)

    }

end
3 Likes

owm_onecall_wetter.items

//Curent weather
        DateTime OWM_Curent_timestamp "Abrufzeitstempel [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Curent_sunrise "Sonnenaufgang um [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Curent_sunset "Sonnenuntergang um [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Curent_temperature "Ist Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Curent_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Pressure OWM_Curent_pressure "Luftdruck [%.1f %unit%]"
        Number:Dimensionless OWM_Curent_humidity "Luftfeuchtigkeit [%.1f %unit%]"
        Number:Temperature OWM_Curent_dew_point "Taupunkt [%.1f %unit%]"
        Number:Dimensionless OWM_Curent_clouds "Bewölkung [%.1f %unit%]"
        Number:Dimensionless OWM_Curent_uvi "UV Index [%.1f %unit%]"
        Number:Speed OWM_Curent_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Curent_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Curent_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Curent_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Curent_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Curent_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Curent_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"

//hourly weather
	//+0H
        DateTime OWM_Hourly_0_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_0_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_0_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_0_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_0_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_0_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_0_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_0_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_0_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_0_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_0_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+1H
        DateTime OWM_Hourly_1_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_1_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_1_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_1_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_1_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_1_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_1_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_1_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_1_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_1_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_1_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+2H
        DateTime OWM_Hourly_2_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_2_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_2_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_2_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_2_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_2_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_2_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_2_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_2_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_2_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_2_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+3H
        DateTime OWM_Hourly_3_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_3_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_3_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_3_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_3_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_3_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_3_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_3_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_3_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_3_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_3_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+4H
        DateTime OWM_Hourly_4_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_4_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_4_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_4_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_4_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_4_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_4_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_4_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_4_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_4_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_4_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+5H
        DateTime OWM_Hourly_5_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_5_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_5_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_5_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_5_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_5_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_5_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_5_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_5_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_5_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_5_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+6H
        DateTime OWM_Hourly_6_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_6_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_6_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_6_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_6_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_6_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_6_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_6_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_6_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_6_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_6_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+7H
        DateTime OWM_Hourly_7_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_7_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_7_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_7_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_7_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_7_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_7_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_7_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_7_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_7_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_7_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+8H
        DateTime OWM_Hourly_8_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_8_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_8_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_8_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_8_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_8_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_8_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_8_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_8_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_8_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_8_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+9H
        DateTime OWM_Hourly_9_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_9_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_9_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_9_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_9_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_9_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_9_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_9_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_9_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_9_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_9_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+10H
        DateTime OWM_Hourly_10_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_10_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_10_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_10_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_10_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_10_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_10_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_10_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_10_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_10_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_10_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+11H
        DateTime OWM_Hourly_11_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_11_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_11_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_11_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_11_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_11_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_11_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_11_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_11_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_11_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_11_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"
	//+12H
        DateTime OWM_Hourly_12_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Hourly_12_temperature "Temperatur [%.1f %unit%]"
        Number:Temperature OWM_Hourly_12_feel_temperature "Gefühlte Temperatur [%.1f %unit%]"
        Number:Dimensionless OWM_Hourly_12_clouds "Bewölkung [%.1f %unit%]"
        Number:Speed OWM_Hourly_12_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number:Angle OWM_Hourly_12_wind_deg "Windrichtung [%.1f %unit%]"
        Number OWM_Hourly_12_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Hourly_12_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Hourly_12_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Hourly_12_weather_icon "Icon ID [%.1f %unit%]"
        Number:Length OWM_Hourly_12_rain "Niderschlag in der vergangenen Stunde [%.1f %unit%]"

//Daily weather

	//+0D
        DateTime OWM_Daily_0_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_0_sunrise "Sonnenaufgang um [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_0_sunset "Sonnenuntergang um [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Daily_0_temperature_day "Temperatur tagsüber [%.1f %unit%]"
        Number:Temperature OWM_Daily_0_temperature_day_min "Temperatur min [%.1f %unit%]"
        Number:Temperature OWM_Daily_0_temperature_day_max "Temperatur max [%.1f %unit%]"
        Number:Temperature OWM_Daily_0_temperature_morn "Temperatur morgens [%.1f %unit%]"
        Number:Temperature OWM_Daily_0_temperature_eve "Temperatur abends [%.1f %unit%]"
        Number:Temperature OWM_Daily_0_temperature_night "Temperatur nacht [%.1f %unit%]"
        Number:Speed OWM_Daily_0_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number OWM_Daily_0_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Daily_0_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Daily_0_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Daily_0_weather_icon "Icon ID [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_0_clouds "Bewölkung [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_0_uvi "UV Index [%.1f %unit%]"
	//+1D
        DateTime OWM_Daily_1_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_1_sunrise "Sonnenaufgang um [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_1_sunset "Sonnenuntergang um [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Daily_1_temperature_day "Temperatur tagsüber [%.1f %unit%]"
        Number:Temperature OWM_Daily_1_temperature_day_min "Temperatur min [%.1f %unit%]"
        Number:Temperature OWM_Daily_1_temperature_day_max "Temperatur max [%.1f %unit%]"
        Number:Temperature OWM_Daily_1_temperature_morn "Temperatur morgens [%.1f %unit%]"
        Number:Temperature OWM_Daily_1_temperature_eve "Temperatur abends [%.1f %unit%]"
        Number:Temperature OWM_Daily_1_temperature_night "Temperatur nacht [%.1f %unit%]"
        Number:Speed OWM_Daily_1_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number OWM_Daily_1_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Daily_1_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Daily_1_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Daily_1_weather_icon "Icon ID [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_1_clouds "Bewölkung [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_1_uvi "UV Index [%.1f %unit%]"
	//+2D
        DateTime OWM_Daily_2_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_2_sunrise "Sonnenaufgang um [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_2_sunset "Sonnenuntergang um [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Daily_2_temperature_day "Temperatur tagsüber [%.1f %unit%]"
        Number:Temperature OWM_Daily_2_temperature_day_min "Temperatur min [%.1f %unit%]"
        Number:Temperature OWM_Daily_2_temperature_day_max "Temperatur max [%.1f %unit%]"
        Number:Temperature OWM_Daily_2_temperature_morn "Temperatur morgens [%.1f %unit%]"
        Number:Temperature OWM_Daily_2_temperature_eve "Temperatur abends [%.1f %unit%]"
        Number:Temperature OWM_Daily_2_temperature_night "Temperatur nacht [%.1f %unit%]"
        Number:Speed OWM_Daily_2_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number OWM_Daily_2_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Daily_2_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Daily_2_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Daily_2_weather_icon "Icon ID [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_2_clouds "Bewölkung [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_2_uvi "UV Index [%.1f %unit%]"
        //+3D
        DateTime OWM_Daily_3_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_3_sunrise "Sonnenaufgang um [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_3_sunset "Sonnenuntergang um [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Daily_3_temperature_day "Temperatur tagsüber [%.1f %unit%]"
        Number:Temperature OWM_Daily_3_temperature_day_min "Temperatur min [%.1f %unit%]"
        Number:Temperature OWM_Daily_3_temperature_day_max "Temperatur max [%.1f %unit%]"
        Number:Temperature OWM_Daily_3_temperature_morn "Temperatur morgens [%.1f %unit%]"
        Number:Temperature OWM_Daily_3_temperature_eve "Temperatur abends [%.1f %unit%]"
        Number:Temperature OWM_Daily_3_temperature_night "Temperatur nacht [%.1f %unit%]"
        Number:Speed OWM_Daily_3_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number OWM_Daily_3_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Daily_3_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Daily_3_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Daily_3_weather_icon "Icon ID [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_3_clouds "Bewölkung [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_3_uvi "UV Index [%.1f %unit%]"
        //+4D
        DateTime OWM_Daily_4_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_4_sunrise "Sonnenaufgang um [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_4_sunset "Sonnenuntergang um [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Daily_4_temperature_day "Temperatur tagsüber [%.1f %unit%]"
        Number:Temperature OWM_Daily_4_temperature_day_min "Temperatur min [%.1f %unit%]"
        Number:Temperature OWM_Daily_4_temperature_day_max "Temperatur max [%.1f %unit%]"
        Number:Temperature OWM_Daily_4_temperature_morn "Temperatur morgens [%.1f %unit%]"
        Number:Temperature OWM_Daily_4_temperature_eve "Temperatur abends [%.1f %unit%]"
        Number:Temperature OWM_Daily_4_temperature_night "Temperatur nacht [%.1f %unit%]"
        Number:Speed OWM_Daily_4_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number OWM_Daily_4_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Daily_4_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Daily_4_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Daily_4_weather_icon "Icon ID [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_4_clouds "Bewölkung [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_4_uvi "UV Index [%.1f %unit%]"
        //+5D
        DateTime OWM_Daily_5_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_5_sunrise "Sonnenaufgang um [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_5_sunset "Sonnenuntergang um [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Daily_5_temperature_day "Temperatur tagsüber [%.1f %unit%]"
        Number:Temperature OWM_Daily_5_temperature_day_min "Temperatur min [%.1f %unit%]"
        Number:Temperature OWM_Daily_5_temperature_day_max "Temperatur max [%.1f %unit%]"
        Number:Temperature OWM_Daily_5_temperature_morn "Temperatur morgens [%.1f %unit%]"
        Number:Temperature OWM_Daily_5_temperature_eve "Temperatur abends [%.1f %unit%]"
        Number:Temperature OWM_Daily_5_temperature_night "Temperatur nacht [%.1f %unit%]"
        Number:Speed OWM_Daily_5_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number OWM_Daily_5_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Daily_5_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Daily_5_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Daily_5_weather_icon "Icon ID [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_5_clouds "Bewölkung [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_5_uvi "UV Index [%.1f %unit%]"
        //+6D
        DateTime OWM_Daily_6_timestamp "Zeitstempel [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_6_sunrise "Sonnenaufgang um [%1$tY-%1$tm-%1$td]"
        DateTime OWM_Daily_6_sunset "Sonnenuntergang um [%1$tY-%1$tm-%1$td]"
        Number:Temperature OWM_Daily_6_temperature_day "Temperatur tagsüber [%.1f %unit%]"
        Number:Temperature OWM_Daily_6_temperature_day_min "Temperatur min [%.1f %unit%]"
        Number:Temperature OWM_Daily_6_temperature_day_max "Temperatur max [%.1f %unit%]"
        Number:Temperature OWM_Daily_6_temperature_morn "Temperatur morgens [%.1f %unit%]"
        Number:Temperature OWM_Daily_6_temperature_eve "Temperatur abends [%.1f %unit%]"
        Number:Temperature OWM_Daily_6_temperature_night "Temperatur nacht [%.1f %unit%]"
        Number:Speed OWM_Daily_6_wind_speed "Windgeschwindigkeit [%.1f %unit%]"
        Number OWM_Daily_6_weather_id "Wetter ID [%.1f %unit%]"
        String OWM_Daily_6_weather_main "Art der Witterung [%.1f %unit%]"
        String OWM_Daily_6_weather_description "Stärke der Witterung [%.1f %unit%]"
        String OWM_Daily_6_weather_icon "Icon ID [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_6_clouds "Bewölkung [%.1f %unit%]"
        Number:Dimensionless OWM_Daily_6_uvi "UV Index [%.1f %unit%]"
3 Likes

Hello all,

I’ve put together a version of the binding which calls the onecallapi.

This is a bit of an experiment for me - I have not done proper java coding in several years, but it seems to be working. However, I’m not ready to push it into github.

But I’m happy to provide a download link for you guys to try. Feedback is welcome.

http://hazelden.me/org.openhab.binding.openweathermap-2.5.8-SNAPSHOT.jar

Some notes:

  • Station ID and name have both been removed
  • Wind Gust has also been removed

This is all down to the fact they aren’t in the response any more.

I have tested everything on the ‘current weather’ and it seems to be coming through for my current location.

I have also tested min/max temperature on ‘today’s’ forecast - and, again, it’s working - but it’s worth noting that what seems to happen is this is ‘min or max from the point of request onwards’. So if you update every 60 minutes and we’re already past the hottest point of the day … well … you’re now going to see lower temperatures on the ‘max’ than WAS the max for the day.

E.g. Friday - the max was 33 odd, when I actually copied this file into my local openhab - it read ‘25’ because the temperature was already cooling down.

But please look at the 3 hour, 6 hour etc forecasts.

UV forecast still comes from the paid for uv forecast API.

Cheers

1 Like

Nice work :grinning: :+1:

I installed the jar, and so far, the today and tomorrow channels are working for me.
Will check it again in some hours.

FYI - I’ve just uploaded a revision to the JAR file.

The hourly forecasts are now available in one hour increments up to 48 hours out. Additionally - the chance of rain, UV Index and visibility are available. Wind Gust has also been restored (I could have sworn that wasn’t there in the API call last week!).

Note the existing UV Index thing is now hidden. Existing instances of it will function - and you could create a new one via a things file, but it won’t appear during an ‘add’ in paperui.

There is an open pull request on github for this - so maybe this can get merged in at some stage if I can get some more feedback.

Hi,
does anything prevent you/us from mixing the API calls?
So couldn’t we get for example the station ID by requesting it through the (old) “Current Wether API” JSON?

Thanks Joerg

I don’t believe you can necessarily rely that the station provided by the weather call and the data provided by the onecall api will come from the same place.

But so you’re aware - my implementation won’t be the one going forward - this work is being pushed on by a different developer which will provide backwards compatibility for those who want the missing fields (e.g. existing will continue to work), but those who want the daily forecasts (and are willing to move forward without station information) can change to the onecall API.

Mine still works - and the JAR is still available - but a different one will be going forward.

Hi Michael,
thanks for the head up.
Nevertheless, I tried to utilize your JAR.
Has this to be added additionally to the regular impemented version or do I have to uninstall the other version?
I asked, as I havent got anything beside the binding after uninstalling the native one and adding yours into the services folder.
Thanks Joerg

None of this is yet available in the published bindings yet.

You’ll need to uninstall the main binding, copy my jar into the addons folder - you may find the best idea is to delete and recreate your existing local weather thing to get all the new channels.

Yes and no. Be aware that a free API is restricted to 1000 calls per day (see Pricing - OpenWeatherMap). If you want to use multiple things or combine old and new ones you should choose your refresh interval respectively.

But it now will be much better by using the One Call API because before it’s implementation the binding had to request current weather, forecast and UV Index separately.

Hi Christoph,
you are absolutely right.
But based on your current implementation of a minimum polling of 10 min, we get 144 calls per API, per day. So there’s plenty enough room for additional locations and/or APIs.

BTW: As you are the maintainer of the “offical” OWM binding, I expect you being the developer for implementing the one call API mentioned by Michael ;-). Please let me know, if you need beta testers.

I am the initial contributor of the OWM binding. AFAIK @Wolfgang1966 and @MPH1980 are working on the implementation of the One Call API. You can find a test version inside the related GitHub issue. Kudos to both of them :+1:.

Thanks for your efforts! Working fine so far with OH3.

What would be the preffered way to getting the current weather and daily forecasts now as they’re available in the “weather-and-forecast” thing as well as the “oneapi” thing of the binding? (besides location informations and ConditionID as far as I see)

Is it better to use the oneapi here, as it gets called anyway or are there any benefits using the “weather-and-forecast” part for it?

// Edit:
One thing that I noticed when I’m using the current weather informations from the onecall part of the binding is, that it returns the same values as the hour01 forecast (uncluding the timestamp) - is this by design or a bug which I should open an issue for?

What file did you use for openhab3.0 ? I want to use it to, but I only have the 2.5 jar file for this binding.

There was one linked in the github issue for this enhancement - but this isn’t needed anymore as its part of the official release now - RC2 and above should work.

1 Like

Hi all,
I read many threads about this great binding, but still not found any solution for my problem.
I need to know the last 36hours of rain precipitation.
I used to use the direct openheathermap api and parse the result myself, but i see that the binding now can call the one-call-history.
My problem is that it seems that the binding can only call the last day history (and 5 days before), not the history for the current day.
I tried to put “historyDay=0” in the things but i got the response : “historyDay value of 0 is not supported”

TLTR : How can i get the rain volume history of the current day ?
Any clue or tips ?
(Note that the API from openweathermap allow this call for the current day.)

Many thanks

Hi all,
Without response, and for those who are also interested, I just created an issue for this here :
[openweathermap] add current day in history call · Issue #10798 · openhab/openhab-addons (github.com)