Skip to content

v2.2.0 — protobuf-family unification + real device-read state + mesh reliability

Latest

Choose a tag to compare

@ljmerza ljmerza released this 07 Jul 02:07
b730994

What's Changed

Features

  • Unify the protobuf-family devices (Gen2 HT25G2 + XD HT34A/HT32A) into one BHyveProtobufDevice with real device-read state decoded from the hardware-verified #16 status block: run-state, active zone, seconds-remaining, battery mV, #30 watering-status, rain-delay, and flow. Adds a rain-delay number + "Rain delay ends" sensor, a Gen2 Flow rate gauge + "Check flow" button, live battery, and connection-health diagnostics ("Last successful poll" / "Consecutive timeouts" / "Watering ends"). #15{} is the canonical refresh_state() (reads real state on any poll — scheduled/app/button runs, not just HA commands), with a wall-clock auto-close backstop. Backwards-compatible; existing entities keep their identities. (#24)

Bug Fixes

  • Back-to-back mesh actuation no longer throws BluetoothGATTAPIError: Not connectedsend_actuation now drops a stale pooled session and reopens a fresh one instead of surfacing the error to the service call. (#26)
  • Sync button now forces a BLE connect on mesh devices, restoring on-demand battery/state refresh (it had become a no-op on mesh). (#27)
  • Connected sensor is now event-driven on mesh — it reflects device reachability instead of the torn-down live socket (which pinned it off). (#29)
  • HT34A/XD: read seconds-remaining from #16.#6.#5, not #16.#6.#7. (#21)

Documentation

  • BLE protocol reference + reverse-engineering notes. (#22)
  • Correct run-progress field mapping. (#20)
  • BLE transport-reliability & hardware-verified behavior notes (Gen2 + XD). (#18)

Full Changelog: v2.1.2...v2.2.0