Commit Graph

23 Commits

Author SHA1 Message Date
Greg Laabs 276721e280 Fix lifespans being reported much lower than reality
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.
2018-07-29 15:22:31 -07:00
Greg Laabs 930e475905 Const and logging cleanup, addition of is_cleaning and is_charging
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.
2018-07-19 12:18:22 -07:00
Greg Laabs df44def7c5 Add tests, and fix some edge cases revealed by tests (yay!) 2018-07-15 15:19:40 -07:00
Greg Laabs 269749e0ea Add event emitters, error handling, vacuum state and lifespan tracking
Tons of cleanup alongside a lot of new functionality. BotVac now provides an overall vacuum state as a single state, and can emit events to subscribers every time the state changes, as well as any lifespan or battery changes.

The BotVac can also now be created in a `monitor` mode, meaning the BotVac object will handle fetching initial state, refetching state after the BotVac goes offline then online, and regularly checking in on component lifespans.

All statuses are also now normalized so that the BotVac's reported statuses always match the names defined by the sucks library.
2018-07-13 22:10:24 -07:00
William Pietri 7ee7a2457a Merge branch 'master' into server-argument 2017-12-22 00:36:27 -05:00
Torbjörn Axelsson e7ad30eac0 Removed error handler in EcoVacsXMPP
The _handle_error method was throwing a runtime error because it expects an XML element

The functionality in _handle_error is covered by _handle_ctl so it can be removed altogether
2017-12-21 18:51:47 -08:00
Torbjörn Axelsson 8aafc37cd0 XMPP server address as optional argument 2017-12-21 18:39:59 -08:00
William Pietri d300df99eb Moving waiting logic to CLI. 2017-12-19 16:01:16 -08:00
Torbjörn Axelsson aab8d769aa Fixed mistake in ChargeAndWaitForCompletion command 2017-12-16 17:03:56 -08:00
Torbjörn Axelsson 66d73f7cf0 VacBotCommand class updated and more commands added 2017-12-16 15:26:57 -08:00
William Pietri d6e4f7d5c5 Events now flow to Vacbot as reasonably sane dicts. 2017-12-12 11:49:10 -08:00
William Pietri fbd3c3d85a Seeing if I can split the XMPP responsibilities from the vacuum responsibilities. 2017-12-11 16:14:52 -08:00
William Pietri 5dcb819d6a Merge pull request #14 from OverloadUT/fix-command-formatting
Fix for commands that need to be CamelCased
2017-12-09 13:16:33 -08:00
Greg Laabs b32ced6f5a Lowercase the args tag when building the command XML
The args tag is always lowercase, while the command name is Capitalized or CamelCased
2017-12-08 19:42:34 -08:00
Greg Laabs 072db977ef Stop capitilization adjustment on commands, allow None for args
The capitalization adjustment was breaking any commands that required CamelCase, such as GetChargeState. Args are not needed for commands such as GetChargeState, so the xml will no longer build that array if it's set to None.
2017-12-08 16:10:48 -08:00
Greg Laabs 53fad263b1 Save battery status to VacBot
Makes battery status available as a public property on VacBot
2017-12-08 15:27:25 -08:00
William Pietri d52dd40f6e Fixing bad merge. 2017-12-05 15:15:29 -08:00
William Pietri 7daa4c837f Extracting duplication. 2017-12-05 15:11:37 -08:00
William Pietri 0b5a4b6d51 Merge branch 'master' of https://github.com/Zenconomy/sucks into Zenconomy-master 2017-12-05 15:05:17 -08:00
William Pietri 60a74e6549 Minor tidying and removing unused instance variables. 2017-12-05 14:51:11 -08:00
Torbjörn Axelsson 84139df7a7 Implemented XMPP ping 2017-12-05 14:32:25 -08:00
Torbjörn Axelsson e1208e2dfe Added handler for error messages from bot in VacBot class 2017-12-05 10:16:25 -08:00
William Pietri 7a39d7e271 Preparing for PyPi submission. 2017-12-04 14:11:27 -08:00