Custom icons not working on Raspberry Pi?

I set up a new OpenHAB 2.0.0.b3 system and associated sitemap in windows 10 (because it’s faster to change things on the windows machine for me) I had all my custom icons working just right, however when I copied the config folders onto the Pi3 (running the latest raspbian) none of my icons work…

Is this a known limitation/fault within raspbian? Any clues on how to make these work?

Have you checked permissions? openHAB should have read access to the icons folder.

Yeah, i’ve chmod -r 777’d the folder, and run a chown -hR openhab:openhab etc on etc/openhab2 also.

It still only loads the default icons…

I’ve put the icons/classic folder in etc/openhab2 i that even right? I’ve only read reference to it being put in the /conf folder, but this doesn’t technically exist on a Pi

You did mention from where you migrated. From a previous 2.0 build or from 1.x? In the latter case, please read http://docs.openhab.org/tutorials/migration, since the custom icon mechanism has changed.

I set up 2.0.0b3 in Windows 10, and the same on the Pi.

If I specify an icon which doesn’t exist (or OH thinks isn’t in the icons/classic folder) my log is full of errors like these:

2016-06-18 04:25:44.211 [WARN ] [eclipse.jetty.servlet.ServletHandler] - /icon/Bath java.lang.NullPointerException at org.openhab.ui.iconset.classic.internal.ClassicIconProvider.getResource(ClassicIconProvider.java:46)[186:org.openhab.ui.iconset.classic:2.0.0.b3] at org.eclipse.smarthome.ui.icon.AbstractResourceIconProvider.getIcon(AbstractResourceIconProvider.java:95)[132:org.eclipse.smarthome.ui.icon:0.8.0.b5] at org.eclipse.smarthome.ui.icon.internal.IconServlet.doGet(IconServlet.java:137)[132:org.eclipse.smarthome.ui.icon:0.8.0.b5] at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)[19:javax.servlet-api:3.1.0] at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)[19:javax.servlet-api:3.1.0] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)[81:org.eclipse.jetty.servlet:9.2.14.v20151106] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)[81:org.eclipse.jetty.servlet:9.2.14.v20151106] at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)[165:org.ops4j.pax.web.pax-web-jetty:4.2.4] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)[79:org.eclipse.jetty.security:9.2.14.v20151106] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:271)[165:org.ops4j.pax.web.pax-web-jetty:4.2.4] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)[81:org.eclipse.jetty.servlet:9.2.14.v20151106] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)[165:org.ops4j.pax.web.pax-web-jetty:4.2.4] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.eclipse.jetty.server.Server.handle(Server.java:499)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[80:org.eclipse.jetty.server:9.2.14.v20151106] at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)[72:org.eclipse.jetty.io:9.2.14.v20151106] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[83:org.eclipse.jetty.util:9.2.14.v20151106] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[83:org.eclipse.jetty.util:9.2.14.v20151106] at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]

Thanks for reporting this, this was actually a bug in the packaging - it still used the org.openhab version of the Classic Iconset, I have now replaced it by the ESH version of it through this PR.

If the NPE remains with the next distro build, it will have to be fixed in ESH.

No problem, glad I could help. I guess i’ll spend some time setting up a tablet UI while I wait for the universal ui (BasicUI is what I prefer) to catch up in the beauty stakes.