diff --git a/custom_components/adano/adano.py b/custom_components/adano/adano.py index 1f832c2..23ec4d3 100644 --- a/custom_components/adano/adano.py +++ b/custom_components/adano/adano.py @@ -206,7 +206,7 @@ def login(self): "grant_type": "password", "scope": "server", }, - timeout=5, + timeout=10, ) response_data = response.json() @@ -215,8 +215,6 @@ def login(self): except Exception as error: # pylint: disable=broad-except _LOGGER.debug("Login failed") _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) def connect_mqtt(self): """Connect mgtt.""" @@ -367,8 +365,6 @@ def get_device_list(self): except Exception as error: # pylint: disable=broad-except _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) def get_settings(self, snr): """Get settings.""" @@ -398,8 +394,6 @@ def get_settings(self, snr): except Exception as error: # pylint: disable=broad-except _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) def update_devices(self, device_sn): """Update device.""" @@ -438,7 +432,7 @@ def update_devices(self, device_sn): if response_data["code"] != 0: _LOGGER.debug(response_data) continue - elif self._dataupdated is not None: + if self._dataupdated is not None: self._dataupdated(device.devicesn) except Exception as error: # pylint: disable=broad-except @@ -456,8 +450,6 @@ def update_devices(self, device_sn): _LOGGER.debug(element["url"]) _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) def refresh_token(self): """Refresh token.""" @@ -487,8 +479,6 @@ def refresh_token(self): _LOGGER.debug("Refresh successful") except Exception as error: # pylint: disable=broad-except _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) def unload(self): """Unload.""" @@ -515,7 +505,7 @@ def pause(self, devicesn): def border(self, devicesn): """Border.""" _LOGGER.debug("Border") - self.set_state_change("mode", 4, devicesn) + self.set_state_change("mode", 7, devicesn) def refresh(self, devicesn): """Refresh data.""" @@ -633,8 +623,6 @@ def set_schedule( self.get_device(devicesn).error_text = "" except Exception as error: # pylint: disable=broad-except _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) def set_zone_status( self, @@ -691,8 +679,6 @@ def set_zone_status( self.get_device(devicesn).error_text = "" except Exception as error: # pylint: disable=broad-except _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) def set_rain_status(self, state: bool, delaymin: int, devicesn): """Set rain status.""" @@ -728,16 +714,18 @@ def set_rain_status(self, state: bool, delaymin: int, devicesn): except Exception as error: # pylint: disable=broad-except _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) def set_state_change(self, command, state, devicesn): """Command is "mode" and state is 1 = Start, 0 = Pause, 2 = Home, 4 = Border.""" # device_id = self.DeviceSn # self.devicedata["data"].get("id") try: + data = { + "appId": self.session["user_id"], + "deviceSn": devicesn, + "mode": state, + } response = requests.post( - url=f"http://server.sk-robot.com/api/mower/device/setWorkStatus/{devicesn}/" - f"{self.session['user_id']}?{command}={state}", + url="http://server.sk-robot.com/api/app_mower/device/setWorkStatus", headers={ "Accept-Language": self.language, "Authorization": "bearer " + self.session["access_token"], @@ -746,6 +734,7 @@ def set_state_change(self, command, state, devicesn): "Connection": "Keep-Alive", "User-Agent": "okhttp/4.8.1", }, + json=data, timeout=10, ) response_data = response.json() @@ -758,8 +747,6 @@ def set_state_change(self, command, state, devicesn): except Exception as error: # pylint: disable=broad-except _LOGGER.debug(error) - if hasattr(error, "response"): - _LOGGER.debug(json.dumps(error.response.json())) refresh_timeout = Timer(10, self.update_devices, [devicesn]) refresh_timeout.start() diff --git a/custom_components/adano/button.py b/custom_components/adano/button.py index ef423f9..724ccb2 100644 --- a/custom_components/adano/button.py +++ b/custom_components/adano/button.py @@ -65,7 +65,7 @@ def __init__( async def async_press(self) -> None: """Handle the button press.""" - if self._valuepair == "dock": + if self._valuepair == "home": await self.hass.async_add_executor_job(self._data_handler.dock, self._sn) elif self._valuepair == "start": await self.hass.async_add_executor_job( diff --git a/custom_components/adano/manifest.json b/custom_components/adano/manifest.json index 90caede..babcfc6 100644 --- a/custom_components/adano/manifest.json +++ b/custom_components/adano/manifest.json @@ -8,5 +8,5 @@ "integration_type": "device", "iot_class": "cloud_push", "config_flow": true, - "version": "1.0.6" + "version": "1.0.7" } \ No newline at end of file