NEWS
[Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.
-
Hallo zusammen,
bisher funktionierte bei mir das Skript für den Airpurifier 3H relativ problemlos. Heute habe ich das System mal geupdatet und mit dem neustem js-Adapter bekomme ich das Skript (ohne jegliche Änderung" nicht mehr zum Laufen ;-(
Könnte mir jemand netterweise behilflich sein?
VG vsa
avascript.0 2021-12-29 22:31:06.571 error at Script.runInContext (vm.js:130:18) javascript.0 2021-12-29 22:31:06.571 error at script.js.common.zhimi.airpurifier.mb3:130:3 javascript.0 2021-12-29 22:31:06.571 error at script.js.common.zhimi.airpurifier.mb3:3:1 javascript.0 2021-12-29 22:31:06.570 error script.js.common.zhimi.airpurifier.mb3: ReferenceError: module is not defined javascript.0 2021-12-29 22:31:06.570 info script.js.common.zhimi.airpurifier.mb3: registered 0 subscriptions and 0 schedules javascript.0 2021-12-29 22:31:06.569 error at Script.runInContext (vm.js:130:18) javascript.0 2021-12-29 22:31:06.569 error at script.js.common.zhimi.airpurifier.mb3:130:3 javascript.0 2021-12-29 22:31:06.569 error at script.js.common.zhimi.airpurifier.mb3:1:16 javascript.0 2021-12-29 22:31:06.568 error at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:412:32) javascript.0 2021-12-29 22:31:06.568 error at require (internal/modules/cjs/helpers.js:74:18) javascript.0 2021-12-29 22:31:06.568 error at Module.require (internal/modules/cjs/loader.js:887:19) javascript.0 2021-12-29 22:31:06.567 error script.js.common.zhimi.airpurifier.mb3: Error: Cannot find module '../device-miio' javascript.0 2021-12-29 22:31:06.562 info Start javascript script.js.common.zhimi.airpurifier.mb3 javascript.0 2021-12-29 22:31:04.092 info script.js.common.Wetter_VIS: Material Design Widgets: Wetter Skript triggered by 'system.adapter.daswetter.0.alive' host.ioBroker-RasPi4 2021-12-29 22:31:04.052 error instance system.adapter.daswetter.0 terminated with code 15 (UNKNOWN_ERROR) javascript.0 2021-12-29 22:31:04.048 error at Script.runInContext (vm.js:130:18) javascript.0 2021-12-29 22:31:04.047 error at script.js.common.zhimi.airpurifier.mb3:130:3 javascript.0 2021-12-29 22:31:04.046 error at script.js.common.zhimi.airpurifier.mb3:3:1 javascript.0 2021-12-29 22:31:04.046 error script.js.common.zhimi.airpurifier.mb3: ReferenceError: module is not defined javascript.0 2021-12-29 22:31:04.045 info script.js.common.zhimi.airpurifier.mb3: registered 0 subscriptions and 0 schedules javascript.0 2021-12-29 22:31:04.044 error at Script.runInContext (vm.js:130:18) javascript.0 2021-12-29 22:31:04.044 error at script.js.common.zhimi.airpurifier.mb3:130:3 javascript.0 2021-12-29 22:31:04.043 error at script.js.common.zhimi.airpurifier.mb3:1:16 javascript.0 2021-12-29 22:31:04.043 error at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:412:32) javascript.0 2021-12-29 22:31:04.042 error at require (internal/modules/cjs/helpers.js:74:18) javascript.0 2021-12-29 22:31:04.042 error at Module.require (internal/modules/cjs/loader.js:887:19) javascript.0 2021-12-29 22:31:04.041 error script.js.common.zhimi.airpurifier.mb3: Error: Cannot find module '../device-miio' javascript.0 2021-12-29 22:31:04.033 info Start javascript script.js.common.zhimi.airpurifier.mb3 javascript.0 2021-12-29 22:31:04.026 info Stop script script.js.common.zhimi.airpurifier.mb3 javascript.0 2021-12-29 22:31:04.021 info Stop script script.js.common.zhimi.airpurifier.mb3 -
@vsa sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
airpurifier.mb3
Ist bei dir noch die Datei /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/zhimi.airpurifier.mb3 vorhanden?
Es wurde vermutlich am Auth Verfahren was geändert.
Ist Dir das schon bekannt?
Bei mir startet das Skript nicht mehr.javascript.0 2022-01-02 18:36:14.031 error (884) at Init (script.js.Steuerung_Ventilator_und_Lüfter.Lüfter_und_Ventilator:795:21) javascript.0 2022-01-02 18:36:14.031 error (884) at MiCloudProtocol.getDevices (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:121:18) javascript.0 2022-01-02 18:36:14.030 error (884) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2022-01-02 18:36:14.030 error (884) at MiCloudProtocol.request (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:107:13) javascript.0 2022-01-02 18:36:14.028 error (884) script.js.Steuerung_Ventilator_und_Lüfter.Lüfter_und_Ventilator: Error: Request error with status Unauthorized -
Es wurde vermutlich am Auth Verfahren was geändert.
Ist Dir das schon bekannt?
Bei mir startet das Skript nicht mehr.javascript.0 2022-01-02 18:36:14.031 error (884) at Init (script.js.Steuerung_Ventilator_und_Lüfter.Lüfter_und_Ventilator:795:21) javascript.0 2022-01-02 18:36:14.031 error (884) at MiCloudProtocol.getDevices (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:121:18) javascript.0 2022-01-02 18:36:14.030 error (884) at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2022-01-02 18:36:14.030 error (884) at MiCloudProtocol.request (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:107:13) javascript.0 2022-01-02 18:36:14.028 error (884) script.js.Steuerung_Ventilator_und_Lüfter.Lüfter_und_Ventilator: Error: Request error with status Unauthorized -
Skript geht wieder.
Neu starten , dann passt wieder alles. -
Skript geht wieder.
Neu starten , dann passt wieder alles.@haselchen Bei mir lief es die letzten Tage sogar problemlos durch, als ihr da anscheinend Probleme hattet?! Wer weiss, was Xiaomi da wieder im Hintergrund geschrajbt hat...
Gruß, Jürgen -
@haselchen Bei mir lief es die letzten Tage sogar problemlos durch, als ihr da anscheinend Probleme hattet?! Wer weiss, was Xiaomi da wieder im Hintergrund geschrajbt hat...
Gruß, JürgenAuf dem cn oder de Server? Mein kleiner Chinese hat jedenfalls auch nicht gemuckt.
-
Auf dem cn oder de Server? Mein kleiner Chinese hat jedenfalls auch nicht gemuckt.
@thomas-braun Ich bin Anfang an mit allen Luftreinigern auf dem de-Server.
Gruß, Jürgen -
Skript geht wieder.
Neu starten , dann passt wieder alles.@haselchen Es geht wieder los, das Skript meldet "Error: Request error with status Unauthorized" seit 13:00 Uhr. :angry:
2022-01-12 17:19:49.498 - error: javascript.0 (3566355) script.js.Skripte.Wohnung.Xiaomi_Geräte: Error: Request error with status Unauthorized 2022-01-12 17:19:49.498 - error: javascript.0 (3566355) at MiCloudProtocol.request (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:107:13) 2022-01-12 17:19:49.498 - error: javascript.0 (3566355) at runMicrotasks () 2022-01-12 17:19:49.499 - error: javascript.0 (3566355) at processTicksAndRejections (internal/process/task_queues.js:95:5) 2022-01-12 17:19:49.499 - error: javascript.0 (3566355) at MiCloudProtocol.getDevices (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:121:18) 2022-01-12 17:19:49.499 - error: javascript.0 (3566355) at RefreshGenericDpsTicker (script.js.Skripte.Wohnung.Xiaomi_Geräte:923:17) -
@siggi0904 hier läuft noch alles geschmeidig
-
@siggi0904 hier läuft noch alles geschmeidig
-
@siggi0904 wohl kein allgemeines Server Problem
-
@siggi0904 wohl kein allgemeines Server Problem
-
@crunchip Dank dir für die Info. Ja, dann wär hier mehr los.
Hat jemand einen Tipp, wie ich das beheben kann?
@siggi0904 sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
@crunchip Dank dir für die Info. Ja, dann wär hier mehr los.
Hat jemand einen Tipp, wie ich das beheben kann?
Nicht direkt, aber nen Versuch. Dass der Fehler bei Dir wieder da ist, ist ärgerlich, für mich interessant ist aber die Zeile:
2022-01-12 17:19:49.499 - error: javascript.0 (3566355) at RefreshGenericDpsTicker (script.js.Skripte.Wohnung.Xiaomi_Geräte:923:17)Das ist nämlich nicht wie erwartet der normale Login bei Skriptstart, sondern die erneute Statusabfrage. Und die kann man auch abschalten, es wird dann lediglich isOnline und der rssi nicht aktualisiert. Stell mal Zeile 10 "const SkipRssiRefresh" auf true und schau was passiert.
-
@siggi0904 sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
@crunchip Dank dir für die Info. Ja, dann wär hier mehr los.
Hat jemand einen Tipp, wie ich das beheben kann?
Nicht direkt, aber nen Versuch. Dass der Fehler bei Dir wieder da ist, ist ärgerlich, für mich interessant ist aber die Zeile:
2022-01-12 17:19:49.499 - error: javascript.0 (3566355) at RefreshGenericDpsTicker (script.js.Skripte.Wohnung.Xiaomi_Geräte:923:17)Das ist nämlich nicht wie erwartet der normale Login bei Skriptstart, sondern die erneute Statusabfrage. Und die kann man auch abschalten, es wird dann lediglich isOnline und der rssi nicht aktualisiert. Stell mal Zeile 10 "const SkipRssiRefresh" auf true und schau was passiert.
@pittini Hallo Pittini, da ich nodejs aktualisieren musste (Update wurde angezeigt), hatte ich auch den IOBroker neugetartet. Danach hab ich das Skript wieder gestartet und nun rennt wieder alles.
SkipRssiRefresh steht bei mir immer auf false.
Mit diesen Einstellungen hatte ich aber auch immer gespielt.Weißt du eigentlich im Script welche Log-Ausgaben geschrieben werden?
Wäre vielleicht gut, wenn bei fehlerhafter Anmeldung und weiteren Fehlern ein Hinweis ausgegeben würde, dass das Script keine Daten ausgibt und somit nicht funktioniert.Merkwürdig, was das war.
-
Hallo Zusammen,
ich bin einfach zu blöd... Versuche den 3H einzubinden und bekomme gar nichts hin...
Habe es zwar hinbekommen das Skript einzubauen, bekomme aber folgende Fehlermeldung:
script.js.MI_AIR_TRISTAN: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../..//opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/'Obwohl ich über wget hinzugefügt habe, denke ich...

Ich weiß auch gar nicht wo ich meine Logindaten eintragen muss... :cry:
Könnt ihr helfen?
-
Hallo Zusammen,
ich bin einfach zu blöd... Versuche den 3H einzubinden und bekomme gar nichts hin...
Habe es zwar hinbekommen das Skript einzubauen, bekomme aber folgende Fehlermeldung:
script.js.MI_AIR_TRISTAN: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../..//opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/'Obwohl ich über wget hinzugefügt habe, denke ich...

Ich weiß auch gar nicht wo ich meine Logindaten eintragen muss... :cry:
Könnt ihr helfen?
-
@nebunc2 hast du node-mihome im javascript Editor aktiviert?

Schau dir auch mal die heruntergeladene Datei an, dass das auch ein js Datei ist.
Ansonsten bitte mal ein vollständiges log.
-
5.2.2022, 21:38:59.105 [info ]: javascript.0 (1230) Stop script script.js.MI_AIR_TRISTAN
5.2.2022, 21:39:26.457 [info ]: javascript.0 (1230) Start javascript script.js.MI_AIR_TRISTAN
5.2.2022, 21:39:26.497 [error]: javascript.0 (1230) script.js.MI_AIR_TRISTAN: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../../device-miio'
5.2.2022, 21:39:26.498 [error]: javascript.0 (1230) at script.js.MI_AIR_TRISTAN:1:16
5.2.2022, 21:39:26.498 [error]: javascript.0 (1230) at script.js.MI_AIR_TRISTAN:129:3
5.2.2022, 21:39:26.500 [info ]: javascript.0 (1230) script.js.MI_AIR_TRISTAN: registered 0 subscriptions and 0 schedules
5.2.2022, 21:39:26.501 [error]: javascript.0 (1230) script.js.MI_AIR_TRISTAN: ReferenceError: module is not defined
5.2.2022, 21:39:26.501 [error]: javascript.0 (1230) at script.js.MI_AIR_TRISTAN:3:1
5.2.2022, 21:39:26.501 [error]: javascript.0 (1230) at script.js.MI_AIR_TRISTAN:129:3 -
@fd Für alle, die ein ähnliches Problem haben, dass sie das Skript leider nicht zum Laufen bekommen: Ich habe das ganze jetzt über den ham adapter gelöst.
Folgendermaßen bin ich vorgegangen:
- Via SSH "homebridge" und "homebridge xiaomi fan" installieren (siehe z.B. https://github.com/merdok/homebridge-xiaomi-fan für weitere Anmerkungen)
- ham Adapter für den iobroker installieren
- Im ham Adapter unter "Main Settings" "Local Mode (...)" wählen
- Unter "Main Settings" "Additional NPM modules" "homebridge-xiaomi-fan" hinzufügen
- Im ham Adapter unter "Configuration File" die in https://github.com/merdok/homebridge-xiaomi-fan beschriebenen Eintragungen vornehmen. Bei mir sieht das zB so aus (mit einigen Dummies und ohne Sonos):
{ "bridge": { "name": "TEST", "username": "00:11:22:33:44:55", "port": 51826, "pin": "000-00-001" }, "platforms": [ { "name": "Config", "port": 8090, "auth": "form", "theme": "dark-mode", "tempUnits": "c", "lang": "auto", "sudo": false, "log": { "method": "file", "path": "/var/log/homebridge_ioB.log" }, "platform": "config" }, { "devices": [ { "name": "Mi Smart Standing Fan 2", "ip": "192.xxx.xxx.xxx", "token": "xxxxx", "model": "dmaker.fan.p18", "pollingInterval": 10, "buzzerControl": true, "ledControl": true, "naturalModeControl": true, "sleepModeControl": true, "moveControl": true, "shutdownTimer": true, "angleButtons": [ 30, 60, 90, 120, 140 ], "ioniserControl": false } ], "platform": "xiaomifan" } ], "accessories": [] }Diese Config-Datei kann mit anderen Einträgen (bei mir zB für Sonos) kombiniert werden. Den Token, das Modell und die IP Adresse des Ventilators kann einfach über die hier hinterlegte App ausgelesen werden: https://github.com/Maxmudjon/Get_MiHome_devices_token/releases
6. den ham Adapter neu starten (passiert eigentlich automatisch)
7. Unter Objects in ioBroker werden dann unter ham.0 die Ventilatorsettings und Steuermöglichkeiten angezeigtWenn der Ventilator in der Xiaomi App auftaucht, sollte er dann auch in ioBroker verfügbar sein.
Weitere Hinweise:
- Ich hatte den Ventilator testweise im Fritzbox-Gästenetz, dann funktioniert es aber leider nicht, er muss scheinbar lokal im Netz gut erreichbar sein
- Für mein Ventilatormodell sind alle Einstellungen in ioBroker vornehmbar, bis auf die exakte Fan Speed als Prozentangabe. Es gibt aber 4 Stufen, die gewählt werden können
- Der Ventilator erscheint auch ohne weiteres in der Apple Home App und kann dort auch gesteuert werden, dort kann sogar die Fan Speed in Prozent geändert werden. Hierzu muss der ham Adapter mit Apple Home verbunden werden, das müsstet Ihr nochmals googlen (bei mir liefs wegen des Sonos bereits), ist aber recht einfach.
- Wer der China-Cloud nicht vertraut, kann nach der Installtion des Ventilators in der Fritzbox den Internetzugang des Fans kappen. Er erscheint dann in der Xiaomi Home App als "offline"
@Pittini nochmals vielen herzlichen Dank für das Trouble-Shooting mit Deinem Skript, leider musste ich doch den anderen Weg gehen, da die Fehlermeldung nicht wegzubekommen war. Insbesondere die Tatsache, dass der Ventilator über ham ohne China Cloud lauffähig ist, ist m.E. ein Vorteil.
@fd sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
Super, obwohl ich bei iobroker noch ganz neu dabei bin, habe ich es mit Deiner Anleitung auf Anhieb geschafft, meinen Xiaomi Ventilator einzubinden.
Nur eine Frage habe ich noch: Welches Widget, oder Icon kann ich nehmen um den Ventilator in meiner Navigation darzustellen und zu steuern? Was würdest Du mir empfehlen? -
Mahlzeit,
ich habe eben das Script ausprobiert läuft wunderbar lediglich die Motorumdrehungen werden nicht beschrieben.
ich habe einen Xiaomi Air Purifier 3H - zhimi.airpurifier.mb3 und laut Script werden die Datenpunkte angelegt, nur ob die überhaupt übertragen werden ist die Frage.Zumindest in meiner Handy-App sehe ich da auch keinen Wert. Sollte es so sein dass hier keine Daten übertragen werden könnte man die Datenpunkte bei der Erzeugung weg lassen (würde da ein issu aufmachen) oder hat jemand den gleichen Luftreiniger und bekommt da Werte?

