Sdahl1234 / Sunseeker-lawn-mower

10 stars 4 forks source link

Error when device goes offline #3

Closed povlhp closed 3 months ago

povlhp commented 4 months ago

Tried to make an automation to pause charging at 85%, and send it back to dock earlier.

Now when my Mower is offline, I get this error (which is wrong error message) back when trying to send commands to it. Failed to call service lawn_mower/dock. SunseekerDataCoordinator.dataupdated() missing 1 required positional argument: 'schedule'

I had issues sending "Home" command to my Mower, I thought I had to send pause first, then home. Not sure if this is needed ? Or maybe my failures on "Home" was due to unreachable device. So I changed logic to Pause, wait for state change, then Home. But this left my robot helpless out of WiFi range.

Do I need pause before Home ? We need a little more description. I assume actions are Async ? Send one command to server, and robot picks up when it wants to do so. Only 1 command in queue.

Sdahl1234 commented 4 months ago

Yes, You have to pause the robot before sending it home. Just like the app. Commands are send with post's and updates are received from a mqtt server.

If the robot is idle for 10 min and away from the dock it turn itself off.

It works like this: The integration always listen to mqtt messages from the server and updates the entities. The integration sends a commands and get a response. You can always read the last response in the error sensor. If the state is "normal" the last command was ok. If the command makes any changes the server sends a mqtt message and the integration updates the values.

I'm not sure if the robot needs to receive the command before the mqtt message is send. My robot is always in wifi zone and gets the updates right away.

Sdahl1234 commented 3 months ago

wrong parameter error is fixed