Anthbot Map v2.4.6.5
Reliability and Home Assistant Recorder hotfix release built on v2.4.6.4.
Fixed
- Removed synchronous runtime reads of
manifest.jsonfrom Home Assistant's event loop. Developer opt-in, developer agent/reporting and firmware diagnostics now use the bundled integration-version constant. - Hardened automatic diagnostics deduplication. Request-specific S3/cloud fields such as
RequestId,HostIdand signed URLs no longer make the same persistent map/path/live error look like a new failure on every retry. - Ensured only one automatic-diagnostics listener can be installed per coordinator and added episode-clear and hard-repeat guards.
- Added a second M5/M9/M9 Pro
iot_map.bindecoder path: the existing vector-boundary format remains preferred, with the proven LZ4 raster decoder used as fallback. - Added an M9/M9 Pro-only final map-manager rescue path: when the current serial-named archive is valid but
iot_map.binis still an unknown encoding, usablearea_setting.jsonmanual-zone geometry is converted to the same convex-hull fallback boundary already used by the frontend instead of falling through to the known-missingmulti_maps/map_<serial>_0object. M5 and N8 are not routed through this rescue path. - Added privacy-safe map-manager probe diagnostics so failed decode/download stages remain visible even if a legacy fallback later returns a different 404.
- Reduced excessive Home Assistant Recorder churn found in field data from a 14.6 GB SQLite database:
- removed fast-changing shared mower attributes from unrelated sensor and binary-sensor entities;
- stopped task-event age counters from changing entity attributes every update;
- reduced progress/no-go debug state churn;
- limited dedicated pose/GPS and device-tracker state writes to 10 seconds;
- limited the always-ready Map entity to one Home Assistant state write every 5 seconds while the coordinator continues receiving live cloud updates at full speed;
- removed
cloud_last_successas a per-live-flush Map state-change source.
- New diagnostic uploads include only the last four characters of the mower serial for human identification; the full serial remains omitted from automatic uploads.
Important database note
This release prevents/reduces future ANTHBOT Recorder growth. It intentionally does not delete existing Home Assistant history. A database that already grew to several GB will stay large until old ANTHBOT history is purged and SQLite is repacked by the Home Assistant user/admin.
Scope protection
No mower command routing is changed in this release. Genie, M5/M9-family and N8 control paths remain separated. The raster fallback remains M-series guarded, while the final area-zone-hull rescue is M9/M9 Pro-only and does not alter M5 or N8 control/map routing.
ANTHBOT Map 2.4.6.5 – változások
Ez a kiadás a 2.4.6.4 stabil működésére épül, és célzott megbízhatósági, diagnosztikai és Recorder-javításokat tartalmaz. A Genie, M5, M9/M9 Pro és N8 vezérlési útvonalai továbbra is külön maradnak.
Home Assistant event-loop blokkolás
- Megszűnik a
manifest.jsonszinkronread_text()/open()olvasása a Home Assistant event loopból. - A runtime verziólekérés közös
INTEGRATION_VERSIONkonstanst használ. - A javítás érinti a Developer Opt-in, Developer Agent, developer reporting és firmware-diagnosztika útvonalakat is.
- Regressziós teszt védi, hogy ezekbe a runtime modulokba ne kerülhessen vissza blokkoló manifest-olvasás.
Automatikus diagnosztikai riportok
- Ugyanaz a
map_definition_error,path_definition_errorvagylive_shadow_errornem generálhat több száz riportot csak azért, mert a cloud/S3 válaszban változik aRequestId,HostIdvagy a presigned URL. - A hibák stabil, normalizált signature-t kapnak.
- Coordinatoronként legfeljebb egy automatikus diagnosztikai listener települhet.
- Egy rövid köztes
Noneállapot nem nullázza azonnal a hibát: az állapotnak legalább 60 másodpercig ténylegesen tisztának kell lennie, mielőtt ugyanaz a hiba új epizódnak számít. - Ugyanarra a stabil signature-re egy további 1 órás hard repeat guard is érvényes.
- A no-go signature nem használja a minden új útvonalszegmenssel változó számlálókat.
M5 / M9 / M9 Pro térkép
- A
map_manager_<serial>.tar.gztovábbra is a sorozatszám-alapú aktuális M-series térképforrás. - Az
iot_map.binmeglévő vektoros dekódere mellé bekerült egy második, LZ4 raster fallback a már bizonyított ANTHBOT map-raster dekóderrel. - M9/M9 Pro esetén bekerült egy végső, modellhez kötött map-manager mentőút is: ha az aktuális archívum érvényes, de az
iot_map.binegyik ismert formátumban sem dekódolható, a használhatóarea_setting.jsoncustom_areasgeometriájából ugyanaz a convex-hull alapú fallback határ készül, amelyet a frontend már korábban is végső megjelenítési tartalékként használt. Így az M9 nem esik tovább a bizonyítottan hiányzómulti_maps/map_<serial>_0objektumra. - Ez a végső zone-hull mentőút csak M9/M9 Pro modellnél aktiválódik; M5 és N8 nem kerül erre az útvonalra.
- Ha a map-manager archívum lejön, de az
iot_map.binegyik formátumban sem ismerhető fel, a diagnosztika ezt most külön jelzi, ahelyett hogy csak a későbbi legacymulti_mapsfallback 404 hibája látszana. - A diagnosztikában megjelenik a map-manager probe állapota, az archívum neve, az
iot_map.binjelenléte/mérete és a dekódolási eredmény. Presigned URL vagy hitelesítési adat nem kerül a riportba. - A logikai
map_id/area_id/plan_idés a raster map id továbbra is külön protokollazonosítóként kezelendő.
Home Assistant Recorder / adatbázis-növekedés
A terepi mérés során egy friss telepítés home-assistant_v2.db fájlja 14,6 GB-ra nőtt. A lekérdezés több, egymástól független ANTHBOT binary sensornál pontosan azonos, több százezres state-sorszámot mutatott. Ennek fő oka az volt, hogy gyorsan változó közös attribútumok (mowing_time, mowing_area, státuszadatok stb.) minden normál sensorra és binary sensorra rákerültek.
A 2.4.6.5-ben:
- megszűnik a gyorsan változó közös attribútumok fan-outja a normál sensorokon és binary sensorokon;
- a cloud task-event életkor másodpercenként változó attribútuma nem kényszerít felesleges state-változást;
- a mowing-progress részletes debug payloadjai nem kerülnek rá minden normál state-frissítésre;
- a
no_go_path_crossingRecorder-szempontból csak epizódszintű adatokat tart meg, a minden ponttal változóchecked_point_count/checked_segment_countnem ír új sort; - a külön pose/GPS sensorok és a device tracker legfeljebb 10 másodpercenként írnak új Home Assistant state-et;
- a Map entity legfeljebb 5 másodpercenként ír Home Assistant state-et, miközben a coordinator továbbra is teljes sebességgel fogadja a cloud live-shadow adatokat;
- a minden live flushnál változó
cloud_last_successnem kényszerít önmagában új Map state-et.
A javítás a jövőbeli adatbázis-növekedést csökkenti. A már meglévő több GB-os Recorder-adatbázist biztonsági okból az integráció nem törli és nem repackeli automatikusan. A régi ANTHBOT history egyszeri törlése/repackje külön, felhasználói jóváhagyással végezhető el.
Riportok robotonként
- Az új automatikus riportok a teljes sorozatszám helyett csak a biztonságos utolsó 4 karaktert (
serial_suffix) adják át a Reporting Servernek. - Így két azonos típusú robot megkülönböztethető például
…0046és…0110formában anélkül, hogy a teljes S/N automatikusan kikerülne.
Kompatibilitás
- A módosítások nem változtatják meg a mower start/pause/resume/stop parancsokat.
- Genie, M-series és N8 parancs-routing továbbra is elkülönített.
- Az LZ4 raster map fallback M-series guarded marad, a zone-hull végső mentőút pedig csak M9/M9 Pro; az N8 saját modellguardja és vezérlési útvonala változatlan marad.