Ankündigung

Einklappen
Keine Ankündigung bisher.

Aktuelle CV Version

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

    #31
    Zitat von peuter Beitrag anzeigen
    Verlinkungen sind nicht nötig und verschleiern eventuelle Probleme nur. Sollten also im Test-System wieder entfernt werden. Ziel des Testens ist es ja die CV-Version in einen Zustand zu bekommen, dass sie ohne weitere Änderungen funktioniert.
    Naja, die Verlinkungen sind für ein ein Workaround.

    Wo kommt das OH-CV.PHP Backend denn eigentlich her? Ich dachte, dass käme auch von euch?

    Kommentar


      #32
      Zitat von Brn Beitrag anzeigen
      Wo kommt das OH-CV.PHP Backend denn eigentlich her? Ich dachte, dass käme auch von euch?
      Das OH-CV.PHP Backend hab ich zwar programmiert, aber das macht nicht viel mehr als den in Java geschriebenen PHP-Interpreter (Quercus: https://www.caucho.com/resin-3.1/doc/quercus.xtp) für das Backend zur Verfügung zu stellen. Und dieses Projekt wird leider nicht mehr weiter entwickelt, d.h. wenn z.B. irgendwann mal eine PHP7 Kompabilität erforderlich wird, kann man das gepflegt in die Tonne treten. Dann bleibt nur noch die gesamte PHP-Funktionalität die die CometVisu liefert in Java nachzuprogrammieren. In manchen Teilen ist das sowieso schon passiert, aber da fehlt halt auch noch eine Menge.
      Gruß
      Tobias

      Kommentar


        #33
        Zitat von peuter Beitrag anzeigen
        In manchen Teilen ist das sowieso schon passiert,
        In Java? Ich benötige für CV doch keine JavaVM, oder?

        Das OH so Java-lastig ist, stört mich tatsächlich auch. Ich vermisse seit einiger Zeit schon eine Erweiterung, die OH für eine andere Sprache öffnet.
        Der Pool effektiver Etnwickler wäre dann sicher deutlich größer.
        Zumindest würde ich bei einem "nativen" Python, PHP (oder ähnlichem) Support viel eher mal ein Add-on miterstellen.

        Es gibt also keine Perspektive für CV i.V.m. OH?

        Wäre der Einsatz von Micro-Services eine Option? Also die Anwendung quasi in JS bauen (Angular o.ä.) und dann je nach Konfiguration auf die API eines CV Backends (beim Einsatz von z.B. knxd) oder der API von OH zugreifen?

        //Edit: vielleicht noch etwas zum Thema bugs: ich hatte eine config begonnen zu bauen (kann gar nicht mehr sagen, ob in 0.10.2 oder 0.11) Die wollte ich heute laden in 0.11. Während das ladens läuft ein validitätscheck welcher feststellte, dass die XML Datei kaputt / nicht valide ist. Keine Ahnung, warum.
        Ich habe daraufhin im Config Manager die Config gelöscht. Im Dateisystem ist die Datei auch verschwunden. (es sind nur noch 2 Backups da) Wenn ich nun aber eine Config mit noch mal dem gleichem Namen anlegen möchte kommt die Meldung, dass eine Config mit diesem Namen bereits existiert. Hmm...

        ..und gleich noch eine Frage: was ist in der Config beim Typ Backend der Unterschied zwischen OH2 und openhab2 ??
        Zuletzt geändert von Brn; 08.08.2018, 15:22.

        Kommentar


          #34
          Zitat von Brn Beitrag anzeigen
          In Java? Ich benötige für CV doch keine JavaVM, oder?
          Nein für den reinen Betrieb der CometVisu braucht man lediglich einen Webserver der die HTML/CSS/XML/Javascript-Dateien der CV ausliefern kann. Der Rest passiert komplett im Client (also im Browser). Dazu braucht es noch ein Backend, welches das CometVisu-Protokoll "spricht" und die entsprechenden Stati der Items lesen und schreiben kann. Zur Zeit gibt es zwei Backend die die Anforderungen auf unterschiedliche Weise erfüllen:
          1. Das CGI-Backend: besteht aus einem beliebigen Webserver für die Dateien und einem CGI-Script für das CometVisu-Protokoll
          2. openHAB: bringt einen eigenen Webserver mit (Jetty), das openHAB-CV-Backend sorgt dafür das dieser Webserver die CometVisu-Dateien ausliefern kann und spricht auch das CometVisu-Protokoll

          Mit diesen Zutaten kann man die CometVisu in vollem Umfang nutzen. Man muss nur selbst dafür sorgen, dass man eine gültige Config-Datei erstellt und diese an die richtige Stelle (auf dem Server) kopieren. Möchte/Kann man das nicht, dann gibt es dafür die Funktionalität, die in der PHP-Dateien der CV bereitgestellt wird (wie. z.B. den Config-Manager, Config-Validierung und Config-Manager. Diese PHP-Dateien werden vom Webserver ausgeführt, dazu muss dieser dazu in der Lage sein. Mit dem Backend 1. (s.o.) ist das kein Problem, weil man für jeden gängigen Webserver die PHP-Unterstützung anschalten kann. Bei openHAB ist das schwieriger, weil der dort benutzte Jetty-Webserver eben eingebettet in openHAB läuft (das geht auch nicht anders) und dieser daher selbst in Java geschrieben ist, und daher erstmal kein PHP kann. Da gibt es sicher wege, dort einen PHP-Interpreter dranzustöpseln, aber das ist auf jeden Fall Betriebssystem-anhängig und bräuchte für jedes System eine extra Anleitung (und ich vermute mal, dass das nicht ganz unkompliziert ist das hinzubekommen). Zweite Variante ist halt (wie es momentan ist), dass der Jetty-Server einen eigenen PHP-Interpreter bekommt, der ebenfalls in Java geschrieben ist und daher einfach so auch allen Systemen funktioniert (also keine spezielle Anleitung für System XY nötig). Und die dritte Variante ist wie erwähnt: Man baut Config-Check, Config-Manager und Teile des Editors so nach, dass die PHP-Dateien nicht mehr benötigt werden und somit auch kein PHP-Interpreter mehr. Dann würde das openHAB-CV-Backend die Funktionen mitliefern und der openHAB-CV-PHP Zusatz wäre nicht mehr nötig.

          Zitat von Brn Beitrag anzeigen
          Das OH so Java-lastig ist, stört mich tatsächlich auch. Ich vermisse seit einiger Zeit schon eine Erweiterung, die OH für eine andere Sprache öffnet.
          Der Pool effektiver Etnwickler wäre dann sicher deutlich größer.
          Zumindest würde ich bei einem "nativen" Python, PHP (oder ähnlichem) Support viel eher mal ein Add-on miterstellen.
          Naja, openHAB ist nunmal in Java geschrieben und der Kern des ganzen Systems ist ein OSGi-System was es ermöglicht nur genau die Module zu laden die man benötigt und das zur Laufzeit ohne Neustart. Mir ist kein vergleichbares System in einer anderen Sprache bekannt. Addons müssen also OSGi-Module sein und werden folglich immer in Java geschrieben sein müssen.

          Zitat von Brn Beitrag anzeigen
          Es gibt also keine Perspektive für CV i.V.m. OH?
          Ich hoffe aus meinen bereits getätigten Ausführungen sollte klar sein dass es auch in Zukunft immer eine CometVisu auf openHAB geben wird (schon alleine weil ich das nutze und nicht vorhabe daran was zu ändern). Lediglich der PHP-Teil für die die "Komfortfunktionen" ist da eventuell eine kleine unbekannte. Aber auch hier gibt es Wege wie man das Problem mit ein wenig Konfigurationsaufwand aus dem Weg räumen kann. Man kann sich einfach einen zusätzlichen Webserver (z.B. Apache) installieren mit PHP5 Unterstützung und den so einrichten dass er die CometVisu ausliefert und lediglich den "CometVisu-Protokoll-Teil" als Proxy an openHAB weiterreicht. Dann ist auch Ruhe. Aber wie gesagt, dass muss halt jeder für sich einrichten und die aktuelle Variante sollte einfach Anwenderfreundlicher sein (was sie auch ist, wenn sie denn funktioniert).

          Zitat von Brn Beitrag anzeigen
          ..und gleich noch eine Frage: was ist in der Config beim Typ Backend der Unterschied zwischen OH2 und openhab2 ??
          Keiner. Bei openHAB2 kannst du das ganz weglassen weil dieses Backend der CometVisu selbst mitteilt, wer er denn ist.

          Gruß
          Tobias

          Kommentar


            #35
            Zitat von peuter Beitrag anzeigen
            Dann würde das openHAB-CV-Backend die Funktionen mitliefern und der openHAB-CV-PHP Zusatz wäre nicht mehr nötig.
            Okay.. das sind 2 Paar Schuhe. Ich dachte beides: die VISU und die, wie du sagst "Komfort - Features" gehen über das gleiche Backend.
            Is` aber nicht so.

            Danke für die Aufklärung.

            //Edit: was mir beim Umgang mit CV noch aufgefallen ist: wenn ich, zum Beispiel bei einem Label, eine KNX Adresse eingebe, erscheint eine Vorschlagsliste, bei der ich das Item auswählen kann, ohne fertig zu tippen. Egal, ob ich den Item-Namen fertig tippe oder ihn aus der Vorschlagliste auswähle - ich bekomme die Vorschlagliste nicht mehr zugeklappt.

            //Edit2: Gibt es eigentlich einen Grund, warum die Config-XML Datei in (beinahe) einer Zeile erzeugt wird? Ich hatte mit dem Bau der Configdatei im Web-Editor begonnen und wollte dann im vi weiter machen. Allerdings ist es dann recht ungünstig, weil der gesamte XML-Code in eine Zeile gedrück wurde.
            Btw: der Online-Text-Editor funktioniert bei mir nicht. 404 kommt beim Aufruf der Editor JS Datei. :-(
            Zuletzt geändert von Brn; 09.08.2018, 16:14.

            Kommentar


              #36
              Ich bin jetzt nicht der Experte für den Editor, weil ich den selbst nie benutze. Ich hab versucht Deine Problem nachzuvollziehen, gelingt mir aber nicht.

              Ich habe mir eine neue Config erstellt über den Manager, die ist schön formatiert und nicht alles in einer Zeile. Dann habe ich mal ein Element hinzugefügt, weil ja vielleicht beim Speichern das Format kaputt geht, aber dem war nicht so. Sowohl im vi als auch im eingebauten Texteditor (der bei mir auch funktioniert) ist die nicht in einer Zeile.
              Gruß
              Tobias

              Kommentar


                #37
                Zitat von peuter Beitrag anzeigen
                Ich habe mir eine neue Config erstellt über den Manager, die ist schön formatiert und nicht alles in einer Zeile.
                Hmm.. kann es sein, dass es an unterschiedlichen Zeilenumbrüchen liegt? Hattest du bspw. ein WindowsSystem in deiner Kette dazwischen? Bei mir ist bspw. rein Linux. Eventuell liegt es da dran?

                Selsbt wenn ich im vi mühselig die Zeilenumbrüche nach den XML tags einfüge, sind sie nach jedem Speichern wieder weg. Die Datei besteht immer aus genau 4 Zeilen, wobei fast alles in der letzten Zeile steht.

                Zitat von peuter Beitrag anzeigen
                Ich hab versucht Deine Problem nachzuvollziehen, gelingt mir aber nicht.
                Das mit den nicht schließenden Boxen ist leider sehr störend. Hatte dazu gestern mal ein Bild gemacht:
                m.jpg
                Ich bekomme die Drop-Down -Boxen einfach nicht zu.
                Zuletzt geändert von Brn; 10.08.2018, 13:58.

                Kommentar


                  #38
                  Windows? Bäh! Niemals!!!
                  Gruß
                  Tobias

                  Kommentar


                    #39
                    Auch wenn ich Dir selbst bei dem Problem mit den nicht schließenden Drop-Downs nicht helfen kann, wäre es trotzdem hilfreich, wenn Du sagst mit welchem Browser (+ dessen Version) das Problem auftritt. Vielleicht kannst Du auch mal verschiedene Browser testen und prüfen ob einige das Problem nicht haben (zumindest mal Firefox + Chrome).

                    Und eine eventuelle Fehlermeldung in der Browserconsole (in den Entwickertools) wäre auch hilfreich, sofern es eine gibt.
                    Gruß
                    Tobias

                    Kommentar


                      #40
                      Zitat von peuter Beitrag anzeigen
                      Auch wenn ich Dir selbst bei dem Problem mit den nicht schließenden Drop-Downs nicht helfen kann, wäre es trotzdem hilfreich, wenn Du sagst mit welchem Browser (+ dessen Version) das Problem auftritt. Vielleicht kannst Du auch mal verschiedene Browser testen und prüfen ob einige das Problem nicht haben (zumindest mal Firefox + Chrome).

                      Und eine eventuelle Fehlermeldung in der Browserconsole (in den Entwickertools) wäre auch hilfreich, sofern es eine gibt.
                      Im Chromium 68. Chrom selber habe ich nicht am Start und im Firefox läuft die Anwendung leider überhaupt nicht.

                      Der Punkt mit der Konsole war noch mal gut...hääte ich auch drauf kommen können.

                      Beim Laden einer list_all_plugins.php wirft er einen Fehlecode 500
                      Das kommt in dem Moment, wenn man auf ein Adressfeld klickt, um dne Wert zu ändern.
                      Code:
                       HTTP ERROR 500Problem accessing /cometvisu/editor/dataproviders/list_all_plugins.php. Reason: 
                           Server Error 
                      Caused by: java.lang.NullPointerException 	at java.util.Arrays.sort(Arrays.java:1246) 	at org.openhab.ui.cometvisu.internal.servlet.CometVisuServlet.dataProviderService(CometVisuServlet.java:1029) 	at org.openhab.ui.cometvisu.internal.servlet.CometVisuServlet.doGet(CometVisuServlet.java:252) 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) 	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:548) 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) 	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) 	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:134) 	at org.eclipse.jetty.server.Server.handle(Server.java:534) 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) 	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) 	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) 	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) 	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) 	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) 	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) 	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) 	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) 	at java.lang.Thread.run(Thread.java:745)
                      Wenn man dann die Änderung abschließen möchte, etwa durch auswählen eines Eintrages aus der Vorschlagbox oder durch Bestätigen der Eingabe mit "enter", kommt folgender Fehler:

                      Code:
                      Editor.js:1097 Uncaught TypeError: Cannot read property 'find' of undefined
                          at Object.saveValue (Editor.js:1097)
                          at String.<anonymous> (Editor.js:1429)
                          at Function.each (jquery.min.js:2)
                          at Object.updateHintedAttributes (Editor.js:1428)
                          at EditorConfigurationElement._self.ConfigurationElementEventListener (Editor.js:1709)
                          at EditorConfigurationElement.<anonymous> (Configuration.js:977)
                          at Function.each (jquery.min.js:2)
                          at informListeners (Configuration.js:976)
                          at ConfigurationElement._element.setTextValue (Configuration.js:590)
                          at HTMLDivElement.saveHandler (Editor.js:1380)

                      Kommentar

                      Lädt...
                      X