Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter-Entwicklung

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter-Entwicklung

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

      Guten Morgen zusammen,

      ich bin recht neu was die Adapterentwicklung bzw. ioBroker allgemein angeht. Habe allerdings bereits einige Ideen für Adapter und habe mich auch schon daran versucht. Das Thema nodejs ist ebenfalls Neuland für mich, was die Sache nicht gerade vereinfacht.

      Grundsätzlich habe ich das Konzept im Großen und Ganzen verstanden (denke ich 😉 ). Auch die Programmierung ist kein Problem. Probleme bereitet mir aktuell eher das Bereitstellen von Änderungen eines Adapters während der Entwicklung dar - insbesondere folgende Punkte:

      • Wenn ich den Modus von daemon auf schedule (in io-package.json - oder umgekehrt) stelle, wird das ohne weiteres nicht übernommen. In der Datei objects.json wird anscheinend auch der Modus zwischengespeichert. Wie kann ich das umgehen, bzw. dafür sorgen, dass Änderungen direkt übernommen werden?

      • Wenn ich Änderungen an den Parametern für die Konfiguration (ebenfalls in io-package.json unterhalb von native) vornehme, werden die Änderungen ebenfalls nicht sichtbar.

      • Allgemeine Änderungen am Code (z.B. in iobroker.adaptername/main.js) werden ebenfalls nicht immer nach dem Neustarten des Adapters bzw. auch nicht nach dem Neustarten von iobroker übernommen.
        Ich habe gesehen, dass es einen Parameter noFileCache gibt, allerdings hat das Setzen auf true keine Änderung gebracht.

      Gibt es hier allgemein eine Vorgehensweise oder Möglichkeiten das Cachen zu deaktivieren bzw. wenigstens zu bereinigen?

      Danke und viele Grüße

      Jacek

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

        Hi jacek,

        willkommen in der Entwicklergemeinschaft.

        Am besten mach Dir als erstes noch nen Trello-Account und wäre super wenn Du deine Pläne/Ideen im Trello-Board einträgst damit man sieht wer an was arbeitet.

        http://forum.iobroker.net/viewtopic.php … lit=trello

        @jacek:

        Wenn ich den Modus von daemon auf schedule (in io-package.json - oder umgekehrt) stelle, wird das ohne weiteres nicht übernommen. In der Datei objects.json wird anscheinend auch der Modus zwischengespeichert. Wie kann ich das umgehen, bzw. dafür sorgen, dass Änderungen direkt übernommen werden? `

        Modus-Wechsel sind nicht so einfach.

        Wenn es einmalig während der Entwicklung ist dann ist es am einfachsten Direkt das Objekt zu editieren.

        Unter "OBjekte" dazu Expertenmodus einschalten, dann kannst Du alle Objekte einsehen.

        Das was Du brauchst ist "system.adapter.<adaptername>.<indstanceid>" Dort dann rechts auf das Bleistift-Symbol und dort ändern. Dann iobroker neu starten, damit sollte das neu eingelesen werden.

        Ansonsten ist auch pot. ein manuelles "iobroker upload <adaptername>" auf der Kommandozeile nötig um alles in sync zu bringen.

        Wenn DU den Adapter schon Live und an Leute verteilt hast dann kann man einen Moduswechsel machen wie z.B. bei mir im NUT-Adapter https://github.com/Apollon77/ioBroker.n … nut.js#L85 ... aber auch das bracht manchmal nen iobroker neustart um richtig zu klappen.

        @jacek:

        Wenn ich Änderungen an den Parametern für die Konfiguration (ebenfalls in io-package.json unterhalb von native) vornehme, werden die Änderungen ebenfalls nicht sichtbar. `
        Dann fehlt das oben genannte "iobroker upload".

        @jacek:

        Allgemeine Änderungen am Code (z.B. in iobroker.adaptername/main.js) werden ebenfalls nicht immer nach dem Neustarten des Adapters bzw. auch nicht nach dem Neustarten von iobroker übernommen.

        Ich habe gesehen, dass es einen Parameter noFileCache gibt, allerdings hat das Setzen auf true keine Änderung gebracht.

        Gibt es hier allgemein eine Vorgehensweise oder Möglichkeiten das Cachen zu deaktivieren bzw. wenigstens zu bereinigen? `

        Das sollte nicht passieren. Die main.js ist ja der "Code". Da wird nix gecached. Das editierne musst Du in /opt/iobroker/node_modules/iobroker,.<adaptername>/main.js machen!!

        Dann eher schauen das das stoppen des Adapters auch wirklich geklappt hat. Also mit "ps" mal in den Prozessen schauen.

        Je nachdem was man so macht muss man schauen das es nicht hängenbleibt.

        Ansonsten kann ich noch das als Überblick empfehlen: http://forum.iobroker.net/viewtopic.php?f=24&t=6383</adaptername></adaptername></indstanceid></adaptername>

        1 Reply Last reply Reply Quote 0
        • J
          jacek last edited by

          @apollon77:

          Hi jacek,

          willkommen in der Entwicklergemeinschaft.

          Am besten mach Dir als erstes noch nen Trello-Account und wäre super wenn Du deine Pläne/Ideen im Trello-Board einträgst damit man sieht wer an was arbeitet.

          http://forum.iobroker.net/viewtopic.php … lit=trello `
          Vielen Dank für die Info.

          @apollon77:

          Modus-Wechsel sind nicht so einfach.

          Wenn es einmalig während der Entwicklung ist dann ist es am einfachsten Direkt das Objekt zu editieren.

          Unter "OBjekte" dazu Expertenmodus einschalten, dann kannst Du alle Objekte einsehen.

          Das was Du brauchst ist "system.adapter.<adaptername>.<indstanceid>" Dort dann rechts auf das Bleistift-Symbol und dort ändern. Dann iobroker neu starten, damit sollte das neu eingelesen werden.

          Ansonsten ist auch pot. ein manuelles "iobroker upload <adaptername>" auf der Kommandozeile nötig um alles in sync zu bringen.

          Wenn DU den Adapter schon Live und an Leute verteilt hast dann kann man einen Moduswechsel machen wie z.B. bei mir im NUT-Adapter https://github.com/Apollon77/ioBroker.n … nut.js#L85 ... aber auch das bracht manchmal nen iobroker neustart um richtig zu klappen.</adaptername></indstanceid></adaptername> `
          Das hat mir gefehlt und jetzt klappt es auch. Vielen Dank.

          @apollon77:

          Das sollte nicht passieren. Die main.js ist ja der "Code". Da wird nix gecached. Das editierne musst Du in /opt/iobroker/node_modules/iobroker,.<adaptername>/main.js machen!!

          Dann eher schauen das das stoppen des Adapters auch wirklich geklappt hat. Also mit "ps" mal in den Prozessen schauen.

          Je nachdem was man so macht muss man schauen das es nicht hängenbleibt.</adaptername> `
          Evtl. lag es noch am Modus oder daran, dass der Prozess nicht komplett beendet war. Werde das noch genauer testen.

          @apollon77:

          Ansonsten kann ich noch das als Überblick empfehlen: http://forum.iobroker.net/viewtopic.php?f=24&t=6383 `
          Die Anleitung ist super.

          Damit komme ich nun sehr gut weiter. Vielen Dank für die Antworten.

          Viele Grüße

          Jacek

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

          Support us

          ioBroker
          Community Adapters
          Donate

          521
          Online

          31.7k
          Users

          79.8k
          Topics

          1.3m
          Posts

          2
          3
          1246
          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