Widget für FileLog.

Begonnen von dh9ts, 31 Dezember 2016, 10:58:30

Vorheriges Thema - Nächstes Thema

StephanFHEM


sinus61

Ist zwar schon etwas älter, aber weder die Version aus dem Startposting noch die mit den FTUI Updates mitgelieferte Version funktionieren.

Die Version die ich hier https://forum.fhem.de/index.php/topic,63759.msg593604.html#msg593604 gepostet habe läuft aber auch mit aktuellen FTUI Versionen.

StephanFHEM

hab es nach deinem Post extra wieder probiert und muss leider sagen:
nein, geht bei mir definitiv nicht mit einer neueren TabletUI-Version.
Er zieht irgendwelche Daten von einem Timer Popup auf der Haupt-html-Seite da rein.

(Hab den gleichen Code benutzt mit dem es früher funktioniert hat)

sinus61

#33
Also ich hab nach vielen Monaten mal wieder ein FTUI Update gefahren und das Widget lief dann nicht mehr. Ich hab dann meine damaligen Änderungen wieder eingebaut und jetzt läuft es bei mir mit dem aktuellem FTUI.

Ich hab mal meine aktuelle Version rangehangen und meine config dazu:


<div data-type="filelog"
class="left-align bigger darker"
    data-device="FileLog_all_AlarmLog"
data-ago="500"
data-height="450px"
data-width="750px"
data-refresh-btn="0"
data-substitution="s/all_AlarmLog//g"
    data-max-items="15">
</div>


PS: Auf einer meiner Seiten lief es jetzt auch erst nicht. Da war ein div zuviel im Aufruf zum Popup, vorher lief das trotzdem immer. Da hab ich eine Zeitlang drauf geschaut und es trotzdem nicht entdeckt ;)

StephanFHEM

Also, hab jetzt die von dir angehängte Version noch mal drauf gemacht und wieder der gleiche Fehler. Hab dann alles mögliche geprüft ausgeklammert und und und.... der Fehler bleibt.

Interessant ist, dass Filelog bei mir einen Teil der index.html darstellt. Dabei ist es egal, ob dieser Teil ausgeklammert ist. Er scheint immer direkt in den Queltext reinzugehen und dort von der gleichen Stelle den Text darzustellen. Wenn dieser Text dann durch Zufall ein HTML-Code darstellt dann zeigt er diesen.

Daher mein Gedanke: Könnte es daran liegen, dass ich das FileLog Widget auf einer Unterseite einsetze die über Pagebutton aufgerufen wird?

sinus61

Benutzt Du kein HTTPSRV für FTUI? Hab gerade mal eine von setstates Testseiten genommen und nur das Widget reinkopiert. Tatsächlich erscheint ein Teil der html im Widget wenn man die Seite direkt über einen .../fhem/tablet/ URl aufruft und nicht per HTTPSRV über ...fhem/ftui/


<!DOCTYPE html>
<html>

<head>
    <!--
     /* FHEM tablet ui */
     /*
     * UI builder framework for FHEM
     *
     * Version: 2.7.*
     * URL: https://github.com/knowthelist/fhem-tablet-ui
     *
     * Copyright (c) 2015-2018 Mario Stephan <mstephan@shared-files.de>
     * Under MIT License (http://www.opensource.org/licenses/mit-license.php)
     *
     * - create a new folder named 'tablet' in /<fhem-path>/www
     * - copy all files incl. sub folders into /<fhem-path>/www/tablet
     * - Tadaaa! A new fhem ui in http://<fhem-url>:8083/fhem/tablet/index_empty.html
     */
    -->
    <link rel="icon" href="favicon.ico" type="image/x-icon" />


    <!-- define your personal style here, it wont be overwritten  -->
    <!-- link rel="stylesheet" href="css/fhem-green-ui.css" / -->
    <!-- link rel="stylesheet" href="css/fhem-tablet-ui-user.css" / -->

    <script src="js/fhem-tablet-ui.min.js" defer></script>

    <title>FHEM-Tablet-UI</title>
</head>

<body>
    <div class="gridster">
        <ul>
            <li data-row="1" data-col="1" data-sizey="4" data-sizex="3">
                <header>EXAMPLE1</header>
                <!-- place your widget here -->
                <div data-type="filelog"
class="left-align bigger darker"
data-device="FileLog_all_AlarmLog"
data-ago="500"
data-height="450px"
data-width="750px"
data-refresh-btn="0"
data-substitution="s/all_AlarmLog//g"
data-max-items="15">
</div>
                <!-- place your widget here -->
            </li>
        </ul>
    </div>
</body>

</html>


sinus61

Hab mal die Angaben zum Pfad angepasst, sollte jetzt eigentlich in beiden Fällen laufen.

StephanFHEM

#37
das war es.....mit der neuen Version funktioniert es jetzt endlich wieder! Vielen Dank!

EDIT:
ZitatBenutzt Du kein HTTPSRV für FTUI?
Nö..... warum sollte ich? Was sind da die Vorteile? Hatte damals nur von Nachteilen gelesen -> kein caching möglich -> TabletUI sehr viel langsamer

sinus61

Wahrscheinlich keine Vorteile. Meine Installation ist halt schon relativ alt und ich hab es damals so eingerichtet und nicht mehr so oft Updates gemacht. Kann wohl nur bei der Fehlersuche einen Unterschied machen. Aber ich werde das auch mal umstellen.

sinus61


doc.

Hallo zusammen,

ich wollte das Widget heute ebenfalls einsetzen, allerdings scheitert das Widget mit einem fehlerhaften Request:

Request URL: http://asgard2:8083/fhem/ftui/?cmd=get%20Log_Nachrichtenlog%20CURRENT%20-%202019-01-23_10%3A28%3A24%202019-01-29_10%3A44%3A06%20&XHR=1&_=1548667703831
Request Method: GET
Status Code: 400 Bad Request


Die Rahmenbedingungen scheinen zu passen, das Log erzeugt auch den notwendigen Event:

2019-01-28 10:48:52 FileLog Log_Nachrichtenlog linesInTheFile: 7
2019-01-28 10:48:52 dummy Nachrichtenlog Es hat an der Haustuer geklingelt
2019-01-28 10:48:52 FS20 Klingeltaste toggle


Aber ich bekomme mit dem folgenden Code in TabletUI eben keine Ausgabe:

        <header>Log</header>
        <div class="sheet">
<div class="sheet">
<div class="row">
<div class="cell">
<div data-type="filelog" data-device="Log_Nachrichtenlog" data-ago="7200" max-items="10" data-height="300px" data-width="200px"></div>
</div>
</div>
</div>
        </div>


Und hier noch das list zum Log Device:

Internals:
   DEF        ./log/Log_Nachrichtenlog-%Y.log Nachrichtenlog.*
   FD         46
   FUUID      5c4eca37-f33f-1ebd-1c3c-59b60f214a07aa97
   NAME       Log_Nachrichtenlog
   NOTIFYDEV  Nachrichtenlog.*
   NR         305
   NTFY_ORDER 50-Log_Nachrichtenlog
   REGEXP     Nachrichtenlog.*
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/Log_Nachrichtenlog-2019.log
   logfile    ./log/Log_Nachrichtenlog-%Y.log
   READINGS:
     2019-01-28 10:48:52   linesInTheFile  7
Attributes:
   eventOnThreshold 1


Kann mir jemand weiterhelfen? FHEM und das Modul filelog sind auf dem neusten Stand.

Gruß,
doc.

sinus61


doc.

Hallo,

ich hatte naiverweise die aktuelle Version genutzt, die in FHEM vorhanden ist - dort fehlt aber immer noch die Berücksichtigung von csrf, nachdem ich das hinzugefügt habe, funktioniert es jetzt...

Gruß,
doc.

OdfFhem

Hallo,

ich habe - ausgehend vom Modulstand aus https://forum.fhem.de/index.php/topic,63759.msg881293.html#msg881293 - ein neues Attribut 'data-newest-first' in das filelog-Widget integriert.

Dieses Attribut bewirkt, dass jüngere Logeinträge oben stehen; standardmäßig verhält sich das Widget natürlich wie bisher, so dass ältere Einträge oben stehen.

Falls sonst noch jemand Interesse an einer solchen Änderung hat, wäre es nett, wenn der angehängte Modulstand getestet würde.


Desweiteren habe ich noch einige allgemeine Anpassungen ins Modul aufgenommen (Beschreibung,Historie,Forumsverweis,Formatierungen).
Wenn der neue Modulstand erfolgreich getestet wurde, würde ich diesen gerne für das offizielle FTUI-Update bereitstellen ...

sinus61

Gute Idee, gerade getestet und funktioniert gut.