Skip to content
This repository has been archived by the owner on Apr 5, 2021. It is now read-only.

Charge command fails if it's already charging #56

Open
guillebot opened this issue Nov 22, 2018 · 1 comment
Open

Charge command fails if it's already charging #56

guillebot opened this issue Nov 22, 2018 · 1 comment

Comments

@guillebot
Copy link

If its cleaning, sucks charge works ok:

sucks.cli DEBUG waiting on charge_status for value charging sucks DEBUG *** charge_status = returning sucks DEBUG *** charge_status = returning sucks DEBUG *** clean_status = stop fan_speed = None sucks DEBUG *** sending ping *** sucks DEBUG *** charge_status = charging sucks.cli DEBUG wait complete; charge_status is now charging done

But if its charging,

sucks.cli DEBUG waiting on charge_status for value charging sucks DEBUG *** charge_status = returning sucks DEBUG *** sending ping *** sucks DEBUG *** sending ping *** sucks DEBUG *** sending ping ***

it keeps as this forever.

In my particular use case I will try to use the library, but perhaps you would like to correct that for cli users.

Thanks again.

@wpietri
Copy link
Owner

wpietri commented Nov 22, 2018

Interesting! When I tried it the first time, the vaccum re-parked itself, so it worked just fine. But when I tried it the second time, I got a different result:

DEBUG    SEND: <iq id="06c..." type="set" from="2017...b1" to="E0..."><query xmlns="com:ctl"><ctl td="Charge"><charge type="go" /></ctl></query></iq>
DEBUG    RECV: <iq to="2017...b1" type="result" from="E0..." id="06c..." />
DEBUG    waiting on charge_status for value charging
DEBUG    RECV: <iq to="2017...b1" type="set" from="E0..." id="3459"><query xmlns="com:ctl"><ctl td="ChargeState"><charge type="Going" /></ctl></query></iq>
DEBUG    *** charge_status = returning

The vacuum, however, wasn't going anywhere. It just sat on its base. So this appears to be a bug in the vacuum itself where it lies about its state.

I'm not sure how to solve this. Perhaps the best thing to do is to query state before charging and then just skip sending the charge command? That breaks a symmetry the current code relies on, though, so perhaps there's a simpler fix.

Thanks for reporting it!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants