Ankündigung

Einklappen
Keine Ankündigung bisher.

charts werden nach Update von OpenHAB 2.4 auf 2.5 nicht mehr erzeugt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    charts werden nach Update von OpenHAB 2.4 auf 2.5 nicht mehr erzeugt

    Guten Abend zusammen,

    ich habe die Tage von OH 2.4 auf 2.5 aktualisiert. Das hat auch grundsätzlich funktioniert, habe jedoch ein sehr auffälliges und störendes Problem: Die Charts (unter /chart) werden nicht mehr gerendert. In /var/log/openhab2/openhab.log habe ich folgende Meldung:
    Code:
    [COLOR=orange][WARN ][/COLOR] [org.eclipse.jetty.server.HttpChannel] - /chart
    java.lang.Error: Probable fatal error:No fonts found.
    (bei Bedarf auch noch mal in Kompletter Form am Ende des Postings)

    Habe natürlich schon mal OpenHAB neu gestartet, zwischendurch auch mal mit openhab-cli --clear-cache aufgeräumt. Das hat nicht weitergeholfen.

    Andere hatten dieses Problem wohl auch schon mal, die Empfehlung zur Installation des Pakets fontconfig (siehe z.B. https://github.com/openhab/openhabian/issues/748) hat jedoch auch nicht geholfen.

    Wäre dankbar für neue Lösungsansätze.

    Habe ansonsten auch noch einen weiteren Fehler im Log:

    Code:
    [COLOR=red][ERROR][/COLOR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-action-mail, openhab-misc-restdocs, openhab-binding-knx1'
    Der sollte damit nichts zu tun haben, muss aber natürlich auch beseitigt werden...

    Schon mal vielen Dank fürs Lesen und jegliche Unterstützung.

    Gruß
    wknx





    Code:
    2019-12-19 00:56:50.187 [COLOR=orange][WARN ][/COLOR] [org.eclipse.jetty.server.HttpChannel] - /chart
    java.lang.Error: Probable fatal error:No fonts found.
    at sun.font.SunFontManager.getDefaultPhysicalFont(SunFontManager.java:1236) ~[?:1.8.0_232]
    at sun.font.SunFontManager.initialiseDeferredFont(SunFontManager.java:1106) ~[?:1.8.0_232]
    at sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:287) ~[?:1.8.0_232]
    at sun.font.CompositeFont.getSlotFont(CompositeFont.java:376) ~[?:1.8.0_232]
    at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:82) ~[?:1.8.0_232]
    at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:97) ~[?:1.8.0_232]
    at sun.font.Font2D.getFontMetrics(Font2D.java:415) ~[?:1.8.0_232]
    at java.awt.Font.defaultLineMetrics(Font.java:2180) ~[?:1.8.0_232]
    at java.awt.Font.getLineMetrics(Font.java:2287) ~[?:1.8.0_232]
    at java.awt.font.TextLayout.fastInit(TextLayout.java:598) ~[?:1.8.0_232]
    at java.awt.font.TextLayout.<init>(TextLayout.java:393) ~[?:1.8.0_232]
    at org.knowm.xchart.internal.chartpart.Legend.getSeriesTextBounds(Legend.java:302) ~[?:?]
    at org.knowm.xchart.internal.chartpart.Legend.determineLegendBoxSize(Legend.java:84) ~[?:?]
    at org.knowm.xchart.internal.chartpart.ChartPainter.paint(ChartPainter.java:112) ~[?:?]
    at org.knowm.xchart.Chart.paint(Chart.java:102) ~[?:?]
    at org.eclipse.smarthome.ui.internal.chart.defaultchartprovider.DefaultChartProvider.createChart(DefaultChartProvider.java:259) ~[?:?]
    at org.eclipse.smarthome.ui.internal.chart.ChartServlet.doGet(ChartServlet.java:316) ~[?:?]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[bundleFile:3.1.0]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[bundleFile:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:852) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:544) ~[bundleFile:9.4.20.v20190813]
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) ~[bundleFile:?]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307) ~[bundleFile:9.4.20.v20190813]
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) ~[bundleFile:?]
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.20.v20190813]
    at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) ~[bundleFile:?]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.Server.handle(Server.java:494) ~[bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) [bundleFile:9.4.20.v20190813]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) [bundleFile:9.4.20.v20190813]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232
    Zuletzt geändert von wknx; 19.12.2019, 20:56.

    #2
    Das Problem mit den Chart kenne ich nicht, den Error kannst Du aber leicht los werden. Zwei der angegebenen Installationsobjekte sind deprecated, gehören also zu den legacy bindings (mail action und knx1), die können nur installiert werden, wenn man explizit das Installieren von Legacy Bindings erlaubt. besser wäre es aber, sie mit der aktuellen Version zu ersetzen (dazu muss die Konfiguration komplett geändert werden, was die beiden Bindings betrifft).
    Das dritte (in der Liste das zweite) Problem betrifft die restdocs. Die sind von misc nach ui gewandert.

    Vermutlich hast Du in der addons.cfg die drei Bindings angegeben, die musst Du dort nur entfernen und die neuen angeben (bwz. im Fall von restdocs die Zeile ändern, in der Du das Addon angibst).

    Kommentar


      #3
      Zitat von udo1toni Beitrag anzeigen
      Vermutlich hast Du in der addons.cfg die drei Bindings angegeben, die musst Du dort nur entfernen und die neuen angeben (bwz. im Fall von restdocs die Zeile ändern, in der Du das Addon angibst).
      Tatsächlich habe ich die gar wohl gar nicht selbst angegeben, sondern irgendwann wurden die mal über Paper UI installiert.


      Habe die Einträge nur in der /var/lib/openhab2/config/org/openhab/addons.config und die /etc/openhab2/services/addons.cfg scheint noch die Originaldatei aus der Distribution zu sein. Nur auskommentierte Zeilen. Habe Sie nun erst mal in der addons.config entfernt, wobei ich auch nichts Grundsätzliches dagegen hätte auf die Textbasierte Konfiguration zu wechseln (weiß nur nicht was man dazu ggf. noch alles beachten muss). Habe diesen Fehler nun aber zumindest schon mal behoben.

      Das Problem mit den Charts ist nun auch verschwunden, obgleich es da keinen klar erkennbaren Zusammenhang gibt.

      Vielen Dank für Deine Hilfe!

      Kommentar


        #4
        Super, dass es auch positive Auswirkungen auf das größere Problem hatte!

        Die Konfiguration über Text Dateien ist letztlich Geschmacksache. Ich komme von openHAB1 (seit v1.0 dabei...) und bin es einfach gewohnt, alles über Text zu konfigurieren. Die Konfiguration über Paper UI bringt nette Dinge mit, wie z.B. Autodiscovery. Dafür muss man notfalls für 100 Items hundertmal die gleiche Sch..ße zusammenklicken, während man in einem Texteditor alle Zeilen kopiert und anschließend die Unterschiede ändert. Wenn man die Grundlagen gut vorbereitet hat, geht das sehr schnell von der Hand...

        Visual Studio Code (kurz VSCode, nicht mit Visual Studio verwechseln!) als Editor mit dem openHAB Plugin bietet sehr gute Möglichkeiten, angefangen von Fehlererkennung über automatisches Erzeugen von Items aus Channels oder gar kompletten Things und das Einfügen dieser Items in Sitemaps bis hin zum gleichzeitigen Bearbeiten aller Vorkommen eines bestimmten Textteils eines Suchbegriffs innerhalb einer Datei (Ändere "Kinderzimmer" in "Jugendzimmer") oder auch das Bearbeiten mehrerer Reihen gleichzeitig (z.B. in 20 aufeinanderfolgenden Reihen von Items eine Gruppe hinzufügen)
        Zuletzt geändert von udo1toni; 19.12.2019, 21:50.

        Kommentar


          #5
          Zitat von udo1toni Beitrag anzeigen
          Die Konfiguration über Text Dateien ist letztlich Geschmacksache. Ich komme von openHAB1 (seit v1.0 dabei...) und bin es einfach gewohnt, alles über Text zu konfigurieren. Die Konfiguration über Paper UI bringt nette Dinge mit, wie z.B. Autodiscovery.
          Da habe ich mich wohl zu knapp ausgedrückt. Tatsächlich verwende ich auch vorwiegend die Text-basierte Konfiguration (mit VSCode als Editor). Bewusst eigentlich nur noch Homematic-Thermostate (wg. Auto-Discovery). Die Bindings aber evtl. teilweise auch, ohne dass ich das bislang groß drüber nachgedacht habe.

          Kommentar

          Lädt...
          X