NEWS
ADAPTER FÜR Bosch Indego Connect
-
@thomas-braun "in was" gesetzt? sorry!
überfordere mich nicht.
Meine Kompetenz ist in diesem Fall stark eingeschränkt -
Ich habe, seit dem ich auf die 0.9.11 gegangen bin, hin und wieder diese Meldungen im Log:
boschindego.0 2021-07-27 10:21:46.602 info (17119) Terminated (NO_ERROR): Without reason boschindego.0 2021-07-27 10:21:46.602 info (17119) terminating boschindego.0 2021-07-27 10:21:46.601 info (17119) connect boschindego.0 2021-07-27 10:21:46.601 error (17119) connection error boschindego.0 2021-07-27 10:21:46.600 error (17119) error in operatingData request: Error: Request failed with status code 401 boschindego.0 2021-07-27 10:21:46.599 error at process._tickCallback (internal/process/next_tick.js:63:19) boschindego.0 2021-07-27 10:21:46.599 error at endReadableNT (_stream_readable.js:1145:12) boschindego.0 2021-07-27 10:21:46.599 error at IncomingMessage.emit (events.js:203:15) boschindego.0 2021-07-27 10:21:46.599 error at IncomingMessage.handleStreamEnd (/opt/iobroker/node_modules/axios/lib/adapters/http.js:260:11) boschindego.0 2021-07-27 10:21:46.599 error at settle (/opt/iobroker/node_modules/axios/lib/core/settle.js:17:12) boschindego.0 2021-07-27 10:21:46.599 error at createError (/opt/iobroker/node_modules/axios/lib/core/createError.js:16:15) boschindego.0 2021-07-27 10:21:46.599 error (17119) Error: Request failed with status code 401 boschindego.0 2021-07-27 10:21:46.599 error (17119) unhandled promise rejection: Request failed with status code 401 boschindego.0 2021-07-27 10:21:46.598 error (17119) error in alerts request: Error: Request failed with status code 401
Soweit scheint aber alles zu funktionieren, nur dass diese Meldungen vorher nicht kamen.
-
Text der in CodeTags gesetzt werden soll markieren,
</> anklicken, absenden.Sieht dann so aus wie bei @integer63
Viel besser lesbar. -
@thomas-braun Folgender PR sollte die Fehlermeldung beheben: https://github.com/a1development/ioBroker.boschindego/pull/25
Die Fehler waren übrigens vorher auch schon da. Ich hatte lediglich das Logging für die Nachrichten hinzugefügt. Hintergrund ist hier, dass der User nach einer gewissen Zeit nicht mehr angemeldet ist. Der Adapter meldet sich nach einem solchen Fehler neu an. Man könnte jetzt vor jede API Abfrage die checkAuth Methode packen, aber das macht glaub ich auch nicht so viel Sinn. -
Der Adapter steigt immer wieder aus! Würde gerne mal die alte 0.9.10 Version wieder installieren, das funktioniert allerdings nicht im Expertenmodus bei den Adaptern. Kann man das irgendwie downgraden?
Wäre mal interessant ob das Problem dann weiter besteht.LG
-
Ich würde ja eher in dieser Richtung schauen:
boschindego.0 2021-07-27 10:23:22.033 error (12290) connection error - credentials wrong or no network? boschindego.0 2021-07-27 10:23:22.030 error (12290) connection error - credentials wrong or no network?
-
@withstu Das hat sich etwas überschnitten.
Ich habe zeitgleich mit einer etwas umfangreicheren Änderung an dem Adapter angefangen die ein paar Punkte optimieren sollen.- Bot soll nicht ständig aufgeweckt werden ( "Display leuchtet" )
- Kommunikation zum Service soll wesentlich effizienter gehandelt werden.
Ich bin gerade noch bei Tests, die ich bis morgen beobachten möchte, bevor ich eine neue Version online stelle.
Daher wird der PR vermutlich nicht mehr ganz passen. Ich habe ihn mir aber angeschaut und die Punkte werden durch die Änderungen eh etwas anders gehandelt. -
@thomas-braun
So, hab jetzt die Ladestation vom Indego näher ans Haus gesetzt. Siehe da, der Adapter schmiert nicht mehr ab und im LOG sind auch keine Fehlermeldungen mehr. Scheint wohl alles nur ein Problem der mangelhaften W-LAN Verbindung gewesen zu sein. Gartenumgestaltung und neue Adapterversion in kurzem Abstand, war für mein Fachverstand wohl etwas zu viel.Entschuldigung, dass ich hier alle mit meinen persönlichen Unzulänglichkeiten genervt habe.
LG
-
@flocke112 sagte in ADAPTER FÜR Bosch Indego Connect:
Scheint wohl alles nur ein Problem der mangelhaften W-LAN Verbindung gewesen zu sein.
Stand ja auch so sinngemäß im Log drin.
-
NEUE VERSION 0.9.12
In der aktuellen Version habe ich mich um das Problem des "leuchtenden Displays" gekümmert,
das dadurch entstanden ist weil der Bot bei Anfragen immer wieder aufgeweckt werden musste.Wenn der Bot nicht fährt und nicht geladen wird, sollten diese Anfragen nicht mehr laufen. Generell verwendet der Adapter eine etwas andere Herangehensweise die Daten abzufragen, die wesentlich Akku / Datenschonender sein sollte.
Ich habe es soweit bei mir jetzt 2 Tage getestet und konnte in der Art wie ich den Bot einsetzte eine Verbesserung feststellen.
Einzige bekannte und geplante Einschränkung ist das Update des Batteriestatus.
Dieser wird beim mähen und beim laden weiterhin kontinuierlich aktualisiert, außerhalb dieser Aktionen allerdings nur, wenn sich auch der Status des Bots ändert.
Hintergrund: Das abfragen des Akkustands hat den mäher immer aufgeweckt ( display an + mehr stromverbrauch + Mobilfunkverbindung ). Ich denke das die Akkuinformationen beim mähen / laden sicherlich spannend sind, aber im Dock ohne Veränderung des Zustands eher nicht permanent geupdated werden müssen ( was ja zu einem höheren Verbrauch / Verschleiß führen würde ) -
@a1development
Danke für die neue Version! Habe sie gestern installiert und sie funktioniert! -
@a1development
Ich bekomme noch folgende Info/Fehlermeldung im Log, nachdem der Bot in "Docked - Waking up" steht und ich "Refresh Status" ausführe (5 = erste Meldung. 1 = letzte Meldung):boschindego.0 2021-07-30 10:20:13.497 info (1863) connect ok boschindego.0 2021-07-30 10:20:12.974 info (1863) connect boschindego.0 2021-07-30 10:20:12.972 error (1863) connection error{"message":"Request failed with status code 401","name":"Error","stack":"Error: Request failed with status code 401\n at createError (/opt/iobroker/node_modules/axios/lib/co boschindego.0 2021-07-30 10:20:12.947 error (1863) error in operatingData request: Error: Request failed with status code 401 boschindego.0 2021-07-30 10:20:12.822 info (1863) state boschindego.0.commands.refresh_state changed: (ack = false)
Beim nächsten Ausführen von "Refresh Status" kommt
boschindego.0 2021-07-30 10:21:50.938 info (1863) state boschindego.0.commands.refresh_state changed: (ack = false)
Mache ich noch etwas falsch?
-
@a1development said in ADAPTER FÜR Bosch Indego Connect:
Einzige bekannte und geplante Einschränkung ist das Update des Batteriestatus.
Moin. Zuerst auch herzlichen Dank für die neue Version. Läuft bisher super.
Was der Batteriestatus angeht, so scheint der Wert bei mir schlicht nicht korrekt zu sein.
Er ist immer die Voltzahl * 10 ...
Während die App einen niedrigen Batteriestand anzeigt, ist der Adapter der Meinung es wären noch über 50% Ladung vorhanden.Ist das ein generelles Problem (Bug) oder nur bei mir so?
Danke und Grüße,
BiboEDIT: Ich muss das relativieren... Die Ladeanzeige der App scheint irgendwie grütze zu sein. Kann nicht sicher sagen, ob die App falsch anzeigt, oder der o.g. Batteriestatus falsch ist. Würde das bei Gelegenheit am Gerät noch mal prüfen.
-
@bibox
... also bei mir werden die Werte "voltage" und "percent" in (vermutlich) Echtzeit aktualisiert. Wenn die App VOLL anzeigt, sind es auch 100% im Adapter.LG
-
@flocke112 bei mir passen die Anzeigen auch zum tatsächlichen Wert!
-
@tontechniker
Nein da machst du nichts falsch. Ich sollte da an der Stelle noch das Error logging rausnehmen. Da es tatsächlich ein eingeplanter "Fehler" ist. Die Authentifizierung ist in dem Moment bei dir abgelaufen und muss erneuert werden, das sollte natürlich einfach im Hintergrund gehandelt werden, ohne das du darüber informiert wirst. In der nächsten Version ist es raus. Ich würde dafür nur ungerne jetzt eine neue Version online nehmen, da sich sonst nichts geändert hat.
Wie oft kommt das bei dir vor? -
@a1development Genau das Verhalten hatte ich mit meinem PR gelöst. Das Problem ist, dass im Refresh State das getOperationData außerhalb des try catch ausgeführt wird. In dem catch block werden nämlich Anmeldefehler korrekt verarbeitet und sich neu verbunden. Es gibt also zwei Möglichkeiten (Fehler Logging auskommentieren ist für mich keine, da damit der Fehler ja nicht behoben ist):
- getOperationData in den Catch Block
- eine Funktion schreiben handleConnectError(err), die in jeden axios catch Block eingefügt wird
-
@a1development
Es wäre schön, wenn Du es bei einer der nächsten Versionen ändern würdest. Über die Anzahl der Meldungen kann ich noch keine Auskunft geben. Bei dem derzeitigen Wetter lasse ich den ROBBY nur fahren, wenn es sicher nicht regnet.
Danke und Gruß
Hans -
Ich bekomme nach Umstellung auf Admin 5.1.23 folgende "info":
boschindego.0 2021-08-08 13:34:43.900 info boschindego.0.config.automatic_state_refresh changed: false (ack = false)
Diese Info kommt sehr häufig (mehrmals in der Minute).
Habe den Adapter gestoppt wenn der Robby nicht in Betrieb ist. -
@withstu
Nur das Logging ausbauen ist natürlich keine Lösung des Problems da hast du vollkommen recht.
Der 401 ist ja in dem Fall der Fehler das die Authorisierung nicht mehr aktuell ist, weshalb dann ein neuer conenct gemacht wird. Da dies aber zwangsläufig irgendwann passieren muss, denke ich das hier an der Stelle das nicht als Fehler ausgegeben werden sollte, da es ja ein geplantes verhalten ist.Einen direkten connect im Falle eines Fehler im Catch Block halte ich für riskant.
Ich habe es aktuell so gelöst, das in dem Fall der Status connected = false gesetzt wird. Wenn jetzt die nächste Anfrage gestartet wird, wird im in dem Fall neu connected, und falls dann bei dem neuen conneten ein Fehler auftritt, dann wird auch der Fehler im Adapter ausgegeben.Zusätzlich debugge ich gerade einen Fehler den ich bis jetzt nur von einem Nutzer gemeldet bekommen habe, bei dem sich Anfragen anscheinend auftürmen. Aus dem Grund habe ich das jetzt so geändert, das jede Anfrage aktiv nur 1 mal offen sein kann und nicht ein zweites (x tes ) mal abgeschickt werden kann.
Das ganze muss ich noch was ausführlicher testen. Ist aber in der aktuellen Version 0.9.15 schon drin.