NEWS
Eigenen Adapter erstellen
-
@ben1983
ja du must git und npm installieren -
@oliverio node.js habe ich auf dem system, nur kein git
-
@oliverio habe jetzt die ersten schritte mit den fragen durch.
weis nicht wirklich wie es weiter gehen soll.
das steht nun hier:All done! Have fun programming! ♥
-
Ich hab das Thema mal ins Entwickler Forum verschoben wo es besser hin passt. Effektiv hast du die erraten Schritte gemacht. Jetzt schaust du dir die Main.js Bzw Main.ts (je nachdem was du erstellt hast) an und startest.
Als Empfehlung: baue erstmal die Logik. Das frontend als zweiten Schritt. Im discord gibts auch eine developer Gruppe wo du weiteren Support bekommen kannst.
-
@apollon77 OK, danke.
wie bekomme ich es aber jetzt auf github und dann in den iobroker? -
@apollon77 Ich habe nun einen github account, git ist auch installiert und create-adapterwurde ausgeführt.
Wie bekomme ich das denn jetzt grundsätzlich erst mal zu github um es in iobroker zu sehen?Edit:
Wäre schön, wenn mir jemand hier helfen könnte, wie man weiter vorgeht.
Muss ich auf github direkt ein repository erstellen, oder das direkt aus der console heraus?
Muss ich es mit git machen?Wie ist das Grundgerüst des Create Adapter Beispiels aufgebaut?
Wenn das soweit klar ist, dann kann ich mich sehr wahrscheinlich rein fuchsen.
Stehe nur gerade voll auf dem Schlauch wie es weiter geht.Von daher wäre es schön zu sehen über den Github link den Adapter laden zu können und somit schon mal Änderungen in Aktion zu sehen.
-
@apollon77 ich binwie in der readme vorgegangen und bekomme dann hier diese meldung:
PS C:\vscodeprojekte\iobroker\gridvis_adapter\ioBroker.gridvis_adapter> git push origin main remote: Repository not found.
EDIT:
Wenn ich es über die git gui gemacht habe, dann ging es -
@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 ? -
@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
wie bekommt man die Version hoch gezogen, sodass auch im iobroker diese richtig angezeigt wird und ein update verlangt wird? -
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_modulesin 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 anlegenum dein lokales git-repo mit dem von github zu synchronisieren gehst du wie folgt vor
- 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
- 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- 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 ablaufvorgesehene 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. -
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-startedInstallieren 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-installationOder 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 -
@alcalzone leider war die readme wenn ich drauf geklickt habe leer
-
@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
-
@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-startedInstallieren 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-installationOder 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-serverwo 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 -
@oliverio
die Readme
@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.
-
@issi Die heb ich ja gefunden, aber wenn ich genau so vor gegengen bin kamen nur fehlermeldungen
-
@issi Adapter Adapter wird nun doch direkt als installiert angezeigt.
Hatte ihn in einem unterverzeichnis, dann ging es nichtTrotzdem erscheint er nicht bei den instanzen.
WARUM?
Und das png zieht er auch nicht richtig????
-
@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
-
@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? -
in diesen 3 Dateien musst du die Version ändern