Ankündigung

Einklappen
Keine Ankündigung bisher.

Enertex Appliance mit SV3.1

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

    #16
    Das Skript bleibt offenbar schon im Kommando @fsockopen hängen. Sonst müsste es entweder gleich eine Fehlermeldung schmeißen, oder den Erfolg mit der Meldung "Received File Pointer ..." quittieren. Dennoch habe ich die Abfrage des file pointers nochmal etwas sauberer gemacht. Damit läuft das Script durch, sofern die Ausgabe von fsockopen nicht explizit vom Typ Bool ist und den Wert false besitzt.

    ​Geänderte Version im Anhang.

    Gruß
    Wolfram
    Angehängte Dateien

    Kommentar


      #17
      Bist du sicher dass der Anhang der richtige also neue ist? Ich habe da keinen Unterschied gesehen, außer, dass der Port auf 2323 steht. Musste ich natürlich ändern.
      Jedenfalls passiert damit exakt das selbe.


      Gruß, Martin

      Kommentar


        #18
        Ja das sind nur minimale Änderungen in den Zeilen 66 und 82, die den Rückgabewert von fsockopen präziser fassen. Das Verhalten bestätigt, dass das PHP-Skript über fsockopen nicht hinaus kommt.
        Um das das näher einzugrenzen bräuchte ich entweder ein Testgerät, oder wir brauchen jemanden mit php-Kenntnissen, der so ein Interface besitzt.

        Gruß
        Wolfram

        P.S.: sorry für „2323“. Das sind Überreste meines Basis-Funktionstests.

        Kommentar


          #19
          Zitat von wvhn Beitrag anzeigen
          Um das das näher einzugrenzen bräuchte ich entweder ein Testgerät, oder wir brauchen jemanden mit php-Kenntnissen, der so ein Interface besitzt.
          Schicke mir mal eine PN mit Adresse. Ich könnte da vielleicht weiterhelfen ;-)

          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #20
            Guten Morgen

            Ich habe es gewagt und ein Firmwareupdate gemacht. War schon etwas Aufwand, weil ich erst meine alte Siemens rauskramen und wieder anschließen, dann alle KNXD und ETS Gerätschaften wieder auf die Siemens umstellen und die Enertex nach dem Update neu programmieren musste.
            Hat aber geklappt und die neue Version ist jetzt 1.062. Als Bonus habe ich jetzt einen Zeitserver. Auch nicht schlecht.

            Leider hat das nicht viel, geändert.

            Code:
            /*******************************************************************************
            data
            --------------------------------------------------------------------------------
            Array
            (
                [0] => Array
                    (
                        [title] => enertex IP-Router
                        [text] => Connection timed out (110)
                    )
            
            )
            
            *******************************************************************************/
            
            [{"title":"enertex IP-Router","text":"Connection timed out (110)"}]
            Das kommt jetzt aber DEUTLICH schneller. So 10s anstatt 1min.

            Kommentar


              #21
              Die Vorgehensweise erstaunt mich. Einfach das Update draufbügeln, neu programieren fertig. Da brauchts keine andere Schnittstelle, und schon gar keine Umprogramierung der anderen Komponenten, wegen der 10Minuten.

              Kommentar


                #22
                Dank der Unterstützung von enertegus konnte ich bei mir ein Testgerät in Betrieb nehmen und hatte "Glück": die smartVISU Appliance zeigte dasselbe Verhalten wie bei Sipple. Leider gibt Google für die Kombination Telnet / PHP kaum verwertbare Treffer. Glücklicherweise habe ich aber eine PHP-Klasse gefunden, auf der ich aufbauen konnte. Schlüssel zum Erfolg war dann das Anstoßen der "Verhandlungen" der Optionen - ein Unterschied, den Martin schon gefunden hatte.

                Anbei eine erste Version des neuen PHP-Service. Er ist in ./lib/appliance zu kopieren und die Endung muss in '.php' geändert werden. Er wird mit alten Firmware-Versionen, die sich noch mit "ert >" als Prompt melden, nicht ohne Anpassung laufen, aber die Anpassung ist einfach. Der Service fragt jetzt alle mir interessant scheinenden Informationen ab und stellt sie als JSON zur Verfügung. Welche Infos das sind, sieht man, wenn man den Service einmal im debug-Modus aufruft. Ich dokumentiere das noch im Code und muss auch noch ein bisschen aufräumen.

                Für Tester bin ich dankbar und auch für Vorschläge, welche Werte in der Appliance angezeigt werden sollen. Man könnte dies ja mit collapsible Blocks machen, um es übersichtlich zu halten.

                Denkbar wäre es, über einen Taster in der Visu einen Reboot des IP-Routers auszulösen. Ist das aus Eurer Anwender-Sicht sinnvoll?

                Gruß
                Wolfram

                Kommentar


                  #23
                  Du hast das schon gelöst??? Beeindruckend

                  Ich teste das im Laufe des Wochenendes und geh mal in mich, was da bei der Anzeige interessant wäre.
                  Auf jeden Fall das, was bei den wichtigsten Kommandos raus kommt:

                  version (nur die Softwareversion)
                  stats
                  ifconfig
                  tpconfig (Achtung, wenn man den Zeitserver/Mapper auch verwendet, kommen ZWEI Device Adressen raus)
                  busload
                  tunnel (und jeweils die Details mit tunnel x, je nachdem welche Tunnel offen sind, evtl. durch ein Popup)
                  tunaddr
                  date
                  sntp (nur die zweite Zeile)


                  Einen Reset Knopf bräuchte ich selber wahrscheinlich nicht. Eventuell einen Refresh.
                  Was bei den Routern noch interessant wäre kann ich nicht sagen.

                  Vielen Dank!

                  Martin

                  Kommentar


                    #24
                    Erster kurzer Test:

                    Über den FF aufgerufen mit

                    Code:
                    http://192.168.178.95/smartvisu/lib/appliance/enertex.iprouter.php?server=192.168.178.69&debug=1
                    passiert schlicht gar nichts im Browser. Leere Seite. Also auch keine Fehlermeldung etc.
                    Das gleiche im Edge liefert

                    Diese Seite funktioniert im Moment nicht.

                    192.168.178.95 kann diese Anfrage zurzeit nicht bearbeiten.

                    HTTP ERROR 500

                    und das kommt augenblicklich

                    Kommentar


                      #25

                      steht im Apache Error.log etwas? Ich muss zugeben, dass ich gestern nur mit php8 getestet habe. Aber die verwendete Klasse ist deutlich älter…

                      Kommentar


                        #26
                        Leider nicht viel Zeit heute. Sch... Gartenarbeit

                        Aber:

                        Code:
                        [Sat Aug 14 08:43:28.042039 2021] [php7:error] [pid 15421] [client 192.168.178.109:51613] PHP Parse error:  syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /var/www/html/smartvisu/lib/appliance/enertex.iprouter.php on line 317
                        [Sat Aug 14 08:43:52.171318 2021] [php7:error] [pid 15423] [client 192.168.178.109:51618] PHP Parse error:  syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /var/www/html/smartvisu/lib/appliance/enertex.iprouter.php on line 317
                        [Sat Aug 14 08:47:24.069253 2021] [php7:error] [pid 15424] [client 192.168.178.109:55507] PHP Parse error:  syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /var/www/html/smartvisu/lib/appliance/enertex.iprouter.php on line 317
                        [Sat Aug 14 08:52:03.028221 2021] [php7:error] [pid 14940] [client 192.168.178.109:49715] PHP Parse error:  syntax error, unexpected '->' (T_OBJECT_OPERATOR) in /var/www/html/smartvisu/lib/appliance/enertex.iprouter.php on line 317

                        Kommentar


                          #27
                          Interessanterweise war in der Nähe der angegebenen Stelle noch ein Fehler, den meine php8-Version reproduzierbar nicht beanstandet. Nach Beseitigung des Fehlers habe ich den Service unter php7.4 mit smartVISU v3.0.1 und mit dem aktuellen develop getestet, auch auf dem Raspberry. Unten nochmal die aktualisierte Version.

                          Bei Telnetverbindungen muss man sich selbst um das Timing kümmern und entsprechend Wartezeiten zwischen Lesen und Schreiben einfügen. Timing-Fehler können dann sporadisch auftreten. Es könnte sein, dass hier noch Anpassungen nötig sind. Das muss dann der Test ergeben.

                          Gruß
                          Wolfram

                          Angehängte Dateien

                          Kommentar


                            #28
                            So, die Fehler im error log sind weg, aber ansonsten kommt immer noch schlicht gar nix.
                            Ich fürchte ich müsste mal php 7.4 aufspielen. Meine Maschinen verwenden alle noch 7.3, das mit Buster kommt.
                            Geht das ohne Probleme? Muss das alte 7.3 erst runter und dann 7.4 drauf? Oder besser gleich php 8?

                            Kommentar


                              #29
                              Mein Raspberry läuft mit php v7.3.29. An der php-Version sollte es also nicht liegen.

                              Bisher nutze ich noch das Passwort im IP-Router. Das Script wartet explizit auf die Aufforderung "Password" und sendet dieses.
                              Wenn Du ohne Passwort arbeitest: wie läuft die Anmeldung über Putty dann? Erscheint die Passwort-Abfrage überhaupt, oder kommt gleich das Prompt "#"?

                              Das Abschalten des Passworts muss ich dann noch umsetzen. Kannst Du zum Testen in Deinem Interface wieder ein Passwort setzen?

                              Kommentar


                                #30
                                Ah, ok. Ja, ich hab das Passwort noch gelöscht. Kann ich wieder einrichten. Die Schnittstelle schickt einfach gleich das #

                                Versuche ich heute Abend noch..

                                Kommentar

                                Lädt...
                                X