Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Admin3 Migration von Konfigurationsdateien

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Admin3 Migration von Konfigurationsdateien

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

      Leider hab ich mit Admin 3 auch andere Probleme!

      Mein neuer Adapter hat (ausschließlich) einen Tab, einigen Code hab ich von der vorletzten Version vom Javascript-Adapter übernommen, aber den Tab komplett ohne jQuery-UI ausschließlich mit jquery und materialize geschrieben. Der code ist dort auf Git: https://github.com/frankjoke/ioBroker.statemachine

      Momentan ist die Logik im Adapter nicht fertig, d.h. man kann konfigurieren aber es wird noch nichts ausgeführt. Ein Grund ist dass ich verbissen nach Fehlern gesucht habe um die Kommunikation zwischen Tab und adapter hinzukriegen bis ich draufgekommen bin dass der Grund der neue adapter 3.1+ oder auch 3.2 ist warum all das was vorher schon funktioniert hat jetzt nicht mehr geht!

      Da ich die Zustände meines Adapters in der Konfig live anzeigen muss hab ich auch Objekte und states abonniert (so wie es im Javascript vorkommt…

      main.socket.on('objectChange', function (id, obj) {
                              setTimeout(main.objectChange, 0, id, obj);
                          });
      main.socket.on('onUpdate', function (id, obj) {
                              setTimeout(main.stateChange, 0, id, obj);
                          });
      main.socket.on('stateChange', function (id, obj) {
                              setTimeout(main.stateChange, 0, id, obj);
                          });
      
      

      Das hat auch funktioniert - unter Admin2.0.9 und 3.0 Beta, ich hatte vorher beide drauf und (glaubte) damit beide testen zu können, was auch funktioniert hat bis ich die 3.1.7 oder so offiziell installiert habe.

      Ich bekomme bei 2.0.9 alle State- (und Objekt-) änderungen durch und kann sie anzeigen.

      Ich verwende auch

      main.socket.emit('setObject', main.adapterConfigId, cconf, function (err) {
                              if (err) {
                                  showError(err);
                                  //                        that.init(true);
                              }
                          });
      

      um die Konfiguration zu speichern, hat auch wunderbar funktioniert!

      Jetzt das eigenartige: Sobald ich einen Admin>3.1.x verwende bekomme ich außer system.host.* keine sates mehr auf onState/onUpdate!

      Noch eigenartiger, solange ich NICHT am Tab war bekomme ich alle system.* state updates (system.adapter, system.host, …), sobald ich den tab öffne bekomme ich nurmehr system.host.*!

      Außerdem wird der Adapter zwar restarted wenn ich mit setObject die Konfig speichere aber der Tab wird gelöscht und nicht neu geladen, im admin-tab wird nichts eingeladen (und nicht der Verweis auf den tab-Link)!! Ich muss dann auf einen anderen Tab cklicken und dann zurück, damit meiner wieder geladen wird.

      Eigenartigerweise wird beim Click auf einen anderen Tab meiner auch im Hintergrund meiner neu geladen (was ich angand des Debuggers sehe wo ich einige console.log eingebaut habe um das Verhalten zu debuggen). Übrigens, das passiert nur beim ersten click auf einen anderen Adapter, nicht wenn ich weitere tabs ancklicke, aber die frame wird immer neu geladen wenn ich zum Tab komme oder vom tab weggehe.

      All das ist nicht der Fall unter Admin 2.0.9 und der Adapter Tab funktioniert dort OK.

      Leider funktionieren andere Dinge nicht mehr gut wenn man auch 2.0.9 zurück steigt da sich anscheinend Versionen von libraries mischen.

      p.s.: Hab auch noch Probleme mit woff2-Fondateien in meiner Lib. Diese werden nicht als binary sondern ahtml interpretiert was dann einen Fehler im browser erzeit der das font-binary entpacken will!. beim upload werden sie als application/font-woff2 hochgeladen aber der Browser scheint das nicht zu verstehen.

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

        @fsjoke:

        Leider hab ich mit Admin 3 auch andere Probleme!

        Mein neuer Adapter hat (ausschließlich) einen Tab, einigen Code hab ich von der vorletzten Version vom Javascript-Adapter übernommen, aber den Tab komplett ohne jQuery-UI ausschließlich mit jquery und materialize geschrieben. Der code ist dort auf Git: https://github.com/frankjoke/ioBroker.statemachine

        Momentan ist die Logik im Adapter nicht fertig, d.h. man kann konfigurieren aber es wird noch nichts ausgeführt. Ein Grund ist dass ich verbissen nach Fehlern gesucht habe um die Kommunikation zwischen Tab und adapter hinzukriegen bis ich draufgekommen bin dass der Grund der neue adapter 3.1+ oder auch 3.2 ist warum all das was vorher schon funktioniert hat jetzt nicht mehr geht!

        Da ich die Zustände meines Adapters in der Konfig live anzeigen muss hab ich auch Objekte und states abonniert (so wie es im Javascript vorkommt…

        main.socket.on('objectChange', function (id, obj) {
                                setTimeout(main.objectChange, 0, id, obj);
                            });
        main.socket.on('onUpdate', function (id, obj) {
                                setTimeout(main.stateChange, 0, id, obj);
                            });
        main.socket.on('stateChange', function (id, obj) {
                                setTimeout(main.stateChange, 0, id, obj);
                            });
                         
        

        Das hat auch funktioniert - unter Admin2.0.9 und 3.0 Beta, ich hatte vorher beide drauf und (glaubte) damit beide testen zu können, was auch funktioniert hat bis ich die 3.1.7 oder so offiziell installiert habe.

        Ich bekomme bei 2.0.9 alle State- (und Objekt-) änderungen durch und kann sie anzeigen.

        Ich verwende auch

        main.socket.emit('setObject', main.adapterConfigId, cconf, function (err) {
                                if (err) {
                                    showError(err);
                                    //                        that.init(true);
                                }
                            });
        

        um die Konfiguration zu speichern, hat auch wunderbar funktioniert!

        Jetzt das eigenartige: Sobald ich einen Admin>3.1.x verwende bekomme ich außer system.host.* keine sates mehr auf onState/onUpdate!

        Noch eigenartiger, solange ich NICHT am Tab war bekomme ich alle system.* state updates (system.adapter, system.host, …), sobald ich den tab öffne bekomme ich nurmehr system.host.*!

        Außerdem wird der Adapter zwar restarted wenn ich mit setObject die Konfig speichere aber der Tab wird gelöscht und nicht neu geladen, im admin-tab wird nichts eingeladen (und nicht der Verweis auf den tab-Link)!! Ich muss dann auf einen anderen Tab cklicken und dann zurück, damit meiner wieder geladen wird.

        Eigenartigerweise wird beim Click auf einen anderen Tab meiner auch im Hintergrund meiner neu geladen (was ich angand des Debuggers sehe wo ich einige console.log eingebaut habe um das Verhalten zu debuggen). Übrigens, das passiert nur beim ersten click auf einen anderen Adapter, nicht wenn ich weitere tabs ancklicke, aber die frame wird immer neu geladen wenn ich zum Tab komme oder vom tab weggehe.

        All das ist nicht der Fall unter Admin 2.0.9 und der Adapter Tab funktioniert dort OK.

        Leider funktionieren andere Dinge nicht mehr gut wenn man auch 2.0.9 zurück steigt da sich anscheinend Versionen von libraries mischen.

        p.s.: Hab auch noch Probleme mit woff2-Fondateien in meiner Lib. Diese werden nicht als binary sondern ahtml interpretiert was dann einen Fehler im browser erzeit der das font-binary entpacken will!. beim upload werden sie als application/font-woff2 hochgeladen aber der Browser scheint das nicht zu verstehen. `
        Man muss jetzt auf die Zustände sich subscriben. Schreib socket.emit("subscribe", "myname." + instanz);

        Applicatuon/font-woff2 ist falsch. Richtig:

        font/woff2

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

          Das Problem mit dem Tab-reload muss ich noch anschauen.

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

            ich werde noch bekloppt..

            habe gerade den hs100 umgestellt… auf meinem dev system bekomme ich immer nur die alte Seite angezeigt

            io-package : gemacht

            index_m : gemacht

            container anpassung : gemacht

            nix neue admin .....

            verdammt

            sollte jemanden langweilig sein.. https://github.com/arteck/ioBroker.hs100/tree/newApi

            will das teil nicht dirket ins master mergen.. da ich nicht weiss obs geht..

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

              upload und STRG-F5 auch schon probiert?

              Gruß

              Rainer

              1 Reply Last reply Reply Quote 0
              • blauholsten
                blauholsten Developer last edited by

                @arteck:

                ich werde noch bekloppt..

                habe gerade den hs100 umgestellt… auf meinem dev system bekomme ich immer nur die alte Seite angezeigt

                io-package : gemacht

                index_m : gemacht

                container anpassung : gemacht

                nix neue admin .....

                verdammt

                sollte jemanden langweilig sein.. https://github.com/arteck/ioBroker.hs100/tree/newApi

                will das teil nicht dirket ins master mergen.. da ich nicht weiss obs geht.. `

                Auf die schnelle vom Handy,

                Nim Mal aus der Zeile 119 oder 120 das div weg. Das scheint zuviel zu sein

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

                  Und ja iobroker upload xy

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

                    jo der war zu viel

                    und der upload wars…

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

                      Ein Hinweis für Nutzer, die auf OS X entwickeln:

                      Vor dem Befehl

                      gulp adminLanguagesFlat2words
                      
                      

                      muss die versteckte Datei .DS_Store im verzeichnis /admin/i18n entfernt werden. Ich mache das einfach mit meinem FTP-Client (Transmit). Der kann auch versteckte Dateien anzeigen. Natürlich kann man auch das Terminal nutzen.

                      Im entsprechenden Verzeichnis diesen Befehl ausführen:

                      find . -name '*.DS_Store' -type f -delete
                      

                      Fehlermeldung, wenn Datei nicht entfernt:

                      ! ! gulp adminLanguagesFlat2words [14:28:32] Using gulpfile ~/Documents/Github/ioBroker.epson_stylus_px830/gulpfile.js [14:28:32] Starting 'adminLanguagesFlat2words'... [14:28:32] 'adminLanguagesFlat2words' errored after 917 μs [14:28:32] Error: ENOTDIR: not a directory, open './admin/i18n/.DS_Store/flat.txt' at Error (native) at Object.fs.openSync (fs.js:549:18) at Object.fs.readFileSync (fs.js:397:15) usw. usw. !
                      Wenn alles klappt, sieht es so aus:

                      gulp adminLanguagesFlat2words
                      [14:31:07] Using gulpfile ~/Documents/Github/ioBroker.epson_stylus_px830/gulpfile.js
                      [14:31:07] Starting 'adminLanguagesFlat2words'...
                      [14:31:07] Finished 'adminLanguagesFlat2words' after 7.22 ms
                      
                      

                      Gruß

                      Pix

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

                        Hallo,

                        261_bildschirmfoto_2018-04-20_um_21.22.51.jpg

                        für die Verlinkung der Dokumentationen in den verschiedenen Sprachen habe ich mir sowas gebaut. Hier der Markdown Code.

                        Man könnte den Dateinamen pro Sprache noch standardisieren, aber so ist es auch schnell geändert.

                        :de: [Dokumentation](/docs/de/doc_homepilot_de.md)
                        
                        :uk: [Documentation](/docs/en/doc_homepilot_en.md)
                        
                        :ru: [Документация](/docs/en/doc_homepilot_en.md)
                        
                        :portugal: [Documentação](/docs/en/doc_homepilot_en.md)
                        
                        :netherlands: [Documentatie](/docs/en/doc_homepilot_en.md)
                        
                        :fr: [Documentation](/docs/en/doc_homepilot_en.md)
                        
                        :it: [Documentazione](/docs/en/doc_homepilot_en.md)
                        
                        :es: [Documentación](/docs/en/doc_homepilot_en.md)
                        
                        :poland: [Dokumentacja](/docs/en/doc_homepilot_en.md)
                        
                        

                        Gruß

                        Pix

                        1 Reply Last reply Reply Quote 0
                        • simatec
                          simatec Developer Most Active last edited by

                          Ich probiere gerade bei meinem Adapter die Sprachen aus den translations.json in die words.js zu bekommen.

                          Scheitere aber an folgenden Fehlermeldungen.

                          pi@ioBroker-RasPi:/opt/iobroker/node_modules/iobroker.backitup $ gulp adminLanguages2words
                          assert.js:42
                            throw new errors.AssertionError({
                            ^
                          
                          AssertionError [ERR_ASSERTION]: Task function must be specified
                              at Gulp.set [as _setTask] (/opt/iobroker/node_modules/iobroker.backitup/node_modules/undertaker/lib/set-task.js:10:3)
                              at Gulp.task (/opt/iobroker/node_modules/iobroker.backitup/node_modules/undertaker/lib/task.js:13:8)
                              at Object. <anonymous>(/opt/iobroker/node_modules/iobroker.backitup/gulpfile.js:495:6)
                              at Module._compile (module.js:652:30)
                              at Object.Module._extensions..js (module.js:663:10)
                              at Module.load (module.js:565:32)
                              at tryModuleLoad (module.js:505:12)
                              at Function.Module._load (module.js:497:3)
                              at Module.require (module.js:596:17)
                              at require (internal/module.js:11:18)</anonymous>
                          

                          Hat jemand von euch eine Idee?

                          1 Reply Last reply Reply Quote 0
                          • simatec
                            simatec Developer Most Active last edited by

                            Problem gelöst … es gab ein Problem mit dem Paket gulp-cli

                            1 Reply Last reply Reply Quote 0
                            • simatec
                              simatec Developer Most Active last edited by

                              Ich habe wieder das gleiche Problem und kann den Fehler nicht finden.

                              Habe lediglich die flat.txt Dateien erweitert und wollte es in die words.js schieben.

                              Bekomme wieder diesen Fehler:

                              gulp adminLanguagesFlat2words
                              assert.js:42
                                throw new errors.AssertionError({
                                ^
                              
                              AssertionError [ERR_ASSERTION]: Task function must be specified
                                  at Gulp.set [as _setTask] (/opt/iobroker/node_modules/iobroker.backitup/node_modules/undertaker/lib/set-task.js:10:3)
                                  at Gulp.task (/opt/iobroker/node_modules/iobroker.backitup/node_modules/undertaker/lib/task.js:13:8)
                                  at Object. <anonymous>(/opt/iobroker/node_modules/iobroker.backitup/gulpfile.js:495:6)
                                  at Module._compile (module.js:652:30)
                                  at Object.Module._extensions..js (module.js:663:10)
                                  at Module.load (module.js:565:32)
                                  at tryModuleLoad (module.js:505:12)
                                  at Function.Module._load (module.js:497:3)
                                  at Module.require (module.js:596:17)
                                  at require (internal/module.js:11:18)</anonymous> 
                              

                              Was kann das sein??

                              Bei meinen letzten Änderungen der flat.txt Dateien ging es problemlos :shock:

                              1 Reply Last reply Reply Quote 0
                              • blauholsten
                                blauholsten Developer last edited by

                                @Bluefox:

                                Dafür kann man service benutzen: http://iobroker.net:3000/ `

                                Die Seite ist nicht mehr erreichbar? Habe ich was verpasst?

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

                                  Neu: http://www.iobroker.net:3000

                                  1 Reply Last reply Reply Quote 0
                                  • blauholsten
                                    blauholsten Developer last edited by

                                    @apollon77:

                                    Neu: http://www.iobroker.net:3000 `

                                    Nice, danke

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    1.0k
                                    Online

                                    31.6k
                                    Users

                                    79.5k
                                    Topics

                                    1.3m
                                    Posts

                                    17
                                    50
                                    11110
                                    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