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

2 Fehlermeldungen Error: "Cannot find module" und "TypeError: Cannot read property 'miioProtocol' of undefined" #11

Closed dschuwa closed 3 years ago

dschuwa commented 3 years ago

Hallo,

ich wollte das Script nutzen um meinen H2 zu steuern, doch leider funktioniert es nicht. Ich bekomme im iobroker Log nur Fehlermeldungen:

javascript.0 2021-02-16 16:23:20.599 error (613) at Script.runInContext (vm.js:133:20)
javascript.0 2021-02-16 16:23:20.599 error (613) at script.js.common.node-mihome:64:1
javascript.0 2021-02-16 16:23:20.599 error (613) at Init (script.js.common.node-mihome:570:12)
javascript.0 2021-02-16 16:23:20.598 error (613) script.js.common.node-mihome: TypeError: Cannot read property 'miioProtocol' of undefined

und

javascript.0 | 2021-02-16 16:23:20.593 | error | (613) at Script.runInContext (vm.js:133:20) javascript.0 | 2021-02-16 16:23:20.593 | error | (613) at script.js.common.node-mihome:3:16 javascript.0 | 2021-02-16 16:23:20.592 | error | (613) script.js.common.node-mihome: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-mihome'

Was ich noch alles gemacht habe:

npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2021-02-16T15_16_39_870Z-debug.log pi@iobroker:~ $ sudo npm install node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript"

2 packages are looking for funding run npm fund for details

found 0 vulnerabilities

Meine Versionen: /usr/bin/nodejs v10.19.0 /usr/bin/node v10.19.0 /usr/bin/npm 6.13.4 nodejs: Installiert: 10.19.0-1nodesource1 Installationskandidat: 10.20.0-1nodesource1 Versionstabelle: 10.20.0-1nodesource1 500 500 https://deb.nodesource.com/node_10.x buster/main armhf Packages *** 10.19.0-1nodesource1 100 100 /var/lib/dpkg/status 10.15.2~dfsg-2+rpi1 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages Und als Script Version 0.2.8

Gibt es für die Fehlermeldungen eine Lösung?

Danke & viele Grüße

Pittini commented 3 years ago

Ich kann Dir da leider nicht wirklich helfen, das isn Systemproblem, bis zum Skript kommste ja gar nicht. Normalerweise muß man das nur im JS Adapter eintragen und nach neustart isses da. Manuell installieren würde ich lassen, bzw. rückgängig machen. Was mir aber auf jeden Fall auffällt, ist das die Pfade nicht identisch sind. Die iobroker Fehlermeldung geht auf: /opt/iobroker/node_modules/iobroker.javascript/lib/../../node-mihome

alles was da auf Systemebene lief geht auf: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome

das dürfte letztendlich auch das Problem sein, aber frag da bitte mal einen von den Systemprofis, evtl. auch besser im Forum.

bigbutler commented 3 years ago

Sry aber ich kapiere deine Install Anweisung nicht geht das auch genauer?

Pittini commented 3 years ago

Sry aber ich kapiere deine Install Anweisung nicht geht das auch genauer?

Ähm...nein. Was ist an den 6 einfachen Schritten nicht zu verstehen? Oder annersrum, was genau ist Dir unklar?

bigbutler commented 3 years ago

ok jetzt steht das gerät unter MiHomeAll aber null Funktionen die sind Leer . Sry blick da nicht durch was du mit Datenpunkte Prüfen und hinzufügen meinst. Bin da raus für mich als Java Noob nicht zu verstehen. Warum kann keiner ein richtigen Adapter bauen :(

Pittini commented 3 years ago

Ist der Info Channel befüllt worden mit Token Ip Adresse etc.? Wenn ja, isses schon die halbe Miete, dann fehlt Dir noch die Definitionsdatei in der node-mihome weil der Entwickler pennt. Die mußt Du Dir dann selber reinkopieren. Das ist diese Datei: https://github.com/Pittini/node-mihome/blob/master/lib/devices/zhimi.airpurifier.mc2.js (für den Purifier 2H) und die muss in dieses Verzeichnis: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/

Dann den JS Controller neustarten und es sollte laufen.

Und wo bitte hast Du was von "Datenpunkte Prüfen und hinzufügen" gelesen?

bigbutler commented 3 years ago

Ich hab jetzt 2 wochen mit iobroker zu tun. Sry mit sowas komme ich nicht klar ich glaube ich lass es ganz sein. iobroker ist nicht gerade so einfach als ich geklaubt habe dennoch danke.

dontobi commented 3 years ago

Bei dieser Variante hier brauchst du weder den Token, noch die IP. Du musst lediglich den gesamten Code des hier angebotenen Scripts kopieren, ein neues Script in deinem ioBroker erstellen und das kopierte einfügen.

Danach musst du nur die Login Daten deiner MiHome App in dem Script eintragen. Das ganze ist in den ersten Zeilen des Scripts dokumentiert.

Wichtig ist auch, dass unter den Instanz-Einstellungen des Java Script Adapters die node-mihome Erweiterung eingetragen wurde. Das sollte dann so aussehen...

Screenshot_2021-03-01-19-34-08-198_com.android.chrome.jpg

Anschließend die Java Script Instanz neustarten und das Script starten. Nach einem kurzen Augenblick sollten die Daten unter Objekte eingeheizt werden.

So... Noch einfacher kann ich es nicht erklären...

bigbutler commented 3 years ago

Ich musste in denn Expertenmodus hin und her switchen damit ich überhaupt die ausgelesen daten sehen konnte jetzt scheint es zu funktionieren danke.

Pittini commented 3 years ago

Kann man dann hier zu machen?