Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker 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.2k

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

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

Adapter wird 2x installiert

Geplant Angeheftet Gesperrt Verschoben Entwicklung
gelbnodemodulesinstallationinstanz
55 Beiträge 4 Kommentatoren 3.5k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @Baumert
        du kannst bei squeezenoderpc schauen
        ich verwende verschiedene timer

        BaumertB Offline
        BaumertB Offline
        Baumert
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        680

                        Online

                        32.4k

                        Benutzer

                        81.4k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Anmelden

                        • Du hast noch kein Konto? Registrieren

                        • Anmelden oder registrieren, um zu suchen
                        • Erster Beitrag
                          Letzter Beitrag
                        0
                        • Aktuell
                        • Tags
                        • Ungelesen 0
                        • Kategorien
                        • Unreplied
                        • Beliebt
                        • GitHub
                        • Docu
                        • Hilfe