Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Anfängerfrage

    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

    Anfängerfrage

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

      @Homoran:

      States: ? `
      States: /opt/iobroker/iobroker-data/states.json bzw. Redis-DB
      @Homoran:

      Skripte : ?, können aber alle einzeln exportiert werden `

      Objekte inkl. Skripte, Konfigurationen: /opt/iobroker/iobroker-data/objects.json
      @Homoran:

      Historische Daten: /opt/iobroker/iobroker-data/history `
      Das ist der Standard-Pfad, der in der Konfiguration der History-Instanz geändert werden kann.

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by paul53

        @Homoran:

        Meines Wissens liegen diese Konfigurationen in einem einzigen json, weitestgehend ohne ordnende Struktur

        Ja, aber man könnte die Konfiguration in eine Datei (json) per Script exportieren und im Zielsystem wieder per Script importieren, da die Konfiguration typisch (mir bekannte Ausnahme: parser) als Objekt vorliegen: Im Objekt system.adapter.name.N ist sie unter native abgelegt.

        const instanz = 'ping.0';  // zu sichernde Konfiguration
        
        const path = '/opt/iobroker/iobroker-data/files/';
        const fn = path + instanz + '_native.json';
        const fs = require('fs');
        const idObj = 'system.adapter.' + instanz;
        
        var config = getObject(idObj).native;
        
        fs.writeFileSync(fn, JSON.stringify(config));
        
        

        Im Zielsystem einlesen kann man die Konfiguration mit einem entsprechenden Script, nachdem man die Datei dorthin kopiert hat:

        const instanz = 'ping.0';  // einzulesende Konfiguration
        
        const path = '/opt/iobroker/iobroker-data/files/';
        const fn = path + instanz + '_native.json';
        const fs = require('fs');
        const idObj = 'system.adapter.' + instanz;
        
        fs.readFile(fn, function(err, json) {
           if(err) log('Fehler Datei lesen: ' + err, 'error');
           else {
              var obj = getObject(idObj);
              if(obj) {
                 obj.native = JSON.parse(json);
                 setObject(idObj, obj);
              }
           }   
        });
        

        EDIT umbenannt: instance –> instanz

        1 Reply Last reply Reply Quote 0
        • Winni
          Winni last edited by

          Guten Morgen, scheint doch nicht so einfach zu sein wie erhofft, aber auf alle Fälle, vielen Dank für euren Input.

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Hallo,
            @paul53:

            @Homoran:

            Meines Wissens liegen diese Konfigurationen in einem einzigen json, weitestgehend ohne ordnende Struktur `
            Ja, aber man könnte die Konfiguration in eine Datei (json) per Script exportieren und im Zielsystem wieder per Script importieren, da die Konfiguration typisch (mir bekannte Ausnahme: parser) als Objekt vorliegen: Im Objekt system.adapter.name.N ist sie unter native abgelegt.

            const instance = 'ping.0';  // zu sichernde Konfiguration
            
            const path = '/opt/iobroker/iobroker-data/files/';
            const fn = path + instance + '_native.json';
            const fs = require('fs');
            const idObj = 'system.adapter.' + instance;
            
            var config = getObject(idObj).native;
            
            fs.writeFileSync(fn, JSON.stringify(config));
            
            

            Im Zielsystem einlesen kann man die Konfiguration mit einem entsprechenden Script, nachdem man die Datei dorthin kopiert hat:

            const instance = 'ping.0';  // einzulesende Konfiguration
            
            const path = '/opt/iobroker/iobroker-data/files/';
            const fn = path + instance + '_native.json';
            const fs = require('fs');
            const idObj = 'system.adapter.' + instance;
            
            fs.readFile(fn, function(err, json) {
               if(err) log('Fehler Datei lesen: ' + err, 'error');
               else {
                  var obj = getObject(idObj);
                  if(obj) {
                     obj.native = JSON.parse(json);
                     setObject(idObj, obj);
                  }
               }   
            });
            
            ```` `  
            

            du bist der Hammer! Ich hab den Post eben entdeckt, kurz dein Skript getestet. Und es geht!

            Vielleicht kriege ich das noch in meinen Adapter eingebaut bis Kassel.

            Herzlichen Dank für die Hilfe

            Gruß,

            Pix

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              Hab jetzt mal für mich ein kleines Skript draus gebastelt, dass meinen OS-X Pfad mag, den Punkt vor der Instanz ersetzt und eine Art Quelle -> Ziel Vorgehen erlaubt. Noch nicht fertig, aber läuft.

              @Paul53: Ich habe die Konstante "instance" umbenannt, da der Begriff im Kavascript Adapter schon belegt ist: https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#instance

              Gruß

              Pix

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                @pix:

                Vielleicht kriege ich das noch in meinen Adapter eingebaut bis Kassel. `
                Das wäre echt Spitze!

                Das sollte dann in alle Adapter mit komplexeren Konfigurationen eingebaut werden!

                @pix:

                du bist der Hammer! `
                Ist er!

                Jetzt vermisse ich auch den Danke Button.

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @pix:

                  Ich habe die Konstante "instance" umbenannt, da der Begriff im Kavascript Adapter schon belegt ist `
                  Die doppelte Bezeichnung stört nicht, wenn "instance" aus dem JS-Adapter in dem Skript nicht verwendet wird. In der ersten Zeile wird der Variablen die komplette Instanz "Adaptername.N" zugeordnet. Aber insofern gebe ich Dir recht: Es kann einige verwirren.

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @ruhr70:

                    Jetzt wollte ich gerade sportlich einen Link zu iobroker.net und der Doku einstellen und stelle fest, dass es, zu mindestens in den ersichtlichen Menüs, gar kein Grundlagen Bereich gibt.

                    Hilft Dir zwar jetzt nicht, aber die Doku müsste um ein Grundlagenbereich erweitert werden, der hilft ioBroker zu verstehen.

                    (Deine beiden Fragen kann ich Dir leider nicht direkt beantworten)

                    States - was und wo können diese liegen (Datei, Redis)

                    Objekte - wo und Details

                    Logs - wo, wie lange gespeichert

                    VIS - wo und in welcher Form gespeichert

                    Adapter Einstellungen - wo und in welcher Form gespeichert.

                    Skripte - wo (in dder Object JSON und opt. mit js2file)

                    Datensicherungen - was enthalten diese und wo gespeichert

                    Historische Daten - welche Möglichkeiten. wenn im Dateisystem, wo

                    …

                    Homoran wird mich jetzt wahrscheinlich hauen, weil es das alles irgendwo gibt. Bei ibobroker.net/Doku bin ich da jetzt nciht schnell zum Ziel gekommen :mrgreen: `

                    https://github.com/ioBroker/ioBroker.do … LOSSARY.md

                    1 Reply Last reply Reply Quote 0
                    • ruhr70
                      ruhr70 last edited by

                      +1 für die Skripts von Paul53

                      +1 für den Verweis von Bluefox zum Glossar

                      1 Reply Last reply Reply Quote 0
                      • Stabilostick
                        Stabilostick last edited by

                        @Bluefox:

                        https://github.com/ioBroker/ioBroker.do … LOSSARY.md `

                        Das Glossar ist aktuell hier zu finden:

                        https://github.com/ioBroker/ioBroker.do … LOSSARY.md

                        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

                        419
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        7
                        14
                        1769
                        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