Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Skript] Namespace für Datenpunkte in Skripten abändern

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Skript] Namespace für Datenpunkte in Skripten abändern

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

      Kleine Ergänzung:

      • Vor dem Einsatz mit der Option replaceInSystemsDB unbedingt ein Backup machen!

      • Der in pathToRestore angegebene Pfad muss existieren!

      • Man kann die Suche bzw. Änderungen auf einzelne Ordner oder Skripte beschränken. Hierzu in Zeile 23 den Selektor abändern:

        • findet alle Skripte: const scriptIds = $('javascript.*.scriptEnabled.*');
        • Skripte in common: const scriptIds = $('javascript.*.scriptEnabled.common.*');
        • Einzelnes Skript: const scriptIds = $('javascript.*.scriptEnabled.*.convertMe');
      • Damit auch alle Skripte gefunden werden, die Instanz immer als * angeben, also javascript.*.

      1 Reply Last reply Reply Quote 0
      • sigi234
        sigi234 Forum Testing Most Active @fastfoot last edited by sigi234

        @fastfoot

        00:26:37.099	info	javascript.0 (16560) Stop script script.js.Sigi.Namespace
        00:26:37.107	info	javascript.0 (16560) Start javascript script.js.Sigi.Namespace
        00:26:37.123	info	javascript.0 (16560) script.js.Sigi.Namespace: registered 0 subscriptions and 0 schedules
        00:26:37.124	error	javascript.0 (16560) script.js.Sigi.Namespace: ReferenceError: Cannot access 'scriptId' before initialization
        00:26:37.124	error	javascript.0 (16560) at script.js.Sigi.Namespace:26:20
        00:26:37.124	error	javascript.0 (16560) at switchDPs (script.js.Sigi.Namespace:25:14)
        00:26:37.124	error	javascript.0 (16560) at script.js.Sigi.Namespace:186:1
        00:26:37.124	error	javascript.0 (16560) at script.js.Sigi.Namespace:189:3
        

        Screenshot (4170).png

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

          @sigi234 Der Fehler lag in Zeile 26(nach 'Verbesserung' von Variablennamen. Setze dennoch dbg auf false, da wird sehr viel Müll geloggt

          Du hast den Namespace in Zeile 11 nicht geändert, das wird dir keine Änderungen zeigen, ist aber für die Auflistung deiner Skripte völlig ok

          sigi234 1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @fastfoot last edited by sigi234

            @fastfoot sagte in [Skript] Namespace für Datenpunkte in Skripten abändern:

            @sigi234 Der Fehler lag in Zeile 26(nach 'Verbesserung' von Variablennamen. Setze dennoch dbg auf false, da wird sehr viel Müll geloggt

            Du hast den Namespace in Zeile 11 nicht geändert, das wird dir keine Änderungen zeigen, ist aber für die Auflistung deiner Skripte völlig ok

            Ok, Zeile 11 muss ich da auch einen Ordner anlegen? Wenn ich const replaceInSystemsDB = false auf true ändere wird ja sofort ins System geschrieben. Ist der Pfad für Windows Systeme?

            Info:
            Tabelle wird Richtig im Verzeichnis angelegt.

            LOG:

            javascript.0
            2021-08-18 08:35:56.416	info	script.js.Sigi.Namespace1: registered 0 subscriptions and 0 schedules
            
            javascript.0
            2021-08-18 08:35:56.415	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.415	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.415	warn	at switchDPs (script.js.Sigi.Namespace1:116:8)
            
            javascript.0
            2021-08-18 08:35:56.415	warn	at setState (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:1439:20)
            
            javascript.0
            2021-08-18 08:35:56.414	warn	You are assigning a array to the state "0_userdata.0.scriptCheck" which expects a string. Please fix your code to use a string or change the state type to array. This warning might become an error in future versions.
            
            javascript.0
            2021-08-18 08:35:56.410	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.410	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.410	warn	at switchDPs (script.js.Sigi.Namespace1:25:14)
            
            javascript.0
            2021-08-18 08:35:56.409	warn	at Object.result.each (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:819:29)
            
            javascript.0
            2021-08-18 08:35:56.409	warn	at script.js.Sigi.Namespace1:27:24
            
            javascript.0
            2021-08-18 08:35:56.409	warn	getState "javascript.0.scriptEnabled.global.messages" not found (3) states[id]=null
            
            javascript.0
            2021-08-18 08:35:56.409	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.408	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.408	warn	at switchDPs (script.js.Sigi.Namespace1:25:14)
            
            javascript.0
            2021-08-18 08:35:56.408	warn	at Object.result.each (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:819:29)
            
            javascript.0
            2021-08-18 08:35:56.408	warn	at script.js.Sigi.Namespace1:27:24
            
            javascript.0
            2021-08-18 08:35:56.407	warn	getState "javascript.0.scriptEnabled.global.linkeddevices.linkeddevices0" not found (3) states[id]=null
            
            javascript.0
            2021-08-18 08:35:56.407	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.407	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.406	warn	at switchDPs (script.js.Sigi.Namespace1:25:14)
            
            javascript.0
            2021-08-18 08:35:56.406	warn	at Object.result.each (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:819:29)
            
            javascript.0
            2021-08-18 08:35:56.406	warn	at script.js.Sigi.Namespace1:27:24
            
            javascript.0
            2021-08-18 08:35:56.405	warn	getState "javascript.0.scriptEnabled.global.function_event" not found (3) states[id]=null
            
            javascript.0
            2021-08-18 08:35:56.405	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.405	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.405	warn	at switchDPs (script.js.Sigi.Namespace1:25:14)
            
            javascript.0
            2021-08-18 08:35:56.405	warn	at Object.result.each (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:819:29)
            
            javascript.0
            2021-08-18 08:35:56.405	warn	at script.js.Sigi.Namespace1:27:24
            
            javascript.0
            2021-08-18 08:35:56.404	warn	getState "javascript.0.scriptEnabled.global.Skript_1" not found (3) states[id]=null
            
            javascript.0
            2021-08-18 08:35:56.404	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.404	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.404	warn	at switchDPs (script.js.Sigi.Namespace1:25:14)
            
            javascript.0
            2021-08-18 08:35:56.404	warn	at Object.result.each (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:819:29)
            
            javascript.0
            2021-08-18 08:35:56.404	warn	at script.js.Sigi.Namespace1:27:24
            
            javascript.0
            2021-08-18 08:35:56.403	warn	getState "javascript.0.scriptEnabled.global.Material_sendTo" not found (3) states[id]=null
            
            javascript.0
            2021-08-18 08:35:56.400	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.400	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.400	warn	at switchDPs (script.js.Sigi.Namespace1:25:14)
            
            javascript.0
            2021-08-18 08:35:56.400	warn	at Object.result.each (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:819:29)
            
            javascript.0
            2021-08-18 08:35:56.400	warn	at script.js.Sigi.Namespace1:27:24
            
            javascript.0
            2021-08-18 08:35:56.399	warn	getState "javascript.0.scriptEnabled.global.MaterialDesignWidgets.vis-materialdesign0" not found (3) states[id]=null
            
            javascript.0
            2021-08-18 08:35:56.399	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.399	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.399	warn	at switchDPs (script.js.Sigi.Namespace1:25:14)
            
            javascript.0
            2021-08-18 08:35:56.398	warn	at Object.result.each (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:819:29)
            
            javascript.0
            2021-08-18 08:35:56.398	warn	at script.js.Sigi.Namespace1:27:24
            
            javascript.0
            2021-08-18 08:35:56.397	warn	getState "javascript.0.scriptEnabled.global.Datum_holen" not found (3) states[id]=null
            
            javascript.0
            2021-08-18 08:35:56.001	warn	at script.js.Sigi.Namespace1:189:3
            
            javascript.0
            2021-08-18 08:35:56.001	warn	at script.js.Sigi.Namespace1:186:1
            
            javascript.0
            2021-08-18 08:35:56.001	warn	at switchDPs (script.js.Sigi.Namespace1:25:14)
            
            javascript.0
            2021-08-18 08:35:56.001	warn	at Object.result.each (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:819:29)
            
            javascript.0
            2021-08-18 08:35:56.001	warn	at script.js.Sigi.Namespace1:27:24
            
            javascript.0
            2021-08-18 08:35:55.998	warn	getState "javascript.0.scriptEnabled.Rules.Skript_1" not found (3) states[id]=null
            
            javascript.0
            2021-08-18 08:35:55.208	info	Start javascript script.js.Sigi.Namespace1
            
            javascript.0
            2021-08-18 08:35:54.862	info	Stop script script.js.Sigi.Namespace1
            

            Konfig:

            /**
            * Zweck:           Ändert Namespace von Datenpunkten in Skripten
            * Datum:           17.08.2021
            * Author:          @fastfoot
            * Forum:           https://forum.iobroker.net/topic/47113/skript-namespace-f%C3%BCr-datenpunkte-in-skripten-abändern
            */
            let dbg = false;                        // Zusatzausgaben fürs Debugging
            const newNamespace = '0_userdata.0';      //neuer Namespace für DP
             
            //          Eigene Einstellungen
            const oldNamespace = '0_userdata.0.oldNamespace';       //Ordner für Namespace welcher ersetzt wird
            const replaceInSystemsDB = false;// lädt geänderte Dateien sofort ins System(ACHTUNG! *** auf eigenes Risiko ***)
            const writeToFileSystem = true;// Geänderte Dateien ins Filesystem schreiben
            const pathToRestore = 'C:/Program Files/iobroker/Home/backups/switched/'; // <=== Pfad eintragen mit abschliessendem /
            const extChanged = 'Chg';   // Wird im Falle einer Änderung an ID und Name angehangen
             
            
            F 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @fastfoot last edited by

              super - vielen dank für deinen einsatz

              @fastfoot sagte in [Skript] Namespace für Datenpunkte in Skripten abändern:

              Die neuen Datenpunkte unter 0_userdata.0 sollten/müssen vor dem Neustart der Skripte natürlich schon vorhanden sein(Export Objekstruktur => Ersetzen alter Namespace mit neuem Namespace => Import unter 0_userdata.0)

              das thema wurde bisher im anderen thread auch nur halb erwähnt - die states müssen auch noch "kopiert" werden ! beim import/export der objectstruktur werden die states nicht übernommen !!

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

                @liv-in-sky sagte in [Skript] Namespace für Datenpunkte in Skripten abändern:

                die states müssen auch noch "kopiert" werden

                Verstehe Bahnhof?

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

                  @sigi234

                  wenn du im objecte tab einen export der objecte machst (über datei export) , und diese datei später wieder mit den neuen pfaden importierst, sind die states nicht mit den alten werten gesetzt

                  man exportiert und importiert nur die dp-objecte - die dazugehörigen states werden nicht importiert

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

                    @sigi234

                    Image 2.png

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

                      @liv-in-sky sagte in [Skript] Namespace für Datenpunkte in Skripten abändern:

                      die states müssen auch noch "kopiert" werden !

                      Das habe ich auch schon gemerkt, nur wie kopiert man die states?

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

                        @sigi234 sagte in [Skript] Namespace für Datenpunkte in Skripten abändern:

                        Ok, Zeile 11 muss ich da auch einen Ordner anlegen? Wenn ich const replaceInSystemsDB = false auf true ändere wird ja sofort ins System geschrieben. Ist der Pfad für Windows Systeme?

                        Du musst Zeile11 nur dann verändern, wenn Du einen Namespace, der jetzt nicht mehr erlaubt ist, verändern willst. Etwa wenn du jetzt zB MeineDatenpunkte.0 benutzt und sie nach 0_userdata.0 migrieren willst. Schreib da wieder oldNamespace.0 rein wenn das nicht der Fall ist. Ansonsten nutze das Skript halt nur um deine Skripte zu listen.

                        Der Fehler bei setState() kommt weil ich einen DP mit type array vorausgesetzt habe. Lasse deinen Type auf string und ändere Zeile 116 in
                        setState('0_userdata.0.scriptCheck',JSON.stringify(changesResult));

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

                          @fredf

                          ich hab ein script, welches einen object-pfad aussliest und eine datei erstellt, die lauter "setState(...) " befehle beinhaltet - damit könnte man das lösen

                          momentan habe ich aber noch ein problem damit - wenn ein state einen string enthält. da das script "uralt" ist, muss ich es erst ändern und anpassen - so das es gleich in den neuen state geschrieben wird

                          ich poste es, wenn fertig

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

                            @fredf

                            eigentlich sollte das reichen

                            
                            var fs = require('fs');
                            
                            let oldObjectPath="controll-own.0.AAATEST"
                            let newObjectPath="0_userdata.0.CONTROL-OWN.AAATEST"
                            
                            
                                var cacheSelectorState = $(`state[state.id=${oldObjectPath}.*]`);
                            cacheSelectorState.each(function (id, i) {
                                var val1 = getState(id).val;
                                   if (val1 == null ) 
                                      {log(id + " hat keinen state");} 
                                 else {
                                       setState(id.replace(oldObjectPath,newObjectPath),getState(id).val )
                                };});
                            
                            
                            
                            

                            du mußt fs in das javascript instanz setting eintragen und den alten und neuen pfad

                            • hier im script habe ich einen unterordner eingetragen - zum testen - da könnte auch
                            let oldObjectPath="controll-own.0"
                            let newObjectPath="0_userdata.0.CONTROL-OWN"
                            

                            drinstehen

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

                              @fastfoot

                              man müßte doch auch ein script machen können, das die einnzelnen vis views ändert

                              Image 4.png

                              das script könnte die vis-view.json in vis-view.json.new anlegen (mit geänderten werten) ,dann könnte man iobroker abschalten und diesse files ersetzen/umbenennen - bin mir nicht mehr sicher, ob es reicht nur den vis-adapter zu deaktivieren

                              dann müßte nur noch unter dem scripte-tab und dem css-stab im vis-editor überprüft werden, ob da auch noch was drin steht, was geändert werden muss

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

                                @liv-in-sky 👍 Das werde ich testen

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

                                  @fastfoot

                                  die änderungen für die vis - alle views auf einmal - habe mal ein script gemacht - wärst du so nett, mal drüber zu sehen - ob dir etwas auffällt

                                  für den test, habe ich eine noch eine einschränkung drin, damit nur ein file bearbeitet wird

                                  ergebnis:

                                  Image 5.png

                                  script:

                                  
                                  var myPath="/opt/iobroker/iobroker-data/files/vis.0";
                                  let oldObjectPath="controll-own.0"
                                  let newObjectPath="0_userdata.0.CONTROL-OWN"
                                  
                                  
                                  let re = new RegExp( oldObjectPath, "g" );
                                  
                                  
                                  var myRootArr=[];
                                  var myRootArrFiles=[];
                                  var fs = require('fs');  
                                  
                                  var _getAllFilesFromFolder = function(dir) {
                                  var filesystem = require("fs");
                                  var results = [];
                                  
                                  
                                     filesystem.readdirSync(dir).forEach(function(file) {
                                           file = dir+'/'+file;
                                         var stat = filesystem.statSync(file);
                                         if (stat && stat.isDirectory()) {
                                              results = results.concat(_getAllFilesFromFolder(file))
                                         } else results.push(file);
                                     });
                                      return results;
                                  };
                                  
                                  //log(_getAllFilesFromFolder("/opt/iobroker/scripte-backup/Armin_Schalter/FUTRO").toString())
                                  
                                  function getDirectories(path) {
                                   return fs.readdirSync(path).filter(function (file) {
                                     return fs.statSync(path+'/'+file).isDirectory();
                                   });
                                  }
                                  
                                  
                                  
                                  async function sammleDaten () {
                                    // return new Promise((resolve) => {
                                  
                                  myRootArr=getDirectories(myPath)
                                  
                                  myRootArrFiles=_getAllFilesFromFolder(myPath)
                                  
                                  //log(isScriptActive('Armin_Schalter.AA-TABELLEN.N_E_U_E_T_A_B_E_L_L_E_N.AATelegramDelete.Skript_111').toString());
                                  //myRootArrFiles.toString())
                                  for(let z=0;z<myRootArrFiles.length;z++){
                                   if(myRootArrFiles[z].includes("vis-views.json")) { //log(myRootArrFiles[z]);
                                         let  content=fs.readFileSync( myRootArrFiles[z], 'utf8' );
                                       if(z==182) {log( myRootArrFiles[z])
                                       content=content.replace(re,newObjectPath)
                                       fs.writeFile(myRootArrFiles[z] + ".new", content, e => {
                                                    if (e) log('Fehler beim Schreiben der Datei:' + e.error)
                                                })
                                       }
                                    
                                     
                                  }
                                  
                                  
                                  
                                  }}
                                  
                                  async function doStuff() {
                                  await sammleDaten();
                                  
                                  }
                                  
                                  
                                  doStuff()
                                  
                                  
                                  
                                  
                                  

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

                                    @liv-in-sky sagte in [Skript] Namespace für Datenpunkte in Skripten abändern:

                                    wärst du so nett, mal drüber zu sehen - ob dir etwas auffällt

                                    klar mache ich, wird aber etwas dauern, bin unterwegs

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

                                      @liv-in-sky warum in allen Dateien suchen? Die vis-views.json sollte es doch tun.
                                      Bei deinen Funktionen habe ich nicht recht durchgeblickt, deshalb so:

                                      hier für Mutige, habe nicht einmal die Vis gestoppt. Seltsamerweise funktioniert readFileAsync() hier nicht, mit keinem meiner Files kommt da was zurück, deswegen mit Callback. Trau Dich😬

                                      /**
                                       * Zweck:   Ändert Namespace in VIS
                                       */
                                      
                                      const visPath = "vis.0";
                                      let oldObjectPath = "controll-own.0";
                                      let newObjectPath = "0_userdata.0.CONTROL-OWN";
                                      
                                      
                                      let re = new RegExp(oldObjectPath, "g");
                                      
                                      readFile(visPath, 'main/vis-views.json', function (e,visData){
                                          if(e){
                                              log('Fehler: ' + e);
                                              return;
                                          }
                                          //Backup
                                          writeFileAsync(visPath, 'main/vis-views.json.bak', visData);
                                          //just switch :-)
                                          writeFileAsync(visPath, 'main/vis-views.json', visData.replace(re,newObjectPath))
                                      });
                                      
                                      liv-in-sky 1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @fastfoot last edited by

                                        @fastfoot

                                        die vis muss gestoppt sein, ansonsten wird beim neustart alles überschrieben (was im cache ist)

                                        danke -bin etwas verwirrt - es gibt doch pro vis-view eine datei - also brauch ich eine schleife, die alle vis-view-verzeichnisse durchgeht

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

                                          @liv-in-sky sagte in [Skript] Namespace für Datenpunkte in Skripten abändern:

                                          @fastfoot

                                          die vis muss gestoppt sein, ansonsten wird beim neustart alles überschrieben (was im cache ist)

                                          danke -bin etwas verwirrt - es gibt doch pro vis-view eine datei - also brauch ich eine schleife, die alle vis-view-verzeichnisse durchgeht

                                          writeFile() schreibt direkt ins System(und danach auch ins Filesystem). ich habe nur eine einzige Datei in main(plus die css). Nach einem Browserreload waren die neuen Dateipunkte aktiv. Ich hatte nur von 0_userdata.0 zu 0_userdata.1 geswitcht, woraufhin die VIS die natürlich moniert hatte. Dann wieder zurück und reload und alles war wieder da.

                                          writeFile() nicht verwechseln mit fs.writeFile(), zweitere schreibt ins Dateisystem und würde einen Upload erfordern!

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

                                            @fastfoot ah ok - ich muss writefile ändern - guter tipp

                                            ich wollte halt die alten files behalten und bei gestoppter vis die dateien einzeln umbenennen - danach vis wieder starten - so mache ich es, wenn ich in einer view "zombie"-widgets habe und diese rauslöschen muss (aus der vis-view.json) - kommt ab und an vor.

                                            bin mir noch nicht sicher, ob ich direkt ins system schreiben soll, nicht das bei der konvertierung etwas schief geht - evtl mach ich einen file rename mit*.bak und erzeuge dann die neuen files mit dem richtigen namen

                                            hier siehst du die ordnerstruktur für alle views https://forum.iobroker.net/post/666097 - jeder ordner unter vis.0 ist eine view - ist nicht wie bei den objects, wo alles in einer datei steht

                                            werd mir morgen wieder zeit dafür nehmen und nochmal drüber nachdenken

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            844
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            82
                                            4997
                                            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