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.
    • 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
            • liv-in-sky
              liv-in-sky @paul53 last edited by

              @paul53
              script lief - ohne fehler
              ich kann keine datenpunkt in meiner struktur anlegen - liegt das daran, dass der typ von controll-own falsch ist ?

              AApossis (97).gif

              wenn ja - kann ich noch was tun - oder nur als expert arbeiten bzw mit der alten benutzeroberfläche für den objecte-tab

              das umstellen der struktur nach userdata ist eher keine option - dp unter controll-own: 771, scripte: sehr viele - vis : sehr viele

              Homoran paul53 apollon77 3 Replies Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @liv-in-sky last edited by

                @liv-in-sky sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                liegt das daran, dass der typ von controll-own falsch ist ?

                ja. Das ist das klassische Problem

                @liv-in-sky sagte in Admin5: Ich kann keine Objekte mehr manuell anlegen:

                kann ich noch was tun

                ebenfalls ja - @paul53 hatte das irgendwo beschrieben.
                man musste irgendwo / irgendwie dieses "Verzeichnis" mit identischem Namen nochmal als "folder" anlegen

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

                  @liv-in-sky sagte: oder nur als expert arbeiten

                  So ist es, wenn manuell Datenpunkte unter "controll-own" erstellt werden sollen (hatte ich oben nachträglich geschrieben).

                  Weshalb ist "controll-own.0" ein Folder-Objekt? Ändere es in den Eigenschaften in "meta".

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

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

                    ebenfalls ja - @paul53 hatte das irgendwo beschrieben.
                    man musste irgendwo / irgendwie dieses "Verzeichnis" mit identischem Namen nochmal als "folder" anlegen

                    ich kann auf der eben ja nix anlegen- wäre ja die unterste ebene - bei der alten benutzeroberfläche hat man einfach nichts ausgewählt und dann etwas angelegt - jetzt funktioniert das nicht mehr

                    @paul53

                    ok - doof für mich - danke

                    @cash

                    das umstellen ist viel aufwand - man bräuchte ein script (für die objecte) welche die objekte liest (mit history,usw) und die states und diese dann neu anlegt und die states setzt- dann müßte auch für die aliase ein korrektur script gemacht werden - für die vis muss jede view in jedem project angefasst werden und die dp ersetzt werden. js-scripte einzeln zu verändern ist viieel zu aufwendig - da müßte man doch über die linux ebene arbeiten und mit einem bash script alles durchgehen - blockly/rules würden nur einzeln zu ändern sein, flot muss einzeln geändert werden.adapter wie smart control und iqontrol sind auch noch da
                    sehe ich das falsch und/oder habe ich noch was vergessen ?

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

                      Weshalb ist "controll-own.0" ein Folder-Objekt? Ändere es in den Eigenschaften in "meta".

                      das habe ich von hand geändert - ich habe mich nicht "getraut" meta daraus zu machen - da ich nicht weiß, ob das irgendwelche auswirkungen haben kann, wenn ich ein solches, selbstangelegtes object zu meta mache

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

                        @liv-in-sky sagte: irgendwelche auswirkungen haben kann, wenn ich ein solches, selbstangelegtes object zu meta mache

                        Es hat keine Auswirkung, entspricht aber dem Standard, dass Objekte der zweiten Punkt-Ebene ("xyz.0") vom Typ "meta" sind.

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

                          @paul53

                          Image 4.png

                          habe nur das geändert - sollte so ok sein

                          Image 5.png

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

                            @dr-bakterius Ja Du kannst den JavaScript code Anpassen aber das ändert nichts an den Daten in den Blocklies ... Sobald du das Blockly dann im Editor anfassen würdest wäre alles zurückgestellt. Das geht nicht

                            Dr. Bakterius 1 Reply Last reply Reply Quote 0
                            • apollon77
                              apollon77 @liv-in-sky last edited by

                              @liv-in-sky Typ Meta??? Warum? Wozu? Das ist an sich falsch

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

                                @apollon77 was soll ich da reinschreiben ? was hälst du für besser

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

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

                                  Bzw gibt es eine Möglichkeit einfach alle Objekte von "eigene Objekte" nach 0_userdata zu kopieren.

                                  Hatten wir weiter oben schonmal: Objekt-Export im Admin, texteditor Search&Replace, Object Import im Admin

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

                                    @apollon77 sagte: Typ Meta??? Warum? Wozu? Das ist an sich falsch

                                    Was ist daran falsch? "0_userdata.0", "0_test.0", "admin.0", "alias.0" ... haben auch den Typ "meta".

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

                                      @liv-in-sky Ich denke das wird faktisch nicht funktionieren weil Admin denkt das das ein Adapter ist und deren Objekte darf keiner ändern. Vllt im Expertenmodus? Ansonsten halt zum anlegen von neuen Objekten dort mit ner zweiten Admin Instanz mit alter UI arbeiten so lange bis Du umgestellt hast

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

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

                                        Weshalb ist "controll-own.0" ein Folder-Objekt? Ändere es in den Eigenschaften in "meta".

                                        Nee bitte nicht meta ... Das ist für was anderes

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

                                          @apollon77 sagte: Vllt im Expertenmodus?

                                          Ja, nur im Expertenmodus.

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

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

                                            Ob man aus der letzten Zeile wieder ein Blockly machen kann?

                                            Man kann, ich habe dazu auch schon verschiedene Beiträge gepostet. Die Behandlung ist etwas unterschiedlich je nachdem woher die Daten kommen(Extract aller Skripte, Blockly.js, backup.json). Hier mal für ein Beispiel für eine Blocklydatei im Mirrorpfad. Man könnte diese auch gleich ins System einlesen, ist hier aber nicht gemacht sondern wird als Datei zur Verfügung gestellt. Ist ein Skript aus meiner ersten Zeit mit Javascript.
                                            Pfad und Filename sind in den Zeilen 8 + 9 anzugeben, die Importdaten liegen dann als Datei.xml vor

                                             /**
                                             * Zweck:       Extrahiert XML Datei aus Blockly.js im Mirror-Pfad
                                             * Datum:       08.08.2021
                                             * Autor:       @fastfoot
                                             */
                                            var fs = require('fs');
                                            
                                            var scriptPath = '/opt/iobroker/scripts/';
                                            var inFile = 'TestXY'
                                            
                                            var scriptName1 = scriptPath + inFile + '.js';
                                            var scriptName2 = scriptName1.replace('.js','.xml');
                                            
                                            function getXML() {
                                                fs.readFile(scriptName1, 'utf8',  function(error, data) {
                                                    if(error) log('Fehler beim Lesen von ' + scriptName1, 'error');
                                                    else {
                                                        const pos = data.lastIndexOf('\n');
                                                        if (pos !== -1) {
                                                            data = data.substring(pos + 1);
                                                            if (data[0] === '/' && data[1] === '/') {
                                                                data = decodeURIComponent(Buffer.from(data.substring(2), 'base64').toString('utf8'));
                                                                if (data.startsWith('<xml xmlns')) {
                                                                    fs.writeFile(scriptName2, data, function(err) {
                                                                        if(err) return console.log(err);
                                                                    });
                                                                }
                                                            }
                                                        }
                                                    }
                                                });
                                            }
                                            
                                            getXML();
                                            
                                            liv-in-sky D 2 Replies 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

                                            790
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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