Hallo,
seitdem ich ein fhem update gemacht habe, passt im Eventmonitor die FHEM log Ausgabe nicht mehr.
Wenn direkt nach der fhemlog Ausgabe ein event ausgegeben wird, ist alles in einer Zeile.
Signalduino
<div class='fhemlog'>2019.10.28 19:13:14.883 4 : sduinoD/msg get dispatch: i5599555A5555965900</div><div class='fhemlog'>2019.10.28 19:13:14.883 5 : sduinoD: dispatch i5599555A5555965900</div><div class='fhemlog'>2019.10.28 19:13:14.883 4 : sduinoD IT: message "i5599555A5555965900" (19)</div><div class='fhemlog'>2019.10.28 19:13:14.883 4 : sduinoD ITv3dimm: bin message "010101011001100101010101010110100101010101010101100101100101100100000000" (72)</div><div class='fhemlog'>2019.10.28 19:13:14.883 4 : sduinoD IT: msgcode "00001010000000110000000010010010DDDD" (36) bin = 010101011001100101010101010110100101010101010101100101100101100100000000</div><div class='fhemlog'>2019.10.28 19:13:14.883 2 : sduinoD IT: IT_V3_5018042 (0000101000000011000000001000010) not defined (Address: 00001010000000110000000010 Group: 0 Unit: 0010 Switch code: 1)</div>2019-10-28 19:13:14.889 Global global UNDEFINED IT_V3_5018042 IT 00001010000000110000000010 0 0010
HMwired
<div class='fhemlog'>2019.10.28 19:05:12.844 4 : hm485: Event: I[3](0,Y,F,B)(9E) 42ABFFEE -> 00000004 [4] 69(i) 00</div>2019-10-28 19:05:12.852 HM485 HBW_IO_SW_HBW8568430_01 sensor: open
<div class='fhemlog'>2019.10.28 19:05:14.428 4 : hm485: Event: I[0](0,Y,F,B)(98) 42ABFFEE -> 00000004 [4] 69(i) 00</div>2019-10-28 19:05:14.431 HM485 HBW_IO_SW_HBW8568430_01 sensor: closed
<div class='fhemlog'>2019.10.28 19:05:36.059 4 : hm485: Event: I[1](0,Y,F,B)(9A) 42ABFFEE -> FFFFFFFF [4] 4B(K) 17</div>2019-10-28 19:05:36.066 HM485 HBW_IO_SW_HBW8568430_24 press_short: 10
version
Latest Revision: 20410
fhem.pl 20407 2019-10-25 09:35:24Z rudolfkoenig
Ich verwende: Firefox 68.1.0esr (64-bit)
Gruß Ralf
P.S. falls es hier falsch ist, kann ich es in die passende Gruppe verschieben
Ich habe es auch mal mit dem Smartphone getestet.
Beim Firefox ist auch alles in einer Zeile.
Beim Chrome wird es richtig ausgegeben.
Gruß Ralf
Ich habe mir mal im Browser den Quelltext angeschaut.
Bei einem fhemlog ohne folgendem Event passt es: </div>
<div id="console"><div class="fhemlog">2019.10.30 20:20:54.768 4 : sduinoD/msg get raw: MS;P1=319;P2=-951;P3=939;P4=-319;P5=-9447;D=1512123;CP=1;SP=5;</div><div class="fhemlog">2019.10.30 20:20:55.503 4 : sduinoD/msg get raw: MS;P1=319;P2=-951;P3=939;P4=-319;P5=-9447;D=1512123;CP=1;SP=5;</div></div>
</div>
Bei einem fhemlog mit folgendem Event passt es nicht: damit </div> kommt anscheinend der Firefox nicht zurrecht
<div id="console"><div class='fhemlog'>2019.10.30 19:55:14.937 4 : sduinoD/msg get dispatch: F8805183</div><div class='fhemlog'>2019.10.30 19:55:14.937 5 : sduinoD: dispatch F8805183</div>2019-10-30 19:55:14.944 SIGNALduino sduinoD UNKNOWNCODE F8805183<br><div class="fhemlog">2019.10.30 19:55:14.944 3 : sduinoD: Unknown code F8805183, help me!</div></div>
</div>
Gruß Ralf
Ich habe den Bug gefunden, er ist in der console.js
Ich verwende jetzt die console.js vom Juli, nun passt es wieder.
Gruß Ralf
ich habe das selbe problem mit einem alten firefox.
sieht für mich danach aus, als würde nach dem abschliessenden tag "</div>" ein zeilenvorschub fehlen.
danke für den hinweis. ich werde auch mal die alte console.js testen.
mit v19921 der console.js ist bei mir scheinbar auch wieder alles ok.
Index: trunk/fhem/www/pgm2/console.js
===================================================================
--- trunk/fhem/www/pgm2/console.js (revision 19921)
+++ trunk/fhem/www/pgm2/console.js (revision 19950)
@@ -63,6 +63,7 @@
// replace space with nbsp to preserve formatting
var rTab = {'<':'<', '>':'>',' ':' '};
+ var isTa = $("#console").is("textarea"); // 102773
new_content = new_content.replace(/(.*)<br>[\r\n]/g, function(all,p1) {
- return p1.replace(/[<> ]/g, function(a){return rTab[a]})+"<br>";
+ return p1.replace(/[<> ]/g, function(a){return rTab[a]})+(isTa?"\n":"<br>");
});
$("#console").append(new_content);
das diff ist ja schön kurz.
soweit ich das verstehe, wird aktuell nicht mehr grundsätzlich ein "<br>"-tag angehängt, sondern in abhängigkeit der neuen variablen "isTa" teilweise "\n".
das newline gefällt firefox nicht und stellt dann den text mit sämtlichen tags dar, so dass diese seltsamen ausgaben mit "<div class="fhemlog"> ... </div>" erscheinen. da diese "raw"-darstellungen selber keinen zeilenvorschub enthalten, gibt es erst dann wieder einen zeilenvorschub im eventmonitor, wenn ff eine "korrekte" zeile empfangen hat.
in einem anderen thread zu den tags "<div class="fhemlog"> ... </div>" hatte ich eine aussage von rudi allerdings so interpretiert, dass diese tags ein "feature" seien.
edit: ok, "<div class="fhemlog"> ... </div>" ist grundsätzlich sicherlich ein feature.
nur hier im eventmonitor sollten diese tags unsichtbar bleiben.
hier wurde das feature "ausgehackt": https://forum.fhem.de/index.php/topic,102773.0.html (https://forum.fhem.de/index.php/topic,102773.0.html)
Zitat von: Ralf9 am 30 Oktober 2019, 21:39:45
Ich habe den Bug gefunden, er ist in der console.js
Ich verwende jetzt die console.js vom Juli, nun passt es wieder.
hallo ralf,
welche version hast du genau genommen? im juli gab es ja mehrere.
ist das problem bei dir wirklich zu 100 prozent beseitigt?
mit version 19921 ist das problem bei mir leider doch noch nicht völlig verschwunden.
hin und wieder taucht das problem bei logausgaben auf, die kurz zuvor allerdings unauffällig waren.
Zitatwelche version hast du genau genommen? im juli gab es ja mehrere.
ist das problem bei dir wirklich zu 100 prozent beseitigt?
Ich verwende die Version in der Anlage. Bis jetzt funktioniert es damit problemlos.
Ich habe dies im Verdacht:
// replace space with nbsp to preserve formatting
var rTab = {'<':'<', '>':'>',' ':' '};
Gruß Ralf
Ich habe versucht das Problem zu verstehen, habs aber nicht geschafft.
Koennt ihr mir bitte im Problemfall aus der Browser-JavaScript Console die Zeilen mit "Console Rcvd" hier zeigen?
ZitatKoennt ihr mir bitte im Problemfall aus der Browser-JavaScript Console die Zeilen mit "Console Rcvd" hier zeigen?
11:49:51.714 Console Rcvd: <div class='fhemlog'>2019.11.10 11:49:51.654 4 : sduinoD/msg get dispatch: i500015</div><div class='fhemlog'>2019.11.10 11:49:51.654 4 : sduinoD IT: message "i500015" (7)</div><div class='fhemlog'>2019.11.10 11:49:51.654 4 : sduinoD IT: msgcode "FF0000000FFF" (12) bin = 010100000000000000010101</div><div class='fhemlog'>2019.11.10 11:49:51.654 3 : sduinoD IT: Code FF not found in userV1setCodes, try XMIT</div><div class='fhemlog'>2019.11.10 11:49:51.654 3 : sduinoD IT: IT_FF0000000Ftest dimup->dimup</div>2019-11-10 11:49:51.656 IT IT_FF0000000Ftest dim: dimup<br>
2019-11-10 11:49:51.656 IT IT_FF0000000Ftest dimup<br>
Gruß Ralf
Kommt das Problem auch, wenn man die Zeile in FHEMWEB selbst erzeugt mit:
{ Log 1, "A";; Log 1, "B\nC" }
Wenn ja, kann jemand mir ein Screenshot zeigen, und im JS-Console per Inspect Element zeigen, was beim Browser angekommen ist.
Bei mir zeigt der Browser mit dem obigen Versuch das, was ich erwarte, siehe Anhang.
das Problem tritt nur auf, wenn direkt nach dem fhem log ein event ausgegeben wird.
Das Problem tritt auch auf, wenn ich das attribut global verbose von 4 auf 3 ändere
mit diesem test kann ich den fehler provozieren.
je nach der position von trigger werden 0-3 logeinträge plus dem event zusammengefasst. siehe screenshot.
defmod a_em at +*00:00:20 {\
Log(1,"----- test1 -----");;\
fhem("trigger d_em dies ist ein test");;\
Log(1,"----- test2 -----");;\
Log(1,"----- test3 -----");;\
}
defmod d_em dummy
der abc test funktioniert "normal".
{ Log 1, "A";; Log 1, "B\nC" }
mit der von ralf angehängten cosole.js funktioniert auch bei mir alles.
@frank: danke fuer dein Test.
Habe console.js angepasst, siehe Anhang.
hm...
ich finde die attraktivität des eventmonitors als werkzeug hat durch den fix einiges eingebüsst, da die reihenfolge der ereignisse nun nicht mehr stimmt. siehe timestamps im screenshot.
zwischendrin war kurz das wlan vom laptop weg. da wird es richtig "bunt".
aber jedes ereignis hat nun seine eigene zeile, dafür erst einmal danke