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.
    • 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
                              • Ben1983
                                Ben1983 @Issi last edited by

                                @issi was ist hier falsch?

                                		let url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/onlinevalues/.json?value=27;PowerActive;SUM13';
                                		this.log.info("Test: " + url); 
                                
                                const fetch = require('node-fetch');
                                
                                	  fetch(url)
                                    .then(function (response) {
                                      return response.json();
                                    })
                                    .then(function (data) {
                                      this.log.info("test");
                                    });
                                

                                Antwort von ioBroker:

                                
                                gridvis_adapter.0
                                2022-01-28 17:50:24.168	error	Exception-Code: MODULE_NOT_FOUND: Cannot find module 'node-fetch' Require stack: - C:\Program Files\iobroker\SmartHome\node_modules\iobroker.gridvis_adapter\main.js
                                
                                gridvis_adapter.0
                                2022-01-28 17:50:24.167	error	Error: Cannot find module 'node-fetch' Require stack: - C:\Program Files\iobroker\SmartHome\node_modules\iobroker.gridvis_adapter\main.js at Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15) at Function.Module._load (internal/modules/cjs/loader.js:745:27) at Module.require (internal/modules/cjs/loader.js:961:19) at require (internal/modules/cjs/helpers.js:92:18) at GridvisAdapter.onReady (C:\Program Files\iobroker\SmartHome\node_modules\iobroker.gridvis_adapter\main.js:90:15)
                                
                                gridvis_adapter.0
                                2022-01-28 17:50:24.166	error	unhandled promise rejection: Cannot find module 'node-fetch' Require stack: - C:\Program Files\iobroker\SmartHome\node_modules\iobroker.gridvis_adapter\main.js
                                
                                gridvis_adapter.0
                                2022-01-28 17:50:24.165	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().
                                
                                Issi OliverIO 2 Replies Last reply Reply Quote 0
                                • Issi
                                  Issi Developer @Ben1983 last edited by

                                  @ben1983

                                  Cannot find module 'node-fetch'

                                  Er kann das modul nicht finden hast du es in der package.json in den dependencies eingetragen und ein npm install gemacht?

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

                                    @ben1983
                                    noch besser ist im adapter verzeichnis den folgenden befehl einzugeben

                                    npm install node-fetch
                                    

                                    dadurch wird die dependency in dein package.json eingetragen
                                    die bibliothek heruntergeladen und im verzeichnis node_modules
                                    unterhalb deines adapterverzeichnisses gespeichert

                                    das ist node standard und nix iobroker spezifisches

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

                                      @oliverio habe ich gemacht, trotzdem kommt fetch not defined

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

                                        @oliverio habe auch nochmal nur npm install fetch durchgeführt, also ohne node, aber bringt auch nichts

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

                                          @oliverio noch ne Idee für mich?
                                          Also das ist jetzt ne grundlegende Funktion für meinen gewünschten Apapter. Er ruft nämlich über Rest Daten ab.
                                          Ich habe es im js Adapter mit gequetscht realisiert.
                                          Möchte auch später anhand der Ergebnisse eine dynamische konfig anbieten.
                                          Aber erst mal wäre es schön nur Daten zu bekommen.

                                          Also grundlegend möchte ich eine REST API Abfragen.
                                          Wenn dazu jemand einen guten Tipp hat…. Immer her damit.

                                          abgesehen davon musste ich bei einem webprojekt fetch noch nie extra installieren.

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

                                            @oliverio package.json sieht unter anderem so aus:

                                              "dependencies": {
                                                "@iobroker/adapter-core": "^2.5.1",
                                                "fetch": "^1.1.0",
                                                "node-fetch": "^3.2.0"
                                              },
                                            

                                            trotzdem sagt er, dass fetch nicht definiert ist.

                                            musste es in einem anderen ordner mit npm install installieren und dann den kompletten ordner in den iobroker pfad kopieren.
                                            anders hatte er irgendwelche rechte fehler.

                                            So langsam weiß ich nicht mehr weiter

                                            Fehlermeldung:

                                            gridvis_adapter.0
                                            2022-01-28 22:00:24.850	error	fetch is not defined
                                            
                                            gridvis_adapter.0
                                            2022-01-28 22:00:24.850	error	ReferenceError: fetch is not defined at GridvisAdapter.onReady (C:\Program Files\iobroker\SmartHome\node_modules\iobroker.gridvis_adapter\main.js:93:5)
                                            
                                            gridvis_adapter.0
                                            2022-01-28 22:00:24.848	error	unhandled promise rejection: fetch is not defined
                                            
                                            gridvis_adapter.0
                                            2022-01-28 22:00:24.847	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().
                                            
                                            Wal 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            812
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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