NEWS
TypeScript declarations für ioBroker
-
Die Idee find ich cool. Am besten auch gleich noch das Adapter-Testing im TS-Style
-
Vielleicht sogar ein template erzeugen?
IoBroker.ts-template `
Klar, warum nicht! Schau ich mir übers Wochenende mal an. -
https://github.com/AlCalzone/ioBroker.template-ts
Erste Version mit automatischer Kompilierung (zumindest in VSCode und Visual Studio) sowie global vorhandenem Namespace ioBroker (unter dem alle Typen zu finden sind).
Habs noch nicht getestet mit einem tatsächlichen Adapter, erwarte aber nicht allzuviele Probleme. Es könnte jedoch sein, dass "utils" in einem falschen Ordner nach dem Controller sucht, da die Datei jetzt in "./build/lib/" liegt statt "./lib"
Tests sind bisher unverändert in JS.
-
Könntest Du das bitte nochmal löschen und als eigenes Repo (also nicht als Fork von ioBroker.template) neu anlegen :-)) Ich kann es nicht forken weil ich .template schon geforkt habe
-
äh ja, wird gemacht
-
So, hat jetzt auch Default-Adaptertesting dabei
-
Habe heute noch einige Deklarationen zum TypeScript Template-Adapter hinzugefügt.
An einigen Stellen in https://github.com/AlCalzone/ioBroker.t … roker.d.ts gibts noch Kommentare der Art
// TODO find out how this looks like
Wenn einer der Profis (Bluefox?) mir nen Tipp geben kann, wie die so markierten Typen aufgebaut sind, wäre ich dankbar. Ansonsten wühle ich mich halt irgendwann mal wieder durch den Code vom JS-Controller
Edit: Insbesondere hier brauche ich Hilfe:
-
Es gibt jetzt zwei Branches:
-
master: der vollständige Adapter mit Widget, Docs, www-files, etc.
-
bare: nur das "nötigste", d.h. main-code, TypeScript-Umgebung und Admin-UI-Dateien.
-
-
Das zukünftige Loglevel "silly" ist auch drin!
-
Jetzt gibts auch TypeScript-style unit testing, sowohl lokal mit Coverage-Report und online auf Travis/AppVeyor.
Beschreibung siehe https://github.com/AlCalzone/ioBroker.t … it-testing
Beispiel hier: https://github.com/AlCalzone/ioBroker.t ... in.test.ts
-
Hey, ich wollte heute einen neuen Adapter in Typescript erstellen.
Ich habe es mit dem template von Github versucht. Am Code selber habe ich nichts geändert, ich habe den Code in "node_modules" kopiert und anschließend mit npm install alle packages installiert in dem Ordner. Dann den Adapter "upgeloaded".
Jedoch startet der Adapter bei mir nicht.
Im Instanz Tab ist die Instanz rot.
Im Log erscheint lediglich:
iobroker 2018-10-09 19:59:55.556 info exit 0 iobroker 2018-10-09 19:59:55.548 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0 created host.DESKTOP-RV0C8KF 2018-10-09 19:59:55.545 info object change system.adapter.template-ts.0 iobroker 2018-10-09 19:59:55.516 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0.alive created iobroker 2018-10-09 19:59:55.488 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0.connected created iobroker 2018-10-09 19:59:55.461 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0.memHeapUsed created iobroker 2018-10-09 19:59:55.433 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0.memHeapTotal created iobroker 2018-10-09 19:59:55.404 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0.memRss created iobroker 2018-10-09 19:59:55.377 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0.uptime created iobroker 2018-10-09 19:59:55.348 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0.inputCount created iobroker 2018-10-09 19:59:55.320 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.0.outputCount created iobroker 2018-10-09 19:59:55.292 info host.DESKTOP-RV0C8KF object system.adapter.template-ts.upload created iobroker 2018-10-09 19:59:55.288 info host.DESKTOP-RV0C8KF create instance template-ts iobroker 2018-10-09 19:59:55.276 info host.DESKTOP-RV0C8KF object system.adapter.template-ts created
Hat das von euch schon einer zum Laufen gebracht?
Ist das Template noch up to date?
-
Das Template müsste noch aktuell sein, wesentliche Änderungen gab es nicht. Ich sehe nicht dass überhaupt versucht wird, die Instanz zu starten. Allerdings hab ich auch noch nie probiert, das Template direkt auszuführen.
-
Gibt es denn einen Adapter der läuft und mit diesem Typescript Template entwickelt wurde? Dann würde ich mich auf die Fehlersuche begeben
Gesendet von meinem EML-L09 mit Tapatalk
-
Alle meine: g-homa, tradfri, ble
Vermutlich musst du den Adapter "richtig" installieren. npm install löscht auch Ordner, wenn diese nicht vorhanden sein sollten. Zum Beispiel kannst du den Adapter mit npm pack in einen tarball verpacken, diesen auf den Host schieben und dort im Ordner /opt/iobroker per npm install pfad-zum-tarball installieren.
-
@alcalzone werden die Declarations noch irgendwie verwendet, wenn ich meinen Adapter über
create-adapter
erstellt habe?Die StateQuality Values scheinen wohl nicht aktuell zu sein und ich habe bei der Google Suche nichts anderes gefunden, als die Deklaration in https://github.com/AlCalzone/virtual-tsc/blob/master/test/ioBroker.d.ts .
Daher bin ich nicht sicher, wie/wo man die Deklaration anpassen muss, damit keine Fehler mehr bei der Zuweisung von neueren Weren für
state.q
generiert werden.Ich habe dazu ein Issue auf GitHub aufgemacht:
https://github.com/AlCalzone/virtual-tsc/issues/16 -