exception when using iOS client...

186 views
Skip to first unread message

Thomas Brettinger

unread,
Oct 11, 2012, 4:01:52 PM10/11/12
to ope...@googlegroups.com
Hi,

I just started playing around with OpenHAB after using Misterhouse for some years... re-modeling everything and such making lots of changes to the sitemap, items etc.

Somehow I broke the iOS client, but I don't know how and though I tried re-tracing my steps, I don't find the problem:
it worked before, and webUI still works fine (host:8080/openhab.app).

When I try to connect via iOS client, I see the following:
21:20:31.387 ERROR c.s.j.s.c.ContainerResponse[:402]- The RuntimeException could not be mapped to a response, re-throwing to the HTTP container
java.util.UnknownFormatConversionException: Conversion = '1'
        at java.util.Formatter.checkText(Formatter.java:2519)
        at java.util.Formatter.parse(Formatter.java:2501)
        at java.util.Formatter.format(Formatter.java:2430)
        at java.util.Formatter.format(Formatter.java:2383)
        at java.lang.String.format(String.java:2781)
        at org.openhab.core.library.types.DecimalType.format(DecimalType.java:84)
21:20:31.389 ERROR o.a.h.ReflectorServletProcessor[:170]- onRequest()
java.util.UnknownFormatConversionException: Conversion = '1'
        at java.util.Formatter.checkText(Formatter.java:2519)
        at java.util.Formatter.parse(Formatter.java:2501)
        at java.util.Formatter.format(Formatter.java:2430)
        at java.util.Formatter.format(Formatter.java:2383)
        at java.lang.String.format(String.java:2781)
        at org.openhab.core.library.types.DecimalType.format(DecimalType.java:84)
21:20:31.400 WARN  o.e.j.servlet.ServletHandler[:553]- /rest/sitemaps/default
java.lang.RuntimeException: java.util.UnknownFormatConversionException: Conversion = '1'
        at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:171)
        at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:248)
        at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:166)
        at org.atmosphere.container.Jetty7CometSupport.service(Jetty7CometSupport.java:96)
        at org.atmosphere.container.JettyAsyncSupportWithWebSocket.service(JettyAsyncSupportWithWebSocket.java:67)
        at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1266)
Caused by: java.util.UnknownFormatConversionException: Conversion = '1'
        at java.util.Formatter.checkText(Formatter.java:2519)
        at java.util.Formatter.parse(Formatter.java:2501)
        at java.util.Formatter.format(Formatter.java:2430)
        at java.util.Formatter.format(Formatter.java:2383)
        at java.lang.String.format(String.java:2781)
        at org.openhab.core.library.types.DecimalType.format(DecimalType.java:84)

Any ideas where to look?

Regards,
Thomas

Kai Kreuzer

unread,
Oct 11, 2012, 4:14:46 PM10/11/12
to ope...@googlegroups.com
Hi Thomas,

The line where the exception is thrown says:

String.format(pattern, value);

It sounds as if an invalid string comes in for the "pattern". Could you maybe check the patterns given in your labels (e.g. "[%.1f °C]"), if there is anything incorrect?
Possibly the classic UI is a bit more forgiving on errors and simply swallows some code… Best is to comment out sections of your site map and slowly add things again to see which line actually causes the problem (assuming that it is a configuration error and not a bug in openHAB).

Regards,
Kai

--
You received this message because you are subscribed to the Google Groups "openhab" group.
To view this discussion on the web visit https://groups.google.com/d/msg/openhab/-/c909t8EhlQsJ.
To post to this group, send email to ope...@googlegroups.com.
To unsubscribe from this group, send email to openhab+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/openhab?hl=en.

Thomas Brettinger

unread,
Oct 12, 2012, 3:51:57 AM10/12/12
to ope...@googlegroups.com, k...@openhab.org
Hello Kai,

thanks for the hint. The expression(s) that throw the exception are indeed "[%.1f °C]" (and all exactly like this, as far as my triple-check in both items and sitemap goes...)

However, the exception only hits, when the value in question comes from knx binding. Onewire Values are shown on iOS without issues. Other Formats (such as the Date from the demo) are shown as well.

What's different between temperature values from knx and onewire? Hmm..

I'm using 1.0.0 with the modified onewire binding (for retries) that was posted somewhere around here...

Regards,
Thomas

Kai Kreuzer

unread,
Oct 14, 2012, 4:27:28 PM10/14/12
to ope...@googlegroups.com
Hi Thomas,

The only difference between KNX and 1-wire binding that I can see is that 1-wire sends status updates, while KNX sends commands (which are then repeated as status updates by the auto-update binding). I do not understand why this can make a difference though.

Can you confirm that the problem only happens with the iOS client? THAT is really weird - if the value is somehow not correctly transmitted by the KNX binding, it should not work in the Classic UI either…
Could you launch in debug mode and see if there is anything more interesting in the log file then?

Regards,
Kai


To view this discussion on the web visit https://groups.google.com/d/msg/openhab/-/fBMB2529sJcJ.

Pablo Romeu

unread,
Oct 15, 2012, 4:27:07 AM10/15/12
to ope...@googlegroups.com, k...@openhab.org
Hi Thomas and Kai,

It sounds little strange but I had some errors too at the server when I was developing the last iOS Client. Let's try to reproduce the problem so I can test it and update the client, if that is the problem. Could you try to create a map just with that line? So we can test it and find the problem easier.

Kai: remember the 404 error page exception we were talking about? Maybe has something to do with this.

Thomas Brettinger

unread,
Oct 15, 2012, 4:56:03 AM10/15/12
to ope...@googlegroups.com, k...@openhab.org
Hi Kai and Pablo,

ok, first the Error from the debug log:

10:49:35.836 DEBUG o.o.b.k.i.bus.KNXBinding[:456]- Sending read request to KNX for item Window_GF_Dining_O_Garten
10:49:41.518 DEBUG o.o.i.r.i.r.ItemResource[:105]- Received HTTP GET request at 'items' for media type 'json'.
10:49:41.556 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/All' for media type 'json'.
10:49:41.573 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/gGF' for media type 'json'.
10:49:41.602 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/gFF' for media type 'json'.
10:49:41.617 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/gSF' for media type 'json'.
10:49:41.641 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/gC' for media type 'json'.
10:49:41.666 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Shutters' for media type 'json'.
10:49:41.681 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Weather' for media type 'json'.
10:49:41.694 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Status' for media type 'json'.
10:49:41.719 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/GF_WZ' for media type 'json'.
10:49:41.734 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/GF_Kino' for media type 'json'.
10:49:41.747 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/GF_Kitchen' for media type 'json'.
10:49:41.776 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/GF_Dining' for media type 'json'.
10:49:41.799 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/GF_Toilet' for media type 'json'.
10:49:41.815 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/GF_Corridor' for media type 'json'.
10:49:41.829 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/FF_Bath' for media type 'json'.
10:49:41.855 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/FF_Child' for media type 'json'.
10:49:41.882 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/FF_Bedroom' for media type 'json'.
10:49:41.913 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/FF_Wardrobe' for media type 'json'.
10:49:41.929 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/FF_Corridor' for media type 'json'.
10:49:41.942 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/FF_Toilet' for media type 'json'.
10:49:41.967 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/SF_Corridor' for media type 'json'.
10:49:41.993 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/SF_Office' for media type 'json'.
10:49:42.009 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Stairs' for media type 'json'.
10:49:42.033 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Outdoor' for media type 'json'.
10:49:42.047 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Lights' for media type 'json'.
10:49:42.064 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Heating' for media type 'json'.
10:49:42.090 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Windows' for media type 'json'.
10:49:42.106 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temperature' for media type 'json'.
10:49:42.122 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_Avg' for media type 'json'.
10:49:42.139 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Outdoor_Lights' for media type 'json'.
10:49:42.167 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Irrigation' for media type 'json'.
10:49:42.181 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Shutters_Dawn' for media type 'json'.
10:49:42.197 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Shutters_Time' for media type 'json'.
10:49:42.223 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_GF_Kitchen' for media type 'json'.
10:49:42.246 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_GF_Dining' for media type 'json'.
10:49:42.271 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_GF_WZ' for media type 'json'.
10:49:42.295 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_GF_Toilet' for media type 'json'.
10:49:42.309 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_FF_Bath' for media type 'json'.
10:49:42.331 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_FF_Child' for media type 'json'.
10:49:42.357 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_FF_Bedroom' for media type 'json'.
10:49:42.381 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_FF_Wardrobe' for media type 'json'.
10:49:42.408 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_FF_Toilet' for media type 'json'.
10:49:42.423 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_SF_Office' for media type 'json'.
10:49:42.449 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Temp_C' for media type 'json'.
10:49:42.475 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_SF_Office' for media type 'json'.
10:49:42.500 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_FF_Bath' for media type 'json'.
10:49:42.514 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_FF_Child' for media type 'json'.
10:49:42.540 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_FF_Bedroom' for media type 'json'.
10:49:42.555 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_FF_Wardrobe' for media type 'json'.
10:49:42.580 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_GF_Kitchen' for media type 'json'.
10:49:42.605 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_GF_Dining' for media type 'json'.
10:49:42.622 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_GF_WZ' for media type 'json'.
10:49:42.646 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/W_GF_Kino' for media type 'json'.
10:49:42.675 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Weather_Chart' for media type 'json'.
10:49:42.700 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Calendar' for media type 'json'.
10:49:42.727 DEBUG o.o.i.r.i.r.ItemResource[:151]- Received HTTP GET request at 'items/Sun' for media type 'json'.
10:49:42.758 DEBUG o.o.i.r.i.r.SitemapResource[:136]- Received HTTP GET request at 'sitemaps/default' for media type 'json'.
10:49:42.860 ERROR c.s.j.s.c.ContainerResponse[:402]- The RuntimeException could not be mapped to a response, re-throwing to the HTTP container

java.util.UnknownFormatConversionException: Conversion = '1'
    at java.util.Formatter.checkText(Formatter.java:2519)
    at java.util.Formatter.parse(Formatter.java:2501)
    at java.util.Formatter.format(Formatter.java:2430)
    at java.util.Formatter.format(Formatter.java:2383)
    at java.lang.String.format(String.java:2781)
    at org.openhab.core.library.types.DecimalType.format(DecimalType.java:84)
    at org.openhab.ui.internal.items.ItemUIRegistryImpl.getLabel(ItemUIRegistryImpl.java:253)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:283)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:297)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:297)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:292)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createSitemapBean(SitemapResource.java:249)
    at org.openhab.io.rest.internal.resources.SitemapResource.getSitemapBean(SitemapResource.java:238)
    at org.openhab.io.rest.internal.resources.SitemapResource.getSitemapData(SitemapResource.java:140)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.java:170)
    at org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilterChain.java:131)
    at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.service(ReflectorServletProcessor.java:310)
    at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:168)

    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:248)
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:166)
    at org.atmosphere.container.Jetty7CometSupport.service(Jetty7CometSupport.java:96)
    at org.atmosphere.container.JettyAsyncSupportWithWebSocket.service(JettyAsyncSupportWithWebSocket.java:67)
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1266)
    at org.atmosphere.cpr.AtmosphereServlet.doPost(AtmosphereServlet.java:293)
    at org.atmosphere.cpr.AtmosphereServlet.doGet(AtmosphereServlet.java:279)
    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:68)
    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:679)
10:49:42.864 ERROR o.a.h.ReflectorServletProcessor[:170]- onRequest()

java.util.UnknownFormatConversionException: Conversion = '1'
    at java.util.Formatter.checkText(Formatter.java:2519)
    at java.util.Formatter.parse(Formatter.java:2501)
    at java.util.Formatter.format(Formatter.java:2430)
    at java.util.Formatter.format(Formatter.java:2383)
    at java.lang.String.format(String.java:2781)
    at org.openhab.core.library.types.DecimalType.format(DecimalType.java:84)
    at org.openhab.ui.internal.items.ItemUIRegistryImpl.getLabel(ItemUIRegistryImpl.java:253)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:283)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:297)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:297)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:292)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createSitemapBean(SitemapResource.java:249)
    at org.openhab.io.rest.internal.resources.SitemapResource.getSitemapBean(SitemapResource.java:238)
    at org.openhab.io.rest.internal.resources.SitemapResource.getSitemapData(SitemapResource.java:140)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.java:170)
    at org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilterChain.java:131)
    at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.service(ReflectorServletProcessor.java:310)
    at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:168)

    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:248)
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:166)
    at org.atmosphere.container.Jetty7CometSupport.service(Jetty7CometSupport.java:96)
    at org.atmosphere.container.JettyAsyncSupportWithWebSocket.service(JettyAsyncSupportWithWebSocket.java:67)
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1266)
    at org.atmosphere.cpr.AtmosphereServlet.doPost(AtmosphereServlet.java:293)
    at org.atmosphere.cpr.AtmosphereServlet.doGet(AtmosphereServlet.java:279)
    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:68)
    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:679)
10:49:42.891 WARN  o.e.j.servlet.ServletHandler[:553]- /rest/sitemaps/default

java.lang.RuntimeException: java.util.UnknownFormatConversionException: Conversion = '1'
    at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:171)
    at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:248)
    at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:166)
    at org.atmosphere.container.Jetty7CometSupport.service(Jetty7CometSupport.java:96)
    at org.atmosphere.container.JettyAsyncSupportWithWebSocket.service(JettyAsyncSupportWithWebSocket.java:67)
    at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1266)
    at org.atmosphere.cpr.AtmosphereServlet.doPost(AtmosphereServlet.java:293)
    at org.atmosphere.cpr.AtmosphereServlet.doGet(AtmosphereServlet.java:279)
    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:68)
    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:679)

Caused by: java.util.UnknownFormatConversionException: Conversion = '1'
    at java.util.Formatter.checkText(Formatter.java:2519)
    at java.util.Formatter.parse(Formatter.java:2501)
    at java.util.Formatter.format(Formatter.java:2430)
    at java.util.Formatter.format(Formatter.java:2383)
    at java.lang.String.format(String.java:2781)
    at org.openhab.core.library.types.DecimalType.format(DecimalType.java:84)
    at org.openhab.ui.internal.items.ItemUIRegistryImpl.getLabel(ItemUIRegistryImpl.java:253)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:283)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:297)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:297)
    at org.openhab.io.rest.internal.resources.SitemapResource.createWidgetBean(SitemapResource.java:292)
    at org.openhab.io.rest.internal.resources.SitemapResource.createPageBean(SitemapResource.java:263)
    at org.openhab.io.rest.internal.resources.SitemapResource.createSitemapBean(SitemapResource.java:249)
    at org.openhab.io.rest.internal.resources.SitemapResource.getSitemapBean(SitemapResource.java:238)
    at org.openhab.io.rest.internal.resources.SitemapResource.getSitemapData(SitemapResource.java:140)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
    at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
    at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
    at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
    at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
    at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
    at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:708)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.atmosphere.util.AtmosphereFilterChain.doFilter(AtmosphereFilterChain.java:170)
    at org.atmosphere.util.AtmosphereFilterChain.invokeFilterChain(AtmosphereFilterChain.java:131)
    at org.atmosphere.handler.ReflectorServletProcessor$FilterChainServletWrapper.service(ReflectorServletProcessor.java:310)
    at org.atmosphere.handler.ReflectorServletProcessor.onRequest(ReflectorServletProcessor.java:168)
    ... 36 common frames omitted

I'll work out a sitemap with one error producing line... as I said, it seems to happen when trying to display KNX-derived temperature values - the ones that came from 1-wire display without error (strange as it is..)

Regards
Thomas

Thomas Brettinger

unread,
Oct 15, 2012, 5:16:48 AM10/15/12
to ope...@googlegroups.com, k...@openhab.org
Folks, I need to apologize - Kai was right from the beginning.

I had a wrong format in my item definitions - among all those [%.1f]'s, I had a single [%1.f] which escaped me although I was checking the definitions at least twenty times...

as soon as I fixed that everything ran smooth.

Sorry again!

Regards,
Thomas

Kai Kreuzer

unread,
Oct 15, 2012, 7:34:11 PM10/15/12
to ope...@googlegroups.com
Good to know that you have found the problem - and now enjoy openHAB :-)

Best regards,
Kai

To view this discussion on the web visit https://groups.google.com/d/msg/openhab/-/XDTrpBkUWtkJ.

Pablo Romeu

unread,
Oct 16, 2012, 4:21:41 AM10/16/12
to ope...@googlegroups.com, k...@openhab.org
Perfect! :D
Reply all
Reply to author
Forward
0 new messages