NEWS
[Vorlage] JS: Log-Datei aufbereiten für VIS
-
Version 4.5 Alpha
Habe nun alles eingebaut.
Neue Datenpunkte:
All.visView1.
Enthält alle Datenpunkte wie oben versprochen, und noch ein paar mehr Für mehrere Views/Tablets usw. könnt ihr weitere (visView2, visView3, usw.) anlegen. Dazu im ScriptNUMBER_OF_VIS_VIEWS
anpassen. *All.clearAllJSON
Löscht alle JSON-Logs auf einmalAll.lastTimeUpdated
Voreingestellt aktualisiert das Script alle 20 Sekunden. Bei jedem Update wird dieser Datenpunkt aktualisiert. Kann in VIS zur Darstellung verwendet werden.
Ich habe es getestet und es läuft sehr zuverlässig bei mir. Würde mich über Tester freuen.
Hier Version 4.5 Alpha zum testen:
Ich werde das Script offiziell in Github übernehmen, sobald von euch erfolgreich getestet wurde.
Link: Version 4.5 Alpha
*) Hier noch weitere Erläuterung zu
All.visView1.
:/******************************************************************************* * Optionale Konfiguration: Auswahl Log-Filter für VIS unterhalb ".All" ******************************************************************************/ // Wenn man in VIS eine Tabelle der Logs ausgibt, kann man hiermit mit Buttons // ('Homematic', 'Warnungen', 'Fehler' usw. zwischen den einzelnen Filtern umschalten, // die dann dynamisch jeweils in dieser einen Tabelle ausgegeben werden. // Hier die Anzahl der unterschiedlichen VIS-Views angeben, in denen du das brauchst. // Diese werden angelegt unter '.All.visView1', '.All.visView2', usw. // Falls auf 0 gestellt, dann werden gar keine Datenpunkte ausgegeben. const NUMBER_OF_VIS_VIEWS = 1;
-
Ich hab das seltsame Verhalten, dass nachdem ich "clearJSON" setze, das Löschdatum beim erstmaligen Betätigen aktualisiert wird, bei jedem weiteren mal aber unverändert bleibt. Das Verhalten ist sowohl aus der VIS raus als auch direkt am DP gleich. Lösche ich alle DP beginnt das Ganze von vorne (also reproduzierbar), ist sowohl in der Version 4.0.1 als auch in der 4.5 Alpha gleich.
Hat jemand von euch auch dieses Problem?@Mic tolle Sache die du da auf die Beine gestellt hast
-
@Latzi sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
das Löschdatum beim erstmaligen Betätigen aktualisiert wird
Wo siehst du das? Erledigt, ist bei mir nicht so.
-
@sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
ist bei mir nicht so.
Okay, Danke @sigi234 , ich verstehe aber nicht weshalb der Änderungszeitpunkt im DP nach der erstmaligen Aktion aktualisiert wird, bei jeder weiteren Betätigung nicht aktualisiert wird ???
-
@Latzi sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
@sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
ist bei mir nicht so.
Okay, Danke @sigi234 , ich verstehe aber nicht weshalb der Änderungszeitpunkt im DP nach der erstmaligen Aktion aktualisiert wird, bei jeder weiteren Betätigung nicht aktualisiert wird ???
Trotzdem, wo siehst du das? Beim DP?
-
@sigi234 , ja direkt am DP (Mauszeiger drauf und warten, dann wird letzte Änderung angezeigt) und auch auf der vis wo ich den Änderungszeitpunkt abfrage
-
@Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Hier Version 4.5 Alpha zum testen:
Ich werde das Script offiziell in Github übernehmen, sobald von euch erfolgreich getestet wurde.Noch kein Fehler entdeckt
Lüppt ............. wie ich es von dir gewohnt bin
-
@Glasfaser sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Noch kein Fehler entdeckt
Lüppt ............. wie ich es von dir gewohnt binCool, danke
Ich habe die obige Version 4.5Alpha nun ins offizielle aktuelle Github-Script übertragen.
>> Hier die Version 4.5.0Gab keinerlei Änderungen gegenüber 4.5Alpha, lediglich diese Zeile ergänzt:
* Change Log: * 4.5.0 Mic * Simply moved 4.5Alpha into 4.5.0 due to successful user tests. No code changes since 4.5Alpha.
-
@Latzi sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
@sigi234 , ja direkt am DP (Mauszeiger drauf und warten, dann wird letzte Änderung angezeigt) und auch auf der vis wo ich den Änderungszeitpunkt abfrage
... habe hier mehrere Versionen laufen bzw. getestet , Alles in Ordnung!
.
-
danke für den Einbau der zusätzlichen Datenpunkte, funktioniert soweit auch alles super.
Eine Frage hätte ich aber noch, ich lasse mir über die Timestampfunktion das Löschdatum der einzelnen Logs anzeigen.
Wenn ich jetzt über deinen neuen Datenpunkt lösche "javascript.0.Log-Script.All.visView1.clearJSON", wird diese Änderung anscheinend nicht an meinen bisher verwendeten Datenpunkt übergeben zB. "javascript.0.Log-Script.logInfo.clearJSON".Hast du hierfür vielleicht eine Lösung?
-
@Oli
Danke für dein Feedback. Ich führe im Script bei Ausführung vonLog-Script.All.visView1.clearJSON
zwar alle entsprechenden Datenpunkte, aber fasse dabeiLog-Script.logXXXX.clearJSON
nicht an. Passe ich umgehend an.@Latzi
.clearJSON
wird initial, also beim ersten Script-Start mit anlegen der Datenpunkte, auf "false" gesetzt. Beim erstmaligen Drücken wird dieser auf "true" gesetzt, was so auch stehen bleibt. Bei jedem weiteren Drücken wird immer nur wieder neu "true" gesetzt. D.h. Zur Überwachung der Änderung bitte Timestamp nehmen, und nicht "Änderung Datenpunkt" nehmen, denn der ändert sich ja nicht, sondern wird nur immer neu mit "true" gesetzt. -
@Oli
Nun eingebaut in Version 4.5.6.Nur kleine Änderung im Script gemacht:
-
@Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
.clearJSON wird initial, also beim ersten Script-Start mit anlegen der Datenpunkte, auf "false" gesetzt. Beim erstmaligen Drücken wird dieser auf "true" gesetzt, was so auch stehen bleibt. Bei jedem weiteren Drücken wird immer nur wieder neu "true" gesetzt. D.h. Zur Überwachung der Änderung bitte Timestamp nehmen, und nicht "Änderung Datenpunkt" nehmen, denn der ändert sich ja nicht, sondern wird nur immer neu mit "true" gesetzt.
Weltklasse @Mic , genau das war´s!!!
-
@Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
@Oli
Nun eingebaut in Version 4.5.6.Nur kleine Änderung im Script gemacht:
Muss ich wieder alles ersetzen? Kann ich nur den Codeteil ersetzen?
-
@sigi234
Nur Code-Teil ersetzen -
@Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
@sigi234
Nur Code-Teil ersetzenKannst ihn reinstellen?
Blödsinn, kann ihn ja rauskopieren. -
@sigi234
Einfach alles unterhalb hier ersetzenhttps://github.com/Mic-M/iobroker.logfile-script
/************************************************************************************************************************* * Ab hier nichts mehr ändern / Stop editing here! *************************************************************************************************************************/
-
sorry, aber so richtig scheint das noch nicht zu funktionieren
Der Zeitstempel wird leider noch nicht übergeben
-
@Oli
Bitte poste mal Details zur Vorgehensweise, auch ggf. mit Screenshots. -
@Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Einfach alles unterhalb hier ersetzen
hab ich gemacht. Quasi die alte Konfig ins neue Script eingefügt.
Beim Start kommen sofort Fehler.
javascript.0 2020-02-11 20:32:23.897 error (2798) at process._tickCallback (internal/process/next_tick.js:68:7) javascript.0 2020-02-11 20:32:23.897 error (2798) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) javascript.0 2020-02-11 20:32:23.897 error (2798) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-02-11 20:32:23.897 error (2798) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:572:33) javascript.0 2020-02-11 20:32:23.897 error (2798) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:1055:17) javascript.0 2020-02-11 20:32:23.897 error (2798) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1464:17) javascript.0 2020-02-11 20:32:23.896 error (2798) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1411:37) javascript.0 2020-02-11 20:32:23.896 error (2798) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:1188:28) javascript.0 2020-02-11 20:32:23.896 error (2798) at Object.createScript (vm.js:277:10) javascript.0 2020-02-11 20:32:23.896 error (2798) at new Script (vm.js:83:7) javascript.0 2020-02-11 20:32:23.896 error (2798) SyntaxError: Identifier 'LOG_PATT' has already been declared javascript.0 2020-02-11 20:32:23.895 error (2798) ^ javascript.0 2020-02-11 20:32:23.895 error (2798) const LOG_PATT = '([0-9_.\\-:\\s]*)(\\s+\\- )(silly|debug|info|warn|error|)(: )([a-z0-9.\\-]*)(\\s)(.*)'; javascript.0 2020-02-11 20:32:23.894 error at script.js.System.IOBroker_Log:413 javascript.0 2020-02-11 20:32:23.894 error (2798) script.js.System.IOBroker_Log compile failed: