diff --git a/homeassistant/components/ecovacs/controller.py b/homeassistant/components/ecovacs/controller.py
index ec67845cf9f74ddb3271200247354624db0d8ec5..3a70ab2af5bb679178da3d8a3c6cc09812d7960e 100644
--- a/homeassistant/components/ecovacs/controller.py
+++ b/homeassistant/components/ecovacs/controller.py
@@ -13,7 +13,6 @@ from deebot_client.authentication import Authenticator, create_rest_config
 from deebot_client.const import UNDEFINED, UndefinedType
 from deebot_client.device import Device
 from deebot_client.exceptions import DeebotError, InvalidAuthenticationError
-from deebot_client.models import DeviceInfo
 from deebot_client.mqtt_client import MqttClient, create_mqtt_config
 from deebot_client.util import md5
 from deebot_client.util.continents import get_continent
@@ -81,25 +80,32 @@ class EcovacsController:
         try:
             devices = await self._api_client.get_devices()
             credentials = await self._authenticator.authenticate()
-            for device_config in devices:
-                if isinstance(device_config, DeviceInfo):
-                    # MQTT device
-                    device = Device(device_config, self._authenticator)
-                    mqtt = await self._get_mqtt_client()
-                    await device.initialize(mqtt)
-                    self._devices.append(device)
-                else:
-                    # Legacy device
-                    bot = VacBot(
-                        credentials.user_id,
-                        EcoVacsAPI.REALM,
-                        self._device_id[0:8],
-                        credentials.token,
-                        device_config,
-                        self._continent,
-                        monitor=True,
-                    )
-                    self._legacy_devices.append(bot)
+            for device_info in devices.mqtt:
+                device = Device(device_info, self._authenticator)
+                mqtt = await self._get_mqtt_client()
+                await device.initialize(mqtt)
+                self._devices.append(device)
+            for device_config in devices.xmpp:
+                bot = VacBot(
+                    credentials.user_id,
+                    EcoVacsAPI.REALM,
+                    self._device_id[0:8],
+                    credentials.token,
+                    device_config,
+                    self._continent,
+                    monitor=True,
+                )
+                self._legacy_devices.append(bot)
+            for device_config in devices.not_supported:
+                _LOGGER.warning(
+                    (
+                        'Device "%s" not supported. Please add support for it to '
+                        "https://github.com/DeebotUniverse/client.py: %s"
+                    ),
+                    device_config["deviceName"],
+                    device_config,
+                )
+
         except InvalidAuthenticationError as ex:
             raise ConfigEntryError("Invalid credentials") from ex
         except DeebotError as ex:
diff --git a/homeassistant/components/ecovacs/manifest.json b/homeassistant/components/ecovacs/manifest.json
index 0ab9f9a461271c498b87c2d0628599468f6a6284..4a43489ff2451dfb51a0982ee6564767fe03c636 100644
--- a/homeassistant/components/ecovacs/manifest.json
+++ b/homeassistant/components/ecovacs/manifest.json
@@ -6,5 +6,5 @@
   "documentation": "https://www.home-assistant.io/integrations/ecovacs",
   "iot_class": "cloud_push",
   "loggers": ["sleekxmppfs", "sucks", "deebot_client"],
-  "requirements": ["py-sucks==0.9.10", "deebot-client==8.4.1"]
+  "requirements": ["py-sucks==0.9.10", "deebot-client==9.0.0"]
 }
diff --git a/requirements_all.txt b/requirements_all.txt
index cd22c50ef09b4bdccbe8b4fa28b83069c926564e..a96b90616c1cfea60e0d07407b3ce450b8eb778e 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -738,7 +738,7 @@ debugpy==1.8.6
 # decora==0.6
 
 # homeassistant.components.ecovacs
-deebot-client==8.4.1
+deebot-client==9.0.0
 
 # homeassistant.components.ihc
 # homeassistant.components.namecheapdns
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index f858d48cec91b87830c5bb767ec30f5ebb332240..d4d4d8b69d90ad9a5fbead4eccea35a0d47af5f4 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -628,7 +628,7 @@ dbus-fast==2.24.3
 debugpy==1.8.6
 
 # homeassistant.components.ecovacs
-deebot-client==8.4.1
+deebot-client==9.0.0
 
 # homeassistant.components.ihc
 # homeassistant.components.namecheapdns