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.
    • P
      pix last edited by

      Hallo,

      genau diese Frage hätte ich schon beim Usertreffen 2017 in Kassel. Ich wollte die Adapterkonfiguration des Tankerkönig Adapters exportier-/importierbar machen.

      Der S7 Adapter kann das bereits.

      Bluefox hat mir den Weg erklärt, aber ich konnte es nicht verwirklichen [emoji45]<emoji seq="1f92d">🤭</emoji>

      Die Einstellungen müssen URL-Encoded als Datei gespeichert werden. Soviel weiß ich noch.

      Sonst hilft nur Screenshots machen und Hilfstextdateien, die man mit copy paste befüllt.

      Gruß

      Pix

      1 Reply Last reply Reply Quote 0
      • 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

                          925
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

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