Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. How to fork and work on an existing adapter?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    614

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

How to fork and work on an existing adapter?

Geplant Angeheftet Gesperrt Verschoben Entwicklung
14 Beiträge 5 Kommentatoren 111 Aufrufe 3 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.
  • Frederic BeisterF Offline
    Frederic BeisterF Offline
    Frederic Beister
    schrieb zuletzt editiert von
    #1

    I am currently in the process of refactoring my javascripts because they have grown significantly and become harder and harder to maintain.
    I have an ancient workflow where I have multiple global/ scripts I concatenate with a bash script because - in my case - order matters.

    I want to get rid of that and tried to find out, in what order global scripts are concatenated. It seems like it is only mandated by the order they come out of the DB.

    Now I want to fork the iobroker.javascript adapter, add debug logging and potentially make the load order deterministic (if it isn't yet). How do I do that?
    I tried the following:

    • fork the adapter
    • modify code (added log statements only for now)
    • replaced all github.com/iobroker/iobroker.javascript with github.com/fbeister/iobroker.javascript
    • Commited changes and pushed to master of fork
    • In iobroker, "install from github" with my URL

    This correctly picks up my commit hash and also puts a package.json containing my version, URL, etc. into the node_modules folder of iobroker.
    Nevertheless, my changes are nowhere to be seen - I know that TS is transpiled to JS, but my changes are inside log strings for testing and main.js contains the "old" ones.

    Could someone shed some light on the local dev loop for this?

    OliverIOO 1 Antwort Letzte Antwort
    0
    • mcm1957M Online
      mcm1957M Online
      mcm1957
      schrieb zuletzt editiert von
      #2

      You might try to joind the english developer group at telegram: t.me/ioBroker_dev_en
      But be warned - there are very few english speaking devs around an the javascript adapter is for sure not the best place to start developing an ioBroker adapter.

      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
      Support Repositoryverwaltung.

      Wer 'nen Kaffee spendieren will: https://paypal.me

      LESEN - gute Forenbeitrage

      1 Antwort Letzte Antwort
      0
      • Frederic BeisterF Offline
        Frederic BeisterF Offline
        Frederic Beister
        schrieb zuletzt editiert von
        #3

        Ich crossposte mal nach DE

        1 Antwort Letzte Antwort
        0
        • Frederic BeisterF Offline
          Frederic BeisterF Offline
          Frederic Beister
          schrieb zuletzt editiert von
          #4

          Korrektur - ich darf das wohl nicht.

          HomoranH 1 Antwort Letzte Antwort
          0
          • Frederic BeisterF Frederic Beister

            Korrektur - ich darf das wohl nicht.

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb zuletzt editiert von
            #5

            @Frederic-Beister ich schieb dich mal komplett rüber

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • HomoranH Homoran verschob dieses Thema von Development
            • mcm1957M Online
              mcm1957M Online
              mcm1957
              schrieb zuletzt editiert von
              #6

              Ok, dann epfehle ich die deutschen Entwicklergruppen auf Telegram / Discord.

              Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
              Support Repositoryverwaltung.

              Wer 'nen Kaffee spendieren will: https://paypal.me

              LESEN - gute Forenbeitrage

              1 Antwort Letzte Antwort
              0
              • T Nicht stören
                T Nicht stören
                ticaki
                schrieb zuletzt editiert von
                #7

                Wo hast du was geändert - wenn in einer .ts Datei, hast du transpiliert?

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                1 Antwort Letzte Antwort
                0
                • Frederic BeisterF Offline
                  Frederic BeisterF Offline
                  Frederic Beister
                  schrieb zuletzt editiert von
                  #8

                  Ich habe in main.ts einfach ein paar this.log.infos angepasst und auch hinzugefügt. Ich ging davon aus, dass der "Installiere von GitHub" Workflow in ioBroker das transpilieren macht - weil ich die besagten logmessages nirgends sonst in der codebase gefunden habe, am Ende aber ein main.js mit der (unmodifizierten) message liegt.

                  T OliverIOO 2 Antworten Letzte Antwort
                  0
                  • Frederic BeisterF Frederic Beister

                    I am currently in the process of refactoring my javascripts because they have grown significantly and become harder and harder to maintain.
                    I have an ancient workflow where I have multiple global/ scripts I concatenate with a bash script because - in my case - order matters.

                    I want to get rid of that and tried to find out, in what order global scripts are concatenated. It seems like it is only mandated by the order they come out of the DB.

                    Now I want to fork the iobroker.javascript adapter, add debug logging and potentially make the load order deterministic (if it isn't yet). How do I do that?
                    I tried the following:

                    • fork the adapter
                    • modify code (added log statements only for now)
                    • replaced all github.com/iobroker/iobroker.javascript with github.com/fbeister/iobroker.javascript
                    • Commited changes and pushed to master of fork
                    • In iobroker, "install from github" with my URL

                    This correctly picks up my commit hash and also puts a package.json containing my version, URL, etc. into the node_modules folder of iobroker.
                    Nevertheless, my changes are nowhere to be seen - I know that TS is transpiled to JS, but my changes are inside log strings for testing and main.js contains the "old" ones.

                    Could someone shed some light on the local dev loop for this?

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb zuletzt editiert von
                    #9

                    @Frederic-Beister

                    Jetzt muss ich mal fragen:
                    Du willst am javascript Adapter etwas machen?
                    Oder dein Skripte überarbeiten?

                    Wenn du am Adapter etwas machen möchtest, dann Forke den Adapter auf t GitHub in dein persönliches Account
                    Und clone dann dieses Repository auf die lokale Maschine.
                    Mit dem Iobroker dev-Server kannst du dann eine lokale Iobroker Instanz laufen lassen und auch debuggen

                    Wenn du deine Skripte besser debuggen willst dann gibt es für vscode eine Erweiterung, die dir deine Skripte synchronisiert.
                    Leider stehen wir unter VS Code die Iobroker Funktionen nicht zur Verfügung, aber mit stub Funktionen kann man sich behelfen.

                    Wenn du es richtig umfangreich machen möchtest, könntest du deine Funktionalitäten auch alle in einem eigenen Adapter legen, da hast du dann alle Möglichkeiten

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

                    1 Antwort Letzte Antwort
                    0
                    • Frederic BeisterF Frederic Beister

                      Ich habe in main.ts einfach ein paar this.log.infos angepasst und auch hinzugefügt. Ich ging davon aus, dass der "Installiere von GitHub" Workflow in ioBroker das transpilieren macht - weil ich die besagten logmessages nirgends sonst in der codebase gefunden habe, am Ende aber ein main.js mit der (unmodifizierten) message liegt.

                      T Nicht stören
                      T Nicht stören
                      ticaki
                      schrieb zuletzt editiert von ticaki
                      #10

                      @Frederic-Beister sagte in How to fork and work on an existing adapter?:

                      Ich habe in main.ts einfach ein paar this.log.infos angepasst und auch hinzugefügt. Ich ging davon aus, dass der "Installiere von GitHub" Workflow in ioBroker das transpilieren macht - weil ich die besagten logmessages nirgends sonst in der codebase gefunden habe, am Ende aber ein main.js mit der (unmodifizierten) message liegt.

                      Nein macht er nicht. Der transpilierte Code liegt in ./build. Darin code zu ändern wäre nix für mich.

                      Heißt: Mach das was Oliver schreibst - lokale Entwicklungsumgebung einrichten und mit dev-server oder npm run build den code transpilieren

                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                      Spenden

                      1 Antwort Letzte Antwort
                      0
                      • Frederic BeisterF Frederic Beister

                        Ich habe in main.ts einfach ein paar this.log.infos angepasst und auch hinzugefügt. Ich ging davon aus, dass der "Installiere von GitHub" Workflow in ioBroker das transpilieren macht - weil ich die besagten logmessages nirgends sonst in der codebase gefunden habe, am Ende aber ein main.js mit der (unmodifizierten) message liegt.

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb zuletzt editiert von
                        #11

                        @Frederic-Beister

                        In der Package.json sind die scripte hinterlegt mit der Build ausgeführt wird.
                        Suche nach Build

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

                        1 Antwort Letzte Antwort
                        0
                        • T Nicht stören
                          T Nicht stören
                          ticaki
                          schrieb zuletzt editiert von
                          #12

                          Kenne jetzt nicht seinen wissenstand - die ist da aber sehr umfangreich - daher npm run build

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          1 Antwort Letzte Antwort
                          0
                          • Frederic BeisterF Offline
                            Frederic BeisterF Offline
                            Frederic Beister
                            schrieb zuletzt editiert von
                            #13

                            Argh! Meine IDE war "hilfreich" und hat den build/ Ordner ausgeblendet. Da kann die Volltextsuche auch nix finden. Sorry for the noise!

                            OliverIOO 1 Antwort Letzte Antwort
                            0
                            • Frederic BeisterF Frederic Beister

                              Argh! Meine IDE war "hilfreich" und hat den build/ Ordner ausgeblendet. Da kann die Volltextsuche auch nix finden. Sorry for the noise!

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb zuletzt editiert von
                              #14

                              @Frederic-Beister welche ide?

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

                              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

                              768

                              Online

                              32.7k

                              Benutzer

                              82.6k

                              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
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe