I’m facing an issue with the REST API which is new in 3.0.0, using it with HomeBridge (historically, the HomeKit binding was not satisfying and not supporting enough device types, so I switched to HB for HK)
When HB tries to interact with the REST API, the following happens in stack trace:
2020-10-16 18:58:25.848 [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body reader has been found for class java.lang.String, ContentType: application/octet-stream
2020-10-16 18:58:25.858 [WARN ] [s.impl.WebApplicationExceptionMapper] - javax.ws.rs.WebApplicationException: HTTP 415 Unsupported Media Type
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBody(JAXRSUtils.java:1382)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processRequestBodyParameter(JAXRSUtils.java:877)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.processParameters(JAXRSUtils.java:822)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:214)
at org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:78)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:267)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:216)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:301)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:220)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:276)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:852)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:544)
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307)
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:494)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918)
at java.base/java.lang.Thread.run(Thread.java:834)
The request generating this error is the following:
This was perfectly running in 2.5.x.
Please let me know if I’m not reporting the bug in the right place!
Do you use the new feature of the new influx binding which allows sending values in a single measurement by using tags?
This is what I do and I thought it would be related to this new feature. Meaning, integers or floats in a measurement which was created with the respective other type.
I tried installing running are fresh install of the milestone on my macbook pro and I can add bindings but can’t add any things. I have no Things page and my inbox is missing…
There is no indication in the UI of what to do next…
Did I do something wrong?
Edit: I was able to fix this by restarting openhab. I don’t know why it was necessary to do so though…
I suppose you were using the new InfluxDB version addon that is mainly a complete rewrite of previous one introducing also Influx2 support.
Can you confirm the addon version an open an issue with that and details about your item definition, influxdb version, and previous openhab.log entries about influxdb addon (setup previously to TRACE org.openhab.persistence.influxdb category).
And any details you can provide to reproduce the issue, please put also previous
The addon was developed and tested with OH 3.0, but I was not able to do extensive testing as at the moment it was integrated OH 3.0 was very little usable.
Hello,
I have 2 problem with the OH3 via openhab Cloud.
The first one, if I access the openhab 3 dashboard with the link on openhab cloud, the oh icons doesn’t appear, I have 404 :
The second problem is with the PWA, if I install the PWA from my ip adress like 192.168.1.X on my Android phone, everything work great.
If I install it with https://home.myopenhab.org URL, the PWA work the first time and when I close it and reopend it, he don’t work anymore.
Here the chrome dev tool debug result for the PWA :
running the new Influx persistance 3.0.0.M.1 with
[12:38:34] root@t2:/etc/openhab/rules# influx
Connected to http://localhost:8086 version 1.8.3
InfluxDB shell version: 1.8.3
You also removed the “-”, my guess it was this one. My rules do have an uppercase letter at the start and are working, OH3 does give them an uniquie ID by addin a “-” and a number!
i installed openhab3, upgrading my openhab2, and i have to say… great work! very nice interface, very clean and almost everything is working prefectly already.
some issues i encountred:
some of my rules stopped working:
the syntax of the executeCommandLine changed in the DSL syntax, but i managed to find my way: var json=executeCommandLine(Duration.ofSeconds(15),"/usr/bin/python3", "/etc/openhab/scripts/fritzbox.py")
the 1v DSL i cannot post update to items like so anymore: Fritzbox_transmission_rate_down.postUpdate(transmission_rate_down) , i get the following error: Script execution failed: An error occurred during the script execution: null
i tried to convert my rules in the new ECMA script, but i could not find a way to excute a command.
var ExecUtil = Java.type("org.openhab.core.io.net.exec.ExecUtil"); throws an error : Caused by: java.lang.ClassNotFoundException: org.openhab.core.io.net.exec.ExecUtil cannot be found by org.apache.aries.jax.rs.whiteboard_1.0.9 eventhough the given class seems to be in the classpath (or the jars of openhab)
i also get the data type errors about influxDB. not sure how to fix it.
I have a handful (3 maybe) of 2.x JARs that I use in place of what comes stock with OH. Mostly bindings that aren’t committed into code yet. Is there any expectation in either direction of them working on 3.0? I realize that the goal would be for the developer to move to 3.x but some haven’t been and I don’t want to lose that functionality in the interim.