NEWS
Adapter wird 2x installiert
-
@Baumert mach mal
npm i requestim build log weiter oben steht ziemlich prominent 2x
Error: Cannot find module 'request'
-
@Baumert Grundsätzlich sollten alle Pakete, die während der Laufzeit des Adapters benötigt werden (require!) in den
dependencies
auftauchen. Ausgenommen sind die Node.js Kernmodule (https://nodejs.org/api/). -
@AlCalzone @OliverIO Der 'request' Error ist weg, dafür ist jetzt ein 'replace' Error vorhanden.
Ich habe jetzt mal npm i replace durchgeführt 'replace 1.1.5' hinzugefügt. Aktuell läuft ein weiterer Test.
Ich werde jetzt so mal weitermachen... -
@Baumert hast du eigentlich einen debugger? weil die fehler über das buildlog von travis finden zu lassen dauert ja ewig.
die fehler müssten bei dir doch schon beim starten des adapters auftreten. -
@OliverIO Ich habe den Adapter mit VS-Code erstellt und damit auch debuggt. Hat alles einwandfrei funktioniert. 0Warnings und 0 Errors und sonst keine Meldungen.
-
@OliverIO bei dem replace fehler meckert er die zeile an
printerpath = 'IP_' + repetierIP.replace(/./g, '_') + '.' ;
ich vermute, das die variable null ist oder kein string.
dann gibt es replace natürlich nicht -
@OliverIO sowas musst du vorher prüfen. Beim programmieren niemals davon ausgehen das werte schon so sind wie du sie erwartete wenn du sie nicht selbst genau so gesetzt hast. Vor allem wenn die vom User eingegeben sein könnte oder so.
-
@OliverIO Ich habe die Variablen so angelegt:
// Hauptpfade
let printerpath ;
let serverpath ;Ich werde es jetzt mal so anlegen:
// Hauptpfade
let printerpath = ' ' ;
let serverpath = ' ' ; -
Ich weiß nicht wie deine Entwicklungsumgebung eingerichtet ist,
aber lese dir das mal durchhttps://forum.iobroker.net/topic/22208/lösung-für-den-fehler-eisgit
und meinen Beitrag hier
https://forum.iobroker.net/topic/4201/adapter-debuggen-mit-chrome/2
-
@Baumert du musst dran denken, das auf travis und auch beim benutzer der adapter zum ersten mal läuft und der benutzer noch nie eine konfiguration eingegeben hat.
der adapter schmiert ab, weil die variablen mit der konfig nicht gesetzt sind.
das musst du im programmcode entweder abfangen oder sinnvolle vorgaben in io-package.json machen.bei mir ab zeile 125 habe ich soetwas gemacht
https://github.com/oweitman/ioBroker.squeezeboxrpc/blob/96e74d62f9d76586965052edcbc66645acf801ca/io-package.json#L125
das sind Standardvorgaben, die der Benutzer dann im Konfigdialog abändern kann. -
@Baumert hm du initialisierst zwar. aber weiter unten werden diese variablen dann mit der nicht vorhandenen konfiguration überschrieben, die wahrscheinlich (undefined) ist.
-
@OliverIO vielen Dank, jetzt habe ich erst mal einen Anhaltspunkt. Ich werde dies jetzt abfangen und erneut testen...
-
@OliverIO was steht denn in der up-Package vom Adapter in native? Aber ja. Immer prüfen
-
@apollon77 es geht hier um den adapter von @Baumert
aber da stand vorhin unter native nix drin -
@OliverIO ja, "repIP" habe ich jetzt nachgetragen - vorher war nur "repPort" bei Native drin, da ich dort den Port 3344 bereits vorgebe.
-
@Baumert und was ist mit repetierApi
allen konfigs initialisieren
-
@OliverIO erledigt...
-
@Baumert #44 sieht schon mal besser aus
-
@OliverIO wird langsam...
-
@Baumert so...
allerdings noch ohne Script "- npm run test:unit", hier gibt es noch Errors. Dies und das doppelte Installieren des Adapters (siehe Post 1) gehe ich morgen an.
Vielen Dank für Eure Tipps und Unterstützung.