Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Objekte aufräumen

    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

    Objekte aufräumen

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

      @paul53 sagte in Objekte aufräumen:

      @sigi234 sagte:

      kann man im Reiter Objekte eigentlich alte oder verweiste Einträge automatisch löschen?
      Gibt es ein Skript dafür?

      Mit automatischem Löschen sollte man sehr vorsichtig sein, weil danach etwas nicht mehr funktionieren kann. Da man auf die von Adaptern erzeugten Datenpunkte keinen Einfluss hat, sollte man sich ohnehin nur auf eigene Datenpunkte beschränken. Deshalb habe ich das Skript dahingehend abgewandelt.

      function checkTypes(select) {
          $(select).each(function (id, i) {
              var dpType = getObject(id).common.type;
              var valType = typeof getState(id).val;
              if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                  log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
              }
          });
      }
      
      checkTypes('javascript.*');
      checkTypes('meineDP.*');
      

      Datenpunkte, die keinen Wert enthalten, erzeugen eine Warnung im Log.

      Danke, aber da steigt mein System aus bzw hängt.

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

        @sigi234 sagte:

        da steigt mein System aus bzw hängt.

        Sind es so viele eigene Datenpunkte ? Dann versuche es mal nacheinander (immer nur ein Funktionsaufruf).
        Erst

        checkTypes('javascript.0.*');
        

        , dann

        checkTypes('javascript.1.*');
        

        , dann

        checkTypes('eigeneDatenpunkte.0.*'); // Anpassen 
        

        usw.

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

          @sigi234 sagte:

          Eine SelectorState Auswahl nach:
          Leere Werte

          Datenpunkte mit leeren Werten, bei denen man sich nicht sicher ist, ob sie gelöscht werden können, kann man typgerecht auffüllen.

          function fillVal(select) {
              $(select).each(function (id, i) {
                  var dpType = getObject(id).common.type;
                  if(getState(id).val === null) {
                      if(dpType == 'boolean') setState(id, false, true);
                      if(dpType == 'number') setState(id, 0, true);
                      if(dpType == 'string') setState(id, '', true);
                  }
              });
          }
          
          fillVal('javascript.*');
          fillVal('meineDP.*');
          
          1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @paul53 last edited by

            @paul53 die meisten warnungen kommen aus scriptenabled,, scriptproblem - den ordner lasse ich aus, da dies dort admin kram ist

            • danke für die warnung - aber datenpunkte löschen hätte ich eh nicht im script angewendet
            • das mit dem auffüllen ist eine gute idee - falls dies hier zu einem script führt, müßte man 2 modi einführen -. einen mit füllen und einen nur die anzeige - ich würde ja gerne erfahren und kontrollieren , warum die leer sind - vielleicht kann ich sie ja löschen, da nicht mehr gebraucht
            sigi234 paul53 2 Replies Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active @liv-in-sky last edited by sigi234

              @liv-in-sky
              @paul53

              Ok, verstehe ich was nicht? Das Skript sucht ja im javascript.0 Ordner.
              Ich möchte ja den Objekte Ordner durchsuchen.

              Beispiel:

              Screenshot (277)_LI.jpg

              Ich weis das die Roten DP`s nicht mehr existieren bzw. ich nicht mehr brauche. Diese sollte das Skript finden.
              Davon habe ich mehr als genug.
              Die Grünen sind Ok.

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

                @sigi234 sagte in Objekte aufräumen:

                @paul53 sagte in Objekte aufräumen:

                @sigi234 sagte:

                kann man im Reiter Objekte eigentlich alte oder verweiste Einträge automatisch löschen?
                Gibt es ein Skript dafür?

                Mit automatischem Löschen sollte man sehr vorsichtig sein, weil danach etwas nicht mehr funktionieren kann. Da man auf die von Adaptern erzeugten Datenpunkte keinen Einfluss hat, sollte man sich ohnehin nur auf eigene Datenpunkte beschränken. Deshalb habe ich das Skript dahingehend abgewandelt.

                function checkTypes(select) {
                    $(select).each(function (id, i) {
                        var dpType = getObject(id).common.type;
                        var valType = typeof getState(id).val;
                        if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                            log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                        }
                    });
                }
                
                checkTypes('javascript.*');
                checkTypes('meineDP.*');
                

                Datenpunkte, die keinen Wert enthalten, erzeugen eine Warnung im Log.

                Danke, aber da steigt mein System aus bzw hängt.

                bei diesem script gibt es keine anzeige mehr, ob der datenpunkt einen falschen inhalt hat

                ich fand den output auch interessant - da ich dort im script nacharbeiten muss

                javascript.0	2019-10-15 13:08:51.221	info	(296) script.js.Armin_Schalter.ALLERLEI.ALLEDatenpunktescannen: controll-own.0.HANDY.trekstoreScreen: Datenpunkttyp: boolean, Wert: number
                

                ich versuch mal das alles irrgendwie zusammenzubringen

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

                  @sigi234 das liegt daran, dasss die scripts ihre datenpunkte unter javascript.* ablegen

                  deshalb fragen wir javascript.* und eigeneDatenpunkte.0 ab

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

                    @liv-in-sky sagte:

                    die meisten warnungen kommen aus scriptenabled,, scriptproblem

                    Eigenartig, denn dort sollten nur Datenpunkte vom Typ "boolean" enthalten sein, die auch einen Wert haben. Sind vielleicht beim Löschen von Skripten die zugehörigen Objekte nicht gelöscht worden ?

                    @liv-in-sky sagte in Objekte aufräumen:

                    ich würde ja gerne erfahren und kontrollieren , warum die leer sind - vielleicht kann ich sie ja löschen, da nicht mehr gebraucht

                    Das Auffüllen sollte auch erst nach manuellem Löschen nicht mehr benötigter Datenpunkte erfolgen. Einen Test auf leere Datenpunkte kann man machen:

                    function checkEmpty(select) {
                        $(select).each(function (id, i) {
                            if(getState(id).val === null) {
                                console.log(id + ': Leer !');
                            }
                        });
                    }
                    
                    checkEmpty('javascript.*');
                    checkEmpty('meineDP.*');
                    
                    liv-in-sky 1 Reply Last reply Reply Quote 0
                    • sigi234
                      sigi234 Forum Testing Most Active @paul53 last edited by

                      @paul53 sagte in Objekte aufräumen:

                      checkTypes('javascript.0.*');

                      Theoretisch könnte ich da ja jeden beliebigen Adapter reinschreiben und das Skript sucht nur dort?

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @sigi234 last edited by

                        @sigi234 sagte:

                        jeden beliebigen Adapter reinschreiben und das Skript sucht nur dort?

                        Ja.

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

                          @paul53 sagte in Objekte aufräumen:

                          Eigenartig, denn dort sollten nur Datenpunkte vom Typ "boolean" enthalten sein, die auch einen Wert haben. Sind vielleicht beim Löschen von Skripten die zugehörigen Objekte nicht gelösc

                          genau das möchte ich ja auch herausfinden

                          es sind alle datenpunkte, die unter scriptproblem liegen ohne wert - ich habe mal ein paar scripte kopiert und die instanz geändert - es liegen nun lauter datenpunkte ohne werte rum

                          Image 5.png

                          1 Reply Last reply Reply Quote 0
                          • sigi234
                            sigi234 Forum Testing Most Active @paul53 last edited by sigi234

                            @paul53 sagte in Objekte aufräumen:

                            @sigi234 sagte:

                            jeden beliebigen Adapter reinschreiben und das Skript sucht nur dort?

                            Ja.

                            Ja, genau das suche ich. Wäre Super wenn man aussuchen könnte welche. Mit Copy&Paste ist es umständlich würde aber gehen.
                            Ich glaube wenn das Skript fertig ist kommt was feines für Alle raus.😀

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

                              @sigi234

                              sowas hätte ich auch gedacht - zuerst auslesen, welche instanzen es gibt (alle ordner mit (.0, ... ) und dann auswählen, welcher gecheckt werden soll

                              im moment ist es aber noch ein herausfinden, was eigentlich angezeigt werden soll

                              nachtrag

                              bis jetzt interessant

                              • datentyp und wert sind nicht gleich
                              • datenwert ist nicht vorhanden
                              1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @sigi234 last edited by

                                @sigi234 sagte:

                                Diese sollte das Skript finden.

                                Ja, mit

                                checkTypes('snmp.0.*'); 
                                
                                liv-in-sky sigi234 2 Replies Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @paul53 last edited by liv-in-sky

                                  @paul53

                                  wie geht man richtig vor, um die ganzen datenleichen unter scriptproblem richtig loszuwerden - darf man die löschen - es sind hunderte 😞

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • sigi234
                                    sigi234 Forum Testing Most Active @paul53 last edited by

                                    @paul53 sagte in Objekte aufräumen:

                                    @sigi234 sagte:

                                    Diese sollte das Skript finden.

                                    Ja, mit

                                    checkTypes('snmp.0.*'); 
                                    

                                    Und da haben wir es.

                                    
                                    javascript.0	2019-10-15 13:37:32.546	warn	(23344) at script.js.Test.Objekte_2:11:1
                                    javascript.0	2019-10-15 13:37:32.546	warn	(23344) at checkTypes (script.js.Test.Objekte_2:2:15)
                                    javascript.0	2019-10-15 13:37:32.546	warn	(23344) at Object.result.each (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:808:29)
                                    javascript.0	2019-10-15 13:37:32.546	warn	(23344) at script.js.Test.Objekte_2:4:30
                                    javascript.0	2019-10-15 13:37:32.546	warn	(23344) getState "snmp.0.192_168_178_20.x" not found (3) states[id]=null
                                    javascript.0	2019-10-15 13:37:32.543	info	(23344) Start javascript script.js.Test.Objekte_2
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @liv-in-sky last edited by

                                      @liv-in-sky:

                                      die ganzen datenleichen unter scriptproblem richtig loszuwerden - darf man die löschen

                                      Leichen darf man löschen.

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

                                        @paul53 wie bei "the walking dead" 🙂

                                        das heißt:

                                        alle datenpunkte unter scriptproblem, die keinen wert haben - über ein script löschen ??? oder ist das etwas zu "blauäugig" angegangen

                                        sigi234 paul53 2 Replies Last reply Reply Quote 0
                                        • sigi234
                                          sigi234 Forum Testing Most Active @liv-in-sky last edited by sigi234

                                          @liv-in-sky sagte in Objekte aufräumen:

                                          @paul53 wie bei "the walking dead" 🙂

                                          das heißt:

                                          alle datenpunkte unter scriptproblem, die keinen wert haben - über ein script löschen ??? oder ist das etwas zu "blauäugig" angegangen

                                          Hm, ich denke automatisch löschen ist so eine Sache, es würde mir genügen wenn ich eine Übersicht bekomme.

                                          paul53 1 Reply Last reply Reply Quote 0
                                          • E
                                            el_malto @liv-in-sky last edited by

                                            @liv-in-sky sagte in Objekte aufräumen:

                                            muss jetzt zu einem bekannten, der dauernd anrufe von "microsoft mitarbeitern " bekommt - ist wohl eine betrugsmasche, die momentan umgeht

                                            Da fällt mir immer wieder der Bericht zu ein. Ein bisschen OT aber zumindest was zum lachen 😂

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            796
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            aufräumen objekte admin
                                            8
                                            100
                                            5114
                                            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