NEWS
[gefunden]suche adapter entwickler für fragen
-
findet sich jemand, der mir in einem telefonat ein paar sachen zur adapterentwicklung erklären würde - es geht eher über allgemeines und nicht zu tief in eine spezielle entwicklung
z.b. wie prüft man einen sich in der entwicklung stehenden adapter, mit welchen programm schreibt man einen adapter
gibt es da eine möglichkeit oder kann man verschiedenen vorgehen - habe einiges gelesen und ein paar videos angesehen - aber es will noch nicht in meinen kopf
-
was meinst du mit prüfen?
testfälle schreiben oder debuggen?ich starte beispielsweise einen adapter in einem speziellen debug modus über node.
dann kann ich über die developer console in chrome den adapter schritt für schritt ausführen,
breakpoints setzen, etc.
Bei mir läuft der iobroker auch nicht auf dem Rechner auf dem ich entwickle. Daher ist das was ich da beschrieben habe auch für das remote debugging geeignet.
Weil anderer Rechner benutze ich auch WinSCP mit eingebautem Putty. Mit WinScp kann man relativ schnell auf dem entfernten Rechner Dateien anschauen und öffnen. Über das eingebaute putty, kann man dann auch die ganzen Komandozeilenbefehle absetzen, die du während des entwickelns ständig ausführen musst. Besonders beim widgets-Entwickeln müssen die Änderungen immer erst aus deinem adapter nach vis "hochgeladen" werden. Das ist etwas lästigTestfälle schreiben ist wieder extra javascript code, der deine adapter funktionen gegen ein von dir zu erwartendes Ergebnis prüft. Oft sollte man je Funktion nicht nur einen Test machen. Da gibt es eigentlich auch ganz tolle technologieen (TDD=Test Driven Developement). Da meine Adapter, bis auf squeezeboxrpc eigentlich recht simpel sind, spar ich mir die.
Diese Testfälle sollten dann bei jedem build ausgeführt werden, so dass du frühzeitig merkst, das, weil du an der einen Ecke des adapters was geschaubt hast, an der anderen Ecke was nicht mehr funktioniert.Als Programm zum schreiben der Skripte nutze ich eigentlich nur einen simplen Editor (notepad++) der bietet schon mal syntax highlighting. Manche nutzen hier auch vscode oder gar visual studio. da weiß ich aber nichts davon im Zusammenhang mit iobroker.
Bevor ich dir aber alls von vorn bis hinten erzähle, fang einfach mal an mit dem adapter-creator das grundgerüst zu bauen. Wenn du das hast, dann muss man noch ein wenig mit npm spielen, da ich das Entwicklungsverzeichnis immer aus dem unterordner node_modules heraustransportiere, aber dennoch dort verfügbar sein muss.
Dann solltest du zu beginn auch noch git initialisieren. Ohne Versionskontrolle kann es schnell frustig werden.du kannst di ja auch mal meinen neuen adapter rssfeed anschauen. der ist noch super übersichtlich und vom funktionsumfang sehr übersichtlich.
-
@OliverIO vielen dank für deine tipps - habe gestern 2 1/2 stunden mit einem helfer telefoniert - wir konnten alles einrichten, was ich brauchte
jetzt muss ich erstmal kleinere tests machen und sehen, ob mir adaptererstellung tatsächlich gefällt
-
nochmals vielen dank an meinen telefon helfer
hat spaß gemacht
(den namen halt ich mal zurück, nicht das alle einen support von dir wollen)
-
Hallo,
Ich bin gerade auch an meinem ersten Adapter und hätte da ein paar Fragen kann jemand mir evtl. Helfen?Bzw. Diese Fragen beantworten? -
@ThaBam
dann stelle doch mal die fragen
-
@OliverIO
Ich habe mit dem Adapter Creator den Adapter erstellt das hat soweit auch funktioniert. Allerdings habe ich in der Main.js keine Funktion mit Main gefunden. Wird das nicht gebraucht? Oder muss man die noch selbst erstellen also Funktion Main (){........}?Wofür wird die Datei io-package.json gebraucht??
Das sind so die ersten ich denke weitere Fragen kommen dann noch
-
@ThaBam sagte in [gefunden]suche adapter entwickler für fragen:
Allerdings habe ich in der Main.js keine Funktion mit Main gefunden. Wird das nicht gebraucht? Oder muss man die noch selbst erstellen also Funktion Main (){........}?
In deiner Klasse befindet sich die Methode onReady die aufgerufen wird, wenn der Adapter startet bzw. wenn das Ready event ausgelöst wird. Somit wird keine Main Funktion benötigt.
@ThaBam sagte in [gefunden]suche adapter entwickler für fragen:
Wofür wird die Datei io-package.json gebraucht??
Dort stehen alle wichtigen Daten zu deinem Adapter drin (Adaptername, Typ, Beschreibung, Version, ...).
-
Vielen Dank. Erst mal für die schnelle Antwort.
Ich hätte noch eine Frage in der konfig Oberfläche (admin Ordner) ist es da möglich mit einem Button die Objekte als Auswahl du bekommen? Das quasi ein Auswahl fenster auf geht wie beim vis wo man die Objekte auswählen kann?Und ob die Verbindung steht sprich der Kreis grün ist welcher Datenpunkt ist das denn? Dieser: this.setState("info.connection"