Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Eigenen Adapter erstellen

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

      @ben1983 Allerdings wird der adapter zwar in den objekten, nicht aber in den instanzen angezeigt?
      Woran liegt das denn?
      War das eventuell die react with admin gui Frage ?

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

        @apollon77 Ich hatte in der package.json nach einer änderung hier die Version geändert.

        "version": "0.0.1",
        

        Danach kam dann ein x bei github
        c46a1c6d-d3ba-4261-be2c-47e8a22611e3-image.png
        wie bekommt man die Version hoch gezogen, sodass auch im iobroker diese richtig angezeigt wird und ein update verlangt wird?

        OliverIO 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @Ben1983 last edited by

          @ben1983

          während der anfänglichen entwicklung verwende ich git (also das tool) als versionsverwaltung.
          um einen adapter im iobroker zu erstellen, ist es nicht notwendig dan adapter nach git hochzuladen
          und von dort aus wieder zu installieren.

          idealerweise hast du ein iobroker entwicklungssystem.
          den angelegten ordner kopierst du nach
          /opt/iobroker/node_modules

          in diesem ordner findest du auch alle anderen adapter die du installiert hast.
          sobald der ordner da ist und du iobroker startest, erkennt er den adapter und zeigt ihn auch im reiter
          adapter an. dann kannst du eine instanz anlegen

          um dein lokales git-repo mit dem von github zu synchronisieren gehst du wie folgt vor

          1. leeres repo auf github anlegen. Name sollte exakt den Vorgaben entsprechen, wie du im adapter-creater den adapter genannt hast. also irgendwas mit ioBroker.meinadapter
          2. dann verknüpfst du lokal mit remote(also github) mit dem befehl
          git remote set-url origin git@github.com:oweitman/iobroker.rssfeed.git
          

          die url ab git@github nimmst du von github im repository gibt es ein dropdown wo code draufsteht.
          da steht die url drin
          der befehl muss im Verzeichnis deines adapters ausgeführt werden, sonst änderst du das uU in einem anderen repository.
          Ich verwende immer die Kommunikation per SSH. Dazu musst du aber auch noch SSH einrichten und auf github einen schlüssel generieren
          https://docs.github.com/en/authentication/connecting-to-github-with-ssh

          1. wenn du das geschafft hast, dann kannst du mit
          git push
          

          immer im richtigen Verzeichnis ausführen. git weiß wo du dich befindest (bei npm später genauso)
          am besten du suchst im internet mal nach git cheatsheet, da stehen dann die wichtigsten befehle drauf.

          wenn du die versionsverwaltung nutzt, dann kannst du auch vergangene versionen wieder einsehen, falls du mal was gelöscht oder verworfen hast.
          eine neue version anlegen ist folgender ablauf

          vorgesehene dateien hinzufügen . ist erst mal alle geänderten. diese befinden sich dann im staging

          git add .
          

          mit

          git commit -m "hier kurz benennen was du geändert hast"
          

          wird die version dann angelegt.

          im nächsten schritt beschäftigst du dich erst einmal mit der start datei von iobroker (meist main.js)
          dort gibt es verschiedene funktionen, die von iobroker zu bestimmten ereignissen aufgerufen werden (adapter start/ende, wenn ein objekt geändert wird, wenn ein datenpunkt geändert wird, wenn eine nachricht eintrifft, ect.)

          weißt du schon wie du debuggen kannst?
          das ist meines erachtens enorm wichtig, besonders am anfang. beim debuggen kannst du jeden einzelnen schritt im programm prüfen, was da passiert und ob es so passiert wie du gedacht hast.

          Ben1983 1 Reply Last reply Reply Quote 1
          • AlCalzone
            AlCalzone Developer last edited by

            Ja liest denn wirklich keiner die Readme, die der Creator im Adapter erzeugt? Da stehen die exakten Schritte sogar drin, hier für den Beispiel-Adapter:

            Upload nach Github
            https://github.com/ioBroker/create-adapter/blob/master/test/baselines/adapter_JS_React/README.md#getting-started

            Installieren in einer existierenden ioBroker-Instanz
            https://github.com/ioBroker/create-adapter/blob/master/test/baselines/adapter_JS_React/README.md#test-the-adapter-manually-on-a-local-iobroker-installation

            Oder alternativ (falls gewählt), testen in einer frischen Instanz mit dem Dev-Server:
            https://github.com/ioBroker/create-adapter/tree/master/test/baselines/dev-server#test-the-adapter-manually-with-dev-server

            Ben1983 OliverIO 2 Replies Last reply Reply Quote 1
            • Ben1983
              Ben1983 @AlCalzone last edited by

              @alcalzone leider war die readme wenn ich drauf geklickt habe leer

              1 Reply Last reply Reply Quote 0
              • Ben1983
                Ben1983 @OliverIO last edited by

                @oliverio Also ich habe den Adapter pfad jetzt in das Verzeichnis:

                C:\Program Files\iobroker\SmartHome\node_modules
                

                kopiert. Auch nach einem Neustart wird mir der Adapter nicht angezeigt

                1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO @AlCalzone last edited by OliverIO

                  @alcalzone sagte in Eigenen Adapter erstellen:

                  Ja liest denn wirklich keiner die Readme, die der Creator im Adapter erzeugt? Da stehen die exakten Schritte sogar drin, hier für den Beispiel-Adapter:

                  Upload nach Github
                  https://github.com/ioBroker/create-adapter/blob/master/test/baselines/adapter_JS_React/README.md#getting-started

                  Installieren in einer existierenden ioBroker-Instanz
                  https://github.com/ioBroker/create-adapter/blob/master/test/baselines/adapter_JS_React/README.md#test-the-adapter-manually-on-a-local-iobroker-installation

                  Oder alternativ (falls gewählt), testen in einer frischen Instanz mit dem Dev-Server:
                  https://github.com/ioBroker/create-adapter/tree/master/test/baselines/dev-server#test-the-adapter-manually-with-dev-server

                  wo liegt die den dann?
                  weil auf github in diesem verschachtelten Verzeichnis findet das doch niemand.
                  wollte es gerade selbst mal ausprobieren, aber bei funktioniert der adapter-creater wohl gerade nicht

                  Issi 1 Reply Last reply Reply Quote 0
                  • Issi
                    Issi Developer @OliverIO last edited by

                    @oliverio
                    die Readme
                    65a8d0d1-37fb-464c-a5a4-92b0486e2317-CleanShot 28-01-2022 at 15.49.57.png

                    @alcalzone sagte in Eigenen Adapter erstellen:

                    Ja liest denn wirklich keiner die Readme

                    Du bist doch schon paar Jahre als Entwickler dabei, da sollte dir doch bereits aufgefallen sein, dass es immer weniger Leute gibt, die z. B. eine Anleitung oder eine Readme richtig, genauer gesagt ganz lesen und dann erst anfangen, was zu machen.

                    Also mir ist das sehr schnell aufgefallen, dass die meisten nur paar Zeilen lesen, dann das, was sie gelesen haben, machen und dann denken, dass es jetzt alles funktionieren muss, obwohl drei Zeilen weiter noch andere wichtige Sachen stehen.

                    Ben1983 2 Replies Last reply Reply Quote 0
                    • Ben1983
                      Ben1983 @Issi last edited by

                      @issi Die heb ich ja gefunden, aber wenn ich genau so vor gegengen bin kamen nur fehlermeldungen

                      Issi 1 Reply Last reply Reply Quote 0
                      • Ben1983
                        Ben1983 @Issi last edited by Ben1983

                        @issi Adapter Adapter wird nun doch direkt als installiert angezeigt.
                        Hatte ihn in einem unterverzeichnis, dann ging es nicht

                        Trotzdem erscheint er nicht bei den instanzen.

                        WARUM?

                        Und das png zieht er auch nicht richtig????

                        Issi 1 Reply Last reply Reply Quote 0
                        • Issi
                          Issi Developer @Ben1983 last edited by

                          @ben1983
                          bei mir klappt es jedes Mal und ich mache nichts anderes als das, was in der Readme vom adapter-creater steht.

                          Damit der Adapter in den Instanzen auftaucht musst du das noch machen
                          ed762eef-0930-472e-b656-4906bf89c7fa-CleanShot 28-01-2022 at 15.59.03.png
                          9f899712-aaba-4e2a-aa2b-34271850c1d6-CleanShot 28-01-2022 at 15.59.48.png

                          Ben1983 1 Reply Last reply Reply Quote 0
                          • Ben1983
                            Ben1983 @Issi last edited by

                            @issi Habe es gerade gecheckt.
                            War iritiert, weil dort stand installierte Version 0.0.1 und dann dachte ich er wäre schon installiert.
                            Aber wi ändere ich denn jetzt die Version?

                            1 Reply Last reply Reply Quote 0
                            • Issi
                              Issi Developer @Ben1983 last edited by

                              @ben1983

                              0d03fb36-febf-4319-9db9-96fac7b6da06-CleanShot 28-01-2022 at 16.03.33.png
                              in diesen 3 Dateien musst du die Version ändern

                              Ben1983 1 Reply Last reply Reply Quote 0
                              • Ben1983
                                Ben1983 @Issi last edited by

                                @issi habe jetzt in der io-package.json schon das hier geändert:

                                "native": {
                                		"IP-Adresse": "localhost",
                                		"Port": "8080"
                                	},
                                

                                trotzdem erscheint anstatte ip und port in der konfiguration immer noch option1 und option2

                                Issi apollon77 2 Replies Last reply Reply Quote 0
                                • Issi
                                  Issi Developer @Ben1983 last edited by

                                  @ben1983
                                  in welcher Konfig ? im admin oder in den Objekten ?

                                  Ben1983 2 Replies Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @Ben1983 last edited by

                                    @ben1983 Nach äbderungen an admin Dingen ioder io-package immer "iob upload adaptername" machen

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

                                      @apollon77 ???

                                      1 Reply Last reply Reply Quote 0
                                      • Ben1983
                                        Ben1983 @Issi last edited by

                                        @issi in der io-package.json
                                        die liegt im hauptverzeichnis

                                        Issi 1 Reply Last reply Reply Quote 0
                                        • Ben1983
                                          Ben1983 @Issi last edited by Ben1983

                                          @issi kann auch kein request auf eine url machen.
                                          mit dem js adapter funktioniert das.
                                          hier bekomme ich diese meldung im log

                                          gridvis_adapter.0
                                          2022-01-28 17:24:26.318	error	request is not defined
                                          
                                          gridvis_adapter.0
                                          2022-01-28 17:24:26.318	error	ReferenceError: request is not defined at GridvisAdapter.onReady (C:\Program Files\iobroker\SmartHome\node_modules\iobroker.gridvis_adapter\main.js:89:3)
                                          
                                          gridvis_adapter.0
                                          2022-01-28 17:24:26.316	error	unhandled promise rejection: request is not defined
                                          
                                          gridvis_adapter.0
                                          2022-01-28 17:24:26.315	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • Issi
                                            Issi Developer @Ben1983 last edited by

                                            @ben1983
                                            das Meinte der @apollon77

                                            004094b3-1c6a-495c-8846-08661f9e64dd-CleanShot 28-01-2022 at 17.28.57.png
                                            73336d74-13f6-441e-9a9a-157913984328-CleanShot 28-01-2022 at 17.29.26.png

                                            und zu der Fehlermeldung das sagt doch schon alles

                                            request is not defined

                                            im js adapter sind schon viele Sachen vorgeladen in deinem eigenen Adapter musst du das alles selbst machen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            911
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            176
                                            10790
                                            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