diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index ff34e60fa4..d11aa067bf 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -12,11 +12,11 @@ repos:
       # Run the formatter.
       - id: ruff-format
   - repo: https://github.com/PyCQA/flake8
-    rev: 6.1.0
+    rev: 7.2.0
     hooks:
       - id: flake8
         additional_dependencies:
-          - flake8-docstrings==1.5.0
+          - flake8-docstrings==1.7.0
           - pydocstyle==5.1.1
         files: ^(esphome|tests)/.+\.py$
   - repo: https://github.com/pre-commit/pre-commit-hooks
diff --git a/esphome/dashboard/status/mqtt.py b/esphome/dashboard/status/mqtt.py
index 70eb0b58b5..c3e4883849 100644
--- a/esphome/dashboard/status/mqtt.py
+++ b/esphome/dashboard/status/mqtt.py
@@ -32,8 +32,6 @@ class MqttStatusThread(threading.Thread):
         topic = "esphome/discover/#"
 
         def on_message(client, userdata, msg):
-            nonlocal current_entries
-
             payload = msg.payload.decode(errors="backslashreplace")
             if len(payload) > 0:
                 data = json.loads(payload)
diff --git a/requirements_test.txt b/requirements_test.txt
index 22c275a330..3e5b15a718 100644
--- a/requirements_test.txt
+++ b/requirements_test.txt
@@ -1,5 +1,5 @@
 pylint==3.3.6
-flake8==7.0.0  # also change in .pre-commit-config.yaml when updating
+flake8==7.2.0  # also change in .pre-commit-config.yaml when updating
 ruff==0.11.2 # also change in .pre-commit-config.yaml when updating
 pyupgrade==3.19.1  # also change in .pre-commit-config.yaml when updating
 pre-commit