NEWS
[Neuer Adapter] Xiaomi Luftfilter
-
Hab mir komplett alles zerschossen mit dem "Experiment".
Downgrade der Script Engine hat nur auf dem Papier geklappt.
Das Layout ist beim Upgrade geblieben.
Also deinstalliert, damit waren allerdings die Ordner auch weg vom Adapter.
Also Backup eingespielt.
Und die Erkenntnis, man muss nicht alles haben -
@haselchen Naja, eigentlich sollte das Einrichten für die Xiaomi air purifier kein großer Act sein, und schon gar nicht irgendetwas, womit man sich sein System abschiesst. Im JS-Adapter node-mihome eintragen und danach stoppen, passende(s) device von hier als txt herunterladen und umbennen (.txt hinten weg), anschliessend das device in der passenden Ebene unter dem iobroker.javascript abspeichern (siehe oben /opt/...) evtl. Rechte anpassen (sollte iobroker:iobroker mit 644 sein), js-adapter wieder starten, das Script (auch direkt vom Link) Laden, anpassen an eigene Bedürfnisse und starten. Da kann man nicht viel falsch machen, das "schwierigste" ist wohl das Kopieren der device-files.
Ich bin bei der Script-engine auf 5.0.14, bin aber ziemlich sicher, dass es auch mit älteren und auch aktuelleren (beta) Versionen laufen müsste. Warum Du da ein downgrade machen wolltest, erschliesst sich mir da nicht. Aber, Du musst doch irgendwie auf die Files im Docker-Container zugreifen können. Muss ja nicht direkt per SSH sein, aber irgendwie muss das doch gehen?! Ohne die passenden device-files kann es nicht gehen, da der JS-Adapter dann die Geräte nicht kennt. Schau doch mal, in welchem Pfad iobroker im Docker-Container liegt und schlängel Dich da weiter durch.Gruss, Jürgen
-
Ich hatte mich an Pittinis Anleitung gehalten, dass die Script Engine Version mindestens 4.8 sein muss. Also musste ich upgraden.
Dann begann aber schon der Stress mit meinen vorhandenen Scripten.
Viele kamen mit der 5.0.15 nicht zurecht.
Und deine und Pittinis Anleitung ergaben dauernd den mioo protocoll Fehler.
Also wieder downgrade auf 3.6.4
Und da ging es dann richtig in die Hose.
Nun läuft es wieder....Gott sei Dank.
Aber eben ohne Air Purifier. -
@haselchen sagte in [Neuer Adapter] Xiaomi Luftfilter:
Viele kamen mit der 5.0.15 nicht zurecht.
Dann würde ich die skripte überarbeiten und an geänderte syntax anpassen.
-
Das Themengebiet werde ich in nächster Zeit mal so überhaupt nicht anfassen.
Neue Versionen sind immer gewöhnungsbedürftig, aber das ich keine Texte mit der Maus (oder ich bin einfach zu blöd) kopieren und einfügen kann und stattdessen ein Script zippen soll zum Einfügen.....klar geht anscheinend die Tastenkombination zum kopieren und einfügen, aber ich bin nen Maustyp und werde es deswegen auch nicht ändern.javascript.0 2021-03-17 19:36:59.153 error (29750) at require (internal/modules/cjs/helpers.js:25:18) javascript.0 2021-03-17 19:36:59.153 error (29750) at Module.require (internal/modules/cjs/loader.js:692:17) javascript.0 2021-03-17 19:36:59.152 error (29750) at Function.Module._load (internal/modules/cjs/loader.js:585:3) javascript.0 2021-03-17 19:36:59.152 error (29750) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) javascript.0 2021-03-17 19:36:59.152 error (29750) at Module.load (internal/modules/cjs/loader.js:653:32) javascript.0 2021-03-17 19:36:59.152 error (29750) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) javascript.0 2021-03-17 19:36:59.152 error (29750) at Module._compile (internal/modules/cjs/loader.js:778:30) javascript.0 2021-03-17 19:36:59.152 error (29750) at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/index.js:5:16) javascript.0 2021-03-17 19:36:59.151 error (29750) at require (internal/modules/cjs/helpers.js:25:18) javascript.0 2021-03-17 19:36:59.151 error (29750) at Module.require (internal/modules/cjs/loader.js:692:17) javascript.0 2021-03-17 19:36:59.151 error (29750) at Function.Module._load (internal/modules/cjs/loader.js:585:3) javascript.0 2021-03-17 19:36:59.151 error (29750) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) javascript.0 2021-03-17 19:36:59.151 error (29750) at Module.load (internal/modules/cjs/loader.js:653:32) javascript.0 2021-03-17 19:36:59.151 error (29750) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) javascript.0 2021-03-17 19:36:59.150 error (29750) at Module._compile (internal/modules/cjs/loader.js:778:30) javascript.0 2021-03-17 19:36:59.150 error (29750) at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device.js:1:16) javascript.0 2021-03-17 19:36:59.150 error (29750) at require (internal/modules/cjs/helpers.js:25:18) javascript.0 2021-03-17 19:36:59.150 error (29750) at Module.require (internal/modules/cjs/loader.js:692:17) javascript.0 2021-03-17 19:36:59.150 error (29750) at Function.Module._load (internal/modules/cjs/loader.js:585:3) javascript.0 2021-03-17 19:36:59.149 error (29750) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) javascript.0 2021-03-17 19:36:59.149 error (29750) at Module.load (internal/modules/cjs/loader.js:653:32) javascript.0 2021-03-17 19:36:59.149 error (29750) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) javascript.0 2021-03-17 19:36:59.149 error (29750) at Module._compile (internal/modules/cjs/loader.js:778:30) javascript.0 2021-03-17 19:36:59.149 error (29750) at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:6:54) javascript.0 2021-03-17 19:36:59.148 error (29750) at Array.forEach (<anonymous>:null:null) javascript.0 2021-03-17 19:36:59.148 error (29750) at glob.sync.forEach.modelPath (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:9:23) javascript.0 2021-03-17 19:36:59.148 error (29750) at require (internal/modules/cjs/helpers.js:25:18) javascript.0 2021-03-17 19:36:59.148 error (29750) at Module.require (internal/modules/cjs/loader.js:692:17) javascript.0 2021-03-17 19:36:59.148 error (29750) at Function.Module._load (internal/modules/cjs/loader.js:585:3) javascript.0 2021-03-17 19:36:59.148 error (29750) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) javascript.0 2021-03-17 19:36:59.147 error (29750) at Module.load (internal/modules/cjs/loader.js:653:32) javascript.0 2021-03-17 19:36:59.146 error (29750) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) javascript.0 2021-03-17 19:36:59.145 error (29750) script.js.Luft: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/zhimi.airpurifier.mb3.js:5
Keine Chance. So easy ist es halt nicht
-
@haselchen Soweit ich das sehe sind es zumindest nicht die typischen Fehlermeldungen, wenn ein device-file nicht gefunden wird. Vielleicht kann @Pittini dazu was sagen?
Entweder was Docker-typisches oder es liegt an Deiner veralteten Version des JS-Adapters?!Gruss, Jürgen
-
Die kommen leider auch mit der neuesten Java Version.
Es reizt ja schon das Ganze, weil ich 2 von den Dingern habeDie Erweiterung node-mihome, wo müsste ich die manuell installieren in welchen Ordner?
-
Oh man, welch eigentlich simples Problem.
Ich denke, dass hilft viele Fragenden:Nodejs MUSS mindestens V12 sein
Javascript KANN auch noch V3.6.4 seinDamit geht es jetzt.
Hab Nodejs einfach nur aktualisiert.
Das sollte @Pittini vielleicht noch irgendwo mit aufnehmen.
Zeitgleich natürlich ein fettes Danke für das Script!Edit:
Stehe gerade mächtig wohl auf dem Schlauch.
Werden die Werte nur ausgelesen oder kann ich das Gerät damit auch steuern?
Sorry für die bescheuerte Frage, aber ich bin 48 Stunden auf den Beinen -
@haselchen Klar kannst Du auch Steuern. Die Modes, Fanspeeds und Favorite-Level lassen sich steuern.
Schön, wenn es jetzt läuft. Sagt uns aber auch, es geht nix über ein halbwegs aktuelles System...Gruß, Jürgen
-
Wie gesagt, waren lange Tage
Also ab in den IOT , Modes Datenpunkt nehmen und Alexa auf zum Beispiel Sleep schalten lassen?
Oder wie löst du das? -
@haselchen Ich steuere einmal über die Visualisierung und habe Skripte laufen, die zum Beispiel auf Favorite stellen, wenn niemand zu Hause ist, den die Lüfter stören, um das Haus mal wieder durchzupusten.
Mit Alexa müsste es aber bestimmt auch gehen, wenn man die Datenpunkte passend verknüpft.Gruß, Jürgen
-
@wildbill sagte in [Neuer Adapter] Xiaomi Luftfilter:
Sagt uns aber auch, es geht nix über ein halbwegs aktuelles System...
Mein Reden...
Man könnte auch sagen:
Patch your stuff!!! -
Huhu, hab da nochmal ne klitzekleine Frage
Die Warnings habe ich unregelmässig am Tag. Ich weiss, sind nur Warnings. Sie nerven mich doch aber irgendwie. Was wäre die Lösung, sie wegzubekommen?
Vermutlich ein Eintrag im Script?javascript.0 2021-03-20 23:20:43.774 warn (1209) script.js.Luft: Empty packet for use-time.use-time, skipping refresh javascript.0 2021-03-20 23:20:43.774 warn (1209) script.js.Luft: Empty packet for motor-speed.favorite-fan-level, skipping refresh javascript.0 2021-03-20 23:20:43.774 warn (1209) script.js.Luft: Empty packet for motor-speed.motor-set-speed, skipping refresh
-
@haselchen Das ist wohl normal, die kommen bei mir auch ab und an.
Du kannst ja bei @Pittini auf Github ein Issue aufmachen, vielleicht nimmt er die Meldungen aus dem Skript raus. Oder Du versuchst es selbst. Bei mir kommen die vielleicht 4-5mal am Tag und stören nicht wirklich.Gruss, Jürgen
-
Alles klar, danke für den Hinweis und Tipp!
Da der Luftfilter momentan überall wie Sauerbier angeboten wird,
könnte das für viele hier hilfreich sein. -
@wildbill sagte in [Neuer Adapter] Xiaomi Luftfilter:
@haselchen Das ist wohl normal, die kommen bei mir auch ab und an.
Du kannst ja bei @Pittini auf Github ein Issue aufmachen, vielleicht nimmt er die Meldungen aus dem Skript raus. Oder Du versuchst es selbst. Bei mir kommen die vielleicht 4-5mal am Tag und stören nicht wirklich.Gruss, Jürgen
Ne, die Meldung bleibt drin, weil dasn echter "Fehler" ist und nicht irgendein blubb. Ich kann den Fehler auch nicht vermeiden, da er entweder durch node-mihome oder gar der Xiaomi Cloud verursacht wird. Gelegentlich kommt einfach ein leeres Packet an. Wenns wer unbedingt weghaben will, die Logzeile einfach auskommentieren.
-
@haselchen hi, wie hast du die Datei in den Docker bekommen. ich würde auch gerne den 3H ansteuern. Will aber ehrlich gesagt nichts falsch machen.
Danke vorab.
-
Ich mounte den iobroker Ordner .
Die Einstellung machste im Container . -
@haselchen kannst du mir das evtl. genauer erklären.
ich habe folgendes Verzeichnis auf meinem Host system (SYN1515+) --> /opt/iobroker
wo müsste ich hier das .js file reinschieben
und was muss ich dann noch einstellen?Vielen Dank vorab.
-