Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Adapter wird 2x installiert

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Adapter wird 2x installiert

Scheduled Pinned Locked Moved Entwicklung
gelbnodemodulesinstallationinstanz
55 Posts 4 Posters 3.5k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • BaumertB Baumert

    @Baumert so...

    6Travis CI.png

    allerdings noch ohne Script "- npm run test:unit", hier gibt es noch Errors. Dies und das doppelte Installieren des Adapters (siehe Post 1) gehe ich morgen an.

    Vielen Dank für Eure Tipps und Unterstützung.

    AlCalzoneA Offline
    AlCalzoneA Offline
    AlCalzone
    Developer
    wrote on last edited by
    #37

    @Baumert sagte in Adapter wird 2x installiert:

    allerdings noch ohne Script "- npm run test:unit", hier gibt es noch Errors.

    Dann lass das raus. Der Integration Test ist wichtiger.

    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

    OliverIOO 1 Reply Last reply
    0
    • AlCalzoneA AlCalzone

      @Baumert sagte in Adapter wird 2x installiert:

      allerdings noch ohne Script "- npm run test:unit", hier gibt es noch Errors.

      Dann lass das raus. Der Integration Test ist wichtiger.

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      wrote on last edited by
      #38

      @AlCalzone
      sollte er nicht, da sein Adapter noch nicht kompatibel mit dem compact mode ist.
      da muss er noch reparieren

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      AlCalzoneA 1 Reply Last reply
      0
      • OliverIOO OliverIO

        @AlCalzone
        sollte er nicht, da sein Adapter noch nicht kompatibel mit dem compact mode ist.
        da muss er noch reparieren

        AlCalzoneA Offline
        AlCalzoneA Offline
        AlCalzone
        Developer
        wrote on last edited by AlCalzone
        #39

        @OliverIO Hast Recht, ich habs gerade gesehen:

        Error: The unload callback was not called within the timeout
        Error: The adapter's main file must export a function in compact mode!
        

        Beides valide Fehler, die es zu beheben gilt.

        @Baumert Was hast du eigentlich für eine Vorlage verwendet? Einige deiner Probleme hier sollten mit einer aktuellen Vorlage bzw. dem Adapter-Creator gar nicht erst auftreten.

        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

        1 Reply Last reply
        0
        • apollon77A Online
          apollon77A Online
          apollon77
          wrote on last edited by
          #40

          Und weil wir schon bei Quasi Reviews hier sind ... bitte schau Dir auch mal https://github.com/ioBroker/ioBroker.repositories#development-and-coding-best-practices an ... und überlege was dich betreffen kann ...

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          BaumertB 1 Reply Last reply
          0
          • apollon77A apollon77

            Und weil wir schon bei Quasi Reviews hier sind ... bitte schau Dir auch mal https://github.com/ioBroker/ioBroker.repositories#development-and-coding-best-practices an ... und überlege was dich betreffen kann ...

            BaumertB Offline
            BaumertB Offline
            Baumert
            wrote on last edited by Baumert
            #41

            @apollon77 @OliverIO Ich mache dies jetzt richtig, der Adapter soll alle Prüfungen bestehen und es soll auch alles andere passen. 'development-and-coding-best-practices' gehe ich jetzt Punkt für Punkt durch und bearbeite es entsprechend.

            BaumertB 1 Reply Last reply
            1
            • BaumertB Baumert

              @apollon77 @OliverIO Ich mache dies jetzt richtig, der Adapter soll alle Prüfungen bestehen und es soll auch alles andere passen. 'development-and-coding-best-practices' gehe ich jetzt Punkt für Punkt durch und bearbeite es entsprechend.

              BaumertB Offline
              BaumertB Offline
              Baumert
              wrote on last edited by
              #42

              Ich habe einen anderen Adapter als Vorlage genommen, da mein Adapter immer umfangreicher wurde, kam es zu den aktuellen Problemen. Ich baue jetzt meinen Adapter noch einmal neu auf und nehme hierzu die Vorlage '...ioBroker.template/JavaScript/'!
              Kann sein, dass ich hier oder da noch einmal Unterstützung benötige.

              apollon77A 1 Reply Last reply
              0
              • BaumertB Baumert

                Ich habe einen anderen Adapter als Vorlage genommen, da mein Adapter immer umfangreicher wurde, kam es zu den aktuellen Problemen. Ich baue jetzt meinen Adapter noch einmal neu auf und nehme hierzu die Vorlage '...ioBroker.template/JavaScript/'!
                Kann sein, dass ich hier oder da noch einmal Unterstützung benötige.

                apollon77A Online
                apollon77A Online
                apollon77
                wrote on last edited by
                #43

                @Baumert Template ist ok ... aber warum nimmst Du nicht den adapter creator?

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                BaumertB 1 Reply Last reply
                0
                • apollon77A apollon77

                  @Baumert Template ist ok ... aber warum nimmst Du nicht den adapter creator?

                  BaumertB Offline
                  BaumertB Offline
                  Baumert
                  wrote on last edited by
                  #44

                  Hallo, ich habe doch noch eine Frage - ich habe mehrere Funktionen, die über verschiedene Zeitintervall wieder durchlaufen werden sollen. Bis jetzt habe ich es mit Setinterval() in der Funktion main() realisiert, finde es aber nicht geschickt. Gibt es ein Beispielcode, wie ich den zeitlichen Aufruf einer Funktion, z.B. alle 10 Sekunden, vernünftig realisieren kann. Sollte innerhalb der Funktion etwas schief gehen, sollte dies abgefangen werden. Bei SetInterval() wird die Funktion doch immer 'hart' ausgeführt.

                  apollon77A OliverIOO 2 Replies Last reply
                  0
                  • BaumertB Baumert

                    Hallo, ich habe doch noch eine Frage - ich habe mehrere Funktionen, die über verschiedene Zeitintervall wieder durchlaufen werden sollen. Bis jetzt habe ich es mit Setinterval() in der Funktion main() realisiert, finde es aber nicht geschickt. Gibt es ein Beispielcode, wie ich den zeitlichen Aufruf einer Funktion, z.B. alle 10 Sekunden, vernünftig realisieren kann. Sollte innerhalb der Funktion etwas schief gehen, sollte dies abgefangen werden. Bei SetInterval() wird die Funktion doch immer 'hart' ausgeführt.

                    apollon77A Online
                    apollon77A Online
                    apollon77
                    wrote on last edited by
                    #45

                    @Baumert nimm setTimeout und setzte immer am Ende der Methode einen neuen timeout für den nächsten Lauf. In fehlerfällen must du überlegen ob neuer Lauf oder was auch immer

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Reply Last reply
                    0
                    • BaumertB Baumert

                      Hallo, ich habe doch noch eine Frage - ich habe mehrere Funktionen, die über verschiedene Zeitintervall wieder durchlaufen werden sollen. Bis jetzt habe ich es mit Setinterval() in der Funktion main() realisiert, finde es aber nicht geschickt. Gibt es ein Beispielcode, wie ich den zeitlichen Aufruf einer Funktion, z.B. alle 10 Sekunden, vernünftig realisieren kann. Sollte innerhalb der Funktion etwas schief gehen, sollte dies abgefangen werden. Bei SetInterval() wird die Funktion doch immer 'hart' ausgeführt.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by
                      #46

                      @Baumert
                      du kannst bei squeezenoderpc schauen
                      ich verwende verschiedene timer

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      BaumertB 1 Reply Last reply
                      0
                      • OliverIOO OliverIO

                        @Baumert
                        du kannst bei squeezenoderpc schauen
                        ich verwende verschiedene timer

                        BaumertB Offline
                        BaumertB Offline
                        Baumert
                        wrote on last edited by Baumert
                        #47

                        @OliverIO @apollon77 so, ich habe jetzt meinen Adapter neu aufgebaut -> main.js aus ioBroker.template übernommen und mein Programm dort entsprechend integriert, weiterhin habe ich die Timerfunkionen von setintervall() auf individuellen settimout() geändert.
                        Die Travis-CI Tests:

                        script:
                          - npm run test:package
                          - npm run test:unit
                          - export DEBUG=testing:*
                          - npm run test:integration
                        

                        laufen fehlerfrei durch...
                        7Travis CI.png👍

                        Jetzt bin ich allerdings wieder bei meinem ursprünglichen Problem - der Adapter wird, wenn er von GITHUB, installiert wird, 2x im Verzeichnis '.../node_modules/' installiert, 1x mit kleinem b und 1x mit großem B in iobroker:
                        ordner1.png
                        Auszug aus Verzeichnis '.../node_modules/' (sorry für die Darstellung).

                        Instanz kann normal hinzugefügt, startet nach Angabe der Parameter und macht das was er soll. Da doppelte Verzeichnis macht nur Probleme, wenn der Adapter aus der Adapterübersicht gelöscht werden soll. Dabei wird nur der Adapter/Verzeichnis mit dem kleinen 'b' gelöscht, das andere Verzeichnis bleibt und der Adapter kann nicht wieder neu installiert werden, außer man löscht das Verzeichnis manuell über die Konsole.
                        Diese Problem möchte ich noch beheben, habe aber keine Ahnung, wo ich hier angreifen soll.

                        Grüße Thomas

                        OliverIOO 1 Reply Last reply
                        0
                        • BaumertB Baumert

                          @OliverIO @apollon77 so, ich habe jetzt meinen Adapter neu aufgebaut -> main.js aus ioBroker.template übernommen und mein Programm dort entsprechend integriert, weiterhin habe ich die Timerfunkionen von setintervall() auf individuellen settimout() geändert.
                          Die Travis-CI Tests:

                          script:
                            - npm run test:package
                            - npm run test:unit
                            - export DEBUG=testing:*
                            - npm run test:integration
                          

                          laufen fehlerfrei durch...
                          7Travis CI.png👍

                          Jetzt bin ich allerdings wieder bei meinem ursprünglichen Problem - der Adapter wird, wenn er von GITHUB, installiert wird, 2x im Verzeichnis '.../node_modules/' installiert, 1x mit kleinem b und 1x mit großem B in iobroker:
                          ordner1.png
                          Auszug aus Verzeichnis '.../node_modules/' (sorry für die Darstellung).

                          Instanz kann normal hinzugefügt, startet nach Angabe der Parameter und macht das was er soll. Da doppelte Verzeichnis macht nur Probleme, wenn der Adapter aus der Adapterübersicht gelöscht werden soll. Dabei wird nur der Adapter/Verzeichnis mit dem kleinen 'b' gelöscht, das andere Verzeichnis bleibt und der Adapter kann nicht wieder neu installiert werden, außer man löscht das Verzeichnis manuell über die Konsole.
                          Diese Problem möchte ich noch beheben, habe aber keine Ahnung, wo ich hier angreifen soll.

                          Grüße Thomas

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          wrote on last edited by
                          #48

                          @Baumert schreib mal den kompletten pfad wo dein iobroker isntalliert ist
                          und in welchem Verzeichnis du den adapter entwickelst

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          BaumertB 1 Reply Last reply
                          0
                          • OliverIOO OliverIO

                            @Baumert schreib mal den kompletten pfad wo dein iobroker isntalliert ist
                            und in welchem Verzeichnis du den adapter entwickelst

                            BaumertB Offline
                            BaumertB Offline
                            Baumert
                            wrote on last edited by Baumert
                            #49

                            @OliverIO Den Adapter entwicklen ich auf einem Windowsrechner (Installiert mit iobroker-1.5.14.b-windows-installer.exe) , auf dem ich eine eigene Testumgebung mit iobroker und VS Code aufgebaut haben. Dort läuft alles im Verzeichnis:

                            C:\Program Files\iobroker\Testsystem1\node_modules\iobroker.repetierserver

                            Das 'Lifesystem', bei dem das Verzeichnis doppelt angelegt wird, läuft auf einem extra Server mit Ubuntu 18.04.3 LTS. Dort werden beim Installier von GITHUB aus in die Verzeichnisse:

                            /opt/iobroker/node_modules/iobroker.repetierserver
                            /opt/iobroker/node_modules/ioBroker.repetierserver

                            erstellt.

                            OliverIOO 1 Reply Last reply
                            0
                            • BaumertB Baumert

                              @OliverIO Den Adapter entwicklen ich auf einem Windowsrechner (Installiert mit iobroker-1.5.14.b-windows-installer.exe) , auf dem ich eine eigene Testumgebung mit iobroker und VS Code aufgebaut haben. Dort läuft alles im Verzeichnis:

                              C:\Program Files\iobroker\Testsystem1\node_modules\iobroker.repetierserver

                              Das 'Lifesystem', bei dem das Verzeichnis doppelt angelegt wird, läuft auf einem extra Server mit Ubuntu 18.04.3 LTS. Dort werden beim Installier von GITHUB aus in die Verzeichnisse:

                              /opt/iobroker/node_modules/iobroker.repetierserver
                              /opt/iobroker/node_modules/ioBroker.repetierserver

                              erstellt.

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              wrote on last edited by
                              #50

                              @Baumert ok,
                              dann schaue mal auf deinem live system die folgende datei an:
                              /opt/iobroker/package.json
                              ob dort dein adapter 2mal auftaucht.

                              ob ja oder nein
                              deinstalliere über die iobroker oberfläche deinen adapter im live system

                              schaue in der
                              /opt/iobroker/package.json
                              nach ob dein adapter da noch drin ist.

                              wenn ja, dann führe auf der commandozeile im verzeichnis /opt/iobroker
                              den befehl
                              npm u <name deines adapters wie er im package.json drinsteht>

                              wenn nein dann weiß ich nicht weiter. meine vermutung ist, dass irgendwann der name iobroker mit großem b war
                              und das in package.json 2 mal drin steht

                              im anschluß kannst du deinen adapter im live system wieder von guthub installieren

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              BaumertB 1 Reply Last reply
                              0
                              • OliverIOO OliverIO

                                @Baumert ok,
                                dann schaue mal auf deinem live system die folgende datei an:
                                /opt/iobroker/package.json
                                ob dort dein adapter 2mal auftaucht.

                                ob ja oder nein
                                deinstalliere über die iobroker oberfläche deinen adapter im live system

                                schaue in der
                                /opt/iobroker/package.json
                                nach ob dein adapter da noch drin ist.

                                wenn ja, dann führe auf der commandozeile im verzeichnis /opt/iobroker
                                den befehl
                                npm u <name deines adapters wie er im package.json drinsteht>

                                wenn nein dann weiß ich nicht weiter. meine vermutung ist, dass irgendwann der name iobroker mit großem b war
                                und das in package.json 2 mal drin steht

                                im anschluß kannst du deinen adapter im live system wieder von guthub installieren

                                BaumertB Offline
                                BaumertB Offline
                                Baumert
                                wrote on last edited by
                                #51

                                @OliverIO Folgendes gemacht:

                                • Eintrag überprüft - im Livesystem steht in der Datein /opt/iobroker/package.json der Adapter 2x drin
                                • Instanz des Adapter im Livesystem gestoppt und gelöscht
                                • Adapter über Oberfläche gelöscht
                                • Adapter immer noch vorhanden
                                • Datei /opt/iobroker/package.json im Livesystem überprüft, Eintrag mit großem B noch vorhanden
                                • Befehl npm u ioBroker.repetierserver versucht - funktioniert nicht... u habe ich nicht als parameter zu npm

                                Frage - Eintrag und Verzeichnis manuell löschen?

                                OliverIOO 1 Reply Last reply
                                0
                                • BaumertB Baumert

                                  @OliverIO Folgendes gemacht:

                                  • Eintrag überprüft - im Livesystem steht in der Datein /opt/iobroker/package.json der Adapter 2x drin
                                  • Instanz des Adapter im Livesystem gestoppt und gelöscht
                                  • Adapter über Oberfläche gelöscht
                                  • Adapter immer noch vorhanden
                                  • Datei /opt/iobroker/package.json im Livesystem überprüft, Eintrag mit großem B noch vorhanden
                                  • Befehl npm u ioBroker.repetierserver versucht - funktioniert nicht... u habe ich nicht als parameter zu npm

                                  Frage - Eintrag und Verzeichnis manuell löschen?

                                  OliverIOO Offline
                                  OliverIOO Offline
                                  OliverIO
                                  wrote on last edited by
                                  #52

                                  @Baumert sorry dann musst du es ausschreiben

                                  npm uninstall <name deines adapters wie er im package.json drinsteht>

                                  Meine Adapter und Widgets
                                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                  Links im Profil

                                  BaumertB 1 Reply Last reply
                                  0
                                  • OliverIOO OliverIO

                                    @Baumert sorry dann musst du es ausschreiben

                                    npm uninstall <name deines adapters wie er im package.json drinsteht>

                                    BaumertB Offline
                                    BaumertB Offline
                                    Baumert
                                    wrote on last edited by Baumert
                                    #53

                                    @OliverIO super - hat geklappt - der Eintrag mit dem großen B ist raus und beim neuen installieren von GITHUB aus wurde es nur einmal installiert, und zwar mit kleinem b.
                                    Dann lag das Problem aber nur bei mir am Rechner, weil der Eintrag mit dem großen B nich richtig entfernt wurde.
                                    Vielen Dank für Eure Unterstützung , gestern und heute habe ich eine Menge über das System kennen gelernt.
                                    Grüße Thomas

                                    apollon77A 1 Reply Last reply
                                    1
                                    • BaumertB Baumert

                                      @OliverIO super - hat geklappt - der Eintrag mit dem großen B ist raus und beim neuen installieren von GITHUB aus wurde es nur einmal installiert, und zwar mit kleinem b.
                                      Dann lag das Problem aber nur bei mir am Rechner, weil der Eintrag mit dem großen B nich richtig entfernt wurde.
                                      Vielen Dank für Eure Unterstützung , gestern und heute habe ich eine Menge über das System kennen gelernt.
                                      Grüße Thomas

                                      apollon77A Online
                                      apollon77A Online
                                      apollon77
                                      wrote on last edited by
                                      #54

                                      @Baumert wie genau installierst du ihn denn?? Welchen Pfad im Admin bzw. welchen Befehl nutzt du denn?

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      apollon77A 1 Reply Last reply
                                      0
                                      • apollon77A apollon77

                                        @Baumert wie genau installierst du ihn denn?? Welchen Pfad im Admin bzw. welchen Befehl nutzt du denn?

                                        apollon77A Online
                                        apollon77A Online
                                        apollon77
                                        wrote on last edited by
                                        #55

                                        @apollon77 ok wenn erledigt ist ja gut

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        492

                                        Online

                                        32.4k

                                        Users

                                        81.4k

                                        Topics

                                        1.3m

                                        Posts
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Recent
                                        • Tags
                                        • Unread 0
                                        • Categories
                                        • Unreplied
                                        • Popular
                                        • GitHub
                                        • Docu
                                        • Hilfe