From 6d8bc84db3ae6374f6ac4085de25972c979ab9af Mon Sep 17 00:00:00 2001
From: Erik Montnemery <erik@montnemery.com>
Date: Wed, 31 Jul 2024 08:02:15 +0200
Subject: [PATCH] Allow [##:##:##:##:##] type device address in homeworks
 (#122872)

* Allow [##:##:##:##:##] type device address in homeworks

* Simplify regex
---
 homeassistant/components/homeworks/config_flow.py | 2 +-
 tests/components/homeworks/test_config_flow.py    | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/homeassistant/components/homeworks/config_flow.py b/homeassistant/components/homeworks/config_flow.py
index ec381c3331f..4508f3bd21d 100644
--- a/homeassistant/components/homeworks/config_flow.py
+++ b/homeassistant/components/homeworks/config_flow.py
@@ -89,7 +89,7 @@ BUTTON_EDIT: VolDictType = {
 }
 
 
-validate_addr = cv.matches_regex(r"\[(?:\d\d:)?\d\d:\d\d:\d\d\]")
+validate_addr = cv.matches_regex(r"\[(?:\d\d:){2,4}\d\d\]")
 
 
 async def validate_add_controller(
diff --git a/tests/components/homeworks/test_config_flow.py b/tests/components/homeworks/test_config_flow.py
index 3e359caf7f2..c4738e68ecc 100644
--- a/tests/components/homeworks/test_config_flow.py
+++ b/tests/components/homeworks/test_config_flow.py
@@ -436,7 +436,14 @@ async def test_options_add_remove_light_flow(
     )
 
 
-@pytest.mark.parametrize("keypad_address", ["[02:08:03:01]", "[02:08:03]"])
+@pytest.mark.parametrize(
+    "keypad_address",
+    [
+        "[02:08:03]",
+        "[02:08:03:01]",
+        "[02:08:03:01:00]",
+    ],
+)
 async def test_options_add_remove_keypad_flow(
     hass: HomeAssistant,
     mock_config_entry: MockConfigEntry,
-- 
GitLab