Ankündigung

Einklappen
Keine Ankündigung bisher.

CometVISU an openHAB auf raspberry

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

    #16
    Aaaaaaah ..... mit /src gehts ein Stück weiter. Nun schimpft er aber beim Klick auf den "Editor-Link"

    HTTP ERROR 403

    Problem accessing /cometVISU/src/editor/. Reason:
    ForbiddenPowered by Jetty://

    und beim klick auf den config-chek-Link sieht's total wild aus:

    <\\1\\2\\3>",$s); $s = preg_replace("#<([\?])(.*)([\?])>#sU", "[COLOR=\&quot;#800000\&quot;]<\\1\\2\\3>[/COLOR]",$s); $s = preg_replace("#<([^\s\?/=])(.*)([\[\s/]|>)#iU", "<[COLOR=\&quot;#808000\&quot;]\\1\\2[/COLOR]\\3",$s); $s = preg_replace("#<([/])([^\s]*?)([\s\]]*?)>#iU", "<\\1[COLOR=\&quot;#808000\&quot;]\\2[/COLOR]\\3>",$s); $s = preg_replace("#([^\s]*?)\=("|')(.*)("|')#isU", "[COLOR=\&quot;#800080\&quot;]\\1[/COLOR]=[COLOR=\&quot;#FF00FF\&quot;]\\2\\3\\4[/COLOR]",$s); $s = preg_replace("#<(.*)(\[)(.*)(\])>#isU", "<\\1[COLOR=\&quot;#800080\&quot;]\\2\\3\\4[/COLOR]>",$s); return preg_replace( '#
    $#', '', nl2br($s) ); } function libxml_display_error( $error ) { global $lines, $error_array; $error_array[] = $error->line; switch ($error->level) { case LIBXML_ERR_WARNING: $return .= 'Warning ' . $error->code . ': '; break; case LIBXML_ERR_ERROR: $return .= 'Error ' . $error->code . ': '; break; case LIBXML_ERR_FATAL: $return .= 'Fatal Error ' . $error->code . ': '; break; } $return .= trim( $error->message ); $return .= ' on line ' . $error->line . ''; $return .= ''; for( $i = max( 0, $error->line - 1 - 3); $i <= $error->line - 1 + 3; $i++ ) { if( $i == $error->line - 1 ) $return .= ''; $return .= sprintf( '%4d: ', $i+1 ); $return .= xml_highlight( $lines[ $i ] ); if( $i == $error->line - 1 ) $return .= ''; } $return .= ''; return $return; } function checkVersion( $dom ) { echo ''; $fileVersion = $dom->getElementsByTagName("pages")->item(0)->getAttribute('lib_version'); echo "The config file uses a library version of '" . $fileVersion . "', current version is '" . LIBRARY_VERSION . "', so this is " . ($fileVersion==LIBRARY_VERSION?'':'NOT ') . "up to date."; if( $fileVersion != LIBRARY_VERSION ) echo ' Pleiase run Configuration Upgrade when you are sure that the config file is valid XML.'; } // Enable user error handling libxml_use_internal_errors(true); $dom = new DomDocument(); $conffile = 'config/visu_config'; if ($_GET['config']) { $conffile .= "_" . $_GET['config']; } $conffile .= '.xml'; if ( false === is_readable( $conffile ) ) { $conffile = 'config/demo/visu_config'; if ($_GET['config']) { $conffile .= "_" . $_GET['config']; } $conffile .= '.xml'; } if( false === is_readable( $conffile ) ) { $old_conffile = 'visu_config'; if ($_GET['config']) { $old_conffile .= "_" . $_GET['config']; } $old_conffile .= '.xml'; if( true === is_readable( $old_conffile ) ) { $conffile = $old_conffile; echo 'WARNING: Depreciated position of config file!'; } else { echo "File $conffile (nor the depreciated $old_conffile) does not exist!"; echo ''; exit; } } $lines = file( $conffile ); $dom->load( $conffile ); if( $dom->schemaValidate( 'visu_config.xsd' ) ) { print ("config " . $conffile . " is valid XML
    "); checkVersion( $dom ); } else { print ("config " . $conffile . " is NOT valid XML"); checkVersion( $dom ); echo ''; $errors = libxml_get_errors(); foreach( $errors as $error ) { echo libxml_display_error( $error ); } libxml_clear_errors(); } echo ''; echo ''; foreach( $lines as $line_num => $line ) { $error_in_line = in_array( $line_num+1, $error_array ); if( $error_in_line ) echo ''; printf( '%4d: ', $line_num, $line_num+1 ); echo xml_highlight( $line ); if( $error_in_line ) echo ''; } echo ''; ?>

    Kommentar


      #17
      Wie im Wiki unter Known Problems steht funktionieren diese Dinge nicht bei Openhab:
      https://github.com/openhab/openhab/wiki/Comet-Visu

      Alles was PHP benötigt kann openhab nicht ausführen (Editor, Config-Check, Config-Upgrade...). Ist leider technisch nicht möglich, der von openhab benutzte Webserver Jetty unterstützt kein PHP. Da bleibt nur die Dinge von Hand direkt in der XML zu machen, oder einen parallelen anderen Webserver zu installieren, der PHP kann und darin dann den Editor auszuführen.
      Gibt Leute die das So gemacht haben, vielleicht findet sich ja jemand der ne Anleitung zum besten geben kann. Dürfte aber nicht so schwer sein und im wesentlichen nur aus folgendem bestehen:

      1. Webserver installieren
      2. CometVisu Verzeichnis freigeben
      Gruß
      Tobias

      Kommentar


        #18
        So langsam wird's hell im dunklen, dunklen Wald - Danke, danke, danke!

        Ich beginne zu verstehen und werde mir das alles mal step by step aufzuschreiben versuchen.

        Bleibt im Moment dann nur noch eine kleine Hürde:
        Wo und wie binde ich nun "mein" opeHAB an die cometVISU an, damit ich auch was "sehe"?
        Nur die backend="oh"-Ergänzung und start mit "http://raspi-IP:8080/cometVISU/src/" reicht ja noch nicht so ganz ..... oder?

        Kommentar


          #19
          Zitat von Wurschtel Beitrag anzeigen
          Wo und wie binde ich nun "mein" opeHAB an die cometVISU an, damit ich auch was "sehe"?
          Siehe Beitrag #6 in diesem Thread dort wurde schon beschrieben, dass Du muss für jedes Item, welches Du steuern möchtest einen Eintrag in Deiner Config vornehmen musst. Im Gegensatz zu dem anderen Visu´s in openhab nutzt die CometVisu die Sitemaps nicht. Hat den Nachteil, das man sich seine Visu mühsam von Hand aufbauen muss, aber den Vorteil, dass man hier deutlich mehr Gestaltungsspielraum hat als bei den anderen.
          Gruß
          Tobias

          Kommentar


            #20
            Zitat von Wurschtel Beitrag anzeigen
            Ich beginne zu verstehen und werde mir das alles mal step by step aufzuschreiben versuchen.
            Und dann bitte bescheid geben wo's steht - damit wir darauf verlinken können!

            (Oder gleich im CometVisu-Wiki unter CometVisu - Schreibzugriff kann z.B. swiss oder ich verteilen)
            TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

            Kommentar


              #21
              Ich hänge mich hier mal dran, weil ich auch das Problem habe, dass CV problemlos läuft wenn ich es direkt "in" openhab/webapps verwende aber ich keine verbindung hin bekomme wenn ich CV auf nem PHP server laufen lasse außerhalb von OH. Wie connecte ich die beide damit ich auch plugins verwenden kann die auf PHP aufsetzen?

              Kommentar


                #22
                Hallo,

                ich stehe leider vor dem gleichen Problem. openHab finde ich sensationell gut, da ich mit den Bindings diverse Welten (von KNX über Mediaplayer bis zur Fritzbox) alles verbinden kann. Zweifelsohne hat CometVisu aber die besser, schönere Visualisierung. Es erscheint mir aus meiner Sicht also sinnvoll, die beiden Produkte zu kombinieren.


                Ich bin in der CometVisu Welt zwar nicht soo fit, da ich aber vor dem gleichen Problem stehe, stellt sich mir die Frage: wäre es eine Option, CometVisu im eigenen Webserver laufen zu lassen, nicht im openHab Jetty mit dem "PHP-Problem" und stattdessen die Daten über die openHab API abzufragen? https://github.com/openhab/openhab/wiki/REST-API

                Dann wäre man nicht so von den Beschränkungen des Jetty abhängig.

                ...nur mal so als Gedanke.

                Kommentar


                  #23
                  Mann müsste einfach nur den Pfad der zur Backend-Kommunikation proxien (oder wie auch immer hier das richtige Verb heisst) also z.B. für Apache dürfte das in etwa so gehen:

                  Code:
                    
                  # Openhab1 backend proxy
                  ProxyPass /services/cv http://<openhab-server>:8080/services/cv
                  ProxyPassReverse http://<openhab-server>:8080/services/cv /services/cv
                  Mit der Rest-Api kann die CometVisu nicht kommunizieren, da sie ein eigenen Protokoll benutzt, darum gibt es ja das openHAB-CometVisu binding, welches dieses Protokoll implementiert.

                  Oder aber mann wartet auf die nächste Beta von openHAB 2, wo das cometvisu-binding dann direkt PHP kann, da kann man sich den ganzen Umweg über extra Webserver sparen und es läuft alles schön out-of-the-box (hoffentlich ;-) )
                  Gruß
                  Tobias

                  Kommentar

                  Lädt...
                  X