diff --git a/custom_components/ecovacs/manifest.json b/custom_components/ecovacs/manifest.json index a43036d..477a2cc 100644 --- a/custom_components/ecovacs/manifest.json +++ b/custom_components/ecovacs/manifest.json @@ -1,7 +1,7 @@ { "domain": "ecovacs", "name": "Ecovacs Bumper", - "version": "1.4.2", + "version": "1.4.3", "documentation": "https://github.com/bittles/ha_ecovacs_bumper", "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"], diff --git a/custom_components/ecovacs/sucks_mqtt.py b/custom_components/ecovacs/sucks_mqtt.py index 09ec826..3ba7e2d 100644 --- a/custom_components/ecovacs/sucks_mqtt.py +++ b/custom_components/ecovacs/sucks_mqtt.py @@ -12,6 +12,20 @@ from sleekxmppfs.xmlstream import ET from .const import LOGGER +def str_to_bool_or_cert(s): + if s == 'True' or s == True: + return True + elif s == 'False' or s == False: + return False + else: + if not s == None: + if os.path.exists(s): # User could provide a path to a CA Cert as well, which is useful for Bumper + if os.path.isfile(s): + return s + else: + raise ValueError("Certificate path provided is not a file - {}".format(s)) + raise ValueError("Cannot covert {} to a bool or certificate path".format(s)) + #This is used by EcoVacsIOTMQ and EcoVacsXMPP for _ctl_to_dict def RepresentsInt(stringvar): try: