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] Wiederherstellen und Auflisten von Skripten

    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] Wiederherstellen und Auflisten von Skripten

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @fastfoot last edited by

      @fastfoot

      Cool, auch unter Windows lauffähig?

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

        @sigi234 jein, die Archiv Entpackroutinen sind (noch!!??) auf Linux ausgelegt. Wenn Du aber die entsprechende Datei entpackst und nach inputPath kopierst sollte es problemlos funktionieren. Ich wollte vermeiden dass man noch zusätzliche Libs installieren muss, überlege aber das evtl. zu ändern

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

          @fastfoot sagte in [Skript] Wiederherstellen und Auflisten von Skripten:

          @sigi234 jein, die Archiv Entpackroutinen sind (noch!!??) auf Linux ausgelegt. Wenn Du aber die entsprechende Datei entpackst und nach inputPath kopierst sollte es problemlos funktionieren. Ich wollte vermeiden dass man noch zusätzliche Libs installieren muss, überlege aber das evtl. zu ändern

          Hm, eventuell ist ja eine eigene Windows Version sinnvoll?

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

            @fastfoot sagte in [Skript] Wiederherstellen und Auflisten von Skripten:

            Inhaltsfilter contentFilter

            ['0_userdata.myState', 'sendTo'] findet Skripte welche im Code Wetter oder sendTo enthalten

            super sache - kleiner fehler in der beschreibung ?

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

              @sigi234 sagte in [Skript] Wiederherstellen und Auflisten von Skripten:

              Hm, eventuell ist ja eine eigene Windows Version sinnvoll?

              nee, zuviel Supportaufwand. Ich habe aber mittlerweile Libraries gefunden, welche man (hoffentlich!) nicht nachinstallieren muss. Damit sollte es auch unter Windows und Mac laufen. Ich update Post #1 wenn fertig

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

                @liv-in-sky sagte in [Skript] Wiederherstellen und Auflisten von Skripten:

                kleiner fehler in der beschreibung ?

                Danke, hab's korrigiert. Du hast ja auch jede Menge Skripte, wie ist die Performance denn bei Dir? Hier benötigt das Skript für 500 Skripte nur wenige Sekunden (ohne Import ins System)

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

                  @fastfoot

                  superschnell - 2-3 sekunden für über 850 scripte (muss mal wieder aufräumen 🙂 )

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

                    @fastfoot

                    könnte sowas auch gut für die vis gebrauchen 🙂

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

                      sagt, muss diese Datei

                      /home/iobroker/scriptInput
                      

                      vorhanden sein?

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

                        @homecineplexx du musst den ordner benennen und anlegen - hier mal mein setting des testscript - vielleicht hilft das - ich nutze direkt den backup folder in meinem setting und habe den output folder angelegt

                        const dbg = false;
                        
                        // hier wird die JSON Tabelle gespeichert, der DP wird erstellt wenn generateTable true ist
                        const idBase = "0_userdata.0.scriptRecovery";
                        const idJson = "jsonTable";
                        
                        // erzeugt eine JSON Tabelle der gefundenen Skripte für eine evtl. VIS
                        const generateTable = true;
                        
                        // erzeugt ein Listing der gefundenen Skripte(__Listingxxx.json)
                        const generateListing = true;
                        
                        // Dateien ins Filesystem schreiben, false = brauchbar wenn man nur ein Listing will
                        const restoreToFilesystem = false;
                        
                        // Extension für importierte Skripte, zur Unterscheidung von existierenden Skripten.
                        const scriptSuffix = "_rcvr";
                        
                        // Skripte werden sofort ins System geladen(Endung: wie in scriptSuffix) ACHTUNG: AUF EIGENE GEFAHR!!!!
                        // existierende Skripte werden nicht überschrieben
                        const restoreToSystemDB = false;
                        
                        // Array Skriptnamen-Filter, wenn vorhanden werden nur diese  Skripte behandelt z.B. ['script 1','script 2']
                        // Nur Teil-Namens sind erlaubt und Groß- Kleinschreibung ist egal
                        // const scriptFilter = ['^[abc]', '[xyz0-9]$', 'script'];// Skripte beginnen mit a,b oder c oder enden mit x,y,z oder einer Zahl oder haben <<script>> im Namen
                        const scriptFilter = [''];
                        
                        // Array Inhaltsfilter z.B. ['0_userdata.0.example_state', 'Wetter'] zum Suchen nach bestimmten Begriffen
                        // const contentFilter = ['0_user', 'sql', 'sendto'];
                        const contentFilter = [''];
                        
                        // Array - Skripte in diesen Ordnern werden nicht berücksichtigt(für rootFolder 'root' oder '/')
                        // const excludeFolders = ['/','global', 'löschen'];
                        const excludeFolders = [''];
                        
                        // Array - Nur Skripte in diesen Ordnern und deren Unterordnern werden berücksichtigt(für NUR rootFolder 'root' oder '/')
                        // const includeFolders = ['/','tools', 'forum'];
                        const includeFolders = [''];
                        
                        // Array Typ Filter um nur bestimmte Typen zu berücksichtigen (Blockly, Javascript, Rules, Typescript)
                        // const typeFilter = ['Blockly','javas'];// findet Blockly- oder Javascript Skripte
                        const typeFilter = [''];
                        
                        // hier liegt die in inputFile definierte Datei, entweder Archiv(nur Linux) oder bereits extrahierte Datei
                        let inputPath = "/opt/iobroker/backups";
                        
                        // hier landen die extrahierten Skripte und die Listing-Datei, wird bei Skriptstart geleert und angelegt wenn nicht vorhanden
                        const outputPath = "/Daten/scriptOutput";
                        
                        // Datei mit den Skripten(autoObjects = letzte objects.json[l], autoBackup = letzte backupdatei, autoScripts = letztes Skript Backup)
                        let inputFile = "javascripts_2023_01_18-16_16_18_daily_backupiobroker.tar.gz";
                        
                        //                                                       Beispiele für mögliche Dateien
                        // letzte Dateien JS-Controller und BackitUp-Adapter
                        //inputFile = "iobroker_2023_01_18-16_15_10_daily_backupiobroker.tar.gz";
                        // inputFile = "autoBackup";
                        // inputFile = "autoScripts";
                        
                        // Backup von JS-Controller
                        // inputFile = '2023-01-17_19-16_objects.jsonl.gz';
                        // inputFile = "objects.jsonl";
                        // inputFile = "2022-12-19_12-18_objects.json.gz";
                        // inputFile = "objects.json";
                        
                        // BackitUp-Adapter
                        // inputFile = "iobroker_2023_01_17-17_38_03_backupiobroker.tar.gz";
                        // inputFile = "backup.json";
                        // inputFile = "javascripts_2023_01_17-17_38_18_backupiobroker.tar.gz";
                        // inputFile = "script.json";
                        
                        // Konsole: 'iobroker backup'
                        // inputFile = "2023_01_17-17_45_40_backupiobroker.tar.gz";
                        
                        // JS-Adapter Export
                        //inputFile = "";
                          //2023-01-17-scripts.zip 
                        // Einzelskript
                        // inputFile = 'findObject.json';
                        // inputFile = 'sqlBL.json';
                        // inputFile = 'sqlBL.js';
                        
                        

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

                          @homecineplexx sagte in [Skript] Wiederherstellen und Auflisten von Skripten:

                          sagt, muss diese Datei

                          /home/iobroker/scriptInput
                          

                          vorhanden sein?

                          irgendwo muss deine zu durchsuchende Datei ja liegen 🙂 Du kannst das ja frei wählen. Wenn Du aber zB autoObjects angibst dann ist damit schon klar wo die Datei liegt. Allerdings wird dann nur die neueste Datei durchsucht. Oder du machst es wie liv-in-sky

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

                            @sigi234 sagte in [Skript] Wiederherstellen und Auflisten von Skripten:

                            @fastfoot

                            Cool, auch unter Windows lauffähig?

                            probier mal 🙂

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

                              kleines Update, die Fehlerbehandlung wurde verbessert. Da das Skript auch unter Windows und Mac lauffähig ist wäre eine Rückmeldung von Benutzern dieser Systeme hilfreich. Vor allem unter Mac ist das Skript gar nicht getestet

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

                                @fastfoot said in [Skript] Wiederherstellen und Auflisten von Skripten:

                                kleines Update, die Fehlerbehandlung wurde verbessert. Da das Skript auch unter Windows und Mac lauffähig ist wäre eine Rückmeldung von Benutzern dieser Systeme hilfreich. Vor allem unter Mac ist das Skript gar nicht getestet

                                Guten Morgen
                                danke für dein Script, aber eine Frage, warum legst du es nicht in GIT ab, dann hätte man auch eine Versionierung bzw wäre vielleicht einfacher

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

                                  @homecineplexx eine Versionierung braucht es nicht, das Skript ist 'fertig' und tut alles wozu ich es geschrieben habe. Ausser evtl. kleinerer Fehlerbehebungen wird sich da also nicht mehr viel tun

                                  1 Reply Last reply Reply Quote 1
                                  • S
                                    sruhsam @fastfoot last edited by

                                    @fastfoot
                                    super Teil, war sehr lange auf der Suche ......

                                    Hat super funktioniert, doch nun kommt aber ein Fehler, bestimmt kein großes ding .......

                                    16:19:25.797	info	javascript.0 (22538) Stop script script.js.common.Restore
                                    16:19:27.683	info	javascript.0 (22538) Start javascript script.js.common.Restore
                                    16:19:27.684	error	javascript.0 (22538) script.js.common.Restore compile failed: at script.js.common.Restore:15
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.558	error	at processImmediate (node:internal/timers:473:21)
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.558	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1628:17)
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.558	error	at /opt/iobroker/node_modules/iobroker.javascript/main.js:2153:17
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.557	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2055:37)
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.557	error	at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1802:21)
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.557	error	at new Script (node:vm:100:7)
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.557	error	SyntaxError: Identifier 'dbg' has already been declared
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.557	error	^
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.557	error	const dbg = false;
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.557	error	script.js.common.Restore compile failed: at script.js.common.Restore:15
                                    
                                    javascript.0
                                    2023-08-25 16:27:43.556	info	Start javascript script.js.common.Restore
                                    
                                    javascript.0
                                    2023-08-25 16:27:36.426	info	Stop script script.js.common.Restore
                                    

                                    Grüße Stephan

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      Ralf 6 @fastfoot last edited by

                                      @fastfoot
                                      Ich habe es zum Laufen gebracht. Im Fall der Fälle habe ich jetzt ein prima Werkzeug.

                                      Vielen Dank für Deine Mühe. 👍

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      407
                                      Online

                                      31.8k
                                      Users

                                      79.9k
                                      Topics

                                      1.3m
                                      Posts

                                      6
                                      18
                                      1198
                                      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