NEWS
Wie erstelle ich eigene Adapter?
-
@joergh ,
in der Gihubbeschreibung wird gezeigt wie du den Adapter Creator nutzt. Du musst nur lesen. -
@joergh
Der adapter creator erzeugt dir alles.
in den dateien steht drin an welcher stelle du etwas eintragen kannst.die hauptdatei main.js enthält 5 ereignisse
onReady
onUnload
onStateChange
onObjectChange (ist auskommentiert)
onMessage (ist aber auskommentiert)Das wichtigste ist onReady
Dort startet deine Logik, was auch immer du machen möchtestonStateChange
wird immer dann aufgerufen, wenn sich ein Datenpunkt ändert,
so das deine Logik darauf reagieren kann.schaue dir mal einfache adapter an, was die da machen.
gern kannst du dir mal meinen adapter rssfeed anschauen.
der ist nicht so kompliziert.
wenn du fragen hast, gerne -
-
Disregard
-
@joergh
Gibt auf YouTube von Matthias kleine ein Video wie man einen Adapter macht. Teils zwar schon etwas veraltet aber dennoch gut für die Grundzüge zu lernen bzw. Zu verstehen. Ich habe damit auch meine ersten Adapter gebaut -
@thebam sagte in Wie erstelle ich eigene Adapter?:
@joergh
Gibt auf YouTube von Matthias kleine ein Video wie man einen Adapter macht. Teils zwar schon etwas veraltet aber dennoch gut für die Grundzüge zu lernen bzw. Zu verstehen. Ich habe damit auch meine ersten Adapter gebautNein, viel zu veraltet. Es wird auch immer komplexer für Neueinsteiger einen Adapter zu entwickeln, ich spreche da aus Erfahrung.
Oben wurde das grundlegendste ja bereits beschrieben. Adapter sind in Klassen geschrieben, der JS-Controller stellt sehr viele Funktionen zur Verfügung, damit man nicht alles selber neu erfinden muss.
Ich habe damals die meiste Hilfe auf dem Discord bekommen, bei Fragen kannst du dich gerne melden Auch gibts eine iobroker developer Gruppe bei Telegram (ist auch mit dem Discord verknüpft). Sollte man mal nicht mehr weiterkommen, da wird dir auf jeden Fall geholfenHilfreich wäre auch zu wissen, was du denn vor hast?
Das ist mein erster, relativ übersichtlich und einfach gehalten device-reminder github-link, sehr viel GUI und auch Logik zum abschauen vorhanden
-
@xenon
Zum einen möchte ich gerne den Powerfox Adapter mal fehler bereinigen, zum anderen wollte ich aber hauptsächlich einen Adapter für meinen Netro Whisperer Bodenfeuchtigkeits- Temperatur-, Lichtsensor erstellen.
Im Grunde kein sehr kompliziertes Projekt, wenn es um die Funktionalität geht, da die Werte nur aus der Cloud geholt werden müssen. Das Drumherum, also Einrichten der Entwicklerumgebung und Verstehen wie das alles aufgebaut ist, ist schwieriger, abgesehen davon, dass ich auch bisher kein Javascript programmiert habe...aber irgendwann muss man ja mal anfangen... -
@joergh uff ohne js Kenntnisse wird das nix. Auch um js zu lernen ist das schon eine harte Nuss. Ich würde zuerst deine Projekte im js Adapter rum iobroker üben und zum Laufen bringen bevor man mit einem eigenen Adapter anfängt. Der Frust kommt sonst sehr schnell und man bricht ab. Ein Adapter besteht aus zahlreichen Komponenten die man behandeln muss. Zusätzlich muss man sich mit HTML, css und eventuell sogar react auseinander setzen. Das ist schon alles sehr zeitintensiv.
Mein Tipp: fang klein im js Adapter an zu üben
-
@xenon said in Wie erstelle ich eigene Adapter?:
@joergh uff ohne js Kenntnisse wird das nix. Auch um js zu lernen ist das schon eine harte Nuss. Ich würde zuerst deine Projekte im js Adapter rum iobroker üben und zum Laufen bringen bevor man mit einem eigenen Adapter anfängt. Der Frust kommt sonst sehr schnell und man bricht ab. Ein Adapter besteht aus zahlreichen Komponenten die man behandeln muss. Zusätzlich muss man sich mit HTML, css und eventuell sogar react auseinander setzen. Das ist schon alles sehr zeitintensiv.
Mein Tipp: fang klein im js Adapter an zu üben
Ich habe früher verschiedenes programmiert, Basic, Pascal, bisschen C, C++, Assembler und bin kein völliger Laie, habe aber die letzten 25 Jahre nichts mehr wirklich geschrieben. Jetzt will ich wieder einsteigen, aber ein "Hello World" in js reizt mich nicht wirklich
-
ein hello world muss es ja nicht sein - es gibt genügend möglichkeiten, ein einfachs js script zu machen - auch mit deinem project. datenpunjkte anlegen, async holen der daten, aufbereiten und speichern der daten, für andere verfügbar machen, die fehler bei anderen rauszufinden, ....
da kann man gut üben und testen , ohne gleich einen adapter installieren zu müssen
Basic, Pascal, bisschen C, C++, Assembler mußte ich auch mal lernen - hat aber wenig mit javascript in einer iobroker umgebung zu tun - außer , dass man die logic des progrmammierens verstanden hat
-
@joergh das hat nichts mit hello World zu tun. Viele Adapter haben mal als JS im iobroker begonnen. Und es macht auch nicht immer Sinn Adapter zu erstellen, die dann nur für eventuell sehr wenige User überhaupt interessant sind. Ich habe auch skripte gebaut, welche ich auf github veröffentliche, auch Integration von Hardware. Da aber die User Nachfrage sehr gering ist, spare ich mir die aufwendige Erstellung eines zusätzlichen Adapters
Es ist ja nicht nur das Erstellen, sondern auch die anschließende Wartung, die einen Aufwand bedeutet -
Ok, ich habe das etwas falsch verstanden, sorry! Dachte ich soll erstmal mit was ganz anderem anfangen um JS zu lernen. Da ich aber hochmotiviert bin meinen Sensor auszulesen, wollte ich mich nicht mit anderem beschäftigen. Aber ich verstehe, dass ihr meint, dass ich erstmal den Code zum Auslesen in JS vom IOB selber schreiben kann, bevor ich mich mit dem anderen "Zubehör" des Adapters beschäftige. Das macht ja auch Sinn, wobei ich inzwischen VS, git, nodejs, etc. auf dem PC installiert habe und mir das Grundgerüst eines Adapters bereits erstellt habe. Aber gut, schadet ja nicht, erstmal nur den "Kern" der Logik zu erstellen und von da auch weiter zu machen.
-
@joergh
der adapter wie er aus dem adapter creator herauskommt ist sowas wie ein hello-world adapter.wenn du mit js noch nicht so firm bist, dann würd ich dir auch empfehlen den reinen funktionscode ersteinmal separat lauffähig zu machen und erst dann den code
in den adapter zu integrieren.
ansonsten hast du evtl zu viel stellen, an denen ein problem auftreten kann und du siehst den baum vor lauter wald nicht.für die formalen anforderungen eines adapters, das er später in das repository aufgenommen werden kann kannst du auch den adapter checker mal ausprobieren
https://adapter-check.iobroker.in/
dazu muss der code sich aber schon in github befinden -
@oliverio
Danke für den weitern Tipp. Das werde ich dann mal angehen.Das Video von Matthias Kleine habe ich auch noch einmal gesehen. Nachdem ich das vor ein paar Monaten mal angefangen hatte zu gucken und nur "Bahnhof" verstanden habe, muss ich sagen, habe ich diesmal schon viel besser verstanden was er da so macht. Gibt Hoffnung
-
@joergh
Ansonsten schau doch mal im discord vorbei da kann dir auch recht viel gezeigt werden -
Nur falls jemand diese Posts aus 2021 liest: Matthias Kleine hat Mitte 2022 ein weiteres Viedeo zum Thema Adapter-Entwicklung gemacht.
https://haus-automatisierung.com/software/iobroker/2022/05/06/iobroker-adapter-entwicklung.html -
Und generell empfiehlt sich hier auch unsere TELEGRAMM Gruppe "ioBroker Adapter Development Starters" - invite Links auf https://www.iobroker.dev