NEWS
[Vorlage] JS: Log-Datei aufbereiten für VIS
-
Update: Script-Version 4.10
Die neue Log-Script Version 4.10 erlaubt es nun, über Logs, die abgegeben werden (z.B. über Funktion log() in JavaScript oder Blockly) die Inhalte zu manipulieren. Da das Log-Script umfangreiche Filter bietet, von denen beliebig viele angelegt werden können und dann in Datenpunkten verfügbar sind, können mit dieser Funktion einfach per log() entsprechend Tabellen gefüllt werden.
Hier im Link weitere Infos zur Verwendung.
Beispiel:
Folgendes Script erzeugt eine Log-Zeile, sobald ein Befehl an ein Alexa-Gerät gesprochen wird.
Github: alexa-log-script.jsSo sieht dann das Log dieses Scripts in etwa aus:
javascript.0 (12345) script.js.Alexa: [Alexa-Log-Script] ##{"msg":"Licht An", "source":"Sonos Küche"}##
Anzeige im VIS durch diese neue Funktion des Log-Scripts:
Wie zu sehen wird damit "Quelle" (wäre hier normalerweise "javascript.0") durch das Alexa-Gerät (hier: Sonos Küche) ersetzt. Außerdem wird die Message durch den gesprochenen Befehl (hier: "Licht An") ersetzt.
Genauso können auch noch das Datum ("date") und das Log-Level ("level") ersetzt werden.Für dieses Script-Beispiel einfach folgenden Filter setzen:
{ id: 'alexa', filter_all: ['[Alexa-Log-Script]', ''], filter_any: [' - info: '], blacklist: ['', '', ''], clean: [/script\.js\.[^:]*: [Alexa-Log-Script]/, '', ''], merge: false, sortDescending: true, jsonDateFormat: '#DD.MM.# hh:mm', jsonColumns: ['date','level','source','msg'], jsonLogLength: 100, jsonMaxLines: 50, jsonCssToLevel: true, },
Genau so können auch mehrere Filter für verschiedene Alexa-Geräte angelegt werden.
Dazu einfach unterfilter_all
ein bestimmtes Alexa-Gerät, z.B. "Show 5 Küche" hinzufügen.Update von Vorversion
Einfach alles unterhalb von hier ersetzen:/******************************************************** * Ab hier nichts mehr ändern / Stop editing here! ********************************************************/
-
@Mic sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Beispiel:
Folgendes Script erzeugt eine Log-Zeile, sobald ein Befehl an ein Alexa-Gerät gesprochen wird.Ich würde das Skript noch auf Github legen , sonst geht es hier unter !?
EDIT: und das Filterbeispiel ...
@Negalein .... da hat Mic was tolles für Dich gemacht
-
@Glasfaser sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
da hat Mic was tolles für Dich gemacht
Ja, definitiv!
Schon geil, was @Mic da für Zauberhände hat. -
-
@Glasfaser
@Negalein
Vielen Dank für euer Feedback@Glasfaser sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Ich würde das Skript noch auf Github legen
Guter Hinweis, erledigt (da ist auch das Filterbeispiel drin): https://github.com/Mic-M/iobroker.logfile-script/blob/master/alexa/alexa-log-script.js
-
Hm, ist das jetzt ein eigenes Skript?
-
@sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Hm, ist das jetzt ein eigenes Skript?
das kurze Script wird benötigt, um mit den neuen Log-Script die Alexa-History auszulesen.
-
@Negalein sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
@Mic
Ich bekomm folgenden Error und das Log-Script geht auf Pause (Gelb).Leider stellt das Forum hier Regex in Codes nicht korrekt dar, bitte kopiere den Filter noch mal von hier:
https://github.com/Mic-M/iobroker.logfile-script/blob/master/alexa/alexa-log-script.js
(Zeile: "clean:" ersetzen reicht) -
-
@sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Muss ich das was ändern und es in das Große Skript kopieren?
Nein, sieht gut aus. Ist ein separates Script nur für Alexa.
-
@sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Muss ich das was ändern
Nein
und es in das Große Skript kopieren
Zeile 18 bis 30 ins Log-Script
-
perfekt wie immer
-
@Negalein sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
perfekt wie immer
Dem schließe ich mich an!
-
Dein Beispiel-Projekt würde ich auch noch anheften …
... sonst geht es auch hier unter -
Das ist mal Cool Danke zu sagen
-
@Negalein sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
perfekt wie immer
@sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Dem schließe ich mich an!
Vielen Dank, auch an Sigi für den Alexa-Befehl
-
@Glasfaser sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Dein Beispiel-Projekt würde ich auch noch anheften …
... sonst geht es auch hier unterDanke, ist hier dokumentiert, und nun auch verlinkt: https://github.com/Mic-M/iobroker.logfile-script/blob/master/README.md#3-log-ausgaben-im-vis-darstellen
-
Ich überlege gerade wie ich am Besten ein aufklappbares Menü mache da es sicher noch mehr wird.
-
@sigi234 sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:
Ich überlege gerade wie ich am Besten ein aufklappbares Menü mache da es sicher noch mehr wird.
Vielleicht über List Widget ...
-
Ich habe das Skript gerade importiert, auf meine Umgebung angepasst und gestartet.
Ich erhalte folgedn Fehlermeldung:
javascript.0 2020-03-02 07:41:26.748 error (3135) at Script.runInContext (vm.js:133:20) javascript.0 2020-03-02 07:41:26.748 error (3135) at script.js.java.abfragen.log_vis_neu:540:1 javascript.0 2020-03-02 07:41:26.748 error (3135) at init (script.js.java.abfragen.log_vis_neu:544:5) javascript.0 2020-03-02 07:41:26.748 error (3135) ReferenceError: onLogUnregister is not defined javascript.0 2020-03-02 07:41:26.748 error (3135) ^ javascript.0 2020-03-02 07:41:26.748 error (3135) onLogUnregister(G_LogHandler); javascript.0 2020-03-02 07:41:26.748 error (3135) script.js.java.abfragen.log_vis_neu: script.js.java.abfragen.log_vis_neu:544