diff --git a/homeassistant/components/homeworks/config_flow.py b/homeassistant/components/homeworks/config_flow.py
index ec381c3331f98b1e5aa8306d221df035a09a3608..4508f3bd21d0191016b84eb1f24d625867f66f47 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 3e359caf7f2d918e9e0923b01be7061062de3568..c4738e68ecc1cdf7d82ffb7a17210406eedb813c 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,