Closed sHedC closed 1 year ago
@ufozone - I was thinking of bluetooth in the future if I ever get to understand it. I did sniff the Bluetooth but don't much understand it.
I have a bluetooth proxy for HASS, low power has bluetooth and wifi was thinking of either installing by the base station or inside the robot. It's a future project :)
You can find my Options and Config Flow here: https://github.com/ufozone/ha-zcs-mower/blob/main/custom_components/zcsmower/config_flow.py
I think the following breaking changes will be necessary:
@ufozone - I see your zcs mower is much more complete is it worth me doing an Ambrogio integration or contribute to your ZCS one? I see your ZCS seems to be for Ambrogio but you mention other robots?
I have updated the configure to pick up the settings from the firebase API but not yet done anything on the ID as not had a lot of time.
@sHedC - Both integrations are slightly different in base. At a certain stage of development, I could no longer maintain both integrations in parallel. Authentication in my ZCS integration is still via the client key. The Firebase Auth would be much more comfortable - but I don't have time for the implementation.
ZCS Zucchetti has several brands under which it sells lawn mowers - Ambrogio, Techline, Wiper, ... Different name, same hardware, same functions, same Connect module, same API, same commands....
Ambrogio-only integration is not worth it from my point of view - only for discoverability for end users. Your repository has already spread in some forums and is more findable on Google than mine.
@ufozone - Ok makes sense I will continue.
I will look to separating out the API logic to its own module maybe that will make some sense if it becomes useful, like I did with the MasterthermConnect module.
Didn't know my integration was a topic of conversation :)
In the first step, we authenticate against the Google API service with email address and password:
We get an JSON formatted response with important tokens:
Next step, we create a websocket connection to Firebase API
Authentication and get with this account connected lawn mowers:
Through this way we could do in config flow the authentication by email and password and get the IMEI of the robots this way. We would then also have the model. However, the path is also more fragile against changes to any of the API.
I believe that we can also determine the model from the serial number that we get via the Devicewise API. In the example above, you can see that I have an L35 Deluxe and my serial number starts with AM035. However, I have too few robots (only one) to verify this. ;-) If we knew more, we could create a mapping.
The mobile app only gets the battery level via bluetooth. We would have to sniff the bluetooth traffic for this. I have not opened this Pandora's box yet.
Originally posted by @ufozone in https://github.com/sHedC/homeassistant-ambrogio/issues/22#issuecomment-1532979020