Add Gardena mower protocol features#148
Conversation
|
Sorry about the long delay! Overall this looks good. It does need a rebase and the ruff CI tests need to pass. It would be great (although not required) if you could split the PR up into some smaller independent PRs. That way if something breaks it's easy to figure out exactly what change causes the breakage. I'm also not clear on why we need Can you provide a few more details? |
c46ba8f to
9eca09c
Compare
|
Thanks! I rebased the branch on current main and fixed the ruff issues. Locally I now have:
About the command response helpers: these are mainly to let callers distinguish protocol-level mower response results such as OK, NOT_AVAILABLE, NOT_ALLOWED, OUT_OF_RANGE, DEVICE_BUSY, etc. The existing command helper is convenient when a command succeeds, but integrations also need to know when a mower model explicitly does not support a command or temporarily rejects it. That allows unsupported features to be disabled or skipped cleanly instead of repeatedly polling them and only seeing None/log noise. About the locked command flow: the mower replies through one shared BLE notification queue. If two commands are allowed to overlap, one caller can consume the response intended for another command. The lock keeps command/request/response ordering serialized. The locked helper is for higher-level multi-step flows that already hold the command lock and need to send several commands without another command interleaving between them. This is useful for transaction-style operations such as schedule updates, where the sequence needs to remain ordered. |
9eca09c to
e084a9e
Compare
|
Still a ruff format issue |
0695cf8 to
a9d2baf
Compare
|
Thanks for pointing this out. I rebased the PR branch on the current upstream Current status from GitHub is now:
I also reran the checks locally after the rebase:
Could you please trigger/approve the workflows again when you have a moment? |
|
@alistair23 hope this is merged soon so I can finalize my Homey app this weekend 🙏. |
This ports the generic Automower/Gardena BLE protocol work from the Home Assistant Gardena BLE integration back into the Python library.
Included:
Notes:
Validation: