Skip to content

v0.34.1-beta.10

Pre-release
Pre-release

Choose a tag to compare

@cmgrayb cmgrayb released this 29 Jun 03:38
  • Fix DysonDustMapImage._build() v2 condition: replace
    'if download_url and not dust_map_model' with
    'if not dust_map_model and clean_id' so the v2 cloud-fetch
    path is taken for devices (e.g. RB05) that omit downloadUrl
    from the clean-maps response but do provide a clean_id

  • Add _render_v2_floor_plan_png(): renders zone boundary line
    segments (zones[i].presentation[j].{start,end}) from the
    CleanMapResponse on a white canvas with a dock location
    indicator; APK-decompiled PersistentMapResponse confirmed
    the v2 persistent-maps endpoint returns vector zone data
    rather than a pre-rendered PNG

  • Add _fetch_v2_floor_plan_image(): fetches the same
    clean-maps-data payload already used for dust maps and
    renders it as a floor plan; cached in _floor_plan_cache
    (6-hour TTL) keyed as '{serial}:fp:{clean_id}'

  • Update DysonFloorPlanImage._build(): after Map Visualizer
    returns 404 (expected for v2 devices), now falls back to
    _fetch_v2_floor_plan_image() using the latest clean_id

  • Add _floor_plan_cache TTLCache (6-hour TTL)

  • Update module docstring to reflect all three floor plan
    rendering strategies

  • Bump version to 0.34.1-beta.10

  • Add 14 new tests (109 total): TestRenderV2FloorPlanPng (9),
    TestFetchV2FloorPlanImage (3), updated dust map condition
    tests (2 new/updated)