Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. [gelöst] Einträge in "Protokolle"

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Einträge in "Protokolle"

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      Delphinis last edited by Delphinis

      Hallo,
      bin relativ neu bei ioBroker. Nun hab ich ein Javascript geschrieben, welches verschiedene Werte vom Modbus verrechnet und die Resultate in eigenen Datenpunkten ablegt. Das Script scheint problemlos zu funktionieren.
      Dabei werden verschiedene Einträge im Protokoll gemacht wie z.B.:

      script.js.Eigene_Scripte.Solar_P_all: setForeignState(id=0_userdata.0.Solar.Leistung.DirektvUndBatEntlUndBezug, state={"val":705,"ack":true,"ts":1710066058086,"q":0,"from":"system.adapter.javascript.0","lc":1710066058086,"c":"script.js.Eigene_Scripte.Solar_P_all"})
      

      oder

      	script.js.Eigene_Scripte.Solar_P_all: getState(id=modbus.0.inputRegisters.31393_Batterieladung, timerId=undefined) => {"val":2134,"ack":true,"ts":1710066082758,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":1710066082758}
      

      Dabei sind das nur "info"-Einträge, also keine warnings oder errors. Aber:

      • wieso werden die geloggt/protokolliert? (Ich hab ja kein console.log oder so gemacht)
      • hab ich einen Einfluss darauf / kann ich das unterdrücken? (Der Log wird mit diesen Einträgen vollgemüllt)
      • was bedeutet z.B. timerId=undefined? Ist das ein Fehler?
      Homoran paul53 haus-automatisierung 3 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Delphinis last edited by

        @delphinis sagte in Einträge in "Protokolle":

        wieso werden die geloggt/protokolliert? (Ich hab ja kein console.log oder so gemacht)

        wir kennen das Skript nicht

        D 1 Reply Last reply Reply Quote 0
        • D
          Delphinis @Homoran last edited by Delphinis

          @homoran
          Die Script-Anweisungen welche diese Zeilen "verursachen" sind z.B.:

          const BatLad = getState('modbus.0.inputRegisters.31393_Batterieladung').val;
          

          und

          setState('0_userdata.0.Solar.Leistung.DirektvUndBatEntlUndBezug', direktvUndBatEntlUndBezug, true);
          

          hier mal das ganze Script:

          if (!existsState('0_userdata.0.Solar.Leistung.Direktverbrauch')) {
              createState('0_userdata.0.Solar.Leistung.Direktverbrauch', {type: 'number', read: true, write: true});
          }
          if (!existsState('0_userdata.0.Solar.Leistung.PVin_Netto')) {
              createState('0_userdata.0.Solar.Leistung.PVin_Netto', {type: 'number', read: true, write: true});
          }
          if (!existsState('0_userdata.0.Solar.Leistung.NetzinUndBatLad')) {
              createState('0_userdata.0.Solar.Leistung.NetzinUndBatLad', {type: 'number', read: true, write: true});
          }
          if (!existsState('0_userdata.0.Solar.Leistung.DirektvUndBatEntl')) {
              createState('0_userdata.0.Solar.Leistung.DirektvUndBatEntl', {type: 'number', read: true, write: true});
          }
          if (!existsState('0_userdata.0.Solar.Leistung.DirektvUndBatEntlUndBezug')) {
              createState('0_userdata.0.Solar.Leistung.DirektvUndBatEntlUndBezug', {type: 'number', read: true, write: true});
          }
          if (!existsState('0_userdata.0.Solar.Leistung.ma_verbrauch')) {
              createState('0_userdata.0.Solar.Leistung.ma_verbrauch', {type: 'number', read: true, write: true});
          }
          
          var working = false;
          const trg = ['modbus.0.inputRegisters.30775_Messwert_Leistung',     // parameter auf die getriggert werden
                       'modbus.0.inputRegisters.30865_Leistung_Bezug',
                       'modbus.0.inputRegisters.30867_Messwert_Leistung_Einspeisung',    
                       'modbus.0.inputRegisters.31393_Batterieladung',
                       'modbus.0.inputRegisters.31395_Batterieentladung'];   
          
          var ma_array =[];
          
          // On change
          on(trg, async (data) => {
              if (working == false) {
                  working = true;
          
                  await wait(800);
          
                  const WR = getState('modbus.0.inputRegisters.30775_Messwert_Leistung').val;
                  const Bezug = getState('modbus.0.inputRegisters.30865_Leistung_Bezug').val;
                  const Einspeisung = getState('modbus.0.inputRegisters.30867_Messwert_Leistung_Einspeisung').val;
                  const BatLad = getState('modbus.0.inputRegisters.31393_Batterieladung').val;
                  const BatEntl = getState('modbus.0.inputRegisters.31395_Batterieentladung').val;
                  let Direktverbrauch = (WR - Bezug - Einspeisung - BatEntl);
                  
                  let pvin_netto = (WR + BatLad - BatEntl);
                  let netzinUndBatLad = (Einspeisung + BatLad);
                  let direktvUndBatEntl = (Direktverbrauch + BatEntl);                    // Orange
                  let direktvUndBatEntlUndBezug = (Direktverbrauch + BatEntl + Bezug);    // Rot
          
                  // Moving Average
                  let ma_verbrauch = Math.round(Moving_Average_real(ma_array, 11, direktvUndBatEntlUndBezug));
              
                  setState('0_userdata.0.Solar.Leistung.ma_verbrauch', ma_verbrauch, true);
                  setState('0_userdata.0.Solar.Leistung.Direktverbrauch', Direktverbrauch, true);
                  setState('0_userdata.0.Solar.Leistung.PVin_Netto', pvin_netto, true);
                  setState('0_userdata.0.Solar.Leistung.NetzinUndBatLad', netzinUndBatLad, true);
                  setState('0_userdata.0.Solar.Leistung.DirektvUndBatEntl', direktvUndBatEntl, true);
                  setState('0_userdata.0.Solar.Leistung.DirektvUndBatEntlUndBezug', direktvUndBatEntlUndBezug, true);
          
          Einspeisung);
          BatEntl=" + BatEntl + ", Bezug=" + Bezug);
                  working = false;
              }
          });
          
          function Moving_Average_real(_array, size, lastVal) {
              var an_array =[];
              an_array = _array;
              var sum = 0;
              var result;
              var removed = 0;
              while (an_array.length >= size) removed = an_array.shift();
              an_array.push(lastVal);
              sum = 0;
              an_array.forEach((element) => sum += element);
              result = sum/(an_array.length);
              //console.log("Add: " + lastVal + " Rem:" + removed + " Sum:" + sum + " Size:" + an_array.length + " Res:" + result);
              return result;
          }
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Delphinis last edited by

            @delphinis sagte: verschiedene Einträge im Protokoll

            Ist rechts oben (Schraubenschlüssel) "Ausführliche Protokollausgaben" ausgewählt?

            1 Reply Last reply Reply Quote 2
            • haus-automatisierung
              haus-automatisierung Developer Most Active @Delphinis last edited by

              @delphinis sagte in Einträge in "Protokolle":

              wieso werden die geloggt/protokolliert? (Ich hab ja kein console.log oder so gemacht)

              Das sieht aus wie die "verbose"-Ausgaben, um detaillierte Infos von den intern verwendeten Funktionen zu erhalten.
              Den Haken wegnehmen und Script speichern

              Screenshot 2024-03-10 at 12.41.03.png

              D 1 Reply Last reply Reply Quote 1
              • D
                Delphinis @haus-automatisierung last edited by

                @paul53
                @haus-automatisierung
                Genau, das wars. Danke

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                455
                Online

                31.9k
                Users

                80.3k
                Topics

                1.3m
                Posts

                4
                6
                235
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo