Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. BUG "cacheSelector" ?

    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

    BUG "cacheSelector" ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active last edited by

      oder genauer:

      Warum ergibt:
      log (getState("javascript.0.scriptEnabled.Scripte.Licht.Sauna").val);
      im log "false" obwohl lt. den Objekten "true" da steht.

      Da stimmt doch irgendwas im System nicht.

      paul53 liv-in-sky 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @bahnuhr last edited by paul53

        @bahnuhr sagte: im log "false" obwohl lt. den Objekten "true" da steht.

        Starte mal die Admin- und die Javascript-Instanz neu.

        1 Reply Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @bahnuhr last edited by

          @bahnuhr ist evtl ein cache problem - starte mal die javascript instanz neu und lass dann das script laufen - ist der wert dann richtig -> cacheproblem

          1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active last edited by

            So, admin und javascript neu gestartet.

            Und es scheint geholfen zu haben.
            Script ist nun im log auch true.

            Komisch das ganze.

            mfg
            Dieter

            liv-in-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @bahnuhr last edited by liv-in-sky

              @bahnuhr

              kenn ich schon - meine tabellen scripte haben das thema auch. zb das sonoff tabellen script findet keine neu eingerichteten sonoffgeräte, da neu angelegte geräte nicht im cache der javascript-instanz sind. erst wenn ich instanz neustarte kommen auch die neu angelegten geräte in der tabelle (selektor) zum vorschein

              wenn du die js-instanz startetst, siehst du im log, dass die objecte eingelesen und dann "gecached" werden

              1 Reply Last reply Reply Quote 0
              • bahnuhr
                bahnuhr Forum Testing Most Active last edited by

                ok, aber irgendwie ist da trotzdem der Wurm drin.

                Meine globalen Scripte (7 Stück) stehen alle auf true:
                c358533b-a8a1-480b-a3c8-bac9e12b4b38-image.png

                Unter den Objekten werden aber nur 5 !!?? angezeigt.
                und diese stehen auch noch auf false.
                7d67a21f-fa8c-4336-a533-e15ec3ba721e-image.png

                Irgendwie ist das nicht zufriedenstellend.
                Man muss sich drauf verlassen können, dass die Werte überein stimmen.
                So ist es Murx.

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @bahnuhr last edited by

                  @bahnuhr der scriptenabled folder ist von anfang an etwas seltsam - ich habe mehrere js instanzen und unter jeder instanz hat jedes script (egal ob script in dieser instanz ist) die datenpunkte - also bei einem script habe ich 3 mal scriptenabled datenpunkte - in jeder instanz eines

                  hatte damals nachgefragt, was das bedeutet: die antwort: gehört zum system und ich solle mich nicht darum kümmern

                  ich denke, es hängt damit zusammen, wenn man scripte in den instanzen verschiebt

                  das ganze müllt auch noch die datenbank voll - siehe anzahl der objecte pro instanz - fast 10 000 objecte unter den instanzen - völlig unverständlich

                  Image 1.png

                  1 Reply Last reply Reply Quote 0
                  • bahnuhr
                    bahnuhr Forum Testing Most Active last edited by

                    Also Fazit für mich:
                    Damit kann man nix anfangen.
                    Denn wenn man schon vermutet, dass die Werte nicht stimmen, dann ist dies unbrauchbar.

                    Ziel war es:
                    Ich wollte ermitteln, welche Script ein- bzw. ausgeschaltet sind.

                    Vielleicht hat ja jemand ne andere Idee.

                    mfg
                    Dieter

                    1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active last edited by

                      Oder um es ganz kritisch auszudrücken.

                      Kein BUG bei cacheSelector.

                      aber

                      BUG im System.
                      genauer: Ausweis von Datenpunkten mit falschen Zuständen.

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @bahnuhr last edited by liv-in-sky

                        @bahnuhr
                        ich habe ein script, welches jedes script durchsucht um herauszufinden, ob alle trigger datenpunkte existieren - darin wird auch letztlich geprüft, ob das script überhaupt aktiv ist

                        dies passiert über:

                        • einlesen aller existierender scripte aus dem filesystem - wird im setting der js-instanz "backup folder für scripte) realisiert
                        • und es gibt den befehl "isScriptActive()"

                        das script ist kurz zusammengesammelt - weiß nicht, ob du es so willst - myPath ist im setting der instanz definiert

                        Image 3.png

                        die undefined sind scripte, die ich verschoben habe und noch nicht aufgerufen habe

                        Image 4.png

                        
                        var myPath="/opt/iobroker/scripte-backup";
                        var myRootArr=[];
                        var myRootArrFiles=[];
                        var fs = require('fs');  
                        
                        var _getAllFilesFromFolder = function(dir) {
                        var filesystem = require("fs");
                        var results = [];
                        
                        
                           filesystem.readdirSync(dir).forEach(function(file) {
                                 file = dir+'/'+file;
                               var stat = filesystem.statSync(file);
                               if (stat && stat.isDirectory()) {
                                    results = results.concat(_getAllFilesFromFolder(file))
                               } else results.push(file);
                           });
                            return results;
                        };
                        
                        //log(_getAllFilesFromFolder("/opt/iobroker/scripte-backup/Armin_Schalter/FUTRO").toString())
                        
                        function getDirectories(path) {
                         return fs.readdirSync(path).filter(function (file) {
                           return fs.statSync(path+'/'+file).isDirectory();
                         });
                        }
                        
                        
                        
                        async function sammleDaten () {
                          // return new Promise((resolve) => {
                        
                        myRootArr=getDirectories(myPath)
                        
                        myRootArrFiles=_getAllFilesFromFolder(myPath)
                        
                        //log(isScriptActive('Armin_Schalter.AA-TABELLEN.N_E_U_E_T_A_B_E_L_L_E_N.AATelegramDelete.Skript_111').toString());
                        //yRootArrFiles.toString())
                        for(let z=0;z<myRootArrFiles.length;z++){
                        
                           let helper=myRootArrFiles[z].replace(myPath+"/","")
                               helper=helper.replace(/\//g,".")
                               helper=helper.replace(".js","")
                               if(z<50) log(helper+"  -- isActive?= "+isScriptActive(helper))
                        }
                        
                        /*
                        myRootArrFiles.forEach(function(myRootArrFiles) {
                           
                        });*/
                        
                        }
                        
                        async function doStuff() {
                        await sammleDaten();
                        
                        }
                        
                        
                        doStuff()
                        
                        
                        
                        
                        

                        1 Reply Last reply Reply Quote 1
                        • bahnuhr
                          bahnuhr Forum Testing Most Active last edited by

                          @liv-in-sky

                          Danke dir,
                          ich schaue es mir an.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          706
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          bug cacheselector error
                          3
                          14
                          234
                          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