Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Skript um DPs aufzuräumen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Skript um DPs aufzuräumen

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 5 Kommentatoren 207 Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • David G.D Online
    David G.D Online
    David G.
    schrieb am zuletzt editiert von David G.
    #1

    Hallo,

    eventuell kann mir jemand helfen.

    Mit Blockly bin ich ja ganz fit, jedoch kann man es da denke nicht umsetzen.

    Ich hatte gerne ein Script, um unter einem bestimmten Pfad (evtl Anfangs als Variable BasePath definieren) alle DPs zu löschen die älter sind als x Sekunden (inklusive Unterordnern).

    Danach sollen alle leeren Ordner gelöscht werden.
    Entweder in 2er, 3er,...,... Ebene oder oder ggf schon in der obersten Ebene falls darunter liegende order leer sind.

    Ordner A
    -DP1
    Ordner B

    • DP2
      --Ordner C
      -Ordner D

    Hier sollen C und D gelöscht werden.
    Falls unterhalb von A nur noch BCD ohne DPs sind auch A löschen.

    Oder anders gesagt, leere Order dürfen als nicht existent angesehen werden.

    Zeigt eure Lovelace-Visualisierung klick
    (Auch ideal um sich Anregungen zu holen)

    Meine Tabellen für eure Visualisierung klick

    M AsgothianA 2 Antworten Letzte Antwort
    0
    • David G.D David G.

      Hallo,

      eventuell kann mir jemand helfen.

      Mit Blockly bin ich ja ganz fit, jedoch kann man es da denke nicht umsetzen.

      Ich hatte gerne ein Script, um unter einem bestimmten Pfad (evtl Anfangs als Variable BasePath definieren) alle DPs zu löschen die älter sind als x Sekunden (inklusive Unterordnern).

      Danach sollen alle leeren Ordner gelöscht werden.
      Entweder in 2er, 3er,...,... Ebene oder oder ggf schon in der obersten Ebene falls darunter liegende order leer sind.

      Ordner A
      -DP1
      Ordner B

      • DP2
        --Ordner C
        -Ordner D

      Hier sollen C und D gelöscht werden.
      Falls unterhalb von A nur noch BCD ohne DPs sind auch A löschen.

      Oder anders gesagt, leere Order dürfen als nicht existent angesehen werden.

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2

      @David-G.
      Kannst du bitte den Hintergrund erklären, worum geht es dabei?
      Wie entsteht die Situation?

      Grundsäzlich kann man mit dem Selektor ja nur States auslesen.
      -> Man würde die Objekte (Folder) gar nicht in der Liste sehen.
      Wenn die Situation durch ein eigenes Script entsteht, sollte man dort ansetzen und eine Verwaltung für die angelegten DPs erstellen.

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      HomoranH 1 Antwort Letzte Antwort
      0
      • M MCU

        @David-G.
        Kannst du bitte den Hintergrund erklären, worum geht es dabei?
        Wie entsteht die Situation?

        Grundsäzlich kann man mit dem Selektor ja nur States auslesen.
        -> Man würde die Objekte (Folder) gar nicht in der Liste sehen.
        Wenn die Situation durch ein eigenes Script entsteht, sollte man dort ansetzen und eine Verwaltung für die angelegten DPs erstellen.

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        @MCU sagte in Skript um DPs aufzuräumen:

        Man würde die Objekte (Folder) gar nicht in der Liste sehen.

        Auch wenn ich nicht weiß wovon ich schreibe 😉
        gab's da nicht was von parents und grandparents

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        M 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @MCU sagte in Skript um DPs aufzuräumen:

          Man würde die Objekte (Folder) gar nicht in der Liste sehen.

          Auch wenn ich nicht weiß wovon ich schreibe 😉
          gab's da nicht was von parents und grandparents

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von
          #4

          @Homoran Ja, kann man dann nutzen, wenn man die ID hat. In dieser steht dann ja die Herkunft. Aber mit dem Selektor würde man schon leere Ordner nicht erkennen können, da dort nur IDs von den States drin stehen.
          Leider gibt es in javascript oder Blockly keine Funktion um generisch Objekte zu ermitteln.
          Für States gibt es den Selektor $. Für bekannte IDs kann man mit getObject die zugehörigen Daten holen.
          Aber es gibt keinen "Selektor" für Objekte.

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          M 1 Antwort Letzte Antwort
          1
          • M MCU

            @Homoran Ja, kann man dann nutzen, wenn man die ID hat. In dieser steht dann ja die Herkunft. Aber mit dem Selektor würde man schon leere Ordner nicht erkennen können, da dort nur IDs von den States drin stehen.
            Leider gibt es in javascript oder Blockly keine Funktion um generisch Objekte zu ermitteln.
            Für States gibt es den Selektor $. Für bekannte IDs kann man mit getObject die zugehörigen Daten holen.
            Aber es gibt keinen "Selektor" für Objekte.

            M Online
            M Online
            MCU
            schrieb am zuletzt editiert von
            #5

            Feature für Selector für Objekte in javascript gibt es schon seit 2021
            https://github.com/ioBroker/ioBroker.javascript/issues/799
            Vielleicht hilft ein hochvoten?

            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

            1 Antwort Letzte Antwort
            1
            • David G.D David G.

              Hallo,

              eventuell kann mir jemand helfen.

              Mit Blockly bin ich ja ganz fit, jedoch kann man es da denke nicht umsetzen.

              Ich hatte gerne ein Script, um unter einem bestimmten Pfad (evtl Anfangs als Variable BasePath definieren) alle DPs zu löschen die älter sind als x Sekunden (inklusive Unterordnern).

              Danach sollen alle leeren Ordner gelöscht werden.
              Entweder in 2er, 3er,...,... Ebene oder oder ggf schon in der obersten Ebene falls darunter liegende order leer sind.

              Ordner A
              -DP1
              Ordner B

              • DP2
                --Ordner C
                -Ordner D

              Hier sollen C und D gelöscht werden.
              Falls unterhalb von A nur noch BCD ohne DPs sind auch A löschen.

              Oder anders gesagt, leere Order dürfen als nicht existent angesehen werden.

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #6

              @David-G. sagte in Skript um DPs aufzuräumen:

              ch hatte gerne ein Script, um unter einem bestimmten Pfad (evtl Anfangs als Variable BasePath definieren) alle DPs zu löschen die älter sind als x Sekunden (inklusive Unterordnern).

              Danach sollen alle leeren Ordner gelöscht werden.

              Der Lösungsansatz der sich anbietet:

              • du holst dir mit einem Selektor alle Objekte unterhalb deines basispfades
              • dann gehst du durch die Objekte durch. Bei jedem Objekt obj zerlegst du den Objektnamen in seine Struktur und trägst es in ein mehrstufiges Objekt ein (Beispiel: 0_userdata.0.exampleBase.devicea.ChannelB.state, => du hast ein Objekt nach folgendem Muster:
              const myStructure = {
                exampleBase: {
                  devicea: {
                      channelB: {
                          state: true;
                      }
                  }    
                }
              }
              

              Dabei legst du die property state mit value 'true' nur dann an wenn du das Objekt nicht löscht. Bei Objekten die du löscht legst du nur die Struktur bis channelB an, sofern sie noch nicht existiert.

              In der Folge kannst du dann rekursiv durch dein Objekt durchgehen. Dazu brauchst du eine Funktion

              function recursiveDelete(obj, keys) {
                const canDelete = true;
                for const key of Object.keys(obj) { 
                  const child = obj[key];
                  if (typeof child === 'boolean') {
                      candelete = false;
                      continue;
                  }
                  if (typeof child === 'object') canDelete &= recursiveDelete(child, `${keys}.${key}`);
                }
                if (canDelete) deleteObject(`${keys}.${key}`) // ich hab den genauen Aufruf nicht da, kann sein das das nicht ganz passt.
                return canDelete 
              }
              

              die würdest du aufrufen mit recursiveDelete(myStructure, '0_userdata.0');

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              David G.D 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @David-G. sagte in Skript um DPs aufzuräumen:

                ch hatte gerne ein Script, um unter einem bestimmten Pfad (evtl Anfangs als Variable BasePath definieren) alle DPs zu löschen die älter sind als x Sekunden (inklusive Unterordnern).

                Danach sollen alle leeren Ordner gelöscht werden.

                Der Lösungsansatz der sich anbietet:

                • du holst dir mit einem Selektor alle Objekte unterhalb deines basispfades
                • dann gehst du durch die Objekte durch. Bei jedem Objekt obj zerlegst du den Objektnamen in seine Struktur und trägst es in ein mehrstufiges Objekt ein (Beispiel: 0_userdata.0.exampleBase.devicea.ChannelB.state, => du hast ein Objekt nach folgendem Muster:
                const myStructure = {
                  exampleBase: {
                    devicea: {
                        channelB: {
                            state: true;
                        }
                    }    
                  }
                }
                

                Dabei legst du die property state mit value 'true' nur dann an wenn du das Objekt nicht löscht. Bei Objekten die du löscht legst du nur die Struktur bis channelB an, sofern sie noch nicht existiert.

                In der Folge kannst du dann rekursiv durch dein Objekt durchgehen. Dazu brauchst du eine Funktion

                function recursiveDelete(obj, keys) {
                  const canDelete = true;
                  for const key of Object.keys(obj) { 
                    const child = obj[key];
                    if (typeof child === 'boolean') {
                        candelete = false;
                        continue;
                    }
                    if (typeof child === 'object') canDelete &= recursiveDelete(child, `${keys}.${key}`);
                  }
                  if (canDelete) deleteObject(`${keys}.${key}`) // ich hab den genauen Aufruf nicht da, kann sein das das nicht ganz passt.
                  return canDelete 
                }
                

                die würdest du aufrufen mit recursiveDelete(myStructure, '0_userdata.0');

                A.

                David G.D Online
                David G.D Online
                David G.
                schrieb am zuletzt editiert von David G.
                #7

                @MCU sagte in Skript um DPs aufzuräumen:

                Kannst du bitte den Hintergrund erklären, worum geht es dabei?
                Wie entsteht die Situation?

                Ich habe ein Script, was mir Statuswerte aus Zabbix holt.

                {
                  "Zabbix server": {
                    "Load average (1m avg)": {
                      "value": "0.625977",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Memory utilization": {
                      "value": "8.208386000000004",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "FS [/]: Space: Used, in %": {
                      "value": "17.97281901041667",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "Available updates": {
                      "value": "0",
                      "unit": "",
                      "value_type": "number"
                    },
                    "warnings": {
                      "online_status": "Available",
                      "count": 0,
                      "alerts": {}
                    }
                  },
                  "Taiscale": {
                    "Load average (1m avg)": {
                      "value": "0.59082",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Memory utilization": {
                      "value": "6.156540000000007",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "FS [/]: Space: Used, in %": {
                      "value": "7.7972412109375",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "Available updates": {
                      "value": "0",
                      "unit": "",
                      "value_type": "number"
                    },
                    "warnings": {
                      "online_status": "Available",
                      "count": 0,
                      "alerts": {}
                    }
                  },
                  "MariaDB": {
                    "Load average (1m avg)": {
                      "value": "0.625977",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Memory utilization": {
                      "value": "20.896816",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "FS [/]: Space: Used, in %": {
                      "value": "21.89483642578125",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "Available updates": {
                      "value": "0",
                      "unit": "",
                      "value_type": "number"
                    },
                    "warnings": {
                      "online_status": "Available",
                      "count": 0,
                      "alerts": {}
                    }
                  },
                  "Proxmox_Home": {
                    "Load average (1m avg)": {
                      "value": "0.617188",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Memory utilization": {
                      "value": "52.825473",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "FS [/]: Space: Used, in %": {
                      "value": "42.42970375298272",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "Available updates": {
                      "value": "5",
                      "unit": "",
                      "value_type": "number"
                    },
                    "warnings": {
                      "online_status": "Available",
                      "count": 2,
                      "alerts": {
                        "32944": {
                          "uid": "59747",
                          "triggerid": "32944",
                          "message": "Proxmox VE: VM [pve/PBS (qemu/114)] high memory usage",
                          "priority": "Warning",
                          "time": "01.01.2026 23:20:37"
                        },
                        "32961": {
                          "uid": "65386",
                          "triggerid": "32961",
                          "message": "Proxmox VE: VM [pve/Docker (qemu/113)]: Not running",
                          "priority": "Average",
                          "time": "02.01.2026 12:08:27"
                        }
                      }
                    }
                  },
                  "PBS": {
                    "Load average (1m avg)": {
                      "value": "0.029785",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Memory utilization": {
                      "value": "10.296623999999994",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "FS [/]: Space: Used, in %": {
                      "value": "54.08080413119932",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "Available updates": {
                      "value": "7",
                      "unit": "",
                      "value_type": "number"
                    },
                    "warnings": {
                      "online_status": "Available",
                      "count": 0,
                      "alerts": {}
                    }
                  },
                  "Docker": {
                    "Load average (1m avg)": {
                      "value": "0.286621",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Memory utilization": {
                      "value": "24.302128999999994",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "FS [/]: Space: Used, in %": {
                      "value": "66.43690581872296",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "Available updates": {
                      "value": "0",
                      "unit": "",
                      "value_type": "number"
                    },
                    "warnings": {
                      "online_status": "Not available",
                      "count": 2,
                      "alerts": {
                        "33250": {
                          "uid": "58730",
                          "triggerid": "33250",
                          "message": "Docker: Failed to fetch info data",
                          "priority": "Warning",
                          "time": "01.01.2026 20:58:10"
                        },
                        "33262": {
                          "uid": "58502",
                          "triggerid": "33262",
                          "message": "Linux: Zabbix agent is not available",
                          "priority": "Average",
                          "time": "01.01.2026 20:31:39"
                        }
                      }
                    }
                  },
                  "NAS": {
                    "Load average (1m avg)": {
                      "value": "0.59082",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Memory utilization": {
                      "value": "22.780513999999997",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "FS [/]: Space: Used, in %": {
                      "value": "74.3475830078125",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "Available updates": {
                      "value": "1",
                      "unit": "",
                      "value_type": "number"
                    },
                    "warnings": {
                      "online_status": "Available",
                      "count": 0,
                      "alerts": {}
                    }
                  },
                  "iobroker": {
                    "Load average (1m avg)": {
                      "value": "0.617188",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Available updates": {
                      "value": "0",
                      "unit": "",
                      "value_type": "number"
                    },
                    "Memory utilization": {
                      "value": "71.397829",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "FS [/]: Space: Used, in %": {
                      "value": "37.839508056640625",
                      "unit": "%",
                      "value_type": "number"
                    },
                    "warnings": {
                      "online_status": "Available",
                      "count": 0,
                      "alerts": {}
                    }
                  }
                }
                

                Auch habe ich es mit gemini geschafft, dass mir die json sauber in DPs samt Ordnern nachgebaut wird (muss nur noch [] rausfiltern).
                Auch, alte DPs zu löschen. Einfach die, wo die letzte Änderung Zb älter als 1sek nach dem ausführen sind.

                @Asgothian
                Keine Ahnung ob ich das kapiert habe 🤣
                Gebe das einfach mal gemini an die Hand ^^

                Edit
                Was gemini und ChatGPT aus deinem post bauen klappt nicht ^^.

                Zeigt eure Lovelace-Visualisierung klick
                (Auch ideal um sich Anregungen zu holen)

                Meine Tabellen für eure Visualisierung klick

                AsgothianA 1 Antwort Letzte Antwort
                0
                • David G.D David G.

                  @MCU sagte in Skript um DPs aufzuräumen:

                  Kannst du bitte den Hintergrund erklären, worum geht es dabei?
                  Wie entsteht die Situation?

                  Ich habe ein Script, was mir Statuswerte aus Zabbix holt.

                  {
                    "Zabbix server": {
                      "Load average (1m avg)": {
                        "value": "0.625977",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Memory utilization": {
                        "value": "8.208386000000004",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "FS [/]: Space: Used, in %": {
                        "value": "17.97281901041667",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "Available updates": {
                        "value": "0",
                        "unit": "",
                        "value_type": "number"
                      },
                      "warnings": {
                        "online_status": "Available",
                        "count": 0,
                        "alerts": {}
                      }
                    },
                    "Taiscale": {
                      "Load average (1m avg)": {
                        "value": "0.59082",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Memory utilization": {
                        "value": "6.156540000000007",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "FS [/]: Space: Used, in %": {
                        "value": "7.7972412109375",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "Available updates": {
                        "value": "0",
                        "unit": "",
                        "value_type": "number"
                      },
                      "warnings": {
                        "online_status": "Available",
                        "count": 0,
                        "alerts": {}
                      }
                    },
                    "MariaDB": {
                      "Load average (1m avg)": {
                        "value": "0.625977",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Memory utilization": {
                        "value": "20.896816",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "FS [/]: Space: Used, in %": {
                        "value": "21.89483642578125",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "Available updates": {
                        "value": "0",
                        "unit": "",
                        "value_type": "number"
                      },
                      "warnings": {
                        "online_status": "Available",
                        "count": 0,
                        "alerts": {}
                      }
                    },
                    "Proxmox_Home": {
                      "Load average (1m avg)": {
                        "value": "0.617188",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Memory utilization": {
                        "value": "52.825473",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "FS [/]: Space: Used, in %": {
                        "value": "42.42970375298272",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "Available updates": {
                        "value": "5",
                        "unit": "",
                        "value_type": "number"
                      },
                      "warnings": {
                        "online_status": "Available",
                        "count": 2,
                        "alerts": {
                          "32944": {
                            "uid": "59747",
                            "triggerid": "32944",
                            "message": "Proxmox VE: VM [pve/PBS (qemu/114)] high memory usage",
                            "priority": "Warning",
                            "time": "01.01.2026 23:20:37"
                          },
                          "32961": {
                            "uid": "65386",
                            "triggerid": "32961",
                            "message": "Proxmox VE: VM [pve/Docker (qemu/113)]: Not running",
                            "priority": "Average",
                            "time": "02.01.2026 12:08:27"
                          }
                        }
                      }
                    },
                    "PBS": {
                      "Load average (1m avg)": {
                        "value": "0.029785",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Memory utilization": {
                        "value": "10.296623999999994",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "FS [/]: Space: Used, in %": {
                        "value": "54.08080413119932",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "Available updates": {
                        "value": "7",
                        "unit": "",
                        "value_type": "number"
                      },
                      "warnings": {
                        "online_status": "Available",
                        "count": 0,
                        "alerts": {}
                      }
                    },
                    "Docker": {
                      "Load average (1m avg)": {
                        "value": "0.286621",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Memory utilization": {
                        "value": "24.302128999999994",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "FS [/]: Space: Used, in %": {
                        "value": "66.43690581872296",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "Available updates": {
                        "value": "0",
                        "unit": "",
                        "value_type": "number"
                      },
                      "warnings": {
                        "online_status": "Not available",
                        "count": 2,
                        "alerts": {
                          "33250": {
                            "uid": "58730",
                            "triggerid": "33250",
                            "message": "Docker: Failed to fetch info data",
                            "priority": "Warning",
                            "time": "01.01.2026 20:58:10"
                          },
                          "33262": {
                            "uid": "58502",
                            "triggerid": "33262",
                            "message": "Linux: Zabbix agent is not available",
                            "priority": "Average",
                            "time": "01.01.2026 20:31:39"
                          }
                        }
                      }
                    },
                    "NAS": {
                      "Load average (1m avg)": {
                        "value": "0.59082",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Memory utilization": {
                        "value": "22.780513999999997",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "FS [/]: Space: Used, in %": {
                        "value": "74.3475830078125",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "Available updates": {
                        "value": "1",
                        "unit": "",
                        "value_type": "number"
                      },
                      "warnings": {
                        "online_status": "Available",
                        "count": 0,
                        "alerts": {}
                      }
                    },
                    "iobroker": {
                      "Load average (1m avg)": {
                        "value": "0.617188",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Available updates": {
                        "value": "0",
                        "unit": "",
                        "value_type": "number"
                      },
                      "Memory utilization": {
                        "value": "71.397829",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "FS [/]: Space: Used, in %": {
                        "value": "37.839508056640625",
                        "unit": "%",
                        "value_type": "number"
                      },
                      "warnings": {
                        "online_status": "Available",
                        "count": 0,
                        "alerts": {}
                      }
                    }
                  }
                  

                  Auch habe ich es mit gemini geschafft, dass mir die json sauber in DPs samt Ordnern nachgebaut wird (muss nur noch [] rausfiltern).
                  Auch, alte DPs zu löschen. Einfach die, wo die letzte Änderung Zb älter als 1sek nach dem ausführen sind.

                  @Asgothian
                  Keine Ahnung ob ich das kapiert habe 🤣
                  Gebe das einfach mal gemini an die Hand ^^

                  Edit
                  Was gemini und ChatGPT aus deinem post bauen klappt nicht ^^.

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  @David-G. sagte in Skript um DPs aufzuräumen:

                  Was gemini und ChatGPT aus deinem post bauen klappt nicht ^^.

                  Das wundert mich nicht. :)

                  Zeig doch mal wie du die aus Zabbix geholten Werte im Objektbaum ablegst.

                  Dann kann ich versuchen dir so ein Skript zu bauen

                  A.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    peterfido
                    schrieb am zuletzt editiert von
                    #9

                    ChatGPT und Gemini sind Assistenten.

                    Die nehmen dir viel Tipparbeit ab. Die Logik muss trotzdem noch extern gefüttert werden. Wobei Gemini in jedem Fall besser für Android ist. Schon, weil es, da es den Code im Android Studio direkt selbst ändern kann. Aber es macht auch viel Mist. Da muss man dann so genau wie möglich beschreiben, was da nicht wie erwartet funktioniert.

                    Die Vorschläge sind auch manchmal überflüssig:

                    9ae64997-81a1-4e97-9d5c-029b54c8d95a-image.png

                    Gruß

                    Peterfido


                    Proxmox auf Intel NUC12WSHi5
                    ioBroker: Debian (VM)
                    CCU: Debmatic (VM)
                    Influx: Debian (VM)
                    Grafana: Debian (VM)
                    eBus: Debian (VM)
                    Zigbee: Debian (VM) mit zigbee2mqtt

                    1 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    703

                    Online

                    32.6k

                    Benutzer

                    82.1k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe