NEWS
[Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.
-
@crunchip sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
@Pittini wüsste nicht was ich da falsch machen kann.
Hab die .js aufgerufen und mit der aus deinem Link ersetzt.
edit: jetzt weiss ich den Fehler, Browser hatte übersetzt englisch/deutsch, hatte ich nicht drauf geachtetEdit1:Purifier Script stimmen nun die Datenpunkte
AllmyMi aber unverändert-keine WerteNochmal, Allmymi is noch nicht zum Gebrauch, das ne Dev Version, Werte anzeigen is da noch gar nich implementiert in Deiner Version, das hab ich erst gestern Nacht gemacht. Sei einfach mit der Purifier Variante glücklich, soweit ich das verstanden hab läuft die ja jetzt. Nicht falsch verstehen, bin froh wenn ich Tester hab, aber halt erst wenns Sinn macht.
-
@Pittini kein Problem, hatte ja geschrieben, installiert zum Test....alles gut
zum Thema Purifier Script,
ist mir aufgefallen, das der DP Filter remaining scheinbar hin und wieder seinen Wert verändert( total abweichend).
Wie gesagt, Gerät ist neu, laut App verbleibend 144 Tage. Hatte ja anfangs geschrieben das der Wert nicht übereinstimmt(68.6868686). Nachdem ich die .js geändert hatte, wurden anschliessend die verbleibende Tage richtig angezeigt. Abends hatte ich dann nochmal nachgesehen, wieder ein total falscher Wert.
jetzt gerade werden 108.208333333333 angezeigt.
Das nur als Hinweis, da ich nicht weiß, wie dieser zu Stande kommt (Berechnung/Daten holen/senden) und es eventuell nennenswert ist.@Pittini sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
Sei einfach mit der Purifier Variante glücklich
bin ich
-
@crunchip sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
Das nur als Hinweis, da ich nicht weiß, wie dieser zu Stande kommt (Berechnung/Daten holen/senden) und es eventuell nennenswert ist.
In der Datei die Du ändern musstest, findest direkt die Berechnung:
getFilterRemaining() { const filterTotal = this.properties['filter:filter-life-level']; const filterUsed = this.properties['filter:filter-used-time']; if (filterTotal > 0 && filterUsed >= 0) { //return Math.max((1 - filterUsed / filterTotal) * 100, 0); return Math.max(filterUsed / (100 - filterTotal) * filterTotal/24, 0); } return undefined; }
Mehr is da nicht, die Daten kommen direkt aus der Cloud
-
@Pittini
Ich habe mal das Skript neu gestartet, aber das Log hat wohl nicht viel Aussagekraft:javascript.0 2020-12-26 12:48:45.813 info (28063) script.js.common.Mihome: registered 0 subscriptions and 0 schedules javascript.0 2020-12-26 12:48:45.785 info (28063) script.js.common.Mihome: Reaching init javascript.0 2020-12-26 12:48:45.784 info (28063) script.js.common.Mihome: Starting AllMyMi V.0.1.8 javascript.0 2020-12-26 12:48:45.741 info (28063) Start javascript script.js.common.Mihome javascript.0 2020-12-26 12:48:34.299 info (28063) Stop script script.js.common.Mihome
Unter https://i.mi.com/ kann ich mich mit meinen Anmeldedaten einloggen, aber ich habe den Eindruck, dass dies aus ioBroker heraus nicht funktioniert. Hast Du eventuell eine Ahnung, woran das liegen kann, oder wie ich das beseitigen kann? Alle Adapter & Node,js sind aktuell, läuft auf Debian Buster.
Viele Grüße,
Timo -
@Spampunk AllMyMi is dev die kann gar nicht gehen bei Dir weil da Axios noch verwendet wird. Nimm doch bitte einfach die Purifier Version um zu sehen ob Daten kommen.
-
@Pittini
Auch hier ist nichts weiter passiert. Das Log sagt:javascript.0 2020-12-26 16:53:15.789 info (17952) script.js.common.Mihome: registered 0 subscriptions and 0 schedules javascript.0 2020-12-26 16:53:15.747 info (17952) script.js.common.Mihome: Reaching init javascript.0 2020-12-26 16:53:15.746 info (17952) script.js.common.Mihome: Starting MiHome-Airpurifier3H-V0.1.6 javascript.0 2020-12-26 16:53:15.478 info (17952) Start javascript script.js.common.Mihome
-
@Spampunk
An die Anleitung gehalten? JS Adapter Version > 4.8.0? node-mihome im js Adapter eingetragen? Richtigen Server unter options eingetragen? -
@Pittini hab grad diese Meldung im log gesehen
-
@crunchip Einmalig? Wenn nein, wie oft? Seit wann? Iwas geändert?
-
@Pittini ist mir nur jetzt einmal aufgefallen durch Zufall, weil ich das log offen hatte. Nein nichts geändert und auch nichts geschaltet
edit: guck grad das log durch, tritt mehrmals auf
log von heute Nacht ab- 02:54
- 03:56
- 04:09
- 05:42
- 12:58
-
@crunchip sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
@Pittini ist mir nur jetzt einmal aufgefallen durch Zufall, weil ich das log offen hatte. Nein nichts geändert und auch nichts geschaltet
edit: guck grad das log durch, tritt mehrmals auf
log von heute Nacht ab- 02:54
- 03:56
- 04:09
- 05:42
- 12:58
Ok, danke, offenbar kommt da gelegentlich nix an von der Cloud. Werd ich abfangen in der nächsten Version. Danke für die Meldung.
-
@Pittini said in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
An die Anleitung gehalten? Soweit ich sie verstanden habe, ja.
JS Adapter Version > 4.8.0? Version 4.8.4
node-mihome im js Adapter eingetragen? Ja, habe ich.
Richtigen Server unter options eingetragen? Den Deutschen, ja (wie in der Xiaomi App).
Woran kann es noch liegen? Ich habe die Standard-Firewall innerhalb der Fritzbox. Mit meinem Handy kann ich im WLAN auf Xiaomi App und FloleVac App zugreifen. Kann ich unter iobroker eventuell den Xiaomi-Server anpingen? Wie müsste ich dann wohl vorgehen?
-
@Spampunk Das einzige was mir noch einfällt und zumindest in einem Fall geholfen hat, wäre mal das komplette System neuzustarten.
-
@Pittini said in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
@Spampunk Das einzige was mir noch einfällt und zumindest in einem Fall geholfen hat, wäre mal das komplette System neuzustarten.
Eine Sache ist mir noch aufgefallen: im Skriptbereich wird mir rot unterschlängelt Cannot find module 'node-mihome' angezeigt, obwohl ich es im Javascript-Adapter eingetragen habe. Muss ich dieses Modul noch irgendwo installieren?
-
@Spampunk sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
Muss ich dieses Modul noch irgendwo installieren
wenn du es dort einträgst, wird es ja installiert, wobei mir das auch schon mal passiert ist, das ein Modul nicht korrekt funktionierte und habe es dann manuell über die Konsole installiert.
letztendlich, ein Neustart, wie zuvor schon erwähnt -
Habe versucht wie folgt das Script zu installiere:
- Javascript adapter 4.8.4
- "node-mihome" beim Javascript Adapter unter "Zusätzliche NPM-Module" eingetragen
- Das Script in raw von https://raw.githubusercontent.com/Pittini/iobroker-nodemihome/main/AllMyMi-V0.2.5.js Als neues Javascript script angelegt
- user und passw eingetragen. country auf de belassen.
Bekomme aber folgenden Fehler:
2021-01-20 13:12:44.977 - info: javascript.0 (15537) Start javascript script.js.VIS.Xiaomi.AllMyMi 2021-01-20 13:12:45.223 - error: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-mihome' 2021-01-20 13:12:45.224 - error: javascript.0 (15537) at script.js.VIS.Xiaomi.AllMyMi:3:16 2021-01-20 13:12:45.225 - error: javascript.0 (15537) at Script.runInContext (vm.js:133:20) 2021-01-20 13:12:45.226 - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Starting AllMyMi V.0.2.5 2021-01-20 13:12:45.227 - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Reaching init 2021-01-20 13:12:45.233 - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: registered 0 subscriptions and 0 schedules 2021-01-20 13:12:45.238 - error: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: TypeError: Cannot read property 'miioProtocol' of undefined 2021-01-20 13:12:45.239 - error: javascript.0 (15537) at Init (script.js.VIS.Xiaomi.AllMyMi:586:12) 2021-01-20 13:12:45.240 - error: javascript.0 (15537) at script.js.VIS.Xiaomi.AllMyMi:67:1 2021-01-20 13:12:45.240 - error: javascript.0 (15537) at Script.runInContext (vm.js:133:20)
inden logs habe ich gesehen, dass es so installiert wurde, läuft auch ohne Fehler wenn ich es manuell ausführe
npm install node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript"find . -name node-mihome ./node_modules/iobroker.javascript/node_modules/node-mihome
Was habe ich übersehen?
-
wenn ich den require ändere auf:
const mihome = require('iobroker.javascript/node_modules/node-mihome');bekomme ich folgenden Fehler:
2021-01-20 13:59:22.353 - error: javascript.0 (22232) script.js.VIS.Xiaomi.testMii: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/deerma.humidifier.jsq.js:5 2021-01-20 13:59:22.353 - error: javascript.0 (22232) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) 2021-01-20 13:59:22.353 - error: javascript.0 (22232) at Module.load (internal/modules/cjs/loader.js:653:32) 2021-01-20 13:59:22.354 - error: javascript.0 (22232) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) 2021-01-20 13:59:22.354 - error: javascript.0 (22232) at Function.Module._load (internal/modules/cjs/loader.js:585:3) 2021-01-20 13:59:22.354 - error: javascript.0 (22232) at Module.require (internal/modules/cjs/loader.js:692:17) 2021-01-20 13:59:22.354 - error: javascript.0 (22232) at require (internal/modules/cjs/helpers.js:25:18) 2021-01-20 13:59:22.354 - error: javascript.0 (22232) at glob.sync.forEach.modelPath (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:9:23) 2021-01-20 13:59:22.355 - error: javascript.0 (22232) at Array.forEach (<anonymous>) ...
-
@m76 Hast Du den JS-Adapter danach einmal komplett neu gestartet?
Gruß, Jürgen
-
hi, ja, ich hatte den erst in compact mode. Verursachte aber Probleme, startete sich immer wieder neu.
Ich hatte auch probiert:
npm install node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript"
(wie gesehen im log - keine Auffälligkeiten)
npm install node-mihome
Letzteres brachtre gleiche Fehlermeldung wenn ichmich nicht irre als wie mit dem "require". -
@m76 Wie sieht es bei Dir im iobroker unter "/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/" aus. Hast Du da die devices als einzelne Dateien?
Gruss, Jürgen