Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst]Aus den Backups ein Javascript extrahieren

    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

    [gelöst]Aus den Backups ein Javascript extrahieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • MartinP
      MartinP @Thomas Braun last edited by

      @thomas-braun Habe vielleicht einen Workaround ...

      Man kann die Json Konfig exportieren und importieren, und ggfs. dazwischen einfach bei "mirrorPath" etwas eintragen ...

      {
        "latitude": "",
        "longitude": "",
        "enableSetObject": true,
        "enableSendToHost": true,
        "enableExec": true,
        "libraries": "",
        "libraryTypings": "",
        "subscribe": false,
        "useSystemGPS": true,
        "mirrorPath": "",
        "mirrorInstance": "0",
        "allowSelfSignedCerts": false,
        "sunriseEvent": "sunrise",
        "sunriseOffset": "",
        "sunriseLimitStart": "06:00",
        "sunriseLimitEnd": "12:00",
        "sunsetEvent": "dusk",
        "sunsetOffset": "",
        "sunsetLimitStart": "18:00",
        "sunsetLimitEnd": "23:00",
        "maxSetStatePerMinute": "1000",
        "gptKey": "",
        "createAstroStates": true,
        "maxTriggersPerScript": 100
      }
      

      2144aae9-0382-48ba-aee0-e5ab81590ac4-grafik.png

      MartinP 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Thomas Braun last edited by

        @thomas-braun das müsste schon lange darin sein. ich meine ja i h gatte es früher auch
        Vielleicht weiß @haus-automatisierung was da los ist

        MartinP 1 Reply Last reply Reply Quote 0
        • MartinP
          MartinP @Homoran last edited by MartinP

          @homoran Ich bin gerade dabei, das komplette Backup von heute Nacht einzuspielen - da habe ich die Hoffnung, dass die Aussage stimmt, dass da alle Skripte integriert sind.

          Dann müssten die von mit heute eingebauten Fehler wieder weg sein ...

          Da scheine ich aber etwas falsch verstanden haben, nach Aktivieren von "Sicherung abrufen" gibt es hier die ganze Zeit nur diese blaue wandernde Linie
          354b1b47-02ca-494c-ad95-3ed3afe17c19-grafik.png

          1 Reply Last reply Reply Quote 0
          • grrfield
            grrfield @MartinP last edited by

            @martinp Auch, wenn es jetzt vielleicht schon zu spät ist: vor längere Zeit gab es mal ein Skript https://forum.iobroker.net/topic/34161/source-code-von-script-aus-backup-json-extrahieren, um einzelne Skripte aus dem Backup zu extrahieren. Ich habe das mal erfolgreich angewandt, weiß aber nicht, ob es mit den aktuellen Backups noch funktioniert.

            1 Reply Last reply Reply Quote 1
            • MartinP
              MartinP last edited by

              @grrfield Das Restore aus der GUI scheint nicht weiterzulaufen, wenn man irgendwann den Browser schließt und den Rechner ausschaltet....

              Das Script hat wunderbar funktioniert ...

              Ich habe es auf meinem Linux-PC auf ein lokales Backup.tar.gz File vom NAS-Laufwerk arbeiten lassen

              Hier das angepasste Skript - geht alles in ein lokales Arbeitsverzeichnis, und nutzt "console.log()"

              /*
              
              Script zum Extrahieren von Scripts aus dem backup.json file
              1. Verzeichnis /opt/iobroker/restore/ erstellen
              2. backup.json file aus Backup extrahieren und in obiges Verzeichnis kopieren
              3. Im Script unten den gewünschten Namen des Scripts eintragen
              3. Script starten
              4. das extrahierte Script wird mit dem Namen "the_script.js" erzeugt
              */
              
               
              
              // Hier das Verzeichnis und den Namen des Scripts eintragen. 
              // Im Beispiel das Script 'Jalousien', das unter 'common' abgelegt wurde
              
              
              // const name_of_script = "common.Jalousien";
              const name_of_script = "Fritzbox.DOCSISV01";
              
               
              
              var fs = require('fs');
              //var filename = '/opt/iobroker/restore/backup.json';
              var filename = './backup.json';
              fs.readFile(filename, 'utf8', function(err, data) {
                if (!err) {
                  var objects = JSON.parse(data).objects;
                  var index = objects.findIndex(x => x.id ==="script.js." + name_of_script);
                  var source = objects[index];
                  var script_text = unescape(source.value.common.source);
                  // fs.writeFile("/opt/iobroker/restore/the_script.js", script_text, function(err) {
                  fs.writeFile("./the_script.js", script_text, function(err) {
                  if(err) {
                      return console.log(err);
                  }
                  console.log("Script was extracted");
                  });
                } else console.log("backup.json konnte nicht gelesen werden");
              });
              
              
              

              Arbeitsanweisung:
              Auspacken von backup.json

              martin@martin-D2836-S1:~/backup$ tar -xf ../backups/iobroker_2024_06_29-02_40_11_backupiobroker.tar.gz  backup.json
              

              Aufrufen des Scripts

              martin@martin-D2836-S1:~/backup$ node extract.js 
              Script was extracted
              
              
              simatec 1 Reply Last reply Reply Quote 0
              • simatec
                simatec Developer Most Active @MartinP last edited by

                @martinp Warum stellst du denn alles wieder her... Du hast doch laut Screenshot ein Backup der Javaskripte separat gemacht.
                Es hätte völlig ausgereicht, dieses wiederherzustellen

                MartinP 1 Reply Last reply Reply Quote 0
                • MartinP
                  MartinP @simatec last edited by

                  @simatec Den Haken bei "Javascript" habe ich erst aktivert NACHDEM ich das Skript geschrottet hatte ...

                  Alte Bauernregel: Man sollte die Backups seiner Produkte unter die Lupe nehmen, BEVOR etwas passiert ist ...

                  Aber immerhin habe ich gelernt, dass es eigentlich unnötig ist, die Skripte separat zu sichern ...

                  1 Reply Last reply Reply Quote 0
                  • MartinP
                    MartinP @MartinP last edited by MartinP

                    Nachtrag: Ich habe jetzt die javascript.0.json von Hand bearbeitet, auf folgenden Stand:

                    {
                      "latitude": "",
                      "longitude": "",
                      "enableSetObject": true,
                      "enableSendToHost": true,
                      "enableExec": true,
                      "libraries": "",
                      "libraryTypings": "",
                      "subscribe": false,
                      "useSystemGPS": true,
                      "mirrorPath": "/opt/iobroker/restore/skripte",
                      "mirrorInstance": "javascript.0",
                      "allowSelfSignedCerts": false,
                      "sunriseEvent": "sunrise",
                      "sunriseOffset": "",
                      "sunriseLimitStart": "06:00",
                      "sunriseLimitEnd": "12:00",
                      "sunsetEvent": "dusk",
                      "sunsetOffset": "",
                      "sunsetLimitStart": "18:00",
                      "sunsetLimitEnd": "23:00",
                      "maxSetStatePerMinute": "1000",
                      "gptKey": "",
                      "createAstroStates": true,
                      "maxTriggersPerScript": 100
                    }
                    

                    Der Konfigurationsdialog sieht nun interessant aus ...

                    65efb6f2-6bc1-492e-82c6-a909f55dbb22-grafik.png

                    Ich denke, in dieser Version ist der Konfigurationsdialog ein wenig kaputt, da mit der Version aus dem Beta Repository die Probleme aber wohl nicht auftreten, werde ich das erstmal so lassen, und auf das Update in stable warten ...

                    @martinp said in [gelöst]Aus den Backups ein Javascript extrahieren:

                    @thomas-braun Habe vielleicht einen Workaround ...

                    Man kann die Json Konfig exportieren und importieren, und ggfs. dazwischen einfach bei "mirrorPath" etwas eintragen ...

                    {
                      "latitude": "",
                      "longitude": "",
                      "enableSetObject": true,
                      "enableSendToHost": true,
                      "enableExec": true,
                      "libraries": "",
                      "libraryTypings": "",
                      "subscribe": false,
                      "useSystemGPS": true,
                      "mirrorPath": "",
                      "mirrorInstance": "0",
                      "allowSelfSignedCerts": false,
                      "sunriseEvent": "sunrise",
                      "sunriseOffset": "",
                      "sunriseLimitStart": "06:00",
                      "sunriseLimitEnd": "12:00",
                      "sunsetEvent": "dusk",
                      "sunsetOffset": "",
                      "sunsetLimitStart": "18:00",
                      "sunsetLimitEnd": "23:00",
                      "maxSetStatePerMinute": "1000",
                      "gptKey": "",
                      "createAstroStates": true,
                      "maxTriggersPerScript": 100
                    }
                    
                    bahnuhr 1 Reply Last reply Reply Quote 0
                    • bahnuhr
                      bahnuhr Forum Testing Most Active @MartinP last edited by

                      @martinp

                      @fastfoot hatte hier mal ein Script geschrieben.
                      https://forum.iobroker.net/topic/53849/ordner-und-skripte-verschwunden/8?_=1719814391362

                      vielleicht hilfts.

                      MartinP 1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP @bahnuhr last edited by MartinP

                        @bahnuhr Das habe ich auch schon entdeckt und angepasst ...

                        Ich hatte schon ein anderes Skript, was etwas ähnliches macht ...

                        https://forum.iobroker.net/topic/75575/gelöst-aus-den-backups-ein-javascript-extrahieren/20?_=1719831259261

                        bahnuhr 1 Reply Last reply Reply Quote 0
                        • bahnuhr
                          bahnuhr Forum Testing Most Active @MartinP last edited by

                          @martinp
                          Sollte man nicht den Autor im Script drin stehen lassen ?

                          😉

                          MartinP 1 Reply Last reply Reply Quote 0
                          • MartinP
                            MartinP @bahnuhr last edited by MartinP

                            @bahnuhr Ist doch ein komplett anderes Skript ...
                            https://forum.iobroker.net/topic/34161/source-code-von-script-aus-backup-json-extrahieren

                            bahnuhr 1 Reply Last reply Reply Quote 0
                            • bahnuhr
                              bahnuhr Forum Testing Most Active @MartinP last edited by

                              @martinp sagte in [gelöst]Aus den Backups ein Javascript extrahieren:

                              @bahnuhr Ist doch ein komplett anderes Skript ...

                              dann gut.

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

                              Support us

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

                              458
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

                              7
                              28
                              1211
                              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