Closed lasry1 closed 3 months ago
Hi, I have the Flymo Easilife Go 500 and via bluetooth (BLE) it works to a degree, not 100% reliable but it will pair and send data back (mow and control commends don't work) - This HACS add-on uses Alistair's automower BLE application (https://github.com/alistair23/AutoMower-BLE/) so anything supported there is supported by this HACS add-on.
There is an ongoing issue I have that we're trying to work on to further support it: https://github.com/alistair23/AutoMower-BLE/issues/53
It doesn’t seem to find it. I get some errors through the error log. Could you guide me on how to continue?
your integration doesn’t have any text when i add it so i just add the mac address and then another sign appears with nothing but the bottom to proceed and after that it adds it with errors
Logger: automower_ble.mower Source: custom_components/husqvarna_automower_ble/config_flow.py:70 integration: Husqvarna Automower BLE (documentation, issues) First occurred: 17 July 2024 at 12:17:30 (8 occurrences) Last logged: 17:38:04
could not find device with address 'hola' [Characteristic] 98bd0003-0b0e-421a-84e5-ddbf75dc6de4 (Handle: 14): Unknown (read,notify), Error: Bluetooth GATT Error address=60:98:66:FB:8D:6F handle=14 error=5 description=Insufficient authentication [Characteristic] 98bd0003-0b0e-421a-84e5-ddbf75dc6de4 (Handle: 14): Unknown (read,notify), Error: Bluetooth GATT Error address=60:98:66:FB:8D:6F handle=14 error=15 description=Insufficient encryption
Logger: homeassistant.config_entries Source: config_entries.py:586 First occurred: 17:36:40 (2 occurrences) Last logged: 17:38:12
Error setting up entry Husqvarna Automower for husqvarna_automower_ble Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 586, in async_setup result = await component.async_setup_entry(hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/husqvarna_automower_ble/init.py", line 48, in async_setup_entry model = await mower.get_model() ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/automower_ble/mower.py", line 282, in get_model return self.response.decode_response_device_type(response) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/automower_ble/response.py", line 78, in decode_response_device_type return MowerModels[(data[19], data[20])]
KeyError: (30, 3)
I don’t really need to send commands but once I successfully integrate it, i will look into it to see i can add something to the issue.
For me, having the status is what i would love . To have HA alert me if an error shows up!
Thank you!
Hi, I spot the problem in your logs there:
[Characteristic] 98bd0003-0b0e-421a-84e5-ddbf75dc6de4 (Handle: 14): Unknown (read,notify), Error: Bluetooth GATT Error address=60:98:66:FB:8D:6F handle=14 error=5 description=Insufficient authentication
So it is correctly seeing your mower on MAC 60:98:66:FB:8D:6F but it's failing the pairing, you often have to do this a few times until it works.
Make sure you followed this part of the install guide:
BEFORE you enter the MAC address, power off your mower. Then power it back on and enter the physical PIN (if required). The mower goes into bluetooth pairing mode for up to 2 minutes which you need for this initial connection. Now enter the MAC address for your mower. Wait for it to add/search.
And keep reloading/restarting the integration until it pairs correctly for the first time, once that happens it should remain paired, the key is to fully power off your Easilife Go. On mine, I hold power off button for about 5-10 seconds, it'll briefly flash then go completely off. Then hold power button again, wait for it to power on and the lights will all be flashing waiting for your PIN, press the 4 keys in your pin sequence, then tell the Home Assistant integration to reload and see if it pairs then.
I'm going to put a PR into the upstream (the automower_ble library) to handle the KeyError more gracefully.
Actually, I just spotted another issue.
The library isn't the newest, so your model (Easilife go) isn't in the models array, this is seen by:
return MowerModels[(data[19], data[20])]
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
KeyError: (30, 3)
(30,3 is one of the easilife models)
I'm going to push an update to my HACS repo to update the library version in use.
Great thank you very much for your help, i will try this afternoon when i'm back at home and report back
Unfortunately, until the underlying library is updated to reflect the new models you won't be able to update and test.
https://pypi.org/project/automower-ble/#history
Is what we need to wait to be updated to reflect the recent changes to the library.
Fair enough, i actually don't understand where this repository takes the information from alistair23 / AutoMower-BLE repository but i can see on the models.py the 30,3 listed on his repository.
((30, 3), ModelInformation("Flymo", "Easilife Go Unknown (30,3)")),
Will it work if i change your repo HACS-husqvarna_automower_ble/custom_components/husqvarna_automower_ble /init.py on line 48
model = await mower.get_model()
and change it for:
model = await mower.get_model() except KeyError: model = "Easilife go 150"
Took this idea from https://github.com/alistair23/AutoMower-BLE/issues/55#issuecomment-2133905140
Hi, I believe I have worked around this now, I've changed the manifest in my hacs integration to use the development git library rather than the python pipi library, so if you update my HACS integration it should pull the latest library in and use that along with other bugfixes.
(BTW, yes the change to add the 30,3 model in would work but there are other library changes that I'd not taken into account)
Hello Andy,
That's great thank you again! I don't seem to get the update through my HA HACS on your repo. Will it be installed correctly if I re-install it?
I also tried accessing /usr/local/lib/python3.12/site-packages/automower_ble/ as you added on the readme but i haven't got a python3.12 folder in /usr/local/lib/
I'd guess you're on a different python version depending on which home assistant version you're on.
Take a look /usr/local/lib/pythonX.XX/ for your python version.
I forgot to push a release to my master repo which is why hacs wont have spotted it, I'll do that now.
I can see the update now, thanks! I actually updated it and restarted home assistant and i can see my Flymo now!! I didn't even pair it again as i'm at work and the mower isn't with me 😂 You're an absolute star!
I think you may be using docker? I'm using HASS OS on an Intel machine and If i go through the terminal or access through ssh i can only see a couple of fileswithin /usr/local/lib/ ( libjemalloc.so and libjemalloc.so.2 ) 🤷♂️
great news, I'll close this for now. Thanks for the feedback
Realise this was closed, but can I just check 2 things? I have the easylife 150, which after much faffing ( at my end) I can now get status, which is great. However none of the commands work/ lead to [automower_ble.mower] Response failed validation.
I wasnt clear from this issue, and https://github.com/alistair23/AutoMower-BLE/pull/64#issue-2358103864 whether I should now expect the commands to work.
Thanks for this work, my robot lawnmower and homeassistant are two of my favourite things :-)
none of the commands work yet. Just the status of sensors and they keep disconnecting and unavailable every few minutes. This repo is a work in progress see the link below:
none of the commands work yet. Just the status of sensors and they keep disconnecting and unavailable every few minutes. This repo is a work in progress see the link below:
Thanks for the clarification. Happy to help with any testing if it adds any value.
The second of the two things I forgot to ask ! Can you pair both the app and homeassistant at the same time ? Or do you need to re-pair whenever you want to use the app/homeassistant ?
i'm happy to help too but i'm not familiar with BT (sniffing and debugging) and the only android phone i have laying around it's from the prehistoric. 😆 but i'm extremely grateful and this is enough for me triggering an alert if an error happens for now
I struggled when i wanted to mow on a day it wasn't scheduled to do it... i had to disable the integration, wait a bit and then connect again with my phone... After enabling the repo, i didn't have to pair the unit again but i struggled to connect to it again. I don't know what happened and more testing is needed as my solution was to reinstall the code on the BT Gateway (essentially to reboot the ESP32 but it's my lazy way of doing it)
https://github.com/alistair23/AutoMower-BLE/issues/53#issuecomment-2254270144
Its working now for me
did you get it working with this repo or modifying Alastair's?
Hi,
does this work for the Flymo Easilife Go? The one that only has bluetooth and has a Flymo app but is part of the Husqvarna group/design
let me know as i tried and it didn’t work, i don’t know if it’s because of the integration or my BT proxy which i had already installed and running but only with passive BT connections even though i have the active set to on
thank you