Compare commits

..

4 Commits

Author SHA1 Message Date
bittles e24360fe91 Merge pull request #14 from bittles/dev
Fix import API_PORTAL_URL_FORMAT
2023-01-16 13:22:43 -05:00
bittles 22b541caf1 Merge pull request #13 from bittles/dev
split out api module
2023-01-15 17:16:53 -05:00
bittles 455320c50e Merge pull request #12 from bittles/dev
import EcoVacsAPI back into mqtt library
2023-01-15 15:35:54 -05:00
bittles d7a7b2d185 Merge pull request #11 from bittles/dev
fixes for newer python versions
2023-01-15 15:11:04 -05:00
3 changed files with 7 additions and 34 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"domain": "ecovacs", "domain": "ecovacs",
"name": "Ecovacs Bumper", "name": "Ecovacs Bumper",
"version": "1.5.3", "version": "1.5.1",
"documentation": "https://github.com/bittles/ha_ecovacs_bumper", "documentation": "https://github.com/bittles/ha_ecovacs_bumper",
"issue_tracker": "https://github.com/bittles/ha_ecovacs_bumper/issues", "issue_tracker": "https://github.com/bittles/ha_ecovacs_bumper/issues",
"requirements": ["sleekxmppfs==1.4.1", "requests>=2.18", "pycryptodome>=3.4", "pycountry-convert>=0.5", "paho-mqtt>=1.4", "stringcase>=1.2"], "requirements": ["sleekxmppfs==1.4.1", "requests>=2.18", "pycryptodome>=3.4", "pycountry-convert>=0.5", "paho-mqtt>=1.4", "stringcase>=1.2"],
+1 -28
View File
@@ -7,7 +7,6 @@ import os
from sleekxmppfs.xmlstream import ET from sleekxmppfs.xmlstream import ET
from sleekxmppfs.exceptions import XMPPError from sleekxmppfs.exceptions import XMPPError
#from . import sucks_api
from .sucks_mqtt import EcoVacsIOTMQ from .sucks_mqtt import EcoVacsIOTMQ
from .sucks_xmpp import EcoVacsXMPP from .sucks_xmpp import EcoVacsXMPP
@@ -106,40 +105,14 @@ class VacBot():
getattr(self, method)(ctl) getattr(self, method)(ctl)
def _handle_error(self, event): def _handle_error(self, event):
if 'error' in event or 'errs' in event:
error = '' # init error var so it's available outside of first if loop
if 'error' in event: if 'error' in event:
error = event['error'] error = event['error']
elif 'errs' in event: elif 'errs' in event:
error = event['errs'] error = event['errs']
if not error == '':
self.errorEvents.notify(error) self.errorEvents.notify(error)
LOGGER.error("*** error = " + error) LOGGER.error("*** error = " + error)
# if not error == '':
# Errors
# The bot broadcasts error codes for a number of cases.
# <ctl td="error" error="BatteryLow" errno="101"></ctl>
# The latest error can be requested like so:
# Request <ctl td="GetError" />
# Response <ctl ret="ok" errs="100"/>
# However in some cases the robot sends to code 100 shortly after an error has occurred, meaning that we cannot trust the GetError request to contain the last relevant error. For example, if the robot gets stuck it broadcasts 102 HostHang, then proceeds to stop and broadcasts 100 NoError.
# Known error codes
# 100 NoError: Robot is operational
# 101 BatteryLow: Low battery
# 102 HostHang: Robot is stuck
# 103 WheelAbnormal: Wheels are not moving as expected
# 104 DownSensorAbnormal: Down sensor is getting abnormal values
# 110 NoDustBox: Dust Bin Not installed
# These codes are taken from model M81 Pro. Error codes may differ between models.
def _handle_life_span(self, event): def _handle_life_span(self, event):
type = event['type'] type = event['type']
try: try: