It wasn't because of a space.... The tests were failing depending on the run because the xml string may have the id in a different order from run to run.
Changed test to convert string to xml for testing id exists or matches customid.
- Changed ClientXMPP to login/bind with resource
- Changed clean to always add the action
- Wrap command calls a new getReqID to add an ID to the ctl if needed
- This was required for the ozmo commands, and shouldn't affect other boths
- Updated tests
Update SpotArea and CLI command to more closely reflect the app
Library:
SpotArea namedarea -> area
SpotArea customarea -> map_position
CLI Commands:
spotclean -> area
Ex: sucks area 0,1
- will clean areas 0 and 1 / A and B
area options:
--map-postion|-p
- will clean a specified map coordinate
Ex: sucks area -p "-602,1812,800,723"
- will clean the specified custom map coordinates
Original implementation assumed that the "total" value from the API response was the denominator for lifespan, but this was incorrect. The "val" from the `life_span` message is the percentage represented as a whole number, with no dividing necessary.
All sucks vocabulary is now defined up-front in consts, so that library users can import those const instead of hard-coding them.
is_cleaning and is_charging properties were added to VacBot, avoiding library users to have to understand which vacuum statuses mean active cleaning.
All logging has been moved to instantiated loggers using the module's namespace, as is recommended by the Python docs.