Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Javascript: nicht erwünschte Einträge im Log

NEWS

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

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

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

[gelöst] Javascript: nicht erwünschte Einträge im Log

Scheduled Pinned Locked Moved Skripten / Logik
10 Posts 3 Posters 567 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Rene55R Offline
    Rene55R Offline
    Rene55
    wrote on last edited by Rene55
    #1

    Ich habe ein Phänomen, dass ich mir nicht erklären kann. Ich bastle gerade an einem Script, dass mir den Status eines Datenpunkts auslesen soll. Der Code ist unspektakulär und macht was er soll.


    /*
    Checkt, ob HUE oder Zigbee - Leuchtmittel ungewollt
    z.B. nach Stromausfall leuchten und schaltet die wieder aus.
    Überwachte Leuchtmittel haben die Funktion 'lightingcheck'.

    */
    //
    const logging = true;
    const debugging = false;
    //
    const dp_Prefix = '0_userdata.0';
    const dp_Monitor = '0_userdata.0.Monitor_Lights.'; // mit Punkt
    const dp_CheckLights = '0_userdata.0.Information.Check_Lights';
    //
    //
    let monitoredLights = [];
    getDevices();
    //
    //
    //___________________________
    // Beschreibe diese Funktion: jede Minute prüfen
    let schedule_1minute = schedule('33 * * * * *', async () => {
    if (debugging) log ('(s) schedule_1minute');
    checkDevices();
    });
    //
    //___________________________
    // Beschreibe diese Funktion: Holen der zu überwachenden Devices
    function getDevices(){
    const watchedDevices = getObject("enum.functions.lightingcheck").common.members;
    if (debugging) log('(f) getDevices| BeleuchtungCheck Anzahl: '+ watchedDevices.length);
    //
    monitoredLights = [];
    for (const element of watchedDevices) {
    if (debugging) log((f) getDevices| ${element});
    const sepDevice = element.split('.');
    const sepPart = sepDevice.length - 2;
    if (debugging) log((f) getDevices| ${sepDevice} [${sepPart}] >> ${sepDevice[sepPart]});
    const jsonObj = {id: element, name: sepDevice[sepPart]};
    if (debugging) log((f) getDevices| ${JSON.stringify(jsonObj)});
    monitoredLights.push(jsonObj);
    }
    }
    //
    //___________________________
    // Beschreibe diese Funktion: Prüfen, ob ein Leuchtmittel ungewollt leuchtet
    function checkDevices(){
    if (debugging) log((f) checkDevices| Anzahl Leuchten: ${monitoredLights.length});
    for (const element of monitoredLights) {
    if (debugging) log((f) checkDevices| ${JSON.stringify(element)});
    //
    const deviceState = getState(element.id).val;
    if (logging) log((f) checkDevices| ${element.name} State -> ${deviceState});

    }
    

    }
    //___________________________
    // #
    // # E N D E
    // #


    Nur im Log wird nach meinem Verständnis ein bischen viel mitgeschrieben. Bei jeder Abfrage sehe ich:

    script.js.background.Check_Lights: getState(id=hue.0.Deckenstrahler23.on, timerId=undefined) => {"val":false,"ack":true,"ts":1736094193724,"q":0,"from":"system.adapter.hue.0","user":"system.user.admin","lc":1736094193252}
    

    diesen Eintrag. Wo kommt der her und wie kann ich den abstellen? Ich vermute eine (tief versteckte) Einstellung.

    Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
    ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
    Wetterstation: Froggit WH3000SE V1.6.6

    CodierknechtC 1 Reply Last reply
    0
    • Rene55R Rene55

      Ich habe ein Phänomen, dass ich mir nicht erklären kann. Ich bastle gerade an einem Script, dass mir den Status eines Datenpunkts auslesen soll. Der Code ist unspektakulär und macht was er soll.


      /*
      Checkt, ob HUE oder Zigbee - Leuchtmittel ungewollt
      z.B. nach Stromausfall leuchten und schaltet die wieder aus.
      Überwachte Leuchtmittel haben die Funktion 'lightingcheck'.

      */
      //
      const logging = true;
      const debugging = false;
      //
      const dp_Prefix = '0_userdata.0';
      const dp_Monitor = '0_userdata.0.Monitor_Lights.'; // mit Punkt
      const dp_CheckLights = '0_userdata.0.Information.Check_Lights';
      //
      //
      let monitoredLights = [];
      getDevices();
      //
      //
      //___________________________
      // Beschreibe diese Funktion: jede Minute prüfen
      let schedule_1minute = schedule('33 * * * * *', async () => {
      if (debugging) log ('(s) schedule_1minute');
      checkDevices();
      });
      //
      //___________________________
      // Beschreibe diese Funktion: Holen der zu überwachenden Devices
      function getDevices(){
      const watchedDevices = getObject("enum.functions.lightingcheck").common.members;
      if (debugging) log('(f) getDevices| BeleuchtungCheck Anzahl: '+ watchedDevices.length);
      //
      monitoredLights = [];
      for (const element of watchedDevices) {
      if (debugging) log((f) getDevices| ${element});
      const sepDevice = element.split('.');
      const sepPart = sepDevice.length - 2;
      if (debugging) log((f) getDevices| ${sepDevice} [${sepPart}] >> ${sepDevice[sepPart]});
      const jsonObj = {id: element, name: sepDevice[sepPart]};
      if (debugging) log((f) getDevices| ${JSON.stringify(jsonObj)});
      monitoredLights.push(jsonObj);
      }
      }
      //
      //___________________________
      // Beschreibe diese Funktion: Prüfen, ob ein Leuchtmittel ungewollt leuchtet
      function checkDevices(){
      if (debugging) log((f) checkDevices| Anzahl Leuchten: ${monitoredLights.length});
      for (const element of monitoredLights) {
      if (debugging) log((f) checkDevices| ${JSON.stringify(element)});
      //
      const deviceState = getState(element.id).val;
      if (logging) log((f) checkDevices| ${element.name} State -> ${deviceState});

      }
      

      }
      //___________________________
      // #
      // # E N D E
      // #


      Nur im Log wird nach meinem Verständnis ein bischen viel mitgeschrieben. Bei jeder Abfrage sehe ich:

      script.js.background.Check_Lights: getState(id=hue.0.Deckenstrahler23.on, timerId=undefined) => {"val":false,"ack":true,"ts":1736094193724,"q":0,"from":"system.adapter.hue.0","user":"system.user.admin","lc":1736094193252}
      

      diesen Eintrag. Wo kommt der her und wie kann ich den abstellen? Ich vermute eine (tief versteckte) Einstellung.

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      wrote on last edited by
      #2

      @rene55

      Was erwartetst Du denn im Log?
      Soll das ${element.name} ein Platzhalter sein? Dann fehlen da noch die Rückwärts-Hochkomma.

      log(`(f) checkDevices| ${element.name} State -> ${deviceState}`);
      

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      Rene55R 1 Reply Last reply
      0
      • CodierknechtC Codierknecht

        @rene55

        Was erwartetst Du denn im Log?
        Soll das ${element.name} ein Platzhalter sein? Dann fehlen da noch die Rückwärts-Hochkomma.

        log(`(f) checkDevices| ${element.name} State -> ${deviceState}`);
        
        Rene55R Offline
        Rene55R Offline
        Rene55
        wrote on last edited by Rene55
        #3

        @codierknecht Wie schon geschrieben, der Code macht was er soll. Die hier nicht erwähnten Werte werden weiter oben im Script ermittelt. (die Backticks sind beim einfügen verloren gegangen).
        Was mich stört ist das mitloggen was der hier bei jedem 'getState' macht.

        Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
        ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
        Wetterstation: Froggit WH3000SE V1.6.6

        CodierknechtC 1 Reply Last reply
        0
        • Rene55R Rene55

          @codierknecht Wie schon geschrieben, der Code macht was er soll. Die hier nicht erwähnten Werte werden weiter oben im Script ermittelt. (die Backticks sind beim einfügen verloren gegangen).
          Was mich stört ist das mitloggen was der hier bei jedem 'getState' macht.

          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #4

          @rene55 sagte in Javascript: nicht erwünschte Einträge im Log:

          Was mich stört ist das mitloggen was der hier bei jedem 'getState' macht.

          Das macht das Script vermutlich nicht ohne Grund.
          Wäre möglicherweise hilfreich, mehr vom Script zu zu sehen um den Kontext herzustellen.

          Wird denn "Deine" Logausgabe auch so ausgeführt wie erwartet?

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          Rene55R 1 Reply Last reply
          0
          • CodierknechtC Codierknecht

            @rene55 sagte in Javascript: nicht erwünschte Einträge im Log:

            Was mich stört ist das mitloggen was der hier bei jedem 'getState' macht.

            Das macht das Script vermutlich nicht ohne Grund.
            Wäre möglicherweise hilfreich, mehr vom Script zu zu sehen um den Kontext herzustellen.

            Wird denn "Deine" Logausgabe auch so ausgeführt wie erwartet?

            Rene55R Offline
            Rene55R Offline
            Rene55
            wrote on last edited by
            #5

            @codierknecht Das Script ist ja auch noch nicht fertig, aber bis hierhin macht es was es soll. Zum Gegencheck habe ich das Script auf einem Test-ioBroker laufen: Hier kommt dieser 'Extraeintrag' nicht. Daher vermute ich irgendeine Einstellung. Ich habe auf beiden Rechnern die Einstellungen verglichen und kann nichts feststellen.

            Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
            ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
            Wetterstation: Froggit WH3000SE V1.6.6

            CodierknechtC paul53P 2 Replies Last reply
            0
            • Rene55R Rene55

              @codierknecht Das Script ist ja auch noch nicht fertig, aber bis hierhin macht es was es soll. Zum Gegencheck habe ich das Script auf einem Test-ioBroker laufen: Hier kommt dieser 'Extraeintrag' nicht. Daher vermute ich irgendeine Einstellung. Ich habe auf beiden Rechnern die Einstellungen verglichen und kann nichts feststellen.

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              wrote on last edited by
              #6

              @rene55
              Hast Du mal getestet, ob ein ganz einfaches

              const test = getState('javascript.0.variables.isDayTime').val
              

              Diesen Eintrag auch produziert?

              Ich habe das auf keinem meiner Systeme ... würde mir auch das Log komplett zumüllen.

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              Rene55R 1 Reply Last reply
              0
              • CodierknechtC Codierknecht

                @rene55
                Hast Du mal getestet, ob ein ganz einfaches

                const test = getState('javascript.0.variables.isDayTime').val
                

                Diesen Eintrag auch produziert?

                Ich habe das auf keinem meiner Systeme ... würde mir auch das Log komplett zumüllen.

                Rene55R Offline
                Rene55R Offline
                Rene55
                wrote on last edited by
                #7

                @codierknecht Habs gerade mal getestet. Hierbei kommt kein Extraeintrag. Danke schon mal. Ich stell mal mein Script in Gänze oben rein.

                Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                Wetterstation: Froggit WH3000SE V1.6.6

                CodierknechtC 1 Reply Last reply
                0
                • Rene55R Rene55

                  @codierknecht Habs gerade mal getestet. Hierbei kommt kein Extraeintrag. Danke schon mal. Ich stell mal mein Script in Gänze oben rein.

                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  wrote on last edited by
                  #8

                  @rene55 sagte in Javascript: nicht erwünschte Einträge im Log:

                  Ich stell mal mein Script in Gänze oben rein

                  Pack das bitte in Code-Tags. So kann das keiner lesen.

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  1 Reply Last reply
                  0
                  • Rene55R Rene55

                    @codierknecht Das Script ist ja auch noch nicht fertig, aber bis hierhin macht es was es soll. Zum Gegencheck habe ich das Script auf einem Test-ioBroker laufen: Hier kommt dieser 'Extraeintrag' nicht. Daher vermute ich irgendeine Einstellung. Ich habe auf beiden Rechnern die Einstellungen verglichen und kann nichts feststellen.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #9

                    @rene55 sagte: Daher vermute ich irgendeine Einstellung.

                    Verbose- oder Debug-Modus aktiviert (rechts oben)?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    Rene55R 1 Reply Last reply
                    1
                    • paul53P paul53

                      @rene55 sagte: Daher vermute ich irgendeine Einstellung.

                      Verbose- oder Debug-Modus aktiviert (rechts oben)?

                      Rene55R Offline
                      Rene55R Offline
                      Rene55
                      wrote on last edited by
                      #10

                      @paul53 sagte in Javascript: nicht erwünschte Einträge im Log:

                      Verbose-

                      Ja Danke, das wars. Ich hab überall woanders gesucht - nur da oben nicht.
                      Jetzt ist das Log friedlich. Danke euch beiden.

                      Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                      ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                      Wetterstation: Froggit WH3000SE V1.6.6

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      654

                      Online

                      32.4k

                      Users

                      81.5k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe