Problem with Weather Binding after upgrade to 1.8.1

Hi !

I just upgraded from 1.7.x to 1.8.1 using the ubuntu packages and now the weather forecast doesn’t work anymore.
I get the following error:

HTTP ERROR 500

Problem accessing /weather. Reason:

Weather locationId 'home' does not exist

Caused by:

javax.servlet.ServletException: Weather locationId ‘home’ does not exist
at org.openhab.binding.weather.internal.gfx.WeatherServlet.doGet(WeatherServlet.java:101)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:60)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:486)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:350)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:890)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:944)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:630)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
at java.lang.Thread.run(Thread.java:745)
Powered by Jetty://

In my openhab.cfg file I can still see the home declaration.

location configuration, you can specify multiple locations

weather:location.home.latitude=48.131042
weather:location.home.longitude=14.949865
weather:location.home.provider=Wunderground
weather:location.home.language=de

anyone knows what could be wrong ?

Don’t forget the api key in your openhab.cfg:

weather:apikey.Wunderground=xyzxyzxyzxyzxyzxyz

Also make sure you have have the correct locationID in your items file:

Number Rain "Rain [%.2f mm/h]" <rain> { weather="locationId=home, type=precipitation, property=rain" }

I have the apikey defined liked this:

weather:apikey.Wunderground=34580009235

and this is my items file:

Group Wettergrafik
Number Temperature “Temperatur [%.2f °C]” (Wettergrafik) {weather=“locationId=home, type=temperature, property=current”}
Number Humidity “Luftfeuchtigkeit [%d %%]” {weather=“locationId=home, type=atmosphere, property=humidity”}
Number Pressure “Luftdruck [%.0f mb]” {weather=“locationId=home, type=atmosphere, property=pressure”}
Number Wind_Speed “Windgeschwindigkeit [%.2f km/h]” {weather=“locationId=home, type=wind, property=speed”}
DateTime Last_Update “Letztes Update [%1$td.%1$tm.%1$tY %1$tH:%1$tM]” {weather=“locationId=home, type=condition, property=lastUpdate”}

Group Forecastdata
DateTime ObservationTime “[%1$td.%1$tm.%1$tY %1$tH:%1$tM]” {weather=“locationId=home, type=condition, property=observationTime”}
Number Pressure {weather=“locationId=home, type=athmosphere, property=pressure, scale=1”}
Number Current_Temp {weather=“locationId=homee, type=temperature, property=current, scale=1”}
DateTime Forecast_Day_1 “[%1$tA]” {weather=“locationId=home, forecast=1, type=condition, property=observationTime”}
DateTime Forecast_Day_2 “[%1$tA]” {weather=“locationId=home, forecast=2, type=condition, property=observationTime”}
Number Temp_Max_0 {weather=“locationId=home, forecast=0, type=temperature, property=max, scale=0”}
Number Temp_Max_1 {weather=“locationId=home, forecast=1, type=temperature, property=max, scale=0”}
Number Temp_Max_2 {weather=“locationId=home, forecast=2, type=temperature, property=max, scale=0”}
Number Temp_Min_0 {weather=“locationId=home, forecast=0, type=temperature, property=min, scale=0”}
Number Temp_Min_1 {weather=“locationId=home, forecast=1, type=temperature, property=min, scale=0”}
Number Temp_Min_2 {weather=“locationId=home, forecast=2, type=temperature, property=min, scale=0”}

still it says it cannot find home :frowning:

Check in openhab.log if you see these lines:

2016-02-09 14:01:09.445 [INFO ] [o.o.b.w.i.common.WeatherConfig] - ProviderConfig[providerName=WUNDERGROUND,apiKey=xxyyzzaabbccddee]
2016-02-09 14:01:09.448 [INFO ] [o.o.b.w.i.common.WeatherConfig] - LocationConfig[providerName=WUNDERGROUND,language=NL,updateInterval=15,latitude=51.8728,longitude=6.2537,woeid=,locationId=home,name='s-Heerenberg]
2016-02-09 14:01:12.462 [INFO ] [.o.b.w.i.s.WeatherJobScheduler] - Starting and scheduling weatherJob-home with interval of 15 minutes

If you dont see them, especially the last line, then something is wrong in the config. Appears to me your API key is invalid, is that the one you have got from Wunderground ? (these are personal keys!)

BTW these lines appear just after startup.

Hi !

I checked my logfile but I don’t see none of this lines :frowning:
The api key I provided before was a fake version (as I didn’t want to give out my real one :slight_smile:

I think I found the issue. the configuration didn’t include the woeid parameter which seems to be new. now the binding starts at least. need to check now the rest.

The woeid is needed for the Yahoo provider but not any of the other providers. Are you sure that made a difference?

yes everything works now. it was really the woeid as I had 2 definitions: 1 with Wunderground 1 with Yahoo (where the woeid is a new parameter)