<- Startseite / Anleitungen / Smarthome / ioBroker
ioBroker - Adapter Entwicklung
- ioBroker Docs
- im Aufbau: Adapterentwicklung / ioBroker Docs
- Doku: Guide for Adapter Developers - JavaScript/Node.js
- Doku: ioBroker Core Concept
- ioBroker Wiki: Adapter Development Documentation
Adapter Template
Template erstellen
In unserem Entwicklungsverzeichnis, in dem wir den Ordner für den Adapter anlegen wollen, rufen wir npx @iobroker/create-adapter
(npm / node.js muss installiert sein), um das Template für unseren Adapter zu erstellen.
Info: create-Adapter auf GitHub
create-adapter erstellt im Entwicklungsverzeichnis einen neuen Ordner mit dem Namen ioBroker.{Adaptername}.
benötigte npm Module installieren
Im erstellten Verzeichnis werden nun die npm Module, die man im Adapter verwenden möchte installiert, z.B. für das npm Modul html-to-text wird das Modul mit npm install html-to-text
und die Dkelarationsdateien (wenn für das Modul vorhanden / einfach ausprobieren) mit npm install @types/html-to-text
installiert.
Die package.json im Verzeichnis wird automatisch angepasst:
"dependencies": {
"@iobroker/adapter-core": "^1.0.1",
"@types/html-to-text": "^1.4.31",
"html-to-text": "^4.0.0"
}
2
3
4
5
io-package.json anpassen
Infos zur io-package.json:
- https://iobroker.github.io/ioBroker.docs/#/dev/adapterref?id=structure-of-io-packagejson
- https://github.com/ioBroker/ioBroker/wiki/Adapter-Development-Documentation#structure-of-io-packagejson
- https://github.com/ioBroker/ioBroker/blob/master/doc/SCHEMA.md#adapter
Messagebox
Wenn Systemmeldungen, z.B. über sendTo, empfangen werden sollen, muss die Zeile "messagebox": true
ergänzt werden.
type
Gibt den Typ des Adapters an, wo er unter Admin Adapter einsortiert wird. Möglliche Werte findet man unter https://iobroker.github.io/ioBroker.docs/#/dev/adapterpublish?id=adapterkategorien.
io-package.json Keywords
Hier werden die Keywords aufgeführt, die den Adapter am Besten beschreiben. Diese werden unter ioBroker Admin/Adapter aufgeführt. Die voreingestellten Keywords, wie "ioBroker" und "template" machen hier natürlich keinen Sinn.
GitLab Projekt erstellen
In GitLab wird nun ein leeres Projekt mit dem Namen ioBroker.{Adaptername} angelegt und das neue Adapterverzeichnis dorthin übernommen, wie unter dem Artikel bestehenden Ordner in GitLab in ein neues Repository übernehmen beschrieben.
Adapter in ioBroker importieren
Adapter von GitLab zu ioBroker kopieren
im ioBroker Admin kann der Adapter unter Admin/Adapter eingelesen werden, in dem in der Ansicht die GitHub-Katze ausgewählt wird und dort der zweite Tab beliebig (Adapter aus beliebiger Quelle installieren oder aktualisieren). Unter URL wird der Pfad zur gewünschten Branch als .tar.gz Datei reinkopiert.
Den Pfad zur .tar.gz Datei findet man im GitLab Repository in dem man dort auf Download klickt und dann mit der rechten Maustaste auf Download tar.gz Adresse des Links kopieren auswählt.
Vor dem Installieren nbietet es sich an, den Haken bei Debug-Ausgabe auszuwählen. Wenn sich das Installationsfenster öffnet sollte der Haken unter schliessen wenn fertig raus und der Schalter von weniger auf mehr gestellt werden, bevor sich das Installationsfenster wieder schliesst.
Adapter Instanz hinzufügen
Nachdem so der Adapter der Adapterliste im ioBroker Admin unter Adapter hinzugefügt wurde, kann dieser per Klick auf das Plussymbol (Instanz hinzufügen) rechts in der Zeile des Adapters als Instanz hinzugefügt werden.
Adapter aktualisieren
Um eine neue Version des Adapters zu testen, wird diese erneut von GitLab hochgeladen. In der Zeile des Adapters wählt man dann das Symbol für Upload aus. Hierfür muss in der Übersicht die Expertenansicht aktiviert sein. Die Expertenansicht schaltet man per Klick auf das Symbol rechts neben der Github-Katze ein.