Pittini / iobroker-nodemihome

Steuerung von bisher nicht unterstützten Xiaomi Geräten in Iobroker via node-mihome
MIT License
27 stars 15 forks source link

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:554:17) at processTimers (internal/timers.js:497:7) #42

Closed rowdy238 closed 3 years ago

rowdy238 commented 3 years ago

Hi,

ich schon wieder...

das Skript läuft nun (Danke nochmal!) aber wenn ich eines meiner Blocklys starte (Luftreiniger an wenn PV-Überschuss) dann kommen folgende Fehler im Log und es funktioniert auch nicht:

javascript.0 2021-08-13 09:29:53.060 info Stop script script.js.Yvonne.Geräte-Steuerungen.aktiv.Luftreiniger_an_wenn_PV-Überschuss
javascript.0 2021-08-13 09:29:10.397 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:554:17) at processTimers (internal/timers.js:497:7)
javascript.0 2021-08-13 09:29:10.397 error Error: Call to device timed out
javascript.0 2021-08-13 09:29:10.397 error An error happened which is most likely from one of your scripts, but the originating script could not be detected.
javascript.0 2021-08-13 09:29:06.394 info script.js.Yvonne.Xiaomi_Geräte.Xiaomi: {}
javascript.0 2021-08-13 09:29:06.392 info script.js.Yvonne.Xiaomi_Geräte.Xiaomi: Keyvalue=0 key=2
javascript.0 2021-08-13 09:26:16.832 info script.js.Yvonne.Geräte-Steuerungen.aktiv.Luftreiniger_an_wenn_PV-Überschuss: registered 1 subscription and 0 schedules

ich kann auch direkt in den Objekten nichts schalten/steuern.

Beispiel (Blockly Skript aus!): Luftreiniger on (switch) ist true und ich stelle auf false, passiert nichts! Gerät bleibt an und ich bekomme ebenfalls diese Fehler im Log.

javascript.0 2021-08-13 09:33:00.363 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:554:17) at processTimers (internal/timers.js:497:7)
javascript.0 2021-08-13 09:33:00.363 error Error: Call to device timed out
javascript.0 2021-08-13 09:33:00.362 error An error happened which is most likely from one of your scripts, but the originating script could not be detected.

Was könnte das sein?

Luftreiniger ist ein Mi Air Purifier 3H

Pittini commented 3 years ago

Ich würde mal den JS Controller neu starten. Den 3H hab ich selber, im Skript is da kein Fehler drin, auch grad nochmal getestet. Die Meldung wird ja auch von der node-mihome ausgelöst wegen irgend nem Timeout, da hab ich keine Eingriffsmöglichkeit, da is evtl. iwas an Deinem System etwas lahm.

rowdy238 commented 3 years ago

Hab ich schon gemacht! Ändert nichts.

Es dauert auch verdammt lange bis ich den aktuellen Status bekomme.

Der läuft z.B. gerade und mir wird noch "false" angezeigt von 09:32 Uhr.

Mein System ist ein Raspberry Pi 4B mit 8GB Ram. Komplett neu eingerichtet/installiert und dann das iobroker Backup eingespielt. CPU zu 10-15% ausgelastet und gesamte RAM-Auslastung: 2591 Mb Das lief alles bis zum Update des Js-Controllers auf 3.3.15 & Admin-Adapters auf 5.1.23 völlig problemlos mit deinem Srikpt.

Ich weiß leider nicht was ich da nun noch tun kann...?

Habe auch noch 2S Ventilatoren da hab ich auch Probleme. Kann die 1x z.B. eischalten und danach nicht wieder aus...passiert nichts. Geht dann nur noch über die Xiaomi-App.

Das scheint also nicht nur den Luftreiniger zu betreffen.

Pittini commented 3 years ago

Zur Sicherheit würd ich die Definitionsfiles nochmal neu einkopieren bei node-mihome. Ansonsten weis ich auch nich, is jedenfalls kein Skriptfehler, deswegen kann ich auch nich helfen, das ganze sieht nach ner wackeligen Verbindung zur Xiaomi Cloud aus.

rowdy238 commented 3 years ago

so, hatte die definitionsdateien neu einkopiert. Die lauteten dann natürlich xxxx.js.1, klappte nicht, Fehler blieb und wurde sogar noch schlimmer.

Dann hab ich gedacht, OK, ich lösche die da raus (alle Benötigten + die Duplikate mit js.1) und kopier die nochmal neu ein. Gesagt, getan, nix ging mehr...auch das Skript schmiss diverse Fehler.

Lösung: iobroker gelöscht & Backup eingespielt. Nun läuft das Skript wieder aber diese "Call to device timerout-Probleme bleiben.

Evtl. stimmt ja was mit meiner Datei oder den Rechten nicht!? Oder evtl. die Token???

der Ordner beinhaltet z.Zt. Folgendes:

ls -la /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/ total 232 drwxr-xr-x+ 2 iobroker iobroker 4096 Aug 13 16:00 . drwxr-xr-x+ 3 iobroker iobroker 4096 Aug 13 16:00 .. -rw-r--r--+ 1 iobroker iobroker 2551 Oct 26 1985 deerma.humidifier.jsq.js -rw-r--r--+ 1 iobroker iobroker 2257 Oct 26 1985 deerma.humidifier.mjjsq.js -rw-r--r--+ 1 iobroker iobroker 5558 Oct 26 1985 imibar.cooker.mbihr3.js -rw-r--r--+ 1 iobroker iobroker 1716 Oct 26 1985 leshow.fan.ss4.js -rw-r--r--+ 1 iobroker iobroker 2396 Oct 26 1985 lumi.airer.acn01.js -rw-r--r--+ 1 iobroker iobroker 844 Oct 26 1985 lumi.ctrl_86plug.aq1.js -rw-r--r--+ 1 iobroker iobroker 991 Oct 26 1985 lumi.ctrl_ln1.aq1.js -rw-r--r--+ 1 iobroker iobroker 998 Oct 26 1985 lumi.ctrl_ln2.aq1.js -rw-r--r--+ 1 iobroker iobroker 872 Oct 26 1985 lumi.ctrl_neutral1.v1.js -rw-r--r--+ 1 iobroker iobroker 922 Oct 26 1985 lumi.ctrl_neutral2.v1.js -rw-r--r--+ 1 iobroker iobroker 936 Oct 26 1985 lumi.curtain.hagl04.js -rw-r--r--+ 1 iobroker iobroker 2334 Oct 26 1985 lumi.gateway.v2.js -rw-r--r--+ 1 iobroker iobroker 260 Oct 26 1985 lumi.gateway.v3.js -rw-r--r--+ 1 iobroker iobroker 952 Oct 26 1985 lumi.light.aqcn02.js -rw-r--r--+ 1 iobroker iobroker 726 Oct 26 1985 lumi.relay.c2acn01.js -rw-r--r--+ 1 iobroker iobroker 416 Oct 26 1985 lumi.remote.b286acn01.js -rw-r--r--+ 1 iobroker iobroker 747 Oct 26 1985 lumi.sensor_ht.v1.js -rw-r--r--+ 1 iobroker iobroker 562 Oct 26 1985 lumi.sensor_magnet.aq2.js -rw-r--r--+ 1 iobroker iobroker 558 Oct 26 1985 lumi.sensor_magnet.v2.js -rw-r--r--+ 1 iobroker iobroker 706 Oct 26 1985 lumi.sensor_motion.aq2.js -rw-r--r--+ 1 iobroker iobroker 702 Oct 26 1985 lumi.sensor_motion.v2.js -rw-r--r--+ 1 iobroker iobroker 390 Oct 26 1985 lumi.sensor_switch.v2.js -rw-r--r--+ 1 iobroker iobroker 879 Oct 26 1985 lumi.weather.v1.js -rw-r--r--+ 1 iobroker iobroker 531 Oct 26 1985 msj.f_washer.m1.js -rw-r--r--+ 1 iobroker iobroker 2450 Oct 26 1985 nwt.aircondition.26eaw1.js -rw-r--r--+ 1 iobroker iobroker 1688 Oct 26 1985 nwt.derh.330ef.js -rw-r--r--+ 1 iobroker iobroker 2096 Oct 26 1985 ows.towel_w.mj1x0.js -rw-r--r--+ 1 iobroker iobroker 2667 Oct 26 1985 viomi.bhf_light.v3.js -rw-r--r--+ 1 iobroker iobroker 3045 Oct 26 1985 viomi.dishwasher.v03.js -rw-r--r--+ 1 iobroker iobroker 2411 Oct 26 1985 viomi.fridge.x4.js -rw-r--r--+ 1 iobroker iobroker 2050 Oct 26 1985 viomi.heater.v4.js -rw-r--r--+ 1 iobroker iobroker 2141 Oct 26 1985 viomi.hood.c2.js -rw-r--r--+ 1 iobroker iobroker 655 Oct 26 1985 viomi.juicer.v2.js -rw-r--r--+ 1 iobroker iobroker 3349 Oct 26 1985 viomi.oven.so1.js -rw-r--r--+ 1 iobroker iobroker 4318 Oct 26 1985 viomi.vacuum.v7.js -rw-r--r--+ 1 iobroker iobroker 2310 Oct 26 1985 viomi.waterheater.e7.js -rw-r--r--+ 1 iobroker iobroker 4159 Oct 26 1985 xiaomi.aircondition.mt2.js -rw-r--r--+ 1 iobroker iobroker 1648 Oct 26 1985 yeelink.light.ceiling1.js -rw-r--r--+ 1 iobroker iobroker 1645 Oct 26 1985 yeelink.light.ceiling3.js -rw-r--r--+ 1 iobroker iobroker 1655 Oct 26 1985 yeelink.light.ceiling9.js -rw-r--r--+ 1 iobroker iobroker 1605 Oct 26 1985 yeelink.light.strip1.js -rw-r--r--+ 1 iobroker iobroker 1610 Oct 26 1985 yeelink.light.strip2.js -rw-r--r--+ 1 iobroker iobroker 1183 Oct 26 1985 yeelink.light.strip4.js -rw-r--r--+ 1 iobroker iobroker 1846 Oct 26 1985 yunmi.waterpuri.s4.js -rw-r--r--+ 1 iobroker iobroker 3500 Oct 26 1985 zhimi.aircondition.v1.js -rw-r--r--+ 1 iobroker iobroker 2696 Oct 26 1985 zhimi.airpurifier.ma4.js -rw-r--r--+ 1 iobroker iobroker 2700 Oct 26 1985 zhimi.airpurifier.mb3.js -rw-r--r--+ 1 iobroker iobroker 2446 Oct 26 1985 zhimi.airpurifier.mc2.js -rw-r--r--+ 1 iobroker iobroker 4000 Oct 26 1985 zhimi.airpurifier.v7.js -rw-r--r--+ 1 iobroker iobroker 2305 Oct 26 1985 zhimi.fan.za4.js -rw-r--r--+ 1 iobroker iobroker 2546 Oct 26 1985 zhimi.humidifier.ca1.js -rw-r--r--+ 1 iobroker iobroker 2665 Oct 26 1985 zhimi.humidifier.ca4.js -rw-r--r--+ 1 iobroker iobroker 2772 Oct 26 1985 zhimi.humidifier.cb1.js

Evtl. siehst du ja Fehler? (Frag mich auch warum die alle aus´m Oktober 1985 sind!?) Wie gesagt, ich kann auch nichts richtig steuern. Maximal 1x einschalten aber nicht wieder aus... Als ich deine da mit drin hatte ist mir aufgefallen, dass die andere Rechte hatten...

Pittini commented 3 years ago

Warum iwelche Rechte nich stimmen oder die von 85 sind kann ich Dir nich sagen, ich hab kein Plan von Linux. Und wenn die node-mihome nen Fehler droppt kann ich halt leider da auch nix machen und leider reagiert der Dev auch nicht auf Issues. Allerdings denk ich nichtmal dasses direkt ein Fehler in der node-mihome ist, sondern es scheint an Deiner Verbindung zu liegen, warum auch immer. Im schlimmsten Fall suchste Dir nen Wolf und es liegt gar nich an Dir, sondern iein Xiaomi Server is überlastet etc. Manchmal isses auch ne gute Idee im Forum mal zu fragen, da lesen mehr mit als bei Issues.