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 @HeliosFan last edited by sigi234

      @HeliosFan

      Es gibt ja die objects.json, da sollten ja alle drinnen stehen. Also könnte man diese theoretisch ja bearbeiten können. Gibt es eine Möglichkeit sie in Excel zu bringen? Das teste ich mal.

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

        @sigi234

        ich habe gestern mal den code von paul53 laufen lassen (https://forum.iobroker.net/topic/25774/skript-tatsächlicher-wert)

        da ist mir auch aufgefallen, dass ich schon einigen datenmüll angesammelt habe - habe noch nie soviele warnungen und auch errors auf einmal im log gesehen 😞

        so ein aufräumscript wäre schon nicht schlecht

        sigi234 1 Reply 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:

          so ein aufräumscript wäre schon nicht schlecht

          Genau so was meine ich.😀 und deswegen habe ich die Frage in den TR ja gestellt.
          Vor allem weil man bei Wert nicht sortieren kann.

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

            @sigi234 sagte in Objekte aufräumen:

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

            so ein aufräumscript wäre schon nicht schlecht

            Genau so was meine ich.😀 und deswegen habe ich die Frage in den TR ja gestellt.
            Vor allem weil man bei Wert nicht sortieren kann.

            Vielleicht kann @paul53 was machen?

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

              @sigi234 ich habe mal ein wenig damit herum-gespielt

              controll-own.0 sind meine eigenen datenpunkte - da ist es ein klein wenig übersichtlicher - beim script vom paul werden alles states gecheckt - das ist zuviel für mein system

              daher habe ich es ein wenig eingeschränkt - habe aber noch nicht zu ende gedacht, was ich daraus machen will- paul wäre da sicher eine große hilfe

              
              var counter=0;
              
              
                  var cacheSelectorState = $('state[state.id=controll-own.0.*]');
                  cacheSelectorState.each(function (id, i) {
                      counter++;
              
                  var dpType = getObject(id).common.type;
                  var valType = typeof getState(id).val;
                  if(dpType != "mixed" ) {
                  if(dpType !== valType) console.log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);}
              });
              log("fertg" + counter.toString(),"error")
                 
                var counter=0; 
                    
               var cacheSelectorState = $('[id=javascript.0.*]');
              cacheSelectorState.each(function (id, i) {
                  if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS') ){
                      counter++;
              
                  var dpType = getObject(id).common.type;
                  var valType = typeof getState(id).val;
                  if(dpType != "mixed" ) {
                  if(dpType !== valType) console.log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);}}
              });
              log("fertg" + counter.toString(),"error")
              
              
              
              
              
              sigi234 1 Reply Last reply Reply Quote 1
              • liv-in-sky
                liv-in-sky @sigi234 last edited by

                @sigi234 hab nochmal in der code sequenz was geändert - lass es mal laufen und füge deinen eigenen pfad deiner datenpunkte hinzu

                dann kommt bei mir tatsächlich etwas raus, womit ich was anfangen kann

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

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

                  füge deinen eigenen pfad deiner datenpunkte hinzu

                  Wie? Sorry bin ein Blockly Typ.

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

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

                    beim script vom paul werden alles states gecheckt - das ist zuviel für mein system

                    Bei mir auch, System hängt sich auf.

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

                      @sigi234

                      ist kein großes ding - mach einfach ein neues script (javascript) und kopiere den code rein und starte das script -- anschliessend beende es wieder, damit es nicht aktiv ist - lösche vorher das log, damit du besser siehst, was da kommt

                      es sind einfach zwei blöcke - der zweite testet den javascript.0 ordner und der erste testet bei mir control-own.0 - den habe ich selber angelegt - du hast sicher auch einen ordner mit eigenen datenpunkten darin - ersetze einfach controll-own.0 mit deinem ordnernamen (in zeile 5)

                      ist ja kein script, das dauernd läuft, soindern nur ein test, um mal ein paar daten zu bekommen - bei mr waren einige falsch deklarierte datenpunkte drin - die kontrolliere ich in der nächsten zeit - siehe log-bild

                      bei mir sieht das log so aus:
                      Image 3.png

                      sigi234 1 Reply Last reply Reply Quote 1
                      • sigi234
                        sigi234 Forum Testing Most Active @liv-in-sky last edited by

                        @liv-in-sky

                        Super, bei fertig fehlt das I

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

                          @sigi234 ich werd heut nachmittag noch etwas rum probieren und halte dich auf dem laufenden

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

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

                            @liv-in-sky
                            Super, Danke
                            Ideal wäre noch eine Ausgabe als Html und oder Table.
                            Eine SelectorState Auswahl nach:

                            • Leere Werte

                            • Keine Werte seit Datum vorhanden

                            • Kein Raum-Funktion-State-Rolle zugeteilt

                            Quasi eine All Inclusive Tool/Skript für Objekte.

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

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

                              sigi234 liv-in-sky 2 Replies Last reply Reply Quote 1
                              • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            927
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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