Pittini / iobroker-nodemihome

Steuerung von bisher nicht unterstützten Xiaomi Geräten in Iobroker via node-mihome
MIT License
27 stars 15 forks source link

Skript broken with js-3.3 #43

Closed janhp closed 2 years ago

janhp commented 3 years ago

Hi Dev!

Ich habe meinen js-controller auf 3.3 geupdated, seitdem funktioniert das Skript nicht mehr, e.g. Lampen lassen sich nicht mehr steuern (der state ist und bleibt "null")

Ich habe folgende Fehlermeldung:

`

javascript.0 | 2021-08-17 10:05:40.430 | error | at main (script.js.common.Skripte.Node-MiHome2:765:5) -- | -- | -- | -- javascript.0 | 2021-08-17 10:05:40.430 | error | at CreateDevices (script.js.common.Skripte.Node-MiHome2:833:36) javascript.0 | 2021-08-17 10:05:40.428 | error | at Object.createDevice [as device] (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device.js:8:11) javascript.0 | 2021-08-17 10:05:40.420 | error | script.js.common.Skripte.Node-MiHome2: Error: Model yeelink.light.lamp4 is not supported `
Pittini commented 3 years ago

Normal. Nach update vom JS Controller wird auch die node-mihome neu geladen. Einfach die Definitionsdatei neu kopieren wie in der Anleitung beschrieben, JS Controller neustarten und schon läufts wieder.

janhp commented 3 years ago

Da ich ein ziemlicher Anfänger bin, kannst du mir bitte den code sagen, wie ich die Datei herunterlade und dort reinkopiere?

Pittini commented 3 years ago

Steht doch in der Anleitung und Du hasts ja wohl bei der Erstinstallation schon mal gemacht, sonst wärs ja nie gelaufen.

janhp commented 3 years ago

Die Device Definitionsdatei/en welche zu Deinem Gerät/en gehört, von hier: https://github.com/Pittini/iobroker-nodemihome/tree/main/DefinitionfilesForNode-Mihome nach: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/ kopieren.

Aber welches Kommando muss ich in der Console eingeben? Mein Kollege hat mir das damals aufgesetzt...

1000dank!

Pittini commented 3 years ago

Aber welches Kommando muss ich in der Console eingeben? Mein Kollege hat mir das damals aufgesetzt...

Kommt aufs System an, da gibts x Möglichkeiten. Und dafür gibts 1000+ Anleitungen im Netz. Und sorry, nein, ich mach jetzt hier keinen EDV Grundlagenkurs ala wie kopiere ich eine Datei.

janhp commented 2 years ago

Habe die Dateien erfolgreich reinkopiert, den JS adapter mehrmals neugestatet sowie das System. Leider erhalte ich folgende Error-MSG. Was kann ich tun?

`

javascript.0 2021-09-14 17:21:25.259 error at Script.runInContext (vm.js:130:18)
javascript.0 2021-09-14 17:21:25.259 error at script.js.common.Skripte.Node-MiHome:1111:3
javascript.0 2021-09-14 17:21:25.259 error at script.js.common.Skripte.Node-MiHome:36:1
javascript.0 2021-09-14 17:21:25.258 error at Init (script.js.common.Skripte.Node-MiHome:788:12)
javascript.0 2021-09-14 17:21:25.258 error script.js.common.Skripte.Node-MiHome: TypeError: Cannot read property 'miioProtocol' of undefined
javascript.0 2021-09-14 17:21:25.252 error at Script.runInContext (vm.js:130:18)
javascript.0 2021-09-14 17:21:25.252 error at script.js.common.Skripte.Node-MiHome:1111:3
javascript.0 2021-09-14 17:21:25.251 error at script.js.common.Skripte.Node-MiHome:3:16
javascript.0 2021-09-14 17:21:25.250 error at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:416:36)
javascript.0 2021-09-14 17:21:25.250 error at require (internal/modules/cjs/helpers.js:74:18)
javascript.0 2021-09-14 17:21:25.249 error at Module.require (internal/modules/cjs/loader.js:887:19)
javascript.0 2021-09-14 17:21:25.247 error script.js.common.Skripte.Node-MiHome: Error: Cannot find module

`

Pittini commented 2 years ago

Naja, die Antwort steht ja da und ist: "Cannot find module" Hast Du die node-mihome im JS Adapter eingetragen? Die findet das Skript nicht, sieht man auch an der angegebenen Fehlerzeile 3, das is genau der Aufruf der node-mihome.

janhp commented 2 years ago

Ja ist eingetragen. habe auch den JS controller mehrmals neugestartet sowie den pi gerebootet.

janhp commented 2 years ago

@Pittini Habe node-mihome manuall per console gelöscht und neu geladen. Jetzt habe ich folgende Fehlermeldung. Außerdem lassen sich meine Geräte immer noch nicht steuern.

`


19:15:12.345 | error | javascript.0 (1094) script.js.common.Skripte.Node-MiHome: Error: Model yeelink.light.lamp4 is not supported -- | -- | -- 19:15:12.347 | error | javascript.0 (1094) at CreateDevices (script.js.common.Skripte.Node-MiHome:833:36) 19:15:12.347 | error | javascript.0 (1094) at main (script.js.common.Skripte.Node-MiHome:765:5) `
Pittini commented 2 years ago

Ja das is soweit klar, durch die Neuinstallation der node-mihome sind Deine reinkopierten Files wieder weg, das is auch bei JS Controller neuinstallationen bzw. updates so. Dabei holt sich das System die node-mihome neu von npm und im original sind die Files halt nich drin weil der Dev nich in die Pötte kommt. Sollte es dann immer noch nich gehen, bist Du wohl eins der pi Opfer, das sind nämlich die einzigen die Gelegentlich Probs mit dem Skript haben. Evtl. kann Dir einer der Jungs im Forum weiterhelfen: https://forum.iobroker.net/topic/39388/vorlage-xiaomi-airpurifier-3h-u-a-inkl-token-auslesen/271

janhp commented 2 years ago

Habe es irgendwie gefixed bekommen. Danke für deinen Support :)