NEWS
Test Adapter Mihome-vacuum v3.1.6 Next Generarition
-
Hi,
Danke erstmal!
Hab gestern erst installiert, und vergessen mein startscript zu ändern, daher lief der Adapter nur wenn der Sauger aktiv war. Das hat soweit geklappt, Karte war da.
Hab seit eben den Adapter wieder immer laufen, mal sehen ob morgen früh die Karte noch da ist… -
nach 18 Stunden test und ein paar Reinigungsvorgaengen kann ich sagen, dass die Karte wieder geladen wird.
Auch in der App ist die Karte noch da.
Schaut also gut aus! Danke! -
@tombox
Welche Abfrageintervalle habt ihr denn im Adapter eingestellt? -
@tschaeens Ich habe eine 3.11.0 veröffentlich rein theoretisch ist keine Anpassung des Intervals notwendig
-
@tombox Die Anpassung war so aber nicht richtig.
Du hast an der stelle, wo regrlmässig der allhemeine status abgefragt, jetzt zusätzlich die karte abgefragt.
Das !this.mapEnable bezog sich darauf, wenn nicht eh schon abgefragt wird, meine ich.
Also, wenn karte anabled, wird der mabpointer eh regelmässig abgefragt, wenn nicht, wird er nur ab und zu im zuge des allgemeinen status abgefragt. Ich meine, dass wird dafür gemacht, wenn du keine karte willst, so wie ich, dann bekommt man aber trotzdem mit, wenn die karte sich ändert, zb bei stockwerkswechsel.
Bitte baue das mal wieder zurück. -
Zum Code kann ich nicht viel sagen, so genau versteh ich das nicht. Aber ich kann sagen, dass die letzte Gitversion (3.11) einwandfrei laeuft und die Karte immer geholt werden kann.
In der letzten Release 3.10.1 hatte es ja dazu gefuehrt, dass die Karte nach einem Saugvorgang +- 2h Adapterlaufzeit nicht mehr geladen werden konnte.. jetzt funktioniert das wieder. -
@ilovegym ich kann mir das ja nochmal genauer ansehen, so werden aber die Leute Probleme bekommen, die keine Karte nutzen.
Normalerweise wird die Karte halt aktualisiert, wenn er saugt..
Ich schaue die Tage Mal rein -
@dirkhe Da der Mappointer zu oft geholt wurde egal ob Karte aktiv ist oder nicht hat es zur einer Sperrung der Karte in der App geführt. Die Karte in der App ist glaube wichtiger für den Nutzer als in ioBroker zu sehen ob ein Stockwerkwechsel stattgefunden hat.
-
@tombox ja, aber wenn jetzt einer die karte an an hat, wird sie noch öfter abgerufen. Die lösung wäre dann eher, die karte seltener abzurufen.
-
@dirkhe Ja während eines Reinigungsvorgang wird sie zusätzlich noch alle 15min abgerufen. dazu müsste man wissen was das neue rate limit für map Abruf. so ist es erstmal für user die karte aktiviert haben wird es während des reinigen aktualisiert
-
@tombox Ich habe ebenfalls die neueste Github Version installiert und kann den Sauger über das Dashboard starten. In der App wird mir auch die Karte und auch der Weg des Saugers angezeigt, allerdings nicht im Dashboard, was ich genauso eingebunden habe, wie es mir @bahnuhr erklärt hatte.
https://forum.iobroker.net/post/747066
Bevor es die Probleme gab, hat es so auch reibungslos funktioniert. Nur jetzt wird mir die Fahrt des Saugers nicht im Dashboard angezeigt. -
@damrak2022 Meinst du die ganze karte oder nur die fahrt
-
@tombox Die Karte wird angezeigt, aber die Fahrt leider nicht
-
Hi Dirk,
ja danke, ich kann nur von der Userseite her sehen, dass der Adapter jetzt fuer meine Beduerfnisse funktioniert.
Mir ist es wichtig, dass NACH einem Saugvorgang mir die Karte per Synochat gesendet wird, damit ich weiss, ob die Sauger alles gesaugt haben oder ob irgendwas im Weg stand.
Hab 4 Sauger auf 4 Etagen, einer laeuft taeglich morgens um 9 im Keller, die anderen 3 nur, wenn nach 15 min Abwesenheit keiner mehr da ist, und das einmal taeglich.
Gruss
Bernd -
@ilovegym sagte in Test Adapter Mihome-vacuum v3.1.6 Next Generarition:
Hab 4 Sauger auf 4 Etagen
Fett Brett
-
@ilovegym Siehst du bei dir noch die Fahrten in den Karten?
-
@tombox ja alles einwandfrei!
-
@tombox So, ich habe mir den code jetzt nochmal genauer angesehen. Das was ich erst geschrieben habe, dass die map auch geholt wird, wenn map nicht aktiviert ist, da habe ich den Statusnamen falsch interpretiert, sorry.
So jetzt zu der Änderung, die du gemacht hattest:
Dieser code wird alle x (bei mir 60 Sekunden) aufgerufen:if (Date.now() - this.cMapLastPoll > this.cMapPoll && this.mapGet) { await this.getMapPointer(); }
Vorher war es
if (Date.now() - this.cMapLastPoll > this.cMapPoll && !this.mapGet) { await this.getMapPointer(); }
Diese Abfrage ist dafür da, dass der Mappointer nach spätestens 15 Minuten einmal abgerufen wird, aber nur, wenn die Karte nicht sowieso schon abgerufen wird.
Jetzt ist die Logik, rufe die Map nach 15 Minuten ab, aber nur wenn sie sowieso abgerufen wird, weil der robbi in einem der folgenden stati ist
cleanStates.Cleaning,
cleanStates.Back_toHome,
cleanStates.SpotCleaning,
cleanStates.GoingToSpot,
cleanStates.ZoneCleaning,
cleanStates.RoomCleaning,Das bedeutet, dass der code jetzt so sinnlos ist.
Entweder wir wollen das regelmäßige Abrufen nach 15 Minuten haben, dass muss der code wieder zurück geändert werden. Oder das ganze ist nicht notwendig, dann kann der ganze code oben gelöscht werden, incl. der Zeilen 158,159this.cMapPoll = 900000; // 15 Min this.cMapLastPoll = 0;
und Zeile 553
this.cMapLastPoll = Date.now();
Vlt. macht es auch Sinn, den Status ausserhalb nur jede Stunde abzurufen?
-
@dirkhe Mir war nicht ganz klar welchen Vorteil das hat aber es war halt im abfrageinterval von alle 20sek und deswegen kam es zum block. jede stunde klingt gut aber auch für die die map deaktiviert haben?
-
@tombox Zu dem Code kann ich nichts sagen, weil ich mich da garnicht auskenne. Mich würde nur interessieren, ob die Fahrt des Staubsaugers auch wieder in Echtzeit auf der Karte am Pc angezeigt wird/ werden kann.
Das sind meine Einstellungen im Adapter: