Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 455320c50e | |||
| 2b66ffa426 | |||
| 2b252c0b22 | |||
| d7a7b2d185 | |||
| 01165a4f85 | |||
| fa2c724333 | |||
| b21e2f95aa | |||
| 0e8c3ef0b6 | |||
| 4d8dc3fbe4 | |||
| f1002d107f | |||
| 24fc2ea74e | |||
| 1fbe95c72f | |||
| 3e59aa94aa | |||
| e56266be86 | |||
| 1decadee2e |
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"domain": "ecovacs",
|
"domain": "ecovacs",
|
||||||
"name": "Ecovacs Bumper",
|
"name": "Ecovacs Bumper",
|
||||||
"version": "1.4.2",
|
"version": "1.4.5",
|
||||||
"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"],
|
||||||
|
|||||||
@@ -9,9 +9,24 @@ from paho.mqtt.client import Client as ClientMQTT
|
|||||||
from paho.mqtt import publish as MQTTPublish
|
from paho.mqtt import publish as MQTTPublish
|
||||||
from paho.mqtt import subscribe as MQTTSubscribe
|
from paho.mqtt import subscribe as MQTTSubscribe
|
||||||
from sleekxmppfs.xmlstream import ET
|
from sleekxmppfs.xmlstream import ET
|
||||||
|
from .sucks import EcoVacsAPI
|
||||||
|
|
||||||
from .const import LOGGER
|
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
|
#This is used by EcoVacsIOTMQ and EcoVacsXMPP for _ctl_to_dict
|
||||||
def RepresentsInt(stringvar):
|
def RepresentsInt(stringvar):
|
||||||
try:
|
try:
|
||||||
@@ -75,7 +90,7 @@ class EcoVacsIOTMQ(ClientMQTT):
|
|||||||
|
|
||||||
def schedule(self, timer_seconds, timer_function):
|
def schedule(self, timer_seconds, timer_function):
|
||||||
self.scheduler.enter(timer_seconds, 1, self._run_scheduled_func,(timer_seconds, timer_function))
|
self.scheduler.enter(timer_seconds, 1, self._run_scheduled_func,(timer_seconds, timer_function))
|
||||||
if not self.scheduler_thread.isAlive():
|
if not self.scheduler_thread.is_alive():
|
||||||
self.scheduler_thread.start()
|
self.scheduler_thread.start()
|
||||||
|
|
||||||
def wait_until_ready(self):
|
def wait_until_ready(self):
|
||||||
@@ -169,7 +184,7 @@ class EcoVacsIOTMQ(ClientMQTT):
|
|||||||
|
|
||||||
def _ctl_to_dict_api(self, action, xmlstring):
|
def _ctl_to_dict_api(self, action, xmlstring):
|
||||||
xml = ET.fromstring(xmlstring)
|
xml = ET.fromstring(xmlstring)
|
||||||
xmlchild = xml.getchildren()
|
xmlchild = list(xml)
|
||||||
if len(xmlchild) > 0:
|
if len(xmlchild) > 0:
|
||||||
result = xmlchild[0].attrib.copy()
|
result = xmlchild[0].attrib.copy()
|
||||||
#Fix for difference in XMPP vs API response
|
#Fix for difference in XMPP vs API response
|
||||||
|
|||||||
Reference in New Issue
Block a user