Closed rowdy238 closed 3 years ago
Kann ich nicht erstmal iwie auf die vorherige Version (0.2.23) aus´m Juni zurück? Finde das File nicht...!?
Die alten Versionen sind weg, weil ich auf Versionierung direkt via Git umgestellt hab. Der Fehler ist bekannt, nur noch unklar warum er auftaucht. Ich hab grad nen Fix hochgeladen ohne neue Version, also bitte nochmal holen und dann pls testen ob die Meldung nu weg ist.
Habe den Fix geholt aber leider bleibt der Fehler bzw. das Log zeigt:
avascript.0 | 2021-08-10 14:42:24.881 | error | script.js.Yvonne.Xiaomi_Geräte.Xiaomi: TypeError: Cannot read property 'rssi' of undefined |
---|---|---|---|
javascript.0 | 2021-08-10 14:42:14.894 | error | at processTicksAndRejections (internal/process/task_queues.js:95:5) |
javascript.0 | 2021-08-10 14:42:14.893 | error | at runMicrotasks ( |
javascript.0 | 2021-08-10 14:42:14.893 | error | at RefreshGenericDpsTicker (script.js.Yvonne.Xiaomi_Geräte.Xiaomi:855:37) |
javascript.0 | 2021-08-10 14:42:14.892 | error | script.js.Yvonne.Xiaomi_Geräte.Xiaomi: TypeError: Cannot read property 'rssi' of undefined |
javascript.0 | 2021-08-10 14:42:04.899 | error | at processTicksAndRejections (internal/process/task_queues.js:95:5) |
javascript.0 | 2021-08-10 14:42:04.899 | error | at runMicrotasks ( |
javascript.0 | 2021-08-10 14:42:04.898 | error | at RefreshGenericDpsTicker (script.js.Yvonne.Xiaomi_Geräte.Xiaomi:855:37) |
javascript.0 | 2021-08-10 14:42:04.895 | error | script.js.Yvonne.Xiaomi_Geräte.Xiaomi: TypeError: Cannot read property 'rssi' of undefined |
Ahhh, ich hasse Fehler die ich nicht reproduzieren kann. Damits aber jetzt erstmal überhaupt wieder läuft, kannst den Funktionsaufruf mal auskommentieren, dazu einfach an den Anfang der Zeile 839 zwei Schrägstriche // setzen und speichern.
Hi,
leider funktioniert das auch nicht...übrigens steht eigentlich nichts in Zeile 839
Hab mal Zeile 836 bis 848 hier:
GenericDpRefreshIntervalObj = setInterval(function () { //
RefreshGenericDpsTicker();
}, refresh); //
//
onStop(function () { //Bei Scriptende alle Devices löschen
for (let x in device) {
device[x].destroy();
};
unsubscribe('properties');
clearInterval(GenericDpRefreshIntervalObj);
}, 10);
}
Nicht das ich was falsch gemacht habe...!?
Hatte es falsch importeiert (makiert, kopiert, eingefügt). Hab es nun als RAW kopiert und nun hab ich auch was in Zeile 839.
Hat doch geklappt mit dem auskommentieren! Es läuft erstmal ohnen Error im Log. Danke erstmal ;)
Kommando zurück! Funktioniert leider doch nicht...
Log:
javascript.0 | 2021-08-10 18:27:11.190 | error | Error: Call to device timed out at Timeout.retry [as _onTimeout] (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-miio.js:358:23) at listOnTimeout (internal/timers.js:557:17) at processTimers (internal/timers.js:500:7) |
---|---|---|---|
javascript.0 | 2021-08-10 18:27:11.190 | error | Error: Call to device timed out |
javascript.0 | 2021-08-10 18:27:11.189 | error | An error happened which is most likely from one of your scripts, but the originating script could not be detected. |
Habs jetzt erstmal wieder deaktiviert.
Nicht dass der Fehler durchs falsche kopieren kam, hast schon mal geschaut ob der Fehler immer noch kommt wenn die // weg sind?
Ähm, das is aber wieder nen ganz anderer Fehler, der eigentlich gar nix mitm aktuellen zu tun hat und nicht mal direkt von meinem Skript, sondern von der node-mihome kommt, dazu kann ich nix sagen.
Nicht dass der Fehler durchs falsche kopieren kam, hast schon mal geschaut ob der Fehler immer noch kommt wenn die // weg sind?
Hi,
ja hab ich ausprobiert! Gleicher Fehler.
Ähm, das is aber wieder nen ganz anderer Fehler, der eigentlich gar nix mitm aktuellen zu tun hat und nicht mal direkt von meinem Skript, sondern von der node-mihome kommt, dazu kann ich nix sagen.
Der kam aber erst nach dem auskommentieren...?
Der kam aber erst nach dem auskommentieren...?
Mag sein, aber hat trotzdem nix damit zu tun. Der einzige Unterschied der 0.2.23 zur 0.2.24 ist eine neue Funktion und die wird durch das auskommentieren nicht mehr aufgerufen, funktional gesehen haste nu wieder die 02.2.23, wüßte nicht woher da der Fehler kommt, vorallem weil das Skript bei mir anstandslos läuft.
Um das mal wirklich zu klären statt zu raten, bräucht ich mal ein Startlog bei aktiviertem logging (in den Skripteinstellungen) und ohne die auskommentierung.
Hier das Log direkt aus dem Skripten:
Bekomme auch nach dem update viele Fehlermeldungen.
`
00:42:32.934 | info | javascript.0 (9571) script.js.common.iobroker-nodemihome: Init Device# 1 - device="zhimi.airpurifier.vb2" -- | -- | -- 00:42:32.935 | info | javascript.0 (9571) script.js.common.iobroker-nodemihome: Setting trigger #0 for zhimi.airpurifier.mb3 00:42:32.935 | info | javascript.0 (9571) script.js.common.iobroker-nodemihome: Setting trigger #1 for zhimi.airpurifier.vb2 00:42:43.121 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:42:43.122 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:42:53.124 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:42:53.124 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:43:03.124 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:43:03.125 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:43:13.126 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:43:13.127 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:43:23.075 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:43:23.076 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:43:33.272 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:43:33.273 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:43:43.132 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:43:43.132 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:43:53.090 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:43:53.091 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:44:03.091 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:44:03.091 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:44:13.123 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:44:13.124 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:44:23.124 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:44:23.124 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:44:33.126 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:44:33.126 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:44:43.210 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:44:43.211 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:44:53.126 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:44:53.127 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:45:03.354 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:45:03.354 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:45:13.398 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:45:13.398 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) 00:45:23.143 | error | javascript.0 (9571) script.js.common.iobroker-nodemihome: TypeError: Cannot read property 'rssi' of undefined 00:45:23.143 | error | javascript.0 (9571) at RefreshGenericDpsTicker (script.js.common.iobroker-nodemihome:857:37) `Update: Hab heute mein System komplett neu installiert (Clean-Install).
Dann das Skript gestartet, die Fehlermeldungen kamen leider wieder.
Dann die Zeile auskommentiert und es läuft bisher ohne Fehlermeldungen :)
Update: Hab heute mein System komplett neu installiert (Clean-Install).
Dann das Skript gestartet, die Fehlermeldungen kamen leider wieder.
Dann die Zeile auskommentiert und es läuft bisher ohne Fehlermeldungen :)
Ich denke ich hab den Fehler gefunden, kommt heut nochn update und dann is hoffentlich alles gut.
So, bitte noch mal die 0.2.24 holen und testen.
Hi,
gerade getestet, Fehler bleibt...
Boah... Setz mal bitte diese Zeile über die angemaulte 860 und gib durch was das log sagt (dauert paar Sekunden)
log("Index=" + DeviceIndex + " dummy=" + typeof dummy[DeviceIndex].rssi + " device=" + typeof device[DeviceIndex].rssi)
Hi,
sorry fpr die späte Rückmeldung, war unterwegs. Leider keine Änderung. Log:
20:24:24.171 | info | javascript.0 (14859) Start javascript script.js.Yvonne.Xiaomi_Geräte.Xiaomi |
---|---|---|
20:24:24.219 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Starting AllMyMi V.0.2.24 |
20:24:24.224 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: registered 0 subscriptions and 0 schedules |
20:24:24.225 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: You are already logged in, login canceled |
20:24:24.226 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Retrieving your in de registered MiHome Devices |
20:24:24.587 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Found 10 MiHome Devices, those are: |
20:24:24.588 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Mi Air Purifier 3/3H |
20:24:24.589 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Strip Treppe |
20:24:24.589 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Yvonnes kleinen Ventilator |
20:24:24.590 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Werners kleiner Ventilator |
20:24:24.590 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Mi Smart Antibacterial Humidifier |
20:24:24.590 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Kleiner Ventilator |
20:24:24.591 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Robot 2 |
20:24:24.591 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Robot |
20:24:24.591 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Wasserkocher |
20:24:24.592 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: HOTO Smart Laser Measure |
20:24:24.592 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Now searching for supported Devices... |
20:24:24.592 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Device Mi Air Purifier 3/3H is supported, creating DataPoints |
20:24:24.593 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Device Strip Treppe is supported, creating DataPoints |
20:24:24.594 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Device Yvonnes kleinen Ventilator is supported, creating DataPoints |
20:24:24.594 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Device Werners kleiner Ventilator is supported, creating DataPoints |
20:24:24.594 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Device Mi Smart Antibacterial Humidifier is supported, creating DataPoints |
20:24:24.647 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Now creating device for zhimi.airpurifier.mb3 / 393718968 / 192.168.178.58 / ff40e4fcc25f1de138e788e28f1c7cd2 / 10000 |
20:24:24.650 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"393718968","address":"192.168.178.58","token":"ff40e4fcc25f1de138e788e28f1c7cd2","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 |
20:24:29.054 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Init Device# 0 - device="zhimi.airpurifier.mb3" |
20:24:29.055 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Now creating device for yeelink.light.strip2 / 313283714 / 192.168.178.61 / ed101d0f23d6d308b96cd3d108e4d891 / 10000 |
20:24:29.057 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"313283714","address":"192.168.178.61","token":"ed101d0f23d6d308b96cd3d108e4d891","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["power","bright","ct","hue","saturation"],"_miotSpec":null,"_miotSpecType":null,"model":"yeelink.light.strip2","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":"yeelink.light.strip2","description":"Yeelight Lightstrip Plus","setter":{},"common":[{"name":"power","type":"boolean","role":"switch","read":true,"write":true},{"name":"bright","type":"number","read":true,"write":true,"min":1,"max":100,"role":"state"},{"name":"hue","type":"number","read":true,"write":true,"min":0,"max":16777215,"role":"state"},{"name":"sat","type":"number","read":true,"write":true,"min":0,"max":100,"role":"state"},{"name":"color_mode","type":"number","read":true,"write":true,"min":1,"max":2,"role":"state"},{"name":"ct","type":"number","read":true,"write":true,"min":1700,"max":6500,"role":"state"}]},"firstrun":true,"rssi":0,"isOnline":true} now fetching data |
20:24:29.075 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Init Device# 1 - device="yeelink.light.strip2" |
20:24:29.075 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Now creating device for zhimi.fan.za4 / 116663190 / 192.168.178.71 / e5f64cb0deb47efc5cd317232cf698ec / 10000 |
20:24:29.077 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"116663190","address":"192.168.178.71","token":"e5f64cb0deb47efc5cd317232cf698ec","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["power","angle","angle_enable","speed_level","natural_level","child_lock","poweroff_time","buzzer","led_b"],"_miotSpec":null,"_miotSpecType":null,"model":"zhimi.fan.za4","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.fan.za4","description":"Mi Fan 2S","setter":{},"common":[{"name":"power","type":"boolean","role":"switch","read":true,"write":true},{"name":"angle","type":"number","read":true,"write":true,"min":1,"max":120,"role":"state"},{"name":"angle_enable","type":"boolean","role":"switch","read":true,"write":true},{"name":"natural_level","type":"number","read":true,"write":true,"min":0,"max":1,"states":{"0":"Straight Wind","1":"Natural Wind"},"role":"state"},{"name":"buzzer","type":"boolean","role":"switch","read":true,"write":true},{"name":"child_lock","type":"boolean","role":"switch","read":true,"write":true},{"name":"led_b","type":"boolean","role":"switch","read":true,"write":true},{"name":"speed_level","type":"number","read":true,"write":true,"min":1,"max":100,"unit":"%","role":"state"},{"name":"poweroff_time","type":"number","read":true,"write":true,"min":0,"max":540,"unit":"m","role":"state"}]},"firstrun":true,"rssi":0,"isOnline":true} now fetching data |
20:24:33.080 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Init Device# 2 - device="zhimi.fan.za4" |
20:24:33.080 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Now creating device for zhimi.fan.za4 / 125117357 / 192.168.178.36 / f6a99b7074d18933f3066712ccec1a71 / 10000 |
20:24:33.081 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"125117357","address":"192.168.178.36","token":"f6a99b7074d18933f3066712ccec1a71","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["power","angle","angle_enable","speed_level","natural_level","child_lock","poweroff_time","buzzer","led_b"],"_miotSpec":null,"_miotSpecType":null,"model":"zhimi.fan.za4","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.fan.za4","description":"Mi Fan 2S","setter":{},"common":[{"name":"power","type":"boolean","role":"switch","read":true,"write":true},{"name":"angle","type":"number","read":true,"write":true,"min":1,"max":120,"role":"state"},{"name":"angle_enable","type":"boolean","role":"switch","read":true,"write":true},{"name":"natural_level","type":"number","read":true,"write":true,"min":0,"max":1,"states":{"0":"Straight Wind","1":"Natural Wind"},"role":"state"},{"name":"buzzer","type":"boolean","role":"switch","read":true,"write":true},{"name":"child_lock","type":"boolean","role":"switch","read":true,"write":true},{"name":"led_b","type":"boolean","role":"switch","read":true,"write":true},{"name":"speed_level","type":"number","read":true,"write":true,"min":1,"max":100,"unit":"%","role":"state"},{"name":"poweroff_time","type":"number","read":true,"write":true,"min":0,"max":540,"unit":"m","role":"state"}]},"firstrun":true,"rssi":0,"isOnline":true} now fetching data |
20:24:37.082 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Init Device# 3 - device="zhimi.fan.za4" |
20:24:37.082 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Now creating device for deerma.humidifier.jsq / 242635147 / 192.168.178.49 / 41acf8b5e390af7f7febcf0d2baf3d2e / 10000 |
20:24:37.083 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"242635147","address":"192.168.178.49","token":"41acf8b5e390af7f7febcf0d2baf3d2e","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["limit_hum","power","humidity","temperature","buzzer","led","depth","dry","child_lock","mode"],"_miotSpec":null,"_miotSpecType":null,"model":"deerma.humidifier.jsq","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":"deerma.humidifier.jsq","description":"Mi Smart Antibacterial Humidifier","setter":{},"common":[{"name":"humidifier.on","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true},{"name":"humidifier.fan-level","type":"number","read":true,"write":true,"min":0,"max":3,"states":{"0":"auto","1":"level1","2":"level2","3":"level3"},"role":"state"},{"name":"humidifier.water-level","type":"number","read":true,"write":false,"min":0,"max":127,"role":"state"},{"name":"alarm.alarm","type":"boolean","read":true,"write":true,"min":false,"max":true,"role":"state"},{"name":"environment.temperature","type":"number","role":"value.temperature","read":true,"write":false,"min":-40,"max":125,"unit":"°C"},{"name":"environment.relative-humidity","type":"number","role":"value.humidity","read":true,"write":false,"min":0,"max":100,"unit":"%"},{"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 |
20:24:41.084 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Init Device# 4 - device="deerma.humidifier.jsq" |
20:24:41.085 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Setting trigger #0 for zhimi.airpurifier.mb3 |
20:24:41.086 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Setting trigger #1 for yeelink.light.strip2 |
20:24:41.087 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Setting trigger #2 for zhimi.fan.za4 |
20:24:41.088 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Setting trigger #3 for zhimi.fan.za4 |
20:24:41.088 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Setting trigger #4 for deerma.humidifier.jsq |
20:24:51.355 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=0 dummy=number device=number |
20:24:51.356 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=1 dummy=number device=number |
20:24:51.357 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=2 dummy=number device=number |
20:24:51.358 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=3 dummy=number device=number |
20:24:51.359 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=4 dummy=number device=number |
20:24:51.366 | error | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: TypeError: Cannot read property 'rssi' of undefined |
20:24:51.367 | error | javascript.0 (14859) at RefreshGenericDpsTicker (script.js.Yvonne.Xiaomi_Geräte.Xiaomi:860:127) |
20:25:01.303 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=0 dummy=number device=number |
20:25:01.303 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=1 dummy=number device=number |
20:25:01.304 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=2 dummy=number device=number |
20:25:01.304 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=3 dummy=number device=number |
20:25:01.304 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=4 dummy=number device=number |
20:25:01.306 | error | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: TypeError: Cannot read property 'rssi' of undefined |
20:25:01.306 | error | javascript.0 (14859) at RefreshGenericDpsTicker (script.js.Yvonne.Xiaomi_Geräte.Xiaomi:860:127) |
20:25:11.318 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=0 dummy=number device=number |
20:25:11.319 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=1 dummy=number device=number |
20:25:11.319 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=2 dummy=number device=number |
20:25:11.320 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=3 dummy=number device=number |
20:25:11.320 | info | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Index=4 dummy=number device=number |
20:25:11.322 | error | javascript.0 (14859) script.js.Yvonne.Xiaomi_Geräte.Xiaomi: TypeError: Cannot read property 'rssi' of undefined |
20:25:11.323 | error | javascript.0 (14859) at RefreshGenericDpsTicker (script.js.Yvonne.Xiaomi_Geräte.Xiaomi:860:127) |
iobroker Log:
avascript.0 | 2021-08-11 20:25:11.324 | error | at processTicksAndRejections (internal/process/task_queues.js:97:5) |
---|---|---|---|
javascript.0 | 2021-08-11 20:25:11.323 | error | at runMicrotasks ( |
javascript.0 | 2021-08-11 20:25:11.323 | error | at RefreshGenericDpsTicker (script.js.Yvonne.Xiaomi_Geräte.Xiaomi:860:127) |
javascript.0 | 2021-08-11 20:25:11.322 | error | script.js.Yvonne.Xiaomi_Geräte.Xiaomi: TypeError: Cannot read property 'rssi' of undefined |
Das kann eigentlich nicht sein, dass wenn Du ÜBER der Zeile 860 die Logzeile einfügst, immer noch die 860 angemault wird, müßte jetzt ja dann 861 sein. Und eigentlich kann auch ein Typ Number nimmer undefined sein, das is alles total schräg. Ich würd mir das ja zu gern mal mit Anydesk direkt anschauen, weil ich ja auch nix testen kann da ich den Fehler nicht reproduzieren kann.
Doch, hab ich so gemacht!
Hier Zeile 850 bis 870:
clearInterval(GenericDpRefreshIntervalObj);
}, 10);
}
async function RefreshGenericDpsTicker() { // log("Reaching RefreshGenericDpsTicker(" + DeviceIndex + ") " + device[DeviceIndex].id, "info"); let dummy = await mihome.miCloudProtocol.getDevices(null, options); //Gibt Devices zurück und weist die Werte einem lokalen Array zu if (typeof dummy != "object") return false; for (let DeviceIndex in dummy) { if (typeof dummy[DeviceIndex].rssi != "undefined") { log("Index=" + DeviceIndex + " dummy=" + typeof dummy[DeviceIndex].rssi + " device=" + typeof device[DeviceIndex].rssi) if (device[DeviceIndex].rssi != dummy[DeviceIndex].rssi) { device[DeviceIndex].rssi = dummy[DeviceIndex].rssi; setStateAsync(praefix0 + "." + device[DeviceIndex].id + ".info." + "rssi", device[DeviceIndex].rssi, true); }; }; if (typeof dummy[DeviceIndex].isOnline != "undefined") { if (device[DeviceIndex].isOnline != dummy[DeviceIndex].isOnline) { device[DeviceIndex].isOnline = dummy[DeviceIndex].isOnline; setStateAsync(praefix0 + "." + device[DeviceIndex].id + ".info." + "isOnline", device[DeviceIndex].isOnline, true); };
Glaub ich Dir ja, aber das is iwie total unlogisch grad (oder ich seh den Wald vor lauter Bäumen nicht). Welche Version hat denn Dein JS Adapter aka "Skriptausführung"? Und was passiert denn eigentlich wenn Du mal den kompletten rssi Block weglöscht, also das hier?:
if (typeof dummy[DeviceIndex].rssi != "undefined") {
log("Index=" + DeviceIndex + " dummy=" + typeof dummy[DeviceIndex].rssi + " device=" + typeof device[DeviceIndex].rssi)
if (device[DeviceIndex].rssi != dummy[DeviceIndex].rssi) {
device[DeviceIndex].rssi = dummy[DeviceIndex].rssi;
setStateAsync(praefix0 + "." + device[DeviceIndex].id + ".info." + "rssi", device[DeviceIndex].rssi, true);
};
};
Mault er dann über isOnline oder läufts dann?
JS Adapter hat Version 5.2.8
Ich hab das mal rausgelöscht und habe nun (zum Vergleich für dich) Zeile 854 bis 868 so:
async function RefreshGenericDpsTicker() { // log("Reaching RefreshGenericDpsTicker(" + DeviceIndex + ") " + device[DeviceIndex].id, "info"); let dummy = await mihome.miCloudProtocol.getDevices(null, options); //Gibt Devices zurück und weist die Werte einem lokalen Array zu if (typeof dummy != "object") return false; for (let DeviceIndex in dummy) {
if (typeof dummy[DeviceIndex].isOnline != "undefined") {
if (device[DeviceIndex].isOnline != dummy[DeviceIndex].isOnline) {
device[DeviceIndex].isOnline = dummy[DeviceIndex].isOnline;
setStateAsync(praefix0 + "." + device[DeviceIndex].id + ".info." + "isOnline", device[DeviceIndex].isOnline, true);
};
};
};
return true;
}
Log:
Ich glaub ich ahne was das Problem ist und warum ichs nicht habe, tausch mal bitte die gesamte Funktion mit dieser:
async function RefreshGenericDpsTicker() {
// log("Reaching RefreshGenericDpsTicker()" , "info");
let dummy = await mihome.miCloudProtocol.getDevices(null, options); //Gibt Devices zurück und weist die Werte einem lokalen Array zu
if (typeof dummy != "object") return false;
for (let DeviceIndex in device) {
for (let DummyDeviceIndex in dummy) {
if (dummy[DummyDeviceIndex].did == device[DeviceIndex].id) {
if (typeof dummy[DeviceIndex].rssi != "undefined") {
if (device[DeviceIndex].rssi != dummy[DeviceIndex].rssi) {
device[DeviceIndex].rssi = dummy[DeviceIndex].rssi;
setStateAsync(praefix0 + "." + device[DeviceIndex].id + ".info." + "rssi", device[DeviceIndex].rssi, true);
};
};
if (typeof dummy[DeviceIndex].isOnline != "undefined") {
if (device[DeviceIndex].isOnline != dummy[DeviceIndex].isOnline) {
device[DeviceIndex].isOnline = dummy[DeviceIndex].isOnline;
setStateAsync(praefix0 + "." + device[DeviceIndex].id + ".info." + "isOnline", device[DeviceIndex].isOnline, true);
};
};
};
};
};
return true;
}
Hab ich gemacht! Kein Fehler bisher ;)
Hi,
nach Aktualisierung auf 0.2.24 bekomme ich im iobroker LOG immer Folgendes:
JS-Controller version: 3.3.15 Node version: v14.17.4 Operating system: Raspberry Pi 4 (Linux) iobroker Admin: 5.1.23