Skip to content

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 13:12
· 8 commits to main since this release

Release v1.3.0

Added

  • Added hardware-verified Scuba_S1_2025 clean-path support using the official
    app's AT+AUTO? query and AT+AUTO=0/1 set contract. This model no longer
    uses speculative REST, shadow, or fallback command variants for clean path.
  • Added the app-derived Scuba_S1_2025 cleaning-mode profile: Auto, Floor,
    Wall, and Scheduled. The S1 now queries with AT+MODE?, writes only the
    corresponding AT+MODE=1/2/3/5 commands, and no longer exposes Waterline.
  • Added bounded S1 clean-path write confirmation so stale immediate readback
    cannot briefly revert a newly acknowledged selection in Home Assistant.
  • Added an explicit S1 capability profile that retains the observed MicroMesh
    consumable while suppressing unsupported temperature, charge-type, roller,
    tread, and propeller entities.
  • Fixed Scuba_S1_2025 post-cycle charging reconciliation. A fresh REST
    charging status now supersedes an hours-old MQTT Cleaning/Wet report and
    coherently reports Charging, Not running, Dry, Mode 0, and zero active
    cleaning runtime. If explicit status is absent, three increasing battery
    samples spanning at least two minutes may provide the same fallback only
    when no newer MQTT Machine report exists. Diagnostics identify the trigger
    used. Other device models retain the existing MQTT precedence.
  • Fixed the S1 flipping from Wet to Dry when a fresh REST poll reports Cleaning
    together with a stale in_water=0. For this model, active Cleaning is always
    Wet. Observed status 10 represents parking underwater and remains Wet when
    REST omits a newer water-state report.
  • Fixed recent MQTT lifecycle state being retained indefinitely over newer REST
    status. MQTT now remains authoritative per field for two polling intervals;
    after that, fresh REST can update running, status, charging, and mode. Active
    cleaning remains visible even when the independent cloud-online flag is
    false, and redacted diagnostics report each field's source and age.
  • Fixed MQTT remaining disconnected after temporary AWS credentials expire or
    the AWS IoT connection is interrupted. REST-backed entities stay available,
    signing credentials refresh without blocking Home Assistant, and a
    rate-limited watchdog rebuilds and re-subscribes prolonged connections.
    Device callbacks are retained even when MQTT is unavailable during initial
    setup, and diagnostics expose connection-recovery timing without credential
    material.
  • Persisted the last confirmed Scuba_S1_2025 clean-path preference across
    integration restarts. S1 path and mode queries now also run on an independent
    five-minute timer, so frequent MQTT push updates cannot postpone them by
    continually resetting the general coordinator refresh.

Full Changelog: v1.2.4...v1.3.0