Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Admin5: Ich kann keine Objekte mehr manuell anlegen

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Admin5: Ich kann keine Objekte mehr manuell anlegen

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 @klassisch last edited by

      @klassisch sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

      Wird das mit dem neuen Admin jetzt auch verboten/blockiert/funktionslos/bewarnt?

      ne, wie Paul53 schon sagte hat das nichts damit zu tun - so wie ich auch in mehreren Posts oben geschrieben habe.

      Aber Deine Strukturen sind ein typisches Beispiel für das Ausreizen der Grenzen. Und dann wundern sich User warum Dinge nicht tun ... tja ...

      Ob das irgendwann mal mit einem künftigen js-controller angemeckert wird kann ich Dir heute nicht sagen.

      1 Reply Last reply Reply Quote 1
      • apollon77
        apollon77 @cash last edited by

        @cash Was meinst du? Weil es nur "hm-rpc" auf der ersten ebene gibt? Dann klapp mal auf ... da ommt dann 0/1 und so

        cash 1 Reply Last reply Reply Quote 0
        • apollon77
          apollon77 last edited by

          @fastfoot @paul53 Habe Eure Skripte oben mal verlinkt. Da wart Ihr schneller als @Dutchman 🙂

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

            @paul53 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

            Etwas abgewandelt...

            Gute Idee, die Struktur zu erweitern, da habe ich keinerlei Erfahrung

            Du hast obj.native:{} gesetzt, aber zumindest Admin5 setzt dieses beim manuellen Anlegen für keines der level folder, device oder channel, weshalb ich es auch weggelassen hatte. Macht es dennoch Sinn?

            setObject() scheint logischer, da es ja nichts zu erweitern gibt. Hatte ich ursprünglich aber dann hatte ich wohl einen Denkfehler

            arr.pop() made my day 🙂 Wieder was gelernt...

            paul53 1 Reply Last reply Reply Quote 0
            • cash
              cash Most Active @apollon77 last edited by

              @apollon77 said in Admin5: Ich kann keine Objekte mehr manuell anlegen:

              @cash Was meinst du? Weil es nur "hm-rpc" auf der ersten ebene gibt? Dann klapp mal auf ... da ommt dann 0/1 und so

              Du hattest oben geschrieben wenn es bei einem existieren Objekt kein Stift gibt wurde das Objekt nicht richtig angelegt. In meinem Screenshot sieht man das nicht nur wir Anwender solche Fälle bei den selbsterstellten Objekten haben sondern das viele Adapter es auch nicht besser machen. Die müssten doch als type „folder“, „meta“ oder was auch immer angelegt werden?

              apollon77 1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 @cash last edited by

                @cash korrekt und unterhalb von name.0 sollten sie das auch schon größtenteils tun. Andere Baustelle.

                1 Reply Last reply Reply Quote 0
                • Dr. Bakterius
                  Dr. Bakterius Most Active @apollon77 last edited by

                  @apollon77 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                  Die Skripte könnte man auch einfach machen in dem man die Mirroring Funktion des Javascript adapter nutzt (also ausser man nutzt blockly, dann blöd).

                  Geht doch bei Blockly auch - meine Blocklys werden in Dateien gespiegelt - oder habe dich da falsch verstanden?

                  paul53 apollon77 2 Replies Last reply Reply Quote 0
                  • A
                    Abruni @apollon77 last edited by Abruni

                    @apollon77 Tut mir Leid, dass ich da bezüglich der eigens erstellten DP im Ordner javascript.0 nachfragen muss. In meiner Erinnerung, war es so, dass die Erstellung dieser eigenen DP dort empfohlen wurde und es gar nicht möglich war, diese woanders anzulegen, zumindest über die Funktion CreateState aus einem (Blockly-) Script. Erste später ging es eben auch in 0_userdata.0. Seit dem dies geht, sind erstellte DP auch dort erstellt worden, aber es gibt eben noch viele DP in javascript.0 die auch in etlichen Scripten genutzt werden. Einerseits lese ich, dass diese DP bei einem javascript Update gelöscht werden, andererseits, dass da auf "lange Zeit nichts passieren wird". Was ist nun richtig? Werden eigene DP in javascript.0 "geduldet" und falls ja, müssen die in einem Unterordner sein? Wäre javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Kalenderwoche.Nummer OK?
                    Wäre javascript.0.Adventszeit OK?

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

                      @fastfoot sagte: Du hast obj.native:{} gesetzt, aber zumindest Admin5 setzt dieses beim manuellen Anlegen für keines der level folder, device oder channel, weshalb ich es auch weggelassen hatte. Macht es dennoch Sinn?

                      Bei einigen Device- und Channel-Objekten habe ich es gesehen. Ob es Sinn macht, kann vielleicht @apollon77 beantworten?

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        @abruni sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                        Einerseits lese ich, dass diese DP bei einem javascript Update gelöscht werden, andererseits, dass da auf "lange Zeit nichts passieren wird". Was ist nun richtig? Werden eigene DP in javascript.0 "geduldet"

                        da fehlt ein wichtiges Wort

                        bei einem javascript Update gelöscht werden könnten

                        der Rest passt

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

                          @abruni sagte: Wäre javascript.0.Kalender.Datuminfo.de.Woche.Jahr.Kalenderwoche.Nummer OK? Wäre javascript.0.Adventszeit OK?

                          Es ist beides OK, aber wenn beides gleichzeitig existiert, ist es schlecht strukturiert, womit der Nutzer allerdings selbst zurecht kommen muss.

                          1 Reply Last reply Reply Quote 1
                          • paul53
                            paul53 @Dr. Bakterius last edited by

                            @dr-bakterius sagte: meine Blocklys werden in Dateien gespiegelt

                            Aber nicht als Blockly, sondern der erzeugte Javascript-Code. Ob man aus der letzten Zeile wieder ein Blockly machen kann?

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

                              @paul53
                              @fastfoot

                              ich glaube, ich habe es noch nicht ganz "gerafft"

                              kann ich eure scripte auch bei meiner struktur anwenden - controll-own ist kein adapter - war ein eigenes "userdata" (lange, bevor das eingeführt wurde)

                              Image 2.png

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

                                @liv-in-sky ja kannst Du. Musst Du nur anpassen also statt 0_userdata. Dein Ordner.

                                Wichtig die Scripte räumen nicht auf. Das heißt falsche Struktur bleibt falsch. Nur bei nicht existieren Objekten wird entsprechende etwas gemacht. Bei z. B. LG_TV . ;Matrix 1 - 3 bleiben Device bzw Channel.

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

                                  @liv-in-sky sagte: kann ich eure scripte auch bei meiner struktur anwenden

                                  Ja, mit Zeile 2:

                                  const ids = $('controll-own.0.*');
                                  

                                  und Erweiterung der Zeile 33:

                                     if(arr[0] === '0_userdata' || arr[0] === 'javascript' || arr[0] === 'controll-own') {
                                  

                                  Du hast allerdings schon auf der untersten Ebene einige Device- und Channel-Objekte, die nicht angefasst werden (Zeile 11).
                                  Die Zeilennummern beziehen sich auf mein Skript.

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

                                    @paul53 Könnte man nicht auch die bestehende Struktur aufräumen? Wenn ich das richtig sehe ist
                                    Gerät - Status ja nicht gut. Sondern eher folder - Status oder channel - Status

                                    Bzw gibt es eine Möglichkeit einfach alle Objekte von "eigene Objekte" nach 0_userdata zu kopieren. Man müßte danach nur noch die Scripte anpassen. Könnte dann "eigene Objekte" löschen und wäre clean. Gut man müsste noch bei den neuen Objekten SQL aktivieren und den Alias anpassen damit die alten Werte erhalten bleiben.

                                    Zusatzfrage: Gibt es die Möglichkeit in den eigenen Objekten nach den Objekttypen "array" und "object" zu suchen? Da gab es ja auch ein Breaking Change. Bin mir bei mir nicht 100% sicher ob ich solche Felder habe. Die, die ich wußte habe ich geprüft. Die hatte ich als String angelegt und sollte somit dort keine Probleme haben.

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

                                      @paul53 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                      if(arr[0] === '0_userdata' || arr[0] === 'javascript' || arr[0]) === 'controll-own') {

                                      erstmal danke

                                      in der geänderten zeile 33 ist eine klammer zuviel (nach 3ten arr[]) (nur falls andere das auch nutzen wollen)

                                      @paul53 sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                      Du hast allerdings schon auf der untersten Ebene einige Device- und Channel-Objekte, die nicht angefasst werden (Zeile 11).

                                      bedeutet das, ich kann keine dp anlegen (ohne expert zu sein)

                                      ich mach jetzt erstmal ein proxmox backup 🙂

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

                                        @liv-in-sky sagte: in der geänderten zeile 33 ist eine klammer zuviel

                                        Danke, korrigiert.

                                        @liv-in-sky sagte: bedeutet das, ich kann keine dp anlegen

                                        Doch. Datenpunkte können unter Channels und Devices erstellt werden (als Experte). Mit einem eigenen Verzeichnis in der Wurzel bist Du Experte.

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

                                          @cash sagte: Gerät - Status ja nicht gut.

                                          Doch - siehe Doku, die allerdings nicht ganz aktuell ist (folder fehlt).

                                          @cash sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                          Man müßte danach nur noch die Scripte anpassen.

                                          Nur noch? Das kann viel Aufwand sein. Visualisierungen nicht zu vergessen.

                                          @cash sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                          Gibt es die Möglichkeit in den eigenen Objekten nach den Objekttypen "array" und "object" zu suchen?

                                          Wozu? Javascript behandelt sie ab Version 5.2.x richtig. Viele Adapter sind auch schon angepasst.

                                          cash 1 Reply Last reply Reply Quote 0
                                          • cash
                                            cash Most Active @paul53 last edited by

                                            @paul53 said in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                                            Nur noch? Das kann viel Aufwand sein. Visualisierungen nicht zu vergessen.

                                            Ich weiß auch das ist noch eine Menge arbeit aber man hat sich das anlegen unter 0_userdata schon mal gespart. In den Scripten kann man ja gut suchen und ersetzen.
                                            VIS ist natürlich auch noch mal großer Aufwand.

                                            Was das Thema array und object betrifft: Ab JavaScript Adapter Version 5.2.0 werden die Werte der Objekttypen "object" und ",array" automatisch konvertiert! Das bedeutet, dass beim Lesen solcher Zustandswerte kein "JSON.parse", mehr benötigt wird. Wenn ein JSON-Parse verwendet wird, kann das Skript abstürzen und muss angepasst werden - einfach das JSON.parse entfernen. Auch ein JSON.stringify wird beim Schreiben solcher Zustandswerte nicht mehr benötigt. Dies betrifft nur Zustandswerte von Objekten vom Typ "Array" oder "Objekt".

                                            Also muss man u. U. dort auch noch etwas machen…

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

                                            Support us

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

                                            959
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            36
                                            466
                                            60712
                                            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