Skip to content

Add Gardena mower protocol features#148

Open
AlirezaT wants to merge 1 commit into
alistair23:mainfrom
AlirezaT:upstream-library-changes
Open

Add Gardena mower protocol features#148
AlirezaT wants to merge 1 commit into
alistair23:mainfrom
AlirezaT:upstream-library-changes

Conversation

@AlirezaT
Copy link
Copy Markdown

This ports the generic Automower/Gardena BLE protocol work from the Home Assistant Gardena BLE integration back into the Python library.

Included:

  • safer command response helpers that expose mower response results
  • serialized locked command flow for multi-step commands
  • keep-alive task cleanup on disconnect
  • schedule transaction helpers for reading, replacing, and clearing weekly tasks
  • Gardena-compatible SpotCut flow: prepare SpotCut, start timed override, then trigger start
  • additional protocol definitions for battery diagnostics, SensorControl/frost sensor, drive-past-wire, starting points, reversing distance, SpotCut, realtime sensor data, signal quality, firmware/hardware identity, and production info
  • parser support for signed 16-bit values and variable trailing integer fields, so GetTask works with both existing upstream fixtures and Gardena responses

Notes:

  • The new commands were tested from the Home Assistant integration against a Gardena Sileno mower and cross-checked with Gardena app BLE/HCI observations where available.
  • Some commands are model-dependent and may return NOT_AVAILABLE, INVALID_ID, or NOT_ALLOWED on mowers that do not expose that feature.

Validation:

  • python -m unittest discover
  • python -m compileall automower_ble tests
  • git diff --check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant