Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Javascript-Adapter Script-Mirror

    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

    Javascript-Adapter Script-Mirror

    This topic has been deleted. Only users with topic management privileges can see it.
    • U
      Unterstedter last edited by

      Hi,

      ich würde gerne den Script-Mirror vom Javascript-Adapter nutzen, verstehe aber nicht so recht wie der funktioniert. Den Link zu den Skripten auf dem Filesystem habe ich eingegeben.
      Wenn ich nun ein Skript dort ändere, so verschwindet das ganze Skript aus iobroker.
      Ich nutzte zur Zeit den JS2FS-Adapter, würde den aber gerne einsparen, um RAM zu sparen. Von dort kenne ich das so, dass die Änderung des Skripts in iobroker gespiegelt wird. Diese Funktion hätte ich nun hier auch erwartet.
      Gibt es dazu eine kleine Anleitung, wie der JavaScript Screen-Mirror zu verwenden ist?

      Danke schon mal!

      M 1 Reply Last reply Reply Quote 0
      • M
        MacPo @Unterstedter last edited by

        @Unterstedter Manchmal ist es einfacher, als man denkt. In der Konfiguration von der Javascript-Instanz wird der Pfad für den Mirror auf dem ioBroker angeben. Dieser kann zum Beispiel mit SMB im Netzwerk zur Verfügung gestellt werden.

        arteck 1 Reply Last reply Reply Quote 0
        • arteck
          arteck Developer Most Active @MacPo last edited by

          du musst es aber UNBEDINGT in der javascript.0 instanz eintragen.. und nur da.. von da aus werden alle Scripte dann gespiegelt

          K 1 Reply Last reply Reply Quote 0
          • K
            Kuddel @arteck last edited by

            wie werden die Skripte dann gespeichert? Sprich wie kann man aus den gespiegelten Datein einen Restore machen ?

            FredF 1 Reply Last reply Reply Quote 0
            • FredF
              FredF Most Active Forum Testing @Kuddel last edited by FredF

              @Kuddel
              Als .js Datei. Wie man die dann restored weis ich aber nicht.

              Edit: über die Import Funktion des JS Adapters jedenfalls nicht

              K 1 Reply Last reply Reply Quote 0
              • K
                Kuddel @FredF last edited by

                @FredF okay, dann ist das ja genau so wie mit dem JS2FS Adapter.

                Für JS sicherlich gut, nur für Blockly leider nicht.

                FredF 1 Reply Last reply Reply Quote 0
                • FredF
                  FredF Most Active Forum Testing @Kuddel last edited by

                  @Kuddel sagte in Javascript-Adapter Script-Mirror:

                  Für JS sicherlich gut, nur für Blockly leider nicht.

                  Stimmt, es bleibt nur javascript übrig, allerdings mit dem Blockly Ende. Lässt sich nicht importieren .

                  1 Reply Last reply Reply Quote 0
                  • B
                    Bongo last edited by

                    Gibt es da schon eine Lösung, dass man auch Blockly importieren kann?
                    Oder eine Lösung das man js2fs zum Laufen bekommt?

                    Habe heute den js-controller Update gemacht. Da läuft js2fs nicht mehr 😞

                    js2fs.0	2020-10-10 16:26:49.363	error	at processTicksAndRejections (internal/process/task_queues.js:97:5)
                    js2fs.0	2020-10-10 16:26:49.363	error	at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:8147:76
                    js2fs.0	2020-10-10 16:26:49.363	error	at Object.options.ready (/opt/iobroker/node_modules/iobroker.js2fs/node_modules/soef/soef.js:1365:13)
                    js2fs.0	2020-10-10 16:26:49.363	error	at checkIfUpdated (/opt/iobroker/node_modules/iobroker.js2fs/node_modules/soef/soef.js:1239:20)
                    js2fs.0	2020-10-10 16:26:49.363	error	(25740) TypeError: Cannot read property 'getState' of undefined
                    js2fs.0	2020-10-10 16:26:49.360	error	(25740) unhandled promise rejection: Cannot read property 'getState' of undefined
                    
                    F Glasfaser 2 Replies Last reply Reply Quote 0
                    • F
                      fastfoot @Bongo last edited by

                      @Bongo sagte in Javascript-Adapter Script-Mirror:

                      Gibt es da schon eine Lösung, dass man auch Blockly importieren kann?

                      wie genau hast du denn die Datei, welche du importieren möchtest, vorliegen?

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        Bongo @fastfoot last edited by

                        @fastfoot sagte in Javascript-Adapter Script-Mirror:

                        wie genau hast du denn die Datei, welche du importieren möchtest, vorliegen?

                        Zum Test habe ich eine kleine Blockly Datei gemacht. Das steht dann im Filesystem mit der Dateiendung .js:

                        // BlocklyTest
                        
                        //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIoJTNBYXFxNzV6MU5UIW9pUCUyRiUyNEUlMjU1JTIyJTIweCUzRCUyMjMxMyUyMiUyMHklM0QlMjIxMzglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFQmxvY2tseVRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                        

                        Wenn ich das importiere in ein neues, leeres Blockly sehe ich nichts.
                        Bei js2fs hat es zu einem Blockly eine .js und eine .blockly gegeben.

                        Aber ich sehe gerade, das .blockly kann man auch nicht importieren. Hmm ...
                        Aha, wenn ich das .js aus der Spiegelung kopiere ist es im Javascript Adapter wieder als Blockly vorhanden.
                        Mir geht es um eine zusätzliche Sicherung der Skripte. Das würde mit der Spiegelung funktionieren.
                        Ich denke, ich bin damit zufrieden 🙂

                        F 2 Replies Last reply Reply Quote 0
                        • Glasfaser
                          Glasfaser @Bongo last edited by

                          @Bongo sagte in Javascript-Adapter Script-Mirror:

                          Habe heute den js-controller Update gemacht. Da läuft js2fs nicht mehr

                          nutze doch den von JS selber .

                          1.JPG

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

                            @Bongo sagte in Javascript-Adapter Script-Mirror:

                            Mir geht es um eine zusätzliche Sicherung der Skripte. Das würde mit der Spiegelung funktionieren.
                            Ich denke, ich bin damit zufrieden

                            Ich mache immer ein komplettes Backup der Skripte, bei Bedarf kopiere ich dann das benötigte Skript und erstelle mir davon den XML Import. Das zurück kopieren in den Mirror Ordner ist etwas tricky, je nachdem ob es dort noch existiert und man nur eine ältere Version einspielen will.
                            test.PNG

                            1 Reply Last reply Reply Quote 0
                            • B
                              Bongo @Glasfaser last edited by

                              @Glasfaser sagte in Javascript-Adapter Script-Mirror:

                              nutze doch den von JS selber .

                              Danke, das mache ich jetzt auch.

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

                                @Bongo sagte in Javascript-Adapter Script-Mirror:

                                Zum Test habe ich eine kleine Blockly Datei gemacht. Das steht dann im Filesystem mit der Dateiendung .js:
                                Wenn ich das importiere in ein neues, leeres Blockly sehe ich nichts.
                                Bei js2fs hat es zu einem Blockly eine .js und eine .blockly gegeben.

                                hier mal ein kleines Skript, welche eine solche Datei in ein XML zum Import umwandelt. Zeile 2+3 anpassen!

                                const fs = require('fs');
                                const fn = '/opt/iobroker/restore/Test.js'
                                const fnOut = '/opt/iobroker/restore/Test.xml'
                                
                                getData();
                                
                                function getData(){
                                    try {
                                        var data = fs.readFileSync(fn, 'utf8')
                                        const pos = data.lastIndexOf('\n');
                                        if (pos !== -1) {
                                            data = data.substring(pos + 3);
                                            if(data.indexOf('JTNDeG1sJTIweG1') !== -1) {
                                                data = decodeURIComponent(Buffer.from(data, 'base64').toString('utf8'));
                                                fs.writeFile(fnOut, data, err => {
                                                    if(err) {
                                                        return console.log(err);
                                                    }
                                                    log('Done!');
                                                });
                                            }
                                        }
                                    }catch(e){
                                        return log(e);
                                    }
                                }
                                
                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  AndreasE112 @fastfoot last edited by

                                  Wie und wann werden denn die Skripte gespiegelt.
                                  ich hab alles eingetragen aber der Orderner bleibt leer.

                                  Ich hätte jetzt erwartet dass dort die scripte als xxxx.js erscheinen.

                                  Garfonso 1 Reply Last reply Reply Quote 0
                                  • Garfonso
                                    Garfonso Developer @AndreasE112 last edited by

                                    @andrease112 sollte eigentlich sofort erscheinen. Allerdings darf nur eine Instanz synchronisieren. Die musst du in den Instanzsettings noch auswählen (direkt neben dem Pfad). Das ist das einzige (und das der Pfad irgendwie nicht stimmt / nicht schreibbar ist) sind die einzigen dinge, die mir noch einfallen.

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      AndreasE112 @Garfonso last edited by

                                      @garfonso !!
                                      Hallo Garfonso hier sind ein paar Screenshots wie ich es eingestellt hab:

                                      Unbenannt.PNG
                                      Unbenannt1.PNG
                                      Unbenannt2.PNG

                                      fällt Dir etwas auf das ich falsch gemacht hab ?

                                      Grüße

                                      Andreas

                                      Thomas Braun 1 Reply Last reply Reply Quote 0
                                      • Thomas Braun
                                        Thomas Braun Most Active @AndreasE112 last edited by Thomas Braun

                                        @andrease112
                                        Der iobroker darf nicht in /home/Javascript schreiben, der gehört root (und ist auch falsch an der Stelle).

                                        Leg ein Verzeichnis in /home/iobroker (als iobroker) an. Dann passt das auch.

                                        sudo -u iobroker mkdir /home/iobroker/backup_skripte
                                        
                                        A 1 Reply Last reply Reply Quote 1
                                        • A
                                          AndreasE112 @Thomas Braun last edited by

                                          @thomas-braun sagte in Javascript-Adapter Script-Mirror:

                                          /home/iobroker/backup_skripte

                                          Vielen dank !!! jetzt gehts 👍 👍 👍 👏 👏 👏

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          879
                                          Online

                                          31.8k
                                          Users

                                          80.0k
                                          Topics

                                          1.3m
                                          Posts

                                          javascript
                                          11
                                          19
                                          1712
                                          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