Adapter: cannot find start file

Forum zum Mitteilen von Fehlern
Antworten
Benutzeravatar
AlCalzone
guru
Beiträge: 2221
Registriert: 01.03.2016, 15:16

Adapter: cannot find start file

Beitrag von AlCalzone » 12.08.2017, 19:29

Folgende Situation:
In einem TypeScript-basierten Adapter liegen die kompilierten JS-Dateien im Unterorder "build". Die package.json enthält

Code: Alles auswählen

    "main": "build/main.js",
womit ioBroker doch eigentlich die Haupt-Datei finden sollte. Stattdessen steht im Log

Code: Alles auswählen

 host.DomiPC	2017-08-12 20:19:01.744	error	startInstance tradfri.0: cannot find start file! 

Code: Alles auswählen

    "main": "./build/main.js",
funktioniert auch nicht. Füge ich jetzt aber im Hauptordner eine "main.js" ein mit folgendem Inhalt

Code: Alles auswählen

require("./build/main.js");
geht alles.

Hat jemand eine Idee, woran das liegen könnte?
Meine Adapter:
IKEA Trådfri: GitHub | Test & Hilfe
G-Homa: GitHub | Test & Hilfe

Benutzeravatar
Bluefox
Site Admin
Beiträge: 7922
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: Adapter: cannot find start file

Beitrag von Bluefox » 12.08.2017, 22:00

AlCalzone hat geschrieben:Folgende Situation:
In einem TypeScript-basierten Adapter liegen die kompilierten JS-Dateien im Unterorder "build". Die package.json enthält

Code: Alles auswählen

    "main": "build/main.js",
womit ioBroker doch eigentlich die Haupt-Datei finden sollte. Stattdessen steht im Log

Code: Alles auswählen

 host.DomiPC	2017-08-12 20:19:01.744	error	startInstance tradfri.0: cannot find start file! 

Code: Alles auswählen

    "main": "./build/main.js",
funktioniert auch nicht. Füge ich jetzt aber im Hauptordner eine "main.js" ein mit folgendem Inhalt

Code: Alles auswählen

require("./build/main.js");
geht alles.

Hat jemand eine Idee, woran das liegen könnte?
Dafür konnte man diese Zeilen ansehen:
https://github.com/ioBroker/ioBroker.js ... r.js#L1822
und
https://github.com/ioBroker/ioBroker.js ... r.js#L1841

D.h aus "build/main.js" wird ".../iobroker.tradfri/build/main.js" und das sollte gehen.

Hast du auch "iobroker update tradfri" gemacht, nachdem als du "main" geändert hast?

Benutzeravatar
AlCalzone
guru
Beiträge: 2221
Registriert: 01.03.2016, 15:16

Re: Adapter: cannot find start file

Beitrag von AlCalzone » 13.08.2017, 09:49

Bluefox hat geschrieben:Hast du auch "iobroker update tradfri" gemacht, nachdem als du "main" geändert hast?
Ich meine, ich hätte sogar mal frisch installiert (von Github), aber das werde ich nochmal testen.
Meine Adapter:
IKEA Trådfri: GitHub | Test & Hilfe
G-Homa: GitHub | Test & Hilfe

Benutzeravatar
AlCalzone
guru
Beiträge: 2221
Registriert: 01.03.2016, 15:16

Re: Adapter: cannot find start file

Beitrag von AlCalzone » 13.08.2017, 10:07

Gerade nochmal ausprobiert: Im Log steht jetzt, von welcher Datei der Adapter gestartet wurde:

Code: Alles auswählen

tradfri.0	2017-08-13 11:03:54.739	info	startfile = d:\Programme\ioBroker\node_modules\iobroker.tradfri\main.js 
Im Common-Objekt der Instanz gibt es auch keinen Eintrag "main":
Spoiler: Show hidden text

Code: Alles auswählen

{
  "common": {
    "name": "tradfri",
    "version": "0.1.4",
    "title": "IKEA Trådfri",
    "platform": "Javascript/Node.js",
    "mode": "daemon",
    "icon": "tradfri.png",
    "extIcon": "https://raw.githubusercontent.com/AlCalzone/ioBroker.tradfri/master/admin/tradfri.png",
    "readme": "https://github.com/AlCalzone/ioBroker.tradfri/blob/master/README.md",
    "loglevel": "info",
    "type": "hardware",
    "installedVersion": "0.1.4",
    "host": "DomiPC",
    "enabled": true,
    "messagebox": true,
    "news": {
      "0.1.0": {
        "en": "initial release. Functionality limited to controlling lightbulbs.",
        "de": "Initiale Version. Funktionalität ist beschränkt auf das Steuern von Lampen."
      },
      "0.1.1": {
        "en": "Added support for NodeJS 4.X and building the dependencies on Windows systems.",
        "de": "Support für NodeJS 4.X hinzugefügt und Buildprobleme auf Windows-Systemen behoben."
      },
      "0.1.2": {
        "en": "Color temperature of lightbulbs is now expressed in terms of 0-100%.",
        "de": "Farbtemperatur von Lichtern wird nun als 0-100% ausgedrückt."
      },
      "0.1.3": {
        "en": "Reboot of the adapter without 3rd party libraries",
        "de": "Neuauflage des Adapters ohne Dritt-Software"
      }
    },
    "desc": {
      "en": "Communicates with IKEA Trådfri Gateway to control devices",
      "de": "Kommuniziert mit IKEA Trådfri Gateway um Geräte zu steuern"
    },
    "keywords": [
      "ikea",
      "tradfri"
    ]
  },
  "native": {
    "host": "",
    "securityCode": ""
  },
  "acl": {
    "object": 1638,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  },
  "_id": "system.adapter.tradfri.0",
  "type": "instance"
}
Meine Adapter:
IKEA Trådfri: GitHub | Test & Hilfe
G-Homa: GitHub | Test & Hilfe

Benutzeravatar
AlCalzone
guru
Beiträge: 2221
Registriert: 01.03.2016, 15:16

Re: Adapter: cannot find start file

Beitrag von AlCalzone » 21.09.2017, 09:12

Bluefox hat geschrieben:D.h aus "build/main.js" wird ".../iobroker.tradfri/build/main.js" und das sollte gehen.
Inzwischen wird der Adapter ja aus NPM installiert, das Problem bleibt. Trotz "build/main.js" in der package.json will ioBroker "main.js" starten. Hast du noch ne Idee, was falsch laufen könnte?
Meine Adapter:
IKEA Trådfri: GitHub | Test & Hilfe
G-Homa: GitHub | Test & Hilfe

Antworten