Skip to content

0.2.0

Choose a tag to compare

@marcomc marcomc released this 25 Apr 10:48
· 35 commits to main since this release
4ec015a

Added

  • Added modular web localization with packaged locale catalogs, a Settings
    language selector, persisted web.language config, automatic browser/system
    language detection by default, and initial support for English, Simplified
    Chinese, Hindi, Spanish, Arabic, French, Bengali, Portuguese, Russian, Urdu,
    German, and Italian.
  • Added a Raspberry Pi USB-OTG image-export hardware test helper and
    Samsung SPF-71E compatibility image generator for validating a
    read-only mass-storage gadget before implementing automated exports.
  • Added a disabled-by-default USB OTG image-export setting with device
    controller detection, warning text when the gadget path is unavailable, and
    installer support for USB-OTG helper packages.
  • Added reversible USB OTG boot-mode preparation and restore actions for the
    Settings page, backed by a root-scoped helper that edits Raspberry Pi boot
    config with timestamped backups.
  • Added automated USB OTG frame-image export for battery overview pages and a
    Fleet Trend chart, including configurable output size, format, light/dark
    appearance, refresh cadence, overview density, and a manual export action.
  • Added USB OTG-specific Fleet Trend frame settings for metric selection,
    history range, and included devices, independent of the web UI display
    defaults.
  • Switched USB OTG frame image generation to Chromium screenshots of the hidden
    frame-render pages so Diagnostics preview and exported drive images share the
    same renderer.
  • Start USB OTG frame-image regeneration in the background after saving USB OTG
    image-export settings when export is enabled, so Settings redirects without
    waiting for screenshots and drive reattachment to finish.
  • Added a USB OTG drive refresh action that reattaches the existing backing
    disk image without regenerating frame images.
  • Added Settings warnings for aggressive gateway polling intervals below
    300 seconds and for USB OTG exports that run faster than gateway polling,
    plus clearer USB OTG Backing disk image wording.
  • Added a Settings action to shut down the Raspberry Pi safely from the web UI,
    plus installer-managed scoped sudo permissions for restart, reboot, and
    shutdown host-control actions.
  • Added a dedicated BM300 Pro/BM7 live polling driver, selected from the
    configured device type, with voltage, state-of-charge, temperature, RSSI, and
    device-state support kept separate from the existing BM200/BM6 driver.
  • Added commercial device type choices for BM6, BM7, BM300, BM300 Pro, BM900,
    and BM900 Pro while keeping them mapped to the existing isolated driver
    families.
  • Added freeform overview colors with a native color picker, while preserving
    the existing color presets for quick selection.

Fixed

  • Fixed Raspberry Pi service refreshes so deployments preserve USB OTG Fleet
    Trend metric, range, and device-selection settings instead of dropping them
    from config.toml.
  • Fixed USB OTG Battery Overview frame captures so overview cards fit inside
    the exported image and added a latest-sample timestamp to the frame title.
  • Tightened USB OTG Fleet Trend frame captures by removing the outer chart
    wrapper gap and expanding the plot to the frame edges.
  • Fixed USB OTG Chromium screenshot sizing by compensating for Raspberry Pi
    headless Chromium's outer-window inset before cropping to the configured
    frame dimensions.
  • Fixed USB OTG Fleet Trend frame title clipping by giving the compact title
    line enough vertical room and lowering the frame header while retaining
    horizontal ellipsis.
  • Constrained the root USB OTG drive helper to safe backing-image and gadget
    name policies, and removed unnecessary Linux capabilities from the web
    service unit.
  • Fixed USB OTG settings validation so bad numeric form values return an
    in-page validation error instead of disconnecting the web request.
  • Fixed manual USB OTG frame exports so the explicit export action can force a
    one-off image generation even when automatic USB OTG exports are disabled.
  • Fixed web-triggered background USB OTG frame exports so saving settings
    reuses the last stored snapshot instead of starting a concurrent polling run.
  • Fixed settings-triggered USB OTG frame exports so repeated saves do not start
    concurrent drive-update workers.
  • Fixed Settings status text so repeated saves do not claim a new USB OTG frame
    export started while an existing export is already running.
  • Fixed BM6-family current-state parsing so device status code 2 displays as
    charging instead of being forced to normal.
  • Fixed USB OTG frame device selection so Battery Overview frame images honor
    the selected frame devices instead of only Fleet Trend charts.
  • Fixed USB OTG Battery Overview frame layout so three selected devices render
    in one row and larger selections paginate into balanced frame pages.
  • Fixed Diagnostics frame preview links so every generated Battery Overview
    frame page is available when selected devices span multiple pages.
  • Fixed USB OTG Battery Overview frame status rendering so battery state,
    offline, and error conditions match the Home Battery Overview.
  • Fixed bm-gateway run --dry-run --export-usb-otg-now so dry-run mode skips
    USB OTG drive writes instead of forcing an export.
  • Fixed USB OTG export scheduling so future-dated export markers are treated as
    stale and exports can resume immediately.
  • Fixed USB OTG image-size validation so config values above the helper's
    4096 MB limit are rejected before export.
  • Restored and documented USB OTG host-mode restore behavior so BMGateway
    removes any [all] peripheral-mode dwc2 overlay when it owns the boot-mode
    setting.
  • Fixed USB OTG Fleet Trend frame latest-value rows for duplicate device names
    by matching values with unique series identifiers.
  • Updated the config schema for web.language and the [usb_otg] settings so
    packaged examples, runtime validation, and schema documentation stay aligned.
  • Tightened the USB OTG root helper so sudo-launched drive exports copy only
    top-level readable files owned by the original sudo caller.
  • Tightened installer privilege setup so --disable-web removes the web action
    sudoers policy instead of leaving passwordless web-service actions installed.
  • Fixed device creation from the web UI so saving a new device redirects
    immediately while the first live polling cycle starts in the background.
  • Reworked the Home Battery Overview so it uses responsive browser-measured
    pagination with at most two rows, instead of a user-configured visible-card
    limit.
  • Refined History and Devices card lists with a clearer Batteries selector,
    responsive selector pagination, larger device badges, and shorter mobile edit
    actions.