NEWS
[Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.
-
@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.
-
Erstmal isses sowieso okay, wenn du nach einer "Ersatzlösung" guckst.
Aber ich denke, in Deinen Einstellungen oder Installationen liegt der Hase im Pfeffer.
Dein Workaround wird vermutlich niemand in Anspruch nehmen, weil es einfach zu @Pittini Script ein mit Kanonen auf Spatzen schiessen ist.
Zusätzlicher Adapter + App auf dem Handy....Das Skript läuft. Der Entwickler und ich stehen fast in ständigem Austausch.
Ich habe auch einen Smart Fan (dmaker.fan.p15)
Wenn Du alles nach Anleitung machst, klappt das auch 100%.
Und zur China Cloud, ich kann den Fan mit @Pittini Script auch ohne Internet steuern.
Um das Argument mal zu schwächen -
Moin, ich hatte doch mal erwähnt das bei mir bei 3H keine Temps aktualisiert werden. Mit Admin 5 habe ich nun folgenden Log gefunden:
Read-only state "javascript.0.MiHomeAll.333271530.environment.temperature" has been written without ack-flag with value "23.7"
Ich habe nun auch das Skript auf Version 2.8 aktualisiert, aber leider ohne Besserung
-
@saibot1981 Eine Version 2.8 gibts nicht, aktuell ist 0.2.24. Lösch mal den Datenpunkt und schau obs weiterhin kommt, ich hab den 3H nämlich auch und keine derartigen Meldungen mehr.
-
@pittini sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
@saibot1981 Eine Version 2.8 gibts nicht, aktuell ist 0.2.24. Lösch mal den Datenpunkt und schau obs weiterhin kommt, ich hab den 3H nämlich auch und keine derartigen Meldungen mehr.
Sorry hatte die 0.2.8 am laufen. habe nun alle datenpunkte gelöscht und das skript auch nochmal neu erstellt mit version 0.2.24
leider wieder diese meldung:Read-only state "javascript.0.MiHomeAll.333271530.environment.temperature" has been written without ack-flag with value "23.7"
Hier auch der Log direkt nach dem Start (Ohne meinen token):
script.js.Heizung.Xiaomi_Luftreiniger_all: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"XXXXXXXXX","address":"XXXXXXXXXX","token":"XXXXXXXXXXXXXX","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["air-purifier:fault","air-purifier:on","air-purifier:fan-level","air-purifier:mode","environment:pm2.5-density","environment:relative-humidity","environment:temperature","filter:filter-life-level","filter:filter-used-time","alarm:alarm","indicator-light:brightness","indicator-light:on","physical-controls-locked:physical-controls-locked"],"_miotSpec":null,"_miotSpecType":"urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-mb3:2","model":"zhimi.airpurifier.mb3","setter":{},"definition":{"info":[{"id":"localip","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Ip Adress","type":"string","role":"value","def":""}},{"id":"token","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Token","type":"string","role":"value","def":""}},{"id":"did","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Device Id","type":"string","role":"value","def":""}},{"id":"model","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Model","type":"string","role":"value","def":""}},{"id":"rssi","initial":0,"forceCreation":false,"common":{"read":true,"write":false,"name":"rssi","type":"number","role":"value.rssi","def":0}},{"id":"name","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Name","type":"string","role":"value","def":""}},{"id":"isOnline","initial":false,"forceCreation":false,"common":{"read":true,"write":true,"name":"Is online","type":"boolean","role":"value","def":false}}],"model":"zhimi.airpurifier.mb3","description":"Purifier 3H","setter":{},"common":[{"name":"air-purifier.on","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true},{"name":"air-purifier.fault","type":"number","read":true,"write":false,"min":0,"max":5,"states":{"0":"No faults","1":"m1_run","2":"m1_stuck","3":"no_sensor","4":"error_hum","5":"error_temp","6":"timer_error1","7":"timer_error2"},"role":"state"},{"name":"air-purifier.mode","type":"number","read":true,"write":true,"min":0,"max":3,"states":{"0":"auto","1":"sleep","2":"favorite","3":"fanset"},"role":"state"},{"name":"air-purifier.fan-level","type":"number","read":true,"write":true,"min":1,"max":3,"role":"state"},{"name":"alarm.alarm","type":"boolean","read":true,"write":true,"role":"state"},{"name":"indicator-light.brightness","type":"number","read":true,"write":true,"min":0,"max":2,"role":"state"},{"name":"indicator-light.on","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true},{"name":"environment.temperature","type":"number","role":"value.temperature","read":true,"write":false,"min":-40,"max":125,"unit":"°C"},{"name":"motor-speed.motor-speed","type":"number","read":true,"write":false,"min":0,"max":3000,"unit":"rpm","role":"state"},{"name":"motor-speed.motor-set-speed","type":"number","read":true,"write":false,"min":0,"max":3000,"unit":"rpm","role":"state"},{"name":"motor-speed.favorite-fan-level","type":"number","read":true,"write":true,"min":0,"max":14,"role":"state"},{"name":"use-time.use-time","type":"number","read":true,"write":false,"role":"state"},{"name":"environment.relative-humidity","type":"number","role":"value.humidity","read":true,"write":false,"min":0,"max":100,"unit":"%"},{"name":"environment.pm2_5-density","type":"number","read":true,"write":false,"min":0,"max":600,"unit":"μg/m³","role":"state"},{"name":"filter.filter-life-level","type":"number","read":true,"write":false,"min":0,"max":100,"unit":"%","role":"state"},{"name":"filter.filter-used-time","type":"number","read":true,"write":false,"unit":"h","role":"state"},{"name":"physical-controls-locked.physical-controls-locked","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true}]},"firstrun":true,"rssi":0,"isOnline":true} now fetching data
-
@saibot1981 Es gibt im ganzen Skript keinen einzigen setstate Befehl mehr welcher nicht das Ack Flag setzt, ich hab keine Ahnung woher das kommt und wie gesagt, bei mir kommts auch nicht. Du kannsts nochmal mit der 0.2.25 versuchen, da gabs paar kleinere Fixes, wenns dann immer noch kommt....müssen wir eruieren woher/warum das bei Dir kommt.
-
@pittini habe seit gestern (heute erst aufgefallen) folgendes Problem:
javascript.0 2021-08-28 21:49:46.262 error at Init (script.js.common.Sonstiges.Xiaomi_Pufifier_3C:795:21) javascript.0 2021-08-28 21:49:46.262 error at MiCloudProtocol.getDevices (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:121:18) javascript.0 2021-08-28 21:49:46.262 error at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2021-08-28 21:49:46.261 error at runMicrotasks (<anonymous>) javascript.0 2021-08-28 21:49:46.261 error at MiCloudProtocol.request (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:107:13) javascript.0 2021-08-28 21:49:46.260 error script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Error: Request error with status Unauthorized
Die Zugangsdaten stimmen aber. Hab mich extra bei MiHome einmal abgemeldet und die Zugangsdaten aus dem Skript abgeschrieben. Hab dafür leider keine Erklärung. Hat vorher ja einwandfrei funktioniert (hab zwischenzeitlich mal auf die neue Sktiptversion geändert)
Hab das ganze Skript auch nochmal neu kopiert, nur die Zugangsdaten eingetragen - selbes Ergebnis
-
@kueppert JS Controller schon mal neu gestartet?
-
@pittini ah, geklappt danke dir
-
Hi, hab heute schon wieder ein Problem nach dem Update vom JS-Adapter:
javascript.0 2021-09-04 10:19:20.277 error at main (script.js.common.Sonstiges.Xiaomi_Pufifier_3C:761:11) javascript.0 2021-09-04 10:19:20.277 error at CreateDevices (script.js.common.Sonstiges.Xiaomi_Pufifier_3C:829:36) javascript.0 2021-09-04 10:19:20.276 error at Object.createDevice [as device] (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device.js:8:11) javascript.0 2021-09-04 10:19:20.273 error script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Error: Model zhimi.airpurifier.mb4 is not supported javascript.0 2021-09-04 10:19:20.269 info script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Now creating device for zhimi.airpurifier.mb4 / 358430664 / 192.168.178.128 / 6f90871380cfbe1aeb896519e6c8b286 / 10000 javascript.0 2021-09-04 10:19:20.249 info script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Device Mi Air Purifier 3C is supported, creating DataPoints javascript.0 2021-09-04 10:19:20.249 info script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Now searching for supported Devices... javascript.0 2021-09-04 10:19:20.248 info script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Mi Air Purifier 3C javascript.0 2021-09-04 10:19:20.248 info script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Found 1 MiHome Devices, those are: javascript.0 2021-09-04 10:19:20.152 info script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Retrieving your in de registered MiHome Devices javascript.0 2021-09-04 10:19:17.653 info script.js.common.Sonstiges.Xiaomi_Pufifier_3C: registered 0 subscriptions and 0 schedules javascript.0 2021-09-04 10:19:17.623 info script.js.common.Sonstiges.Xiaomi_Pufifier_3C: Starting AllMyMi V.0.2.25 javascript.0 2021-09-04 10:19:17.534 info Start javascript script.js.common.Sonstiges.Xiaomi_Pufifier_3C
Die Error-Meldung verwirrt mich etwas...3C wird nicht unterstützt? O.o 2 Zeilen drunter steht das Gegenteil. Hab den JS-Adapter + Skript auch schon neu gestartet
-
@kueppert Siehe Anleitung, "Known Issues". Die Def Files müssen neu kopiert werden. Deswegen auch die komische Meldung, das Skript unterstützt weiterhin Dein Gerät und meldet das, die node-mihome unterstützt Dein Gerät aber mangels Def Datei nicht mehr und meldet das auch.
-
@pittini oh...hatte ich sogar gelesen, das aber mit meinem Problem irgendwie nicht zusammen gebracht. Mag an der Erkältung liegen die mir aufs Hirn drückt :-S Danke dir
-
Hi, ich habe seit einigen Tagen das Problem, dass mein Air Purifier 3H nicht mehr erreicht wird.
In der App war er zwar da und Daten wurden angezeigt, er ließ sich aber dabei nicht mehr ein- und ausschalten.
Ich habe ihn dann ins Gast-WLAN gehängt, seitdem geht er per App wieder.Mit dem JavaScript geht es aber nicht mehr.
Version ist aktuell, Definitionsdatei aktualisiert.
Der Luftreiniger wird auch gefunden, aber es werden keine Werte im IObroker abgerufen:javascript.0 2021-09-24 18:38:47.792 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Setting trigger #0 for zhimi.airpurifier.mb3
javascript.0 2021-09-24 18:38:47.791 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Init Device# 0 - device="zhimi.airpurifier.mb3"
javascript.0 2021-09-24 18:38:43.294 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"...","address":"192.168.189.20","token":"fa327ee344f1d819de69ea43723e852c",
javascript.0 2021-09-24 18:38:43.293 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Now creating device for zhimi.airpurifier.mb3 / ... / 192.168.189.20 / ... / 10000
javascript.0 2021-09-24 18:38:43.284 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Device Mi Air Purifier 3/3H is supported, creating DataPoints
javascript.0 2021-09-24 18:38:43.283 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Now searching for supported Devices...
javascript.0 2021-09-24 18:38:43.283 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Mi Air Purifier 3/3H
javascript.0 2021-09-24 18:38:43.283 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Found 1 MiHome Devices, those are:
javascript.0 2021-09-24 18:38:43.161 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Retrieving your in de registered MiHome Devices
javascript.0 2021-09-24 18:38:43.160 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: You are already logged in, login canceled
javascript.0 2021-09-24 18:38:43.159 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: registered 0 subscriptions and 0 schedules
javascript.0 2021-09-24 18:38:43.154 info (20452) script.js.Räume.Wohnen.Xiaomi_0_2_25: Starting AllMyMi V.0.2.25
javascript.0 2021-09-24 18:38:43.144 info (20452) Start javascript script.js.Räume.Wohnen.Xiaomi_0_2_2Wenige Male habe ich auch den Fehler:
(20452) Error: network timeout at: https://de.api.io.mi.com/app/home/device_listNachtrag:
Wenn ich das Gerät z.B. über Google einschalten will, kommt:
javascript.0 2021-09-24 18:49:01.805 error at processTimers (internal/timers.js:497:7)
javascript.0 2021-09-24 18:49:01.805 error at listOnTimeout (internal/timers.js:554:17)
javascript.0 2021-09-24 18:49:01.805 error at Timeout.retry [as _onTimeout] (/opt/iobroker/node_modules/node-mihome/lib/protocol-miio.js:358:23)
javascript.0 2021-09-24 18:49:01.805 error (20452) Error: Call to device timed out
javascript.0 2021-09-24 18:49:01.804 error (20452) Error: Call to device timed outDie Seite ist auch nicht aufrufbar bzw. es wird nicht viel angezeigt.
Jemand ne Idee?Danke!
-
@bender275 Stimmt denn die IP Adresse die reinkommt, also die 192.168.189.20? System schon mal komplett neu gestartet? Wenns schon mal ging und jetzt nimmer, liegts imho nich am Skript, worauf auch hindeuten würde dass Du auch in der App Probs hattest. Wenn die Datenpunkte bei null bleiben aber sonst alles ok erscheint, liegt das vermutlich am Xiaomi Server (oder fehlerhafter Def Datei, was aber auszuschliessen ist, da es ja schon ging).
-
-
Hallo,
ich versuch seit einigen Tagen dieses Skript (iobroker-nodemihome) ans laufen zu verwenden, habe allerdings das Problem, das mein Login nicht funktioniert.
Hier der Log dazu:
javascript.0 2021-09-26 19:01:02.837 error at processTicksAndRejections (internal/process/task_queues.js:97:5) javascript.0 2021-09-26 19:01:02.837 error at runMicrotasks (<anonymous>) javascript.0 2021-09-26 19:01:02.837 error at Init (script.js.devices.AllMyMi:800:50) javascript.0 2021-09-26 19:01:02.837 error at MiCloudProtocol.getDevices (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:121:29) javascript.0 2021-09-26 19:01:02.837 error at MiCloudProtocol.request (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:67:13) javascript.0 2021-09-26 19:01:02.837 error script.js.devices.AllMyMi: Error: Pls login before make any request javascript.0 2021-09-26 19:01:02.837 info script.js.devices.AllMyMi: Retrieving your in de registered MiHome Devices javascript.0 2021-09-26 19:01:02.836 info script.js.devices.AllMyMi: You are already logged in, login canceled javascript.0 2021-09-26 19:01:01.621 info script.js.devices.AllMyMi: registered 0 subscriptions and 0 schedules javascript.0 2021-09-26 19:01:01.619 info script.js.devices.AllMyMi: Starting AllMyMi V.0.2.25 javascript.0 2021-09-26 19:01:01.612 info Start javascript script.js.devices.AllMyMi
Merkwürdig finde ich, dass das Skript meldet das ich schon eingeloggt bin deshalb den Login abbricht und anschließend sagt das ich mich einloggen muss bevor Geräte abgefragt werden können.
Ich habe jetzt schon alles versucht, sogar ein komplett neues Xiaomi Konto angelegt, alle meine Geräte aus dem alten entfernt und in das neue eingefügt. Das Ergebnis ist allerdings das selbe. Wenn ich meine Login-Daten im web oder dem mihome-vacuum Adapter eingebe funktioniert es direkt.
Hat jemand eine Idee, was ich falsch mache?
-
@ithiel Schon mal System oder JS Controller neugestartet? Und wie geht das Log dann weiter, was sagt das Skript? Richtiger Server gewählt? Sonderzeichen im Passwort?
-
Es geht wieder!
Keine Ahnung warum, aber auf einmal kann der 3H wieder ausgelesen werden. Auch das Ein- und Ausschalten klappt wieder.Danke!
-
@Pittini Das Problem, das ich mich nicht einloggen konnte habe ich lösen können. So wie es aussieht, unterstützt das Skript keine Sonderzeichen im Passwort, bzw. nur die üblichen Satzzeichen. Getestet habe ich die Sonderzeichen ".+-_" und diese funktionieren. Es werden alle Geräte erkannt und auch im Objektbaum angelegt, allerdings werden die Werte alle nur mit (null) befüllt.
Fehler sind leider keine in der Logdatei ersichtlich. Auch der trigger von 10 Sekunden funktioniert nicht, oder gibt keine Log-Daten aus. Hier das Skript log der letzten 2,5 Stunden
javascript.0 2021-09-27 18:45:04.538 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.362072163.info.rssi, state={"val":-84,"ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 18:44:54.412 info script.js.devices.AllMyMi: subscribe: {"pattern":{"id":"javascript.0.MiHomeAll.362072163.physical-controls-locked.physical-controls-locked","change":"ne","ack":false,"q":0},"name":"script.js.devices.AllMyMi"} javascript.0 2021-09-27 18:44:54.412 info script.js.devices.AllMyMi: subscribe: {"pattern":{"id":"javascript.0.MiHomeAll.362072163.custom-service.favorite-speed","change":"ne","ack":false,"q":0},"name":"script.js.devices.AllMyMi"} javascript.0 2021-09-27 18:44:54.412 info script.js.devices.AllMyMi: subscribe: {"pattern":{"id":"javascript.0.MiHomeAll.362072163.screen.brightness","change":"ne","ack":false,"q":0},"name":"script.js.devices.AllMyMi"} javascript.0 2021-09-27 18:44:54.412 info script.js.devices.AllMyMi: subscribe: {"pattern":{"id":"javascript.0.MiHomeAll.362072163.alarm.alarm","change":"ne","ack":false,"q":0},"name":"script.js.devices.AllMyMi"} javascript.0 2021-09-27 18:44:54.412 info script.js.devices.AllMyMi: subscribe: {"pattern":{"id":"javascript.0.MiHomeAll.362072163.air-purifier.mode","change":"ne","ack":false,"q":0},"name":"script.js.devices.AllMyMi"} javascript.0 2021-09-27 18:44:54.412 info script.js.devices.AllMyMi: subscribe: {"pattern":{"id":"javascript.0.MiHomeAll.362072163.air-purifier.on","change":"ne","ack":false,"q":0},"name":"script.js.devices.AllMyMi"} javascript.0 2021-09-27 18:44:54.411 info script.js.devices.AllMyMi: onStop(timeout=10) javascript.0 2021-09-27 18:44:54.411 info script.js.devices.AllMyMi: setInterval(ms=10000) javascript.0 2021-09-27 18:44:54.411 info script.js.devices.AllMyMi: Setting trigger #0 for zhimi.airpurifier.mb4 javascript.0 2021-09-27 18:44:54.411 info script.js.devices.AllMyMi: Init Device# 0 - device="zhimi.airpurifier.mb4" javascript.0 2021-09-27 16:44:50.319 info script.js.devices.AllMyMi: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"362072163","address":"10.1.20.71","token":"030a70e4c6f04cc8d5249efe963c0156","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["air-purifier:fault","air-purifier:on","air-purifier:mode","environment:pm2.5-density","filter:filter-life-level","filter:filter-used-time","alarm:alarm","screen:brightness","physical-controls-locked:physical-controls-locked","custom-service:favorite-speed","custom-service:moto-speed-rpm"],"_miotSpec":null,"_miotSpecType":"urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-mb4:2","model":"zhimi.airpurifier.mb4","setter":{},"definition":{"info":[{"id":"localip","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Ip Adress","type":"string","role":"value","def":""}},{"id":"token","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Token","type":"string","role":"value","def":""}},{"id":"did","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Device Id","type":"string","role":"value","def":""}},{"id":"model","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Model","type":"string","role":"value","def":""}},{"id":"rssi","initial":0,"forceCreation":false,"common":{"read":true,"write":false,"name":"rssi","type":"number","role":"value.rssi","def":0}},{"id":"name","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Name","type":"string","role":"value","def":""}},{"id":"isOnline","initial":false,"forceCreation":false,"common":{"read":true,"write":true,"name":"Is online","type":"boolean","role":"value","def":false}}],"model":"zhimi.airpurifier.mb4","description":"Purifier 3C","setter":{},"common":[{"name":"air-purifier.on","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true},{"name":"air-purifier.fault","type":"string","read":true,"write":false,"role":"state"},{"name":"air-purifier.mode","type":"number","read":true,"write":true,"min":0,"max":3,"states":{"0":"auto","1":"sleep","2":"favorite","3":"fanset"},"role":"state"},{"name":"alarm.alarm","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true},{"name":"screen.brightness","type":"number","read":true,"write":true,"min":0,"max":8,"role":"state"},{"name":"environment.pm2_5-density","type":"number","read":true,"write":false,"min":0,"max":600,"unit":"μg/m³","role":"state"},{"name":"custom-service.moto-speed-rpm","type":"number","read":true,"write":false,"min":0,"max":65535,"unit":"rpm","role":"state"},{"name":"custom-service.favorite-speed","type":"number","read":true,"write":true,"min":300,"max":2300,"unit":"rpm","role":"state"},{"name":"filter.filter-life-level","type":"number","read":true,"write":false,"min":0,"max":100,"unit":"%","role":"state"},{"name":"filter.filter-used-time","type":"number","read":true,"write":false,"unit":"h","role":"state"},{"name":"physical-controls-locked.physical-controls-locked","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true}]},"firstrun":true,"rssi":0,"isOnline":true} now fetching data javascript.0 2021-09-27 16:44:50.319 info script.js.devices.AllMyMi: Now creating device for zhimi.airpurifier.mb4 / 362072163 / 10.1.20.71 / 030a70e4c6f04cc8d5249efe963c0156 / 10000 javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.blt.4.1754sfbvcgc00.info.isOnline, state={"val":false,"ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.blt.4.1754sfbvcgc00.info.name, state={"val":"Mi Electric Scooter 1S","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.blt.4.1754sfbvcgc00.info.rssi, state={"val":0,"ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.blt.4.1754sfbvcgc00.info.model, state={"val":"ninebot.scooter.v3","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.blt.4.1754sfbvcgc00.info.did, state={"val":"blt.4.1754sfbvcgc00","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.blt.4.1754sfbvcgc00.info.token, state={"val":"4c223987dbd5a32e1283667b","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.blt.4.1754sfbvcgc00.info.localip, state={"val":"91.67.208.22","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.320389496.info.isOnline, state={"val":true,"ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.318 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.320389496.info.name, state={"val":"Roborock S5 Max","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.320389496.info.rssi, state={"val":-36,"ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.320389496.info.model, state={"val":"roborock.vacuum.s5e","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.320389496.info.did, state={"val":"320389496","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.320389496.info.token, state={"val":"72383051456d5373586a325851786833","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.320389496.info.localip, state={"val":"10.1.20.230","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.362072163.info.isOnline, state={"val":true,"ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.362072163.info.name, state={"val":"Mi Air Purifier 3C","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.362072163.info.rssi, state={"val":-84,"ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.362072163.info.model, state={"val":"zhimi.airpurifier.mb4","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.317 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.362072163.info.did, state={"val":"362072163","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.316 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.362072163.info.token, state={"val":"030a70e4c6f04cc8d5249efe963c0156","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.316 info script.js.devices.AllMyMi: setForeignState(id=javascript.0.MiHomeAll.362072163.info.localip, state={"val":"10.1.20.71","ack":true,"c":"script.js.devices.AllMyMi"}) javascript.0 2021-09-27 16:44:50.316 info script.js.devices.AllMyMi: setObject(id=javascript.0.MiHomeAll.blt.4.1754sfbvcgc00, obj={"type":"device","common":{"name":"Mi Electric Scooter 1S"},"native":{}}) javascript.0 2021-09-27 16:44:50.316 info script.js.devices.AllMyMi: setObject(id=javascript.0.MiHomeAll.320389496, obj={"type":"device","common":{"name":"Roborock S5 Max"},"native":{}}) javascript.0 2021-09-27 16:44:50.316 info script.js.devices.AllMyMi: setObject(id=javascript.0.MiHomeAll.362072163, obj={"type":"device","common":{"name":"Mi Air Purifier 3C"},"native":{}}) javascript.0 2021-09-27 16:44:50.316 info script.js.devices.AllMyMi: setObject(id=javascript.0.MiHomeAll, obj={"type":"channel","common":{"name":""},"native":{}}) javascript.0 2021-09-27 16:44:50.311 info script.js.devices.AllMyMi: Device Mi Air Purifier 3C is supported, creating DataPoints javascript.0 2021-09-27 16:44:50.311 info script.js.devices.AllMyMi: Now searching for supported Devices... javascript.0 2021-09-27 16:44:50.311 info script.js.devices.AllMyMi: Mi Electric Scooter 1S javascript.0 2021-09-27 16:44:50.311 info script.js.devices.AllMyMi: Roborock S5 Max javascript.0 2021-09-27 16:44:50.311 info script.js.devices.AllMyMi: Mi Air Purifier 3C javascript.0 2021-09-27 16:44:50.310 info script.js.devices.AllMyMi: Found 3 MiHome Devices, those are: javascript.0 2021-09-27 16:44:50.138 info script.js.devices.AllMyMi: Retrieving your in de registered MiHome Devices javascript.0 2021-09-27 16:44:50.138 info script.js.devices.AllMyMi: You are already logged in, login canceled javascript.0 2021-09-27 16:44:50.137 info script.js.devices.AllMyMi: registered 0 subscriptions and 0 schedules javascript.0 2021-09-27 16:44:50.136 info script.js.devices.AllMyMi: Starting AllMyMi V.0.2.25 javascript.0 2021-09-27 16:44:50.129 info Start javascript script.js.devices.AllMyMi javascript.0 2021-09-27 16:44:50.090 info script.js.devices.AllMyMi: clearInterval() => cleared javascript.0 2021-09-27 16:44:50.090 info script.js.devices.AllMyMi: adapterUnsubscribe(id=properties) javascript.0 2021-09-27 16:44:50.090 info Stop script script.js.devices.AllMyMi
Habe echt keine Ahnung warum und wieso. Der Server ist komplett neu eingerichtet und läuft als LXC auf Proxmox.
-
@ithiel sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:
javascript.0 2021-09-27 16:44:50.319 info script.js.devices.AllMyMi: Now creating device for zhimi.airpurifier.mb4 / 362072163 / 10.1.20.71 / 030a70e4c6f04cc8d5249efe963c0156 / 10000
Ist das wirklich die IP des Gerätes? Is eigentlich das einzig auffällige. Zum Thema Sonderzeichen im Passwort, dem Skript ist das wumpe, aber offenbar irgendeinem Teil des "Unterbaus" nicht, hört man aber öfters (nicht bezogen auf dieses Skript), deswegen hatte ich es erwähnt. Thema Trigger, der macht natürlich nur was wenn Daten kommen, was ja bei Dir das Problem ist. Mir fällt nix ein worans liegen könnte, am Skript selber kaum, bei allen anderen läuft das Gerät ja mit dem Skript, im dümmsten Fall hängtn Server bei Xiaomi, da sind ja mehr Sachen im Spiel als nur das Skript.