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.
    • Homoran
      Homoran Global Moderator Administrators last edited by

      @ruhr70:

      Homoran wird mich jetzt wahrscheinlich hauen, weil es das alles irgendwo gibt `
      Würde ich ja gerne, aber dieser Wunsch steht auch bei mir gaaanz oben auf der Wunschliste:

      Das selektive Speichern/exportieren einzelner Adapterkonfigurationen.

      Dieses ist IMHO insbesondere bei Adaptern mit sehr vielen Einträgen sinnvoll, wie es z.B. der Broadlink sein könnte (ich habe ihn immer noch nicht installiert). Außerdem gehören dazu:

      • ping

      • tankerkoenig

      • parser
        um nur ein paar zu nennen.

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

      Der Rest (mal eben auf die Schnelle in meiner Installation nachgesehen):

      • States: ?

      • logs: /opt/iobroker/log; standardmäßig 7 Tage, ist aber irgendwo in den Tiefen einstellbar - hatte Bluefox mal gepostet

      • vis: /opt/iobroker/iobroker-data/files/vis.0/ProjectName (meistens "main")/vis-views.json

      • Adapter Einstellungen: s.o.

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

      • Datensicherungen: /opt/iobroker/backups/

      • Historische Daten: /opt/iobroker/iobroker-data/history

      Gruß

      Rainer

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

                            422
                            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