Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Objekte sichern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Objekte sichern

Scheduled Pinned Locked Moved ioBroker Allgemein
sicherungbackupobjektewiederherstellung
30 Posts 8 Posters 3.1k Views 8 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • WszeneW Offline
    WszeneW Offline
    Wszene
    wrote on last edited by
    #13

    Danke für deine Schnelle Antwort
    Aber als ich meine Datenpunkte vom "alten" ioBroker wieder per .json Datei Importiert habe wurden diese ja auch wieder ins Root gelegt
    Bildschirmfoto 2020-04-06 um 06.39.38.png

    Meine Hard- & Software:

    • MSI Cubi 5 10M-049DE mit Proxmox
    • CC2652P Zigbee Stick
    • Steckdosen mit Tasmota und Zigbee
    • Lichtschalter mit Tasmota
    • IKEA TRÅDFRI Glühbirnen
    • Aqara Sensoren
    J.A.R.V.I.S.J 1 Reply Last reply
    0
    • WszeneW Wszene

      Danke für deine Schnelle Antwort
      Aber als ich meine Datenpunkte vom "alten" ioBroker wieder per .json Datei Importiert habe wurden diese ja auch wieder ins Root gelegt
      Bildschirmfoto 2020-04-06 um 06.39.38.png

      J.A.R.V.I.S.J Offline
      J.A.R.V.I.S.J Offline
      J.A.R.V.I.S.
      Developer
      wrote on last edited by J.A.R.V.I.S.
      #14

      @Wszene das ist ja auch nicht verwunderlich, da die Objekte beim Import nicht auf ihre richtige Ordnerstruktur geprüft werden, bzw. darauf, ob du sie angelegt hast und wo sich diese jetzt befinden.

      1 Reply Last reply
      0
      • WszeneW Offline
        WszeneW Offline
        Wszene
        wrote on last edited by
        #15

        Ich habe mir jetzt mal so eine .json genommen und diese wie folgt abgeändert

        {
          "02_FuerAlexaUndVIS.0.test": {
            "from": "system.adapter.admin.0",
            "user": "system.user.admin",
            "ts": 1578150492870,
            "common": {
              "name": "Test_",
              "role": "",
              "type": "boolean",
              "desc": "Manuell erzeugt",
              "read": true,
              "write": true,
              "def": false,
              "smartName": {
                "de": "Test"
              }
            },
            "native": {},
            "acl": {
              "object": 1638,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1638
            },
            "_id": "02_FuerAlexaUndVIS.0.test",
            "type": "state"
          }
        }
        

        Wenn ich diese importieren will kommt folgender Fehler
        Bildschirmfoto 2020-04-06 um 09.20.08.png

        Meine Hard- & Software:

        • MSI Cubi 5 10M-049DE mit Proxmox
        • CC2652P Zigbee Stick
        • Steckdosen mit Tasmota und Zigbee
        • Lichtschalter mit Tasmota
        • IKEA TRÅDFRI Glühbirnen
        • Aqara Sensoren
        1 Reply Last reply
        0
        • S Offline
          S Offline
          Strobi
          wrote on last edited by Strobi
          #16

          Hallo zusammen,
          möchte kein neues Thema aufmachen, daher hänge ich mich hier mal dran.

          Ich hab mein System neu aufgesetzt und muss daher ioBroker auch neu aufsetzen.
          Dafür habe ich mir den gesamten Objektbaum "0_userdata" vom alten ioBroker als JSON gesichtert. Den kann ich im neuen System auch wieder einlesen. So weit so gut.

          Wie bekomme ich aber nun die ganzen Datenwerte, die in den einelnen Objekte stehen, ins neue ioBroker System übertragen?

          Gibt's dazu ein paar praktikable Tipps?

          Viele Grüße,
          Strobi

          liv-in-skyL 1 Reply Last reply
          0
          • S Strobi

            Hallo zusammen,
            möchte kein neues Thema aufmachen, daher hänge ich mich hier mal dran.

            Ich hab mein System neu aufgesetzt und muss daher ioBroker auch neu aufsetzen.
            Dafür habe ich mir den gesamten Objektbaum "0_userdata" vom alten ioBroker als JSON gesichtert. Den kann ich im neuen System auch wieder einlesen. So weit so gut.

            Wie bekomme ich aber nun die ganzen Datenwerte, die in den einelnen Objekte stehen, ins neue ioBroker System übertragen?

            Gibt's dazu ein paar praktikable Tipps?

            Viele Grüße,
            Strobi

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

            @strobi

            habe es schon lange nicht mehr genutzt - damit hat es damals aber bei mir geklappt

            mit diesem script wird eine datei erzeugt und auf dem server gespeichert /opt/iobroker

            diese datei ist eigentlich ein script, das die states ausliest und diese dann speichert - nach dem import der objecte kann man das erzeugte script , welches die states erstellt, aufrufen

            • script definieren (pfad der datei, datei name und welchen teil er kopieren soll
            • anschliessend datei öffnen und als javascript impotieren

            das erzeugt script im ordner (opt/iobroker) sieht dann so aus - das muss als javascript importiert werden und einmalig aufgerufen werden

            Image 112.png

            das script, welches einmal im "alten iob" laufen muss:

            var fs = require('fs');
            var now =    new Date(); // store current date and time
            var year =   now.getFullYear();
            var month =  addZero(now.getMonth()+1).zero2;
            var day =    addZero(now.getDate()).zero2;
            var Thour =  addZero(now.getHours()).zero2;
            var Tmin =   addZero(now.getMinutes()).zero2;
            var Tsec =   addZero(now.getSeconds()).zero2;
            var logdate = day + '.' + month + '.' + year;
            var logtime = Thour + '-' + Tmin + '-' + Tsec;
            
            let datei = "/opt/iobroker/state";
            
            // Schedule für die Updates
            //schedule("52 9,12,16,19 * * *",  function () {       
            
                var cacheSelectorState = $('[id=0_userdata.0.*]');
            cacheSelectorState.each(function (id, i) {
               if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS') ){
               var val1 = getState(id).val;
                  if (val1 == null ) 
                     {log(id + " hat keinen state");} 
                else {var zk = "setState('"+id+"', "+val1 +");\n";
                      if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                          zk = "setState('"+id+"', '"+val1+"');\n";
                          fs.appendFileSync(datei + "-userdata0-" + logdate + "-"+ logtime + ".txt", zk);}
                      else {
                          fs.appendFileSync(datei + "-userdata0-" + logdate + "-"+ logtime + ".txt", zk);}
                      };}
            });  
            
            
            function addZero(i) {
               if (i < 10) {
                   i = "00" + i;
                   j = "0" + i;
               }
               if (i > 9 && i < 100) {
                   j = "0" + i;
               }
               return {
                   'zero2' : i,
                   'zero3' : j
               };
            } // Ende Funktion
            
            
            
            
            
            

            die pfeile zeigen, wo man etwas einstellen soll/kann

            Image 113.png

            in der javascript instanz muss fs als zusätzliches modul angegeben werden

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

            bahnuhrB S 3 Replies Last reply
            1
            • liv-in-skyL liv-in-sky

              @strobi

              habe es schon lange nicht mehr genutzt - damit hat es damals aber bei mir geklappt

              mit diesem script wird eine datei erzeugt und auf dem server gespeichert /opt/iobroker

              diese datei ist eigentlich ein script, das die states ausliest und diese dann speichert - nach dem import der objecte kann man das erzeugte script , welches die states erstellt, aufrufen

              • script definieren (pfad der datei, datei name und welchen teil er kopieren soll
              • anschliessend datei öffnen und als javascript impotieren

              das erzeugt script im ordner (opt/iobroker) sieht dann so aus - das muss als javascript importiert werden und einmalig aufgerufen werden

              Image 112.png

              das script, welches einmal im "alten iob" laufen muss:

              var fs = require('fs');
              var now =    new Date(); // store current date and time
              var year =   now.getFullYear();
              var month =  addZero(now.getMonth()+1).zero2;
              var day =    addZero(now.getDate()).zero2;
              var Thour =  addZero(now.getHours()).zero2;
              var Tmin =   addZero(now.getMinutes()).zero2;
              var Tsec =   addZero(now.getSeconds()).zero2;
              var logdate = day + '.' + month + '.' + year;
              var logtime = Thour + '-' + Tmin + '-' + Tsec;
              
              let datei = "/opt/iobroker/state";
              
              // Schedule für die Updates
              //schedule("52 9,12,16,19 * * *",  function () {       
              
                  var cacheSelectorState = $('[id=0_userdata.0.*]');
              cacheSelectorState.each(function (id, i) {
                 if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS') ){
                 var val1 = getState(id).val;
                    if (val1 == null ) 
                       {log(id + " hat keinen state");} 
                  else {var zk = "setState('"+id+"', "+val1 +");\n";
                        if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                            zk = "setState('"+id+"', '"+val1+"');\n";
                            fs.appendFileSync(datei + "-userdata0-" + logdate + "-"+ logtime + ".txt", zk);}
                        else {
                            fs.appendFileSync(datei + "-userdata0-" + logdate + "-"+ logtime + ".txt", zk);}
                        };}
              });  
              
              
              function addZero(i) {
                 if (i < 10) {
                     i = "00" + i;
                     j = "0" + i;
                 }
                 if (i > 9 && i < 100) {
                     j = "0" + i;
                 }
                 return {
                     'zero2' : i,
                     'zero3' : j
                 };
              } // Ende Funktion
              
              
              
              
              
              

              die pfeile zeigen, wo man etwas einstellen soll/kann

              Image 113.png

              in der javascript instanz muss fs als zusätzliches modul angegeben werden

              bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              wrote on last edited by
              #18

              @liv-in-sky
              sehr cooles Script,
              kann ich gebrauchen.
              Danke.

              @liv-in-sky sagte in Objekte sichern:

              in der javascript instanz muss fs als zusätzliches modul angegeben werden

              Ist nicht mehr notwendig. Funktioniert mittlerweile auch ohne diesen Eintrag (müsste nun integriert sein).


              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
              Danke.
              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
              ScreenToGif :https://www.screentogif.com/downloads.html

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

                @strobi

                habe es schon lange nicht mehr genutzt - damit hat es damals aber bei mir geklappt

                mit diesem script wird eine datei erzeugt und auf dem server gespeichert /opt/iobroker

                diese datei ist eigentlich ein script, das die states ausliest und diese dann speichert - nach dem import der objecte kann man das erzeugte script , welches die states erstellt, aufrufen

                • script definieren (pfad der datei, datei name und welchen teil er kopieren soll
                • anschliessend datei öffnen und als javascript impotieren

                das erzeugt script im ordner (opt/iobroker) sieht dann so aus - das muss als javascript importiert werden und einmalig aufgerufen werden

                Image 112.png

                das script, welches einmal im "alten iob" laufen muss:

                var fs = require('fs');
                var now =    new Date(); // store current date and time
                var year =   now.getFullYear();
                var month =  addZero(now.getMonth()+1).zero2;
                var day =    addZero(now.getDate()).zero2;
                var Thour =  addZero(now.getHours()).zero2;
                var Tmin =   addZero(now.getMinutes()).zero2;
                var Tsec =   addZero(now.getSeconds()).zero2;
                var logdate = day + '.' + month + '.' + year;
                var logtime = Thour + '-' + Tmin + '-' + Tsec;
                
                let datei = "/opt/iobroker/state";
                
                // Schedule für die Updates
                //schedule("52 9,12,16,19 * * *",  function () {       
                
                    var cacheSelectorState = $('[id=0_userdata.0.*]');
                cacheSelectorState.each(function (id, i) {
                   if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS') ){
                   var val1 = getState(id).val;
                      if (val1 == null ) 
                         {log(id + " hat keinen state");} 
                    else {var zk = "setState('"+id+"', "+val1 +");\n";
                          if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                              zk = "setState('"+id+"', '"+val1+"');\n";
                              fs.appendFileSync(datei + "-userdata0-" + logdate + "-"+ logtime + ".txt", zk);}
                          else {
                              fs.appendFileSync(datei + "-userdata0-" + logdate + "-"+ logtime + ".txt", zk);}
                          };}
                });  
                
                
                function addZero(i) {
                   if (i < 10) {
                       i = "00" + i;
                       j = "0" + i;
                   }
                   if (i > 9 && i < 100) {
                       j = "0" + i;
                   }
                   return {
                       'zero2' : i,
                       'zero3' : j
                   };
                } // Ende Funktion
                
                
                
                
                
                

                die pfeile zeigen, wo man etwas einstellen soll/kann

                Image 113.png

                in der javascript instanz muss fs als zusätzliches modul angegeben werden

                S Offline
                S Offline
                Strobi
                wrote on last edited by
                #19

                @liv-in-sky
                Cool, vielen Dank für schnelle & sehr hilfreiche Antwort.
                Das probiere ich die Tage mal aus 👍

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

                  @strobi

                  habe es schon lange nicht mehr genutzt - damit hat es damals aber bei mir geklappt

                  mit diesem script wird eine datei erzeugt und auf dem server gespeichert /opt/iobroker

                  diese datei ist eigentlich ein script, das die states ausliest und diese dann speichert - nach dem import der objecte kann man das erzeugte script , welches die states erstellt, aufrufen

                  • script definieren (pfad der datei, datei name und welchen teil er kopieren soll
                  • anschliessend datei öffnen und als javascript impotieren

                  das erzeugt script im ordner (opt/iobroker) sieht dann so aus - das muss als javascript importiert werden und einmalig aufgerufen werden

                  Image 112.png

                  das script, welches einmal im "alten iob" laufen muss:

                  var fs = require('fs');
                  var now =    new Date(); // store current date and time
                  var year =   now.getFullYear();
                  var month =  addZero(now.getMonth()+1).zero2;
                  var day =    addZero(now.getDate()).zero2;
                  var Thour =  addZero(now.getHours()).zero2;
                  var Tmin =   addZero(now.getMinutes()).zero2;
                  var Tsec =   addZero(now.getSeconds()).zero2;
                  var logdate = day + '.' + month + '.' + year;
                  var logtime = Thour + '-' + Tmin + '-' + Tsec;
                  
                  let datei = "/opt/iobroker/state";
                  
                  // Schedule für die Updates
                  //schedule("52 9,12,16,19 * * *",  function () {       
                  
                      var cacheSelectorState = $('[id=0_userdata.0.*]');
                  cacheSelectorState.each(function (id, i) {
                     if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('Log-Script')  && !id.includes('Ereignisliste') && !id.includes('GETPROCESS') ){
                     var val1 = getState(id).val;
                        if (val1 == null ) 
                           {log(id + " hat keinen state");} 
                      else {var zk = "setState('"+id+"', "+val1 +");\n";
                            if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                                zk = "setState('"+id+"', '"+val1+"');\n";
                                fs.appendFileSync(datei + "-userdata0-" + logdate + "-"+ logtime + ".txt", zk);}
                            else {
                                fs.appendFileSync(datei + "-userdata0-" + logdate + "-"+ logtime + ".txt", zk);}
                            };}
                  });  
                  
                  
                  function addZero(i) {
                     if (i < 10) {
                         i = "00" + i;
                         j = "0" + i;
                     }
                     if (i > 9 && i < 100) {
                         j = "0" + i;
                     }
                     return {
                         'zero2' : i,
                         'zero3' : j
                     };
                  } // Ende Funktion
                  
                  
                  
                  
                  
                  

                  die pfeile zeigen, wo man etwas einstellen soll/kann

                  Image 113.png

                  in der javascript instanz muss fs als zusätzliches modul angegeben werden

                  bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  wrote on last edited by
                  #20

                  @liv-in-sky
                  hab noch ein kleines Problem mit dem Unterscript für die 000
                  0ff6791c-0606-40b8-b426-2e9669c4a33d-image.png

                  Hast du ne aktuelle (richtige) Version.


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  liv-in-skyL 1 Reply Last reply
                  0
                  • bahnuhrB bahnuhr

                    @liv-in-sky
                    hab noch ein kleines Problem mit dem Unterscript für die 000
                    0ff6791c-0606-40b8-b426-2e9669c4a33d-image.png

                    Hast du ne aktuelle (richtige) Version.

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

                    @bahnuhr

                    ne - leider nicht - mir war das immer egal, es geht ja nur um den namen und ich habe die scripte gleich ausgeführt und die datei gelöscht - ich nutzte das imme rnur einmal

                    hast du andere pläne mit dem script ?

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

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

                      @bahnuhr

                      ne - leider nicht - mir war das immer egal, es geht ja nur um den namen und ich habe die scripte gleich ausgeführt und die datei gelöscht - ich nutzte das imme rnur einmal

                      hast du andere pläne mit dem script ?

                      bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      wrote on last edited by
                      #22

                      @liv-in-sky sagte in Objekte sichern:

                      hast du andere pläne mit dem script ?

                      Ich weiß noch nicht. Aber vielleicht automatisiert die states sichern.
                      Und dann vielleicht noch auf der synology per ftp. Mal schauen.

                      Aber ich passe das js mal an; wenn du nichts dagegen hast.
                      Setze es dann wieder hier rein.

                      mfg
                      Dieter


                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      liv-in-skyL 1 Reply Last reply
                      0
                      • bahnuhrB bahnuhr

                        @liv-in-sky sagte in Objekte sichern:

                        hast du andere pläne mit dem script ?

                        Ich weiß noch nicht. Aber vielleicht automatisiert die states sichern.
                        Und dann vielleicht noch auf der synology per ftp. Mal schauen.

                        Aber ich passe das js mal an; wenn du nichts dagegen hast.
                        Setze es dann wieder hier rein.

                        mfg
                        Dieter

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

                        @bahnuhr

                        ja gerne - habe im moment eh nicht so viel zeit, dass anzupassen

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

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

                          @bahnuhr

                          ja gerne - habe im moment eh nicht so viel zeit, dass anzupassen

                          bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          wrote on last edited by
                          #24

                          @liv-in-sky

                          so, nun mal geändert; die 000 laufen nun richtig.

                          
                          // Script um die eigenen DP mit den States zu sichern in einer txt Datei
                          // diese Datei einfach öffnen und den Inhalt in ein Script einfügen und starten - dann werden die DP wieder mit dem richtigen Inhalt befüllt.
                          // ursprünglich geschrieben von @liv-in-sky     https://forum.iobroker.net/topic/31769/objekte-sichern/17?page=1
                          // umgeschrieben und erweitert von @bahnuhr
                          // 09/2022
                          
                          // Variablen - zum ändern
                              var wo_DP = "javascript.0"              // oder z.B. "0_userdata.0"
                              let datei = "/opt/iobroker/state";      // Verzeichnis, wo die Datei gespeichert wird
                          
                          // Variablen - nicht ändern
                              var fs = require('fs');
                              var now = new Date();   // store current date and time
                              var Jahr = now.getFullYear();
                              var Monat = now.getMonth()+1; if (Monat < 10) { Monat = "0" + Monat; }; 
                              var Tag = now.getDate(); if (Tag < 10) { Tag = "0" + Tag; }; 
                              var Thour = now.getHours(); if (Thour < 10) { Thour = "0" + Thour; }; 
                              var Tmin = now.getMinutes(); if (Tmin < 10) { Tmin = "0" + Tmin; }; 
                              var Tsec = now.getSeconds(); if (Tsec < 10) { Tsec = "0" + Tsec; }; 
                              var logdate = Tag + '.' + Monat + '.' + Jahr;
                              var logtime = Thour + ':' + Tmin + ':' + Tsec;
                          
                          // Script Selector
                              var cacheSelectorState = $('[id=' + wo_DP + '.*]');
                              cacheSelectorState.each(function (id, i) {
                              if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('debug') && !id.includes('variables') ){
                                  var val1 = getState(id).val;
                                  if (val1 == null ) 
                                      {log(id + " hat keinen state");} 
                                  else {var zk = "setState('"+id+"', "+val1 +");\n";
                                      if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                                          zk = "setState('"+id+"', '"+val1+"');\n";
                                          fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                      else {
                                          fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                  };
                              }
                              });
                          
                          
                          

                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                          Danke.
                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                          ScreenToGif :https://www.screentogif.com/downloads.html

                          S liv-in-skyL 2 Replies Last reply
                          2
                          • bahnuhrB bahnuhr

                            @liv-in-sky

                            so, nun mal geändert; die 000 laufen nun richtig.

                            
                            // Script um die eigenen DP mit den States zu sichern in einer txt Datei
                            // diese Datei einfach öffnen und den Inhalt in ein Script einfügen und starten - dann werden die DP wieder mit dem richtigen Inhalt befüllt.
                            // ursprünglich geschrieben von @liv-in-sky     https://forum.iobroker.net/topic/31769/objekte-sichern/17?page=1
                            // umgeschrieben und erweitert von @bahnuhr
                            // 09/2022
                            
                            // Variablen - zum ändern
                                var wo_DP = "javascript.0"              // oder z.B. "0_userdata.0"
                                let datei = "/opt/iobroker/state";      // Verzeichnis, wo die Datei gespeichert wird
                            
                            // Variablen - nicht ändern
                                var fs = require('fs');
                                var now = new Date();   // store current date and time
                                var Jahr = now.getFullYear();
                                var Monat = now.getMonth()+1; if (Monat < 10) { Monat = "0" + Monat; }; 
                                var Tag = now.getDate(); if (Tag < 10) { Tag = "0" + Tag; }; 
                                var Thour = now.getHours(); if (Thour < 10) { Thour = "0" + Thour; }; 
                                var Tmin = now.getMinutes(); if (Tmin < 10) { Tmin = "0" + Tmin; }; 
                                var Tsec = now.getSeconds(); if (Tsec < 10) { Tsec = "0" + Tsec; }; 
                                var logdate = Tag + '.' + Monat + '.' + Jahr;
                                var logtime = Thour + ':' + Tmin + ':' + Tsec;
                            
                            // Script Selector
                                var cacheSelectorState = $('[id=' + wo_DP + '.*]');
                                cacheSelectorState.each(function (id, i) {
                                if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('debug') && !id.includes('variables') ){
                                    var val1 = getState(id).val;
                                    if (val1 == null ) 
                                        {log(id + " hat keinen state");} 
                                    else {var zk = "setState('"+id+"', "+val1 +");\n";
                                        if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                                            zk = "setState('"+id+"', '"+val1+"');\n";
                                            fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                        else {
                                            fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                    };
                                }
                                });
                            
                            
                            
                            S Offline
                            S Offline
                            Strobi
                            wrote on last edited by
                            #25

                            Habe den Quellcode nun in ein Java-Script kopiert und ausgeführt - aber es wird mir keine Datei etc. angelegt.
                            Was mache ich denn falsch?

                            Wie lange muss ich das Skript laufen lassen oder beendet sich das von alleine?

                            a7048798-061c-420d-84e5-ec6aa6b0bd2c-grafik.png

                            liv-in-skyL 1 Reply Last reply
                            0
                            • S Strobi

                              Habe den Quellcode nun in ein Java-Script kopiert und ausgeführt - aber es wird mir keine Datei etc. angelegt.
                              Was mache ich denn falsch?

                              Wie lange muss ich das Skript laufen lassen oder beendet sich das von alleine?

                              a7048798-061c-420d-84e5-ec6aa6b0bd2c-grafik.png

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

                              @strobi

                              hast du im dateisystem nachgeschaut -?

                              Image 121.png

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

                              1 Reply Last reply
                              0
                              • bahnuhrB bahnuhr

                                @liv-in-sky

                                so, nun mal geändert; die 000 laufen nun richtig.

                                
                                // Script um die eigenen DP mit den States zu sichern in einer txt Datei
                                // diese Datei einfach öffnen und den Inhalt in ein Script einfügen und starten - dann werden die DP wieder mit dem richtigen Inhalt befüllt.
                                // ursprünglich geschrieben von @liv-in-sky     https://forum.iobroker.net/topic/31769/objekte-sichern/17?page=1
                                // umgeschrieben und erweitert von @bahnuhr
                                // 09/2022
                                
                                // Variablen - zum ändern
                                    var wo_DP = "javascript.0"              // oder z.B. "0_userdata.0"
                                    let datei = "/opt/iobroker/state";      // Verzeichnis, wo die Datei gespeichert wird
                                
                                // Variablen - nicht ändern
                                    var fs = require('fs');
                                    var now = new Date();   // store current date and time
                                    var Jahr = now.getFullYear();
                                    var Monat = now.getMonth()+1; if (Monat < 10) { Monat = "0" + Monat; }; 
                                    var Tag = now.getDate(); if (Tag < 10) { Tag = "0" + Tag; }; 
                                    var Thour = now.getHours(); if (Thour < 10) { Thour = "0" + Thour; }; 
                                    var Tmin = now.getMinutes(); if (Tmin < 10) { Tmin = "0" + Tmin; }; 
                                    var Tsec = now.getSeconds(); if (Tsec < 10) { Tsec = "0" + Tsec; }; 
                                    var logdate = Tag + '.' + Monat + '.' + Jahr;
                                    var logtime = Thour + ':' + Tmin + ':' + Tsec;
                                
                                // Script Selector
                                    var cacheSelectorState = $('[id=' + wo_DP + '.*]');
                                    cacheSelectorState.each(function (id, i) {
                                    if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('debug') && !id.includes('variables') ){
                                        var val1 = getState(id).val;
                                        if (val1 == null ) 
                                            {log(id + " hat keinen state");} 
                                        else {var zk = "setState('"+id+"', "+val1 +");\n";
                                            if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                                                zk = "setState('"+id+"', '"+val1+"');\n";
                                                fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                            else {
                                                fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                        };
                                    }
                                    });
                                
                                
                                
                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                wrote on last edited by liv-in-sky
                                #27

                                @bahnuhr sagte in Objekte sichern:

                                @liv-in-sky

                                so, nun mal geändert; die 000 laufen nun richtig.

                                
                                // Script um die eigenen DP mit den States zu sichern in einer txt Datei
                                // diese Datei einfach öffnen und den Inhalt in ein Script einfügen und starten - dann werden die DP wieder mit dem richtigen Inhalt befüllt.
                                // ursprünglich geschrieben von @liv-in-sky     https://forum.iobroker.net/topic/31769/objekte-sichern/17?page=1
                                // umgeschrieben und erweitert von @bahnuhr
                                // 09/2022
                                
                                // Variablen - zum ändern
                                    var wo_DP = "javascript.0"              // oder z.B. "0_userdata.0"
                                    let datei = "/opt/iobroker/state";      // Verzeichnis, wo die Datei gespeichert wird
                                
                                // Variablen - nicht ändern
                                    var fs = require('fs');
                                    var now = new Date();   // store current date and time
                                    var Jahr = now.getFullYear();
                                    var Monat = now.getMonth()+1; if (Monat < 10) { Monat = "0" + Monat; }; 
                                    var Tag = now.getDate(); if (Tag < 10) { Tag = "0" + Tag; }; 
                                    var Thour = now.getHours(); if (Thour < 10) { Thour = "0" + Thour; }; 
                                    var Tmin = now.getMinutes(); if (Tmin < 10) { Tmin = "0" + Tmin; }; 
                                    var Tsec = now.getSeconds(); if (Tsec < 10) { Tsec = "0" + Tsec; }; 
                                    var logdate = Tag + '.' + Monat + '.' + Jahr;
                                    var logtime = Thour + ':' + Tmin + ':' + Tsec;
                                
                                // Script Selector
                                    var cacheSelectorState = $('[id=' + wo_DP + '.*]');
                                    cacheSelectorState.each(function (id, i) {
                                    if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('debug') && !id.includes('variables') ){
                                        var val1 = getState(id).val;
                                        if (val1 == null ) 
                                            {log(id + " hat keinen state");} 
                                        else {var zk = "setState('"+id+"', "+val1 +");\n";
                                            if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                                                zk = "setState('"+id+"', '"+val1+"');\n";
                                                fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                            else {
                                                fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                        };
                                    }
                                    });
                                
                                
                                

                                du könntest noch beim namen folgendes einfügen - dann muss man da nichts ändern/anpassen

                                Image 122.png

                                ps: das wurde nicht von mir geschrieben - habe ich irgendwoher kopiert

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

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

                                  @bahnuhr sagte in Objekte sichern:

                                  @liv-in-sky

                                  so, nun mal geändert; die 000 laufen nun richtig.

                                  
                                  // Script um die eigenen DP mit den States zu sichern in einer txt Datei
                                  // diese Datei einfach öffnen und den Inhalt in ein Script einfügen und starten - dann werden die DP wieder mit dem richtigen Inhalt befüllt.
                                  // ursprünglich geschrieben von @liv-in-sky     https://forum.iobroker.net/topic/31769/objekte-sichern/17?page=1
                                  // umgeschrieben und erweitert von @bahnuhr
                                  // 09/2022
                                  
                                  // Variablen - zum ändern
                                      var wo_DP = "javascript.0"              // oder z.B. "0_userdata.0"
                                      let datei = "/opt/iobroker/state";      // Verzeichnis, wo die Datei gespeichert wird
                                  
                                  // Variablen - nicht ändern
                                      var fs = require('fs');
                                      var now = new Date();   // store current date and time
                                      var Jahr = now.getFullYear();
                                      var Monat = now.getMonth()+1; if (Monat < 10) { Monat = "0" + Monat; }; 
                                      var Tag = now.getDate(); if (Tag < 10) { Tag = "0" + Tag; }; 
                                      var Thour = now.getHours(); if (Thour < 10) { Thour = "0" + Thour; }; 
                                      var Tmin = now.getMinutes(); if (Tmin < 10) { Tmin = "0" + Tmin; }; 
                                      var Tsec = now.getSeconds(); if (Tsec < 10) { Tsec = "0" + Tsec; }; 
                                      var logdate = Tag + '.' + Monat + '.' + Jahr;
                                      var logtime = Thour + ':' + Tmin + ':' + Tsec;
                                  
                                  // Script Selector
                                      var cacheSelectorState = $('[id=' + wo_DP + '.*]');
                                      cacheSelectorState.each(function (id, i) {
                                      if (!id.includes('scriptEnabled') && !id.includes('scriptProblem') && !id.includes('debug') && !id.includes('variables') ){
                                          var val1 = getState(id).val;
                                          if (val1 == null ) 
                                              {log(id + " hat keinen state");} 
                                          else {var zk = "setState('"+id+"', "+val1 +");\n";
                                              if(typeof val1 === "string" && !val1.includes('span') && !val1.includes('class')) {
                                                  zk = "setState('"+id+"', '"+val1+"');\n";
                                                  fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                              else {
                                                  fs.appendFileSync(datei + "-javascript0-" + logdate + "-"+ logtime + ".txt", zk);}
                                          };
                                      }
                                      });
                                  
                                  
                                  

                                  du könntest noch beim namen folgendes einfügen - dann muss man da nichts ändern/anpassen

                                  Image 122.png

                                  ps: das wurde nicht von mir geschrieben - habe ich irgendwoher kopiert

                                  S Offline
                                  S Offline
                                  Strobi
                                  wrote on last edited by
                                  #28

                                  Peinlich - nach dem Pfadname "/opt/iobroker/state" hat einfach nur ein "/" gefehlt :-)

                                  --> /opt/iobroker/state/

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    Strobi
                                    wrote on last edited by
                                    #29

                                    Könnte man auch noch die Einheiten "unit" und die Datei-Typen "type" mit abspeichern?

                                    liv-in-skyL 1 Reply Last reply
                                    0
                                    • S Strobi

                                      Könnte man auch noch die Einheiten "unit" und die Datei-Typen "type" mit abspeichern?

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

                                      @strobi

                                      ich habe dafür immer einen export der objecte im object-tab genommen und beides zusammen gespeichert

                                      die einheit und der type sind ja nicht im dp-state - was das script sichert - sondern im dp-object definiert - das wären dann eh 2 verschiedene daten, da es keinen sinn macht,die in einer datei zu schreiben - also wäre möglich aber dann muss das script anders angelegt werden. es würde dann zuerst ein dp-object angelegt und dann der dp-state geschrieben

                                      ich nutze das meist, um adapter einzubinden, wenn ich ein script schreibe, bei dem ich die dp brauche, aber den adapter nicht installieren kann, weil ich zb. keine devices davon habe. z.b. eine liste aller hmip.0 geräte erstellen: ich habe kein hmip gerät und importiere mir einfach die dp, um das script zu testen

                                      ps:es gehört eigentlich kein / nach state, da state kein verzeichnis, sondern der anfang des namender datei ist

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

                                      1 Reply Last reply
                                      1
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      Support us

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

                                      627

                                      Online

                                      32.4k

                                      Users

                                      81.6k

                                      Topics

                                      1.3m

                                      Posts
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Home
                                      • Recent
                                      • Tags
                                      • Unread 0
                                      • Categories
                                      • Unreplied
                                      • Popular
                                      • GitHub
                                      • Docu
                                      • Hilfe