Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] JS: Log-Datei aufbereiten für VIS

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[Vorlage] JS: Log-Datei aufbereiten für VIS

Geplant Angeheftet Gesperrt Verschoben JavaScript
617 Beiträge 60 Kommentatoren 152.0k Aufrufe 49 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von Negalein
    #533

    @Mic

    Ich schaffe es nicht das Design der Tabelle in mein Projekt zu übernehmen.

    Das komplette Widget hab ich von deinem Projekt exportiert und bei mir wieder eingefügt.
    Dann in deinem Projekt das Widget markiert und unter CSS/Global den Code 1:1 in meinem Projekt beim Widget unter CSS/Global eingefügt.

    Trotzdem sind bei mir die Zeilen anders.

    EDIT:
    Kommando retour.
    Ich hab das falsche CSS kopiert.

    ° Node.js: 20.17.0 NPM: 10.8.2
    ° Proxmox, Ubuntu 22.04.3 LTS
    ° Fixer ---> iob fix

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      mguenther
      schrieb am zuletzt editiert von
      #534

      Ich weiß nicht, ob ich alles richtig verstehe. Wenn ich einen Log-File zu einem Adapter auswerten möchte, dann lege ich im Skript z.B. das an:

         {
          id:             'Modbus',
          filter_all:     [/modbus.0/],
          filter_any:     [' - error: ', ' - warn: ',  ' - info: '],  // entweder error oder warn
          blacklist:      ['', '', ''],
          clean:          ['', '', ''],
          merge:          true,
          sortDescending: true,
          jsonDateFormat: '#DD.MM.# hh:mm',
          jsonColumns:    ['date','level','source','msg'],
          jsonLogLength:  100,
          jsonMaxLines:   100,
          jsonCssToLevel: false,
        },
      

      und schreibe das z.B. unter das Beispiel im Skript für homematic. Es werden auch die folgenden Datenpunkte angelegt.
      c5e1b11b-9ecb-4023-ba7e-c8b2b2c45b6d-grafik.png

      Jetzt werte ich das in der VIS separat aus, allerdings scheine ich beim Layout anpassen an meine VIS etwas geändert zu haben - ich habe keine farbigen Einträge mehr. Was muss ich denn wo entsprechend ändern?
      97e798d7-c7bc-483b-9a44-eda8e885d871-grafik.png

      danke
      Marcus

      GlasfaserG 1 Antwort Letzte Antwort
      0
      • M mguenther

        Ich weiß nicht, ob ich alles richtig verstehe. Wenn ich einen Log-File zu einem Adapter auswerten möchte, dann lege ich im Skript z.B. das an:

           {
            id:             'Modbus',
            filter_all:     [/modbus.0/],
            filter_any:     [' - error: ', ' - warn: ',  ' - info: '],  // entweder error oder warn
            blacklist:      ['', '', ''],
            clean:          ['', '', ''],
            merge:          true,
            sortDescending: true,
            jsonDateFormat: '#DD.MM.# hh:mm',
            jsonColumns:    ['date','level','source','msg'],
            jsonLogLength:  100,
            jsonMaxLines:   100,
            jsonCssToLevel: false,
          },
        

        und schreibe das z.B. unter das Beispiel im Skript für homematic. Es werden auch die folgenden Datenpunkte angelegt.
        c5e1b11b-9ecb-4023-ba7e-c8b2b2c45b6d-grafik.png

        Jetzt werte ich das in der VIS separat aus, allerdings scheine ich beim Layout anpassen an meine VIS etwas geändert zu haben - ich habe keine farbigen Einträge mehr. Was muss ich denn wo entsprechend ändern?
        97e798d7-c7bc-483b-9a44-eda8e885d871-grafik.png

        danke
        Marcus

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        schrieb am zuletzt editiert von Glasfaser
        #535

        @mguenther

        Wenn du von Ihm das View in dein Projekt kopierst , dann mußt du auch die CCS kopieren .

        CSS:

        
        
        /******************************************
                       — LINKS —
        ******************************************/
        .noteProject a:link { color: #b8b8b8; } /* unvisited link */
        .noteProject a:visited { color: #b8b8b8; } /* visited link */
        .noteProject a:hover { color: #ffffff; } /* mouse over link */
        .pnoteProjecte a:active { color: #ffffff; } /* selected link */
        hr { border:0; height: 1px; background-color:#b8b8b8 }
        
        
        /******************************************
                       — TABLE —
        ******************************************/
        
        .tableLog .log-warn { color: orange;}
        .tableLog .log-error { color: red;}
        .tableLog .log-info { color: yellow;}
        
        
        /* Word-Break anwenden */
        .tableLog {
           word-break: break-word; 
        }
        
        
        
        /* Jede zweite Tabellenzeile formatieren */
        .tableLog tr:nth-child(even) {
           background:rgba(56,46,67,0.1);
        }
        
        /* Rand unterhalb Tabellenüberschrift */
        .tableLog .mdc-data-table__header-row {
           border-bottom: 1px solid #434343;
        }
        
        /* Zeilenhöhe und Abstände */
        .tableLog .mdc-data-table__cell  {
           line-height:1.3em;
           padding-top: 6px;
           padding-bottom: 6px;
        }
        
        
        /* Scrollbar */
        .tableLog::-webkit-scrollbar { width: 15px; }
        .tableLog::-webkit-scrollbar-track { background: transparent; }
        .tableLog::-webkit-scrollbar-thumb { background-color: rgba(63,64,71,1); border-radius: 7px; border-color: rgba(63,64,71,1); }
        .tableLog::-webkit-scrollbar-thumb:hover { background: #8f8f8f; }
        
        
        /******************************************
                       — BUTTONS —
        ******************************************/
        
        
        .leftBarBtn .materialdesign-button-body {
           justify-content: left !important; 
           margin-left: 0.9em;
        }
        

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        M 1 Antwort Letzte Antwort
        0
        • GlasfaserG Glasfaser

          @mguenther

          Wenn du von Ihm das View in dein Projekt kopierst , dann mußt du auch die CCS kopieren .

          CSS:

          
          
          /******************************************
                         — LINKS —
          ******************************************/
          .noteProject a:link { color: #b8b8b8; } /* unvisited link */
          .noteProject a:visited { color: #b8b8b8; } /* visited link */
          .noteProject a:hover { color: #ffffff; } /* mouse over link */
          .pnoteProjecte a:active { color: #ffffff; } /* selected link */
          hr { border:0; height: 1px; background-color:#b8b8b8 }
          
          
          /******************************************
                         — TABLE —
          ******************************************/
          
          .tableLog .log-warn { color: orange;}
          .tableLog .log-error { color: red;}
          .tableLog .log-info { color: yellow;}
          
          
          /* Word-Break anwenden */
          .tableLog {
             word-break: break-word; 
          }
          
          
          
          /* Jede zweite Tabellenzeile formatieren */
          .tableLog tr:nth-child(even) {
             background:rgba(56,46,67,0.1);
          }
          
          /* Rand unterhalb Tabellenüberschrift */
          .tableLog .mdc-data-table__header-row {
             border-bottom: 1px solid #434343;
          }
          
          /* Zeilenhöhe und Abstände */
          .tableLog .mdc-data-table__cell  {
             line-height:1.3em;
             padding-top: 6px;
             padding-bottom: 6px;
          }
          
          
          /* Scrollbar */
          .tableLog::-webkit-scrollbar { width: 15px; }
          .tableLog::-webkit-scrollbar-track { background: transparent; }
          .tableLog::-webkit-scrollbar-thumb { background-color: rgba(63,64,71,1); border-radius: 7px; border-color: rgba(63,64,71,1); }
          .tableLog::-webkit-scrollbar-thumb:hover { background: #8f8f8f; }
          
          
          /******************************************
                         — BUTTONS —
          ******************************************/
          
          
          .leftBarBtn .materialdesign-button-body {
             justify-content: left !important; 
             margin-left: 0.9em;
          }
          

          M Offline
          M Offline
          mguenther
          schrieb am zuletzt editiert von
          #536

          @Glasfaser
          das hatte ich gesucht... ich bin blöd, bei mir stand die ganze Zeit CSS auf global und deswegen hatte ich es nicht gesehen
          danke

          1 Antwort Letzte Antwort
          0
          • MicM Offline
            MicM Offline
            Mic
            Developer
            schrieb am zuletzt editiert von Mic
            #537

            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.js

            So 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:
            xsagh.png

            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 unter filter_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!
             ********************************************************/
            
            GlasfaserG NegaleinN 2 Antworten Letzte Antwort
            1
            • MicM Mic

              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.js

              So 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:
              xsagh.png

              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 unter filter_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!
               ********************************************************/
              
              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              schrieb am zuletzt editiert von Glasfaser
              #538

              @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 😉

              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

              NegaleinN MicM 2 Antworten Letzte Antwort
              1
              • GlasfaserG Glasfaser

                @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 😉

                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von
                #539

                @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.

                ° Node.js: 20.17.0 NPM: 10.8.2
                ° Proxmox, Ubuntu 22.04.3 LTS
                ° Fixer ---> iob fix

                1 Antwort Letzte Antwort
                1
                • NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  schrieb am zuletzt editiert von
                  #540

                  @Mic

                  Ich bekomm folgenden Error und das Log-Script geht auf Pause (Gelb).

                  javascript.0	2020-03-01 20:31:44.477	error	(591) at Script.runInContext (vm.js:133:20)
                  javascript.0	2020-03-01 20:31:44.477	error	(591) at script.js.System.IOBroker_Log:285:21
                  javascript.0	2020-03-01 20:31:44.476	error	(591) SyntaxError: Invalid regular expression: /script\.js\.[^:]*: [Alexa-Log-Script]/: Range out of order in character class
                  javascript.0	2020-03-01 20:31:44.476	error	(591) ^
                  javascript.0	2020-03-01 20:31:44.476	error	(591) clean: [/script\.js\.[^:]*: [Alexa-Log-Script]/, '', ''],
                  javascript.0	2020-03-01 20:31:44.475	error	(591) script.js.System.IOBroker_Log: script.js.System.IOBroker_Log:285
                  

                  /******************************************************************************************************
                   * History der Alexa-Sprachbefehle in VIS darstellen.
                   * Erfordert das Log-Script: https://github.com/Mic-M/iobroker.logfile-script
                   ******************************************************************************************************/
                  
                  // Normalerweise wird die "summary", also der Befehl an Alexa, in Kleinbuchstaben zurückgegeben, also 
                  // z.B. "flurlicht einschalten". Wenn diese Option auf "true" ist, wird die Ausgabe zu 
                  // "Flurlicht Einschalten", also jeweils erster Buchstabe groß. 
                  // Falls nicht gewünscht, auf "false" setzen.
                  const CAPITALIZE_FIRSTS = true;
                  
                  /*************************************************************************************************************************
                   * Ab hier nichts mehr ändern / Stop editing here!
                   *************************************************************************************************************************/
                  
                  main();
                  function main() {
                      // All instances, so alexa2.0.History.json, alexa2.1.History.json, alexa2.2.History.json, etc.
                      on({id: /^alexa2\.\d\.History\.json$/, change:'any'}, function(obj) {
                  
                          // obj.state.val: JSON string of oject.
                          // Like: {"name":"Alexa Flur","serialNumber":"xxxxxxxxxx","summary":"Wohnlicht an","creationTime":1582843794820, ... }
                          let objHistory = JSON.parse(obj.state.val); 
                  
                          // ignore alexa keywords or empty value.
                          if(! (['', 'alexa','echo','computer'].includes(objHistory['summary']) )) {
                              // ignore "sprich mir nach"
                              if (!(objHistory['summary'].includes('sprich mir nach '))) {
                                  log('[Alexa-Log-Script] ##{"msg":"' + formatAlexaSummary(objHistory['summary']) + '", "source":"' + objHistory['name'] + '"}##');
                              }
                          }
                      });
                  }
                  
                  /**
                   * Formats the Alexa summary text accordingly.
                   * @param {string} summaryText   The summary text
                   * @return {string} the formatted summary
                   */
                  function formatAlexaSummary(summaryText) {
                      if (CAPITALIZE_FIRSTS) summaryText = summaryText.replace(/(^|\s)\S/g, l => l.toUpperCase()); // Capitalize if set. https://stackoverflow.com/questions/2332811/
                      return summaryText;
                  }
                  


                  Log-Script.txt

                  ° Node.js: 20.17.0 NPM: 10.8.2
                  ° Proxmox, Ubuntu 22.04.3 LTS
                  ° Fixer ---> iob fix

                  MicM 1 Antwort Letzte Antwort
                  0
                  • GlasfaserG Glasfaser

                    @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 😉

                    MicM Offline
                    MicM Offline
                    Mic
                    Developer
                    schrieb am zuletzt editiert von
                    #541

                    @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

                    sigi234S GlasfaserG 2 Antworten Letzte Antwort
                    0
                    • MicM Mic

                      @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

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #542

                      @Mic

                      Hm, ist das jetzt ein eigenes Skript?

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      NegaleinN 1 Antwort Letzte Antwort
                      0
                      • sigi234S sigi234

                        @Mic

                        Hm, ist das jetzt ein eigenes Skript?

                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #543

                        @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.

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

                        1 Antwort Letzte Antwort
                        0
                        • NegaleinN Negalein

                          @Mic

                          Ich bekomm folgenden Error und das Log-Script geht auf Pause (Gelb).

                          javascript.0	2020-03-01 20:31:44.477	error	(591) at Script.runInContext (vm.js:133:20)
                          javascript.0	2020-03-01 20:31:44.477	error	(591) at script.js.System.IOBroker_Log:285:21
                          javascript.0	2020-03-01 20:31:44.476	error	(591) SyntaxError: Invalid regular expression: /script\.js\.[^:]*: [Alexa-Log-Script]/: Range out of order in character class
                          javascript.0	2020-03-01 20:31:44.476	error	(591) ^
                          javascript.0	2020-03-01 20:31:44.476	error	(591) clean: [/script\.js\.[^:]*: [Alexa-Log-Script]/, '', ''],
                          javascript.0	2020-03-01 20:31:44.475	error	(591) script.js.System.IOBroker_Log: script.js.System.IOBroker_Log:285
                          

                          /******************************************************************************************************
                           * History der Alexa-Sprachbefehle in VIS darstellen.
                           * Erfordert das Log-Script: https://github.com/Mic-M/iobroker.logfile-script
                           ******************************************************************************************************/
                          
                          // Normalerweise wird die "summary", also der Befehl an Alexa, in Kleinbuchstaben zurückgegeben, also 
                          // z.B. "flurlicht einschalten". Wenn diese Option auf "true" ist, wird die Ausgabe zu 
                          // "Flurlicht Einschalten", also jeweils erster Buchstabe groß. 
                          // Falls nicht gewünscht, auf "false" setzen.
                          const CAPITALIZE_FIRSTS = true;
                          
                          /*************************************************************************************************************************
                           * Ab hier nichts mehr ändern / Stop editing here!
                           *************************************************************************************************************************/
                          
                          main();
                          function main() {
                              // All instances, so alexa2.0.History.json, alexa2.1.History.json, alexa2.2.History.json, etc.
                              on({id: /^alexa2\.\d\.History\.json$/, change:'any'}, function(obj) {
                          
                                  // obj.state.val: JSON string of oject.
                                  // Like: {"name":"Alexa Flur","serialNumber":"xxxxxxxxxx","summary":"Wohnlicht an","creationTime":1582843794820, ... }
                                  let objHistory = JSON.parse(obj.state.val); 
                          
                                  // ignore alexa keywords or empty value.
                                  if(! (['', 'alexa','echo','computer'].includes(objHistory['summary']) )) {
                                      // ignore "sprich mir nach"
                                      if (!(objHistory['summary'].includes('sprich mir nach '))) {
                                          log('[Alexa-Log-Script] ##{"msg":"' + formatAlexaSummary(objHistory['summary']) + '", "source":"' + objHistory['name'] + '"}##');
                                      }
                                  }
                              });
                          }
                          
                          /**
                           * Formats the Alexa summary text accordingly.
                           * @param {string} summaryText   The summary text
                           * @return {string} the formatted summary
                           */
                          function formatAlexaSummary(summaryText) {
                              if (CAPITALIZE_FIRSTS) summaryText = summaryText.replace(/(^|\s)\S/g, l => l.toUpperCase()); // Capitalize if set. https://stackoverflow.com/questions/2332811/
                              return summaryText;
                          }
                          


                          Log-Script.txt

                          MicM Offline
                          MicM Offline
                          Mic
                          Developer
                          schrieb am zuletzt editiert von Mic
                          #544

                          @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)

                          sigi234S 1 Antwort Letzte Antwort
                          0
                          • MicM Mic

                            @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)

                            sigi234S Online
                            sigi234S Online
                            sigi234
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von sigi234
                            #545

                            @Mic

                            Muss ich das was ändern und es in das Große Skript kopieren?

                            Screenshot (1883).png

                            Gecheckt!

                            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Immer Daten sichern!

                            MicM NegaleinN 2 Antworten Letzte Antwort
                            0
                            • sigi234S sigi234

                              @Mic

                              Muss ich das was ändern und es in das Große Skript kopieren?

                              Screenshot (1883).png

                              Gecheckt!

                              MicM Offline
                              MicM Offline
                              Mic
                              Developer
                              schrieb am zuletzt editiert von
                              #546

                              @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.

                              1 Antwort Letzte Antwort
                              0
                              • sigi234S sigi234

                                @Mic

                                Muss ich das was ändern und es in das Große Skript kopieren?

                                Screenshot (1883).png

                                Gecheckt!

                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                schrieb am zuletzt editiert von
                                #547

                                @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

                                ° Node.js: 20.17.0 NPM: 10.8.2
                                ° Proxmox, Ubuntu 22.04.3 LTS
                                ° Fixer ---> iob fix

                                1 Antwort Letzte Antwort
                                1
                                • NegaleinN Offline
                                  NegaleinN Offline
                                  Negalein
                                  Global Moderator
                                  schrieb am zuletzt editiert von
                                  #548

                                  @Mic

                                  perfekt wie immer 🙂

                                  vis (43).png

                                  ° Node.js: 20.17.0 NPM: 10.8.2
                                  ° Proxmox, Ubuntu 22.04.3 LTS
                                  ° Fixer ---> iob fix

                                  sigi234S MicM K 3 Antworten Letzte Antwort
                                  1
                                  • NegaleinN Negalein

                                    @Mic

                                    perfekt wie immer 🙂

                                    vis (43).png

                                    sigi234S Online
                                    sigi234S Online
                                    sigi234
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #549

                                    @Negalein sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                    @Mic

                                    perfekt wie immer 🙂

                                    Dem schließe ich mich an!

                                    Screenshot (1887).png

                                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Immer Daten sichern!

                                    GlasfaserG 1 Antwort Letzte Antwort
                                    1
                                    • MicM Mic

                                      @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

                                      GlasfaserG Offline
                                      GlasfaserG Offline
                                      Glasfaser
                                      schrieb am zuletzt editiert von
                                      #550

                                      @Mic

                                      Dein Beispiel-Projekt würde ich auch noch anheften …
                                      ... sonst geht es auch hier unter 😉

                                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                      MicM 1 Antwort Letzte Antwort
                                      0
                                      • sigi234S sigi234

                                        @Negalein sagte in [Vorlage] JS: Log-Datei aufbereiten für VIS:

                                        @Mic

                                        perfekt wie immer 🙂

                                        Dem schließe ich mich an!

                                        Screenshot (1887).png

                                        GlasfaserG Offline
                                        GlasfaserG Offline
                                        Glasfaser
                                        schrieb am zuletzt editiert von
                                        #551

                                        @sigi234

                                        1.JPG

                                        Das ist mal Cool Danke zu sagen 😉 👍

                                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                        1 Antwort Letzte Antwort
                                        1
                                        • NegaleinN Negalein

                                          @Mic

                                          perfekt wie immer 🙂

                                          vis (43).png

                                          MicM Offline
                                          MicM Offline
                                          Mic
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #552

                                          @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 😎 ☺

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          730

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe