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. ioBroker Allgemein
  4. Objekte aufräumen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Objekte aufräumen

Scheduled Pinned Locked Moved ioBroker Allgemein
objekte adminaufräumen
100 Posts 8 Posters 9.2k Views 10 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.
  • sigi234S sigi234

    @paul53
    @liv-in-sky

    Kann man die Skripte zusammenfassen und ev. später wenn das Skript soweit läuft auch als Blockly reinstellen?

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

    @sigi234 sagte:

    Kann man die Skripte zusammenfassen

    function checkEmpty(select) {
        $(select).each(function (id, i) {
            var ida = id.split('.');
            if(ida[2] != 'scriptEnabled' && ida[2] != 'scriptProblem' && getState(id).val === null) {
                console.log(id + ': Leer !');
            }
        });
    }
    
    function checkTypes(select) {
        $(select).each(function (id, i) {
            var ida = id.split('.');
            if(ida[2] != 'scriptEnabled' && ida[2] != 'scriptProblem') {
                var dpType = getObject(id).common.type;
                var valType = typeof getState(id).val;
                if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                    console.log(id + ': Datenpunkttyp: ' + dpType + ', Wert: ' + valType);
                }
            }
        });
    }
    
    checkEmpty('javascript.*');
    // checkTypes('javascript.*');
    

    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

    1 Reply Last reply
    1
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #62

      an so ein Kontrolskript denke ich auch schon länger, ich sehe immer Folgefehler die durch Kraut&Rüben in den Onjekten verursacht werden...

      Nett wäre noch die Überprüfung der obj.common.states, dort ist auch oft ein falscher Type angegeben z.B. boolean mit "OPEN" "CLOSED"
      Ausserdem wäre es interessant die korrekte Verwendung der Role zu prüfen anhand der offiziellen Vorgaben auf Datentyp und Read/Write Angaben: https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md

      liv-in-skyL 1 Reply Last reply
      0
      • ? A Former User

        an so ein Kontrolskript denke ich auch schon länger, ich sehe immer Folgefehler die durch Kraut&Rüben in den Onjekten verursacht werden...

        Nett wäre noch die Überprüfung der obj.common.states, dort ist auch oft ein falscher Type angegeben z.B. boolean mit "OPEN" "CLOSED"
        Ausserdem wäre es interessant die korrekte Verwendung der Role zu prüfen anhand der offiziellen Vorgaben auf Datentyp und Read/Write Angaben: https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        wrote on last edited by liv-in-sky
        #63

        @nis
        bis jetzt habe ich mal sowas gemacht

        Image 1.png

        im script kann man dann zusätzlich zu überprüfende instanzen einsetzen - alle zu checken machte keinen sinn - habe schon 2-3 adapter entdeckt, die datenpunkte leer lassen - das werden zu viele fehler auf einmal - aber evtl mach ich ein auswahlmenu, um das script je nach bedarf checken zu lassen

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Reply Last reply
        1
        • D Online
          D Online
          darkiop
          Most Active
          wrote on last edited by
          #64

          Das hört sich Interessant an!
          Grundsätzlich könnte ich mir so eine House-Keeping-Funktion aber auch als Funktion im js-controller Vorstellen 'iobroker check ...' o.Ä.

          Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

          1 Reply Last reply
          0
          • liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            wrote on last edited by
            #65

            weiter geht es hier: https://forum.iobroker.net/topic/25846/script-datenpunkte-info-sammlung

            @sigi234 , @nis @darkiop

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Reply Last reply
            0
            • liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              wrote on last edited by
              #66

              @sigi234

              hi sigi

              leider wird das nix mit blockly - aber das geht auch so

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              1 Reply Last reply
              0
              • paul53P 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.

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                wrote on last edited by
                #67

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

                hallo @paul53 ,

                ich bin mit meinem script schon etwas weitergekommen und hätte noch eine frage an dich . du hattest mir diese zeile empfohlen bei der auswahl für die type abfrage - was auch sehr gut war

                
                        if(dpType != valType && !(dpType == 'array' && valType == 'object')) {
                
                

                im folgenden bild bekomme ich bei meiner suche folgende auswertung:

                Image 5.png

                darin sind object-werte geschrieben obwohl string,number oder boolean im dp deklariert ist - da bei diesem beispiel apollon77 den adapter gemacht hat (und auch bei vielen anderen adaptern), gehe ich davon aus, dass dies korrekt ist und so benutzt werden kann - meine frage : kann ich alle diese kombinationen ausschliessen, da es gängig ist? im object-tab sehe ich sie als leer - irgendwie bin ich verwirrt, was das nun bedeutet? diese datenpunkte werden aber nicht als leer angezeigt.
                also :

                • id+valType(ist) -> dpType(soll)
                • id+object ->string
                • id+object ->number
                • id+object -> boolean
                • id+object ->array

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                paul53P 1 Reply Last reply
                0
                • ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by A Former User
                  #68

                  Weitere Prüfungen könnten noch sein:

                  Prüfen der einzelnen Angaben unter obj.common.states
                  boolean müsset sein:

                  {
                   id: "irgendetwas mit fenster",
                  common: {
                  type: "boolean",
                  states: {
                  true: "offen",
                  false: "geschlossen"
                  }}}
                  

                  number:

                  {
                   id: "irgendetwas mit fenster",
                  common : {
                  type: "number",
                  states: {
                  0: "offen",
                  1: "geschlossen",
                  2: "gekippt"
                  }}}
                  

                  oftmals entdecke ich solche Angaben die falsch sind da die Werte 0,1,2 String sind:

                  {
                   id: "irgendetwas mit fenster",
                  common : {
                  type: "number",
                  states: {
                  "0": "offen",
                  "1": "geschlossen",
                  "2": "gekippt"
                  }}}
                  
                  liv-in-skyL paul53P 3 Replies Last reply
                  0
                  • ? A Former User

                    Weitere Prüfungen könnten noch sein:

                    Prüfen der einzelnen Angaben unter obj.common.states
                    boolean müsset sein:

                    {
                     id: "irgendetwas mit fenster",
                    common: {
                    type: "boolean",
                    states: {
                    true: "offen",
                    false: "geschlossen"
                    }}}
                    

                    number:

                    {
                     id: "irgendetwas mit fenster",
                    common : {
                    type: "number",
                    states: {
                    0: "offen",
                    1: "geschlossen",
                    2: "gekippt"
                    }}}
                    

                    oftmals entdecke ich solche Angaben die falsch sind da die Werte 0,1,2 String sind:

                    {
                     id: "irgendetwas mit fenster",
                    common : {
                    type: "number",
                    states: {
                    "0": "offen",
                    "1": "geschlossen",
                    "2": "gekippt"
                    }}}
                    
                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    wrote on last edited by
                    #69

                    @nis probier doch mal das script aus, ob du es brauchen kannst

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    ? 1 Reply Last reply
                    0
                    • liv-in-skyL liv-in-sky

                      @nis probier doch mal das script aus, ob du es brauchen kannst

                      ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by
                      #70

                      @liv-in-sky die Prüfung ist aber nicht in dem Skript drin, oder ich sehe davon nix...

                      liv-in-skyL 1 Reply Last reply
                      0
                      • ? A Former User

                        @liv-in-sky die Prüfung ist aber nicht in dem Skript drin, oder ich sehe davon nix...

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        wrote on last edited by
                        #71

                        @nis nein - die braucht man eigentlich nur für die "monsterprüfung" - dort sind mir diese sache erst aufgefallen - ich werd das erst morgen nochmal ansehen

                        prüfe doch mal nur deinen eigenen adapter und deine eigenen datenpunkte - wäre auf feedback gespannt

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        ? 1 Reply Last reply
                        0
                        • ? Offline
                          ? Offline
                          A Former User
                          wrote on last edited by A Former User
                          #72

                          Und dann wäre auch eine generelle Prüfung der Abhängig zur Rolle.

                          Rollen mit sensor.* müssen boolean und read-only sein.
                          Rollen mit button.* müssen boolean und write-only sein.
                          usw...

                          Ganze Liste der Rollen gibt es hier: https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md

                          liv-in-skyL sigi234S 2 Replies Last reply
                          0
                          • ? A Former User

                            Und dann wäre auch eine generelle Prüfung der Abhängig zur Rolle.

                            Rollen mit sensor.* müssen boolean und read-only sein.
                            Rollen mit button.* müssen boolean und write-only sein.
                            usw...

                            Ganze Liste der Rollen gibt es hier: https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            wrote on last edited by
                            #73

                            @nis ah - jetzt kommt der adapter profi zum vorschein

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            ? 1 Reply Last reply
                            0
                            • liv-in-skyL liv-in-sky

                              @nis nein - die braucht man eigentlich nur für die "monsterprüfung" - dort sind mir diese sache erst aufgefallen - ich werd das erst morgen nochmal ansehen

                              prüfe doch mal nur deinen eigenen adapter und deine eigenen datenpunkte - wäre auf feedback gespannt

                              ? Offline
                              ? Offline
                              A Former User
                              wrote on last edited by
                              #74

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

                              @nis nein - die braucht man eigentlich nur für die "monsterprüfung" - dort sind mir diese sache erst aufgefallen - ich werd das erst morgen nochmal ansehen

                              Warum nur für die Monsterprüfung?

                              liv-in-skyL 1 Reply Last reply
                              0
                              • liv-in-skyL liv-in-sky

                                @nis ah - jetzt kommt der adapter profi zum vorschein

                                ? Offline
                                ? Offline
                                A Former User
                                wrote on last edited by
                                #75

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

                                @nis ah - jetzt kommt der adapter profi zum vorschein

                                Naja, nicht wirklich. Ich sehe nur täglich welche Probleme entstehen wenn das alles wild durcheinander verwendet wird...

                                1 Reply Last reply
                                0
                                • ? A Former User

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

                                  @nis nein - die braucht man eigentlich nur für die "monsterprüfung" - dort sind mir diese sache erst aufgefallen - ich werd das erst morgen nochmal ansehen

                                  Warum nur für die Monsterprüfung?

                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  wrote on last edited by
                                  #76

                                  @nis

                                  ich wollte eigentlich nur eigene und die javascript datenpunkte checken - da hatte ich bei keine probleme - wurde alles gefunden - dann fiel mir ein , ich könnte ja mal versuchen alle instanzen abzuchecken - und dann gab es halt plötzlich enorm viele warnungen und dateityp vertauschungen - und script abstürze, weil ein fehlender "type" das script crashte - ich arbeite micht halt stück für stück vor und bin froh um input

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  1 Reply Last reply
                                  0
                                  • ? A Former User

                                    Und dann wäre auch eine generelle Prüfung der Abhängig zur Rolle.

                                    Rollen mit sensor.* müssen boolean und read-only sein.
                                    Rollen mit button.* müssen boolean und write-only sein.
                                    usw...

                                    Ganze Liste der Rollen gibt es hier: https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md

                                    sigi234S Online
                                    sigi234S Online
                                    sigi234
                                    Forum Testing Most Active
                                    wrote on last edited by
                                    #77

                                    @nis sagte in Objekte aufräumen:

                                    Rollen mit sensor.* müssen boolean und read-only sein.
                                    Rollen mit button.* müssen boolean und write-only sein.
                                    usw...

                                    Gute Idee, das wird ein mächtiges Skript wenn es fertig ist.

                                    @liv-in-sky
                                    Überlegung:
                                    Wäre da vielleicht nicht ein Adapter interessant?

                                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Immer Daten sichern!

                                    ? liv-in-skyL 2 Replies Last reply
                                    0
                                    • sigi234S sigi234

                                      @nis sagte in Objekte aufräumen:

                                      Rollen mit sensor.* müssen boolean und read-only sein.
                                      Rollen mit button.* müssen boolean und write-only sein.
                                      usw...

                                      Gute Idee, das wird ein mächtiges Skript wenn es fertig ist.

                                      @liv-in-sky
                                      Überlegung:
                                      Wäre da vielleicht nicht ein Adapter interessant?

                                      ? Offline
                                      ? Offline
                                      A Former User
                                      wrote on last edited by
                                      #78

                                      @sigi234 Oder es wird direkt in ioBroker bereitgestellt. Finde es nur sinnvoll, wenn das eigentliche ioBroker System auch die erstellten Regeln auf Einhaltung prüft.

                                      liv-in-skyL 1 Reply Last reply
                                      1
                                      • sigi234S sigi234

                                        @nis sagte in Objekte aufräumen:

                                        Rollen mit sensor.* müssen boolean und read-only sein.
                                        Rollen mit button.* müssen boolean und write-only sein.
                                        usw...

                                        Gute Idee, das wird ein mächtiges Skript wenn es fertig ist.

                                        @liv-in-sky
                                        Überlegung:
                                        Wäre da vielleicht nicht ein Adapter interessant?

                                        liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        wrote on last edited by
                                        #79

                                        @sigi234 mal sehen, wie sich das weiterentwickelt - wer weiß, vielleicht komme ich ja an grenzen bei der programmierung

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        1 Reply Last reply
                                        0
                                        • ? A Former User

                                          @sigi234 Oder es wird direkt in ioBroker bereitgestellt. Finde es nur sinnvoll, wenn das eigentliche ioBroker System auch die erstellten Regeln auf Einhaltung prüft.

                                          liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          wrote on last edited by
                                          #80

                                          @nis sagte in Objekte aufräumen:

                                          @sigi234 Oder es wird direkt in ioBroker bereitgestellt. Finde es nur sinnvoll, wenn das eigentliche ioBroker System auch die erstellten Regeln auf Einhaltung prüft.

                                          hat schon jemand vorgeschlagen - aber lass mal erst das script etwas wachsen und sehen, ob es wirklich gebraucht wird

                                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                          sigi234S 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          271

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          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