diff --git a/homeassistant/components/unifiprotect/config_flow.py b/homeassistant/components/unifiprotect/config_flow.py
index 555ddcb8d5e5d69fd0d378a4b23832c4592abc01..19561a6003d4d3e6271f7763f9fbd6744609e8d0 100644
--- a/homeassistant/components/unifiprotect/config_flow.py
+++ b/homeassistant/components/unifiprotect/config_flow.py
@@ -261,7 +261,8 @@ class ProtectFlowHandler(ConfigFlow, domain=DOMAIN):
             username=user_input[CONF_USERNAME],
             password=user_input[CONF_PASSWORD],
             verify_ssl=verify_ssl,
-            cache_dir=Path(self.hass.config.path(STORAGE_DIR, "unifiprotect_cache")),
+            cache_dir=Path(self.hass.config.path(STORAGE_DIR, "unifiprotect")),
+            config_dir=Path(self.hass.config.path(STORAGE_DIR, "unifiprotect")),
         )
 
         errors = {}
diff --git a/homeassistant/components/unifiprotect/manifest.json b/homeassistant/components/unifiprotect/manifest.json
index 7cfb0ddcc9e5ad04d3a45be24b628363c569ad64..a26fab2e80b07bbf06a7b492ea1e7b473a475d2e 100644
--- a/homeassistant/components/unifiprotect/manifest.json
+++ b/homeassistant/components/unifiprotect/manifest.json
@@ -41,7 +41,7 @@
   "iot_class": "local_push",
   "loggers": ["pyunifiprotect", "unifi_discovery"],
   "quality_scale": "platinum",
-  "requirements": ["pyunifiprotect==5.0.2", "unifi-discovery==1.1.8"],
+  "requirements": ["pyunifiprotect==5.1.2", "unifi-discovery==1.1.8"],
   "ssdp": [
     {
       "manufacturer": "Ubiquiti Networks",
diff --git a/homeassistant/components/unifiprotect/utils.py b/homeassistant/components/unifiprotect/utils.py
index 58474e6a5313bca30b9f4d0e155af21c0bcef691..8199d7299430e4f94c820571f771469aa82b8f87 100644
--- a/homeassistant/components/unifiprotect/utils.py
+++ b/homeassistant/components/unifiprotect/utils.py
@@ -145,7 +145,8 @@ def async_create_api_client(
         override_connection_host=entry.options.get(CONF_OVERRIDE_CHOST, False),
         ignore_stats=not entry.options.get(CONF_ALL_UPDATES, False),
         ignore_unadopted=False,
-        cache_dir=Path(hass.config.path(STORAGE_DIR, "unifiprotect_cache")),
+        cache_dir=Path(hass.config.path(STORAGE_DIR, "unifiprotect")),
+        config_dir=Path(hass.config.path(STORAGE_DIR, "unifiprotect")),
     )
 
 
diff --git a/requirements_all.txt b/requirements_all.txt
index 19b3fe975ff7f11fb93944219f2d0e88aa203beb..625552555c71758b7729af2bd9f488b54f81647f 100644
--- a/requirements_all.txt
+++ b/requirements_all.txt
@@ -2339,7 +2339,7 @@ pytrydan==0.4.0
 pyudev==0.24.1
 
 # homeassistant.components.unifiprotect
-pyunifiprotect==5.0.2
+pyunifiprotect==5.1.2
 
 # homeassistant.components.uptimerobot
 pyuptimerobot==22.2.0
diff --git a/requirements_test_all.txt b/requirements_test_all.txt
index c8f3b80d4fb8a6226f9e162545fa0352260db0c9..12a106b217089785a70d14881ff29f769ceb0a3e 100644
--- a/requirements_test_all.txt
+++ b/requirements_test_all.txt
@@ -1806,7 +1806,7 @@ pytrydan==0.4.0
 pyudev==0.24.1
 
 # homeassistant.components.unifiprotect
-pyunifiprotect==5.0.2
+pyunifiprotect==5.1.2
 
 # homeassistant.components.uptimerobot
 pyuptimerobot==22.2.0