diff --git a/README.md b/README.md index 13ceebe5..f59f3677 100644 --- a/README.md +++ b/README.md @@ -182,15 +182,15 @@ The following devices have been tested and confirmed as working. If your device ### Supported Kasa devices -- **Plugs**: EP10, EP25\*, HS100\*\*, HS103, HS105, HS110, KP100, KP105, KP115, KP125, KP125M\*, KP401 -- **Power Strips**: EP40, EP40M\*, HS107, HS300, KP200, KP303, KP400 -- **Wall Switches**: ES20M, HS200\*\*, HS210, HS220\*\*, KP405, KS200M, KS205\*, KS220, KS220M, KS225\*, KS230, KS240\* +- **Plugs**: EP10, EP25[^1], HS100[^2], HS103, HS105, HS110, KP100, KP105, KP115, KP125, KP125M[^1], KP401 +- **Power Strips**: EP40, EP40M[^1], HS107, HS300, KP200, KP303, KP400 +- **Wall Switches**: ES20M, HS200[^2], HS210, HS220[^2], KP405, KS200M, KS205[^1], KS220, KS220M, KS225[^1], KS230, KS240[^1] - **Bulbs**: KL110, KL120, KL125, KL130, KL135, KL50, KL60, LB110 - **Light Strips**: KL400L5, KL420L5, KL430 -- **Hubs**: KH100\* -- **Hub-Connected Devices\*\*\***: KE100\* +- **Hubs**: KH100[^1] +- **Hub-Connected Devices[^3]**: KE100[^1] -### Supported Tapo\* devices +### Supported Tapo[^1] devices - **Plugs**: P100, P110, P110M, P115, P125M, P135, TP15 - **Power Strips**: P300, P304M, TP25 @@ -199,12 +199,12 @@ The following devices have been tested and confirmed as working. If your device - **Light Strips**: L900-10, L900-5, L920-5, L930-5 - **Cameras**: C210, TC65 - **Hubs**: H100, H200 -- **Hub-Connected Devices\*\*\***: S200B, S200D, T100, T110, T300, T310, T315 +- **Hub-Connected Devices[^3]**: S200B, S200D, T100, T110, T300, T310, T315 -\*   Model requires authentication
-\*\*  Newer versions require authentication
-\*\*\* Devices may work across TAPO/KASA branded hubs +[^1]: Model requires authentication +[^2]: Newer versions require authentication +[^3]: Devices may work across TAPO/KASA branded hubs See [supported devices in our documentation](SUPPORTED.md) for more detailed information about tested hardware and software versions. diff --git a/SUPPORTED.md b/SUPPORTED.md index ec0c1d5e..034372b0 100644 --- a/SUPPORTED.md +++ b/SUPPORTED.md @@ -10,18 +10,18 @@ The following devices have been tested and confirmed as working. If your device ## Kasa devices -Some newer Kasa devices require authentication. These are marked with * in the list below.
Hub-Connected Devices may work across TAPO/KASA branded hubs even if they don't work across the native apps. +Some newer Kasa devices require authentication. These are marked with [^1] in the list below.
Hub-Connected Devices may work across TAPO/KASA branded hubs even if they don't work across the native apps. ### Plugs - **EP10** - Hardware: 1.0 (US) / Firmware: 1.0.2 - **EP25** - - Hardware: 2.6 (US) / Firmware: 1.0.1\* - - Hardware: 2.6 (US) / Firmware: 1.0.2\* + - Hardware: 2.6 (US) / Firmware: 1.0.1[^1] + - Hardware: 2.6 (US) / Firmware: 1.0.2[^1] - **HS100** - Hardware: 1.0 (UK) / Firmware: 1.2.6 - - Hardware: 4.1 (UK) / Firmware: 1.1.0\* + - Hardware: 4.1 (UK) / Firmware: 1.1.0[^1] - Hardware: 1.0 (US) / Firmware: 1.2.5 - Hardware: 2.0 (US) / Firmware: 1.5.6 - **HS103** @@ -46,8 +46,8 @@ Some newer Kasa devices require authentication. These are marked with *\* - - Hardware: 1.0 (US) / Firmware: 1.2.3\* + - Hardware: 1.0 (US) / Firmware: 1.1.3[^1] + - Hardware: 1.0 (US) / Firmware: 1.2.3[^1] - **KP401** - Hardware: 1.0 (US) / Firmware: 1.0.0 @@ -56,7 +56,7 @@ Some newer Kasa devices require authentication. These are marked with *\* + - Hardware: 1.0 (US) / Firmware: 1.1.0[^1] - **HS107** - Hardware: 1.0 (US) / Firmware: 1.0.8 - **HS300** @@ -86,14 +86,14 @@ Some newer Kasa devices require authentication. These are marked with *\* + - Hardware: 5.26 (US) / Firmware: 1.0.3[^1] - **HS210** - Hardware: 1.0 (US) / Firmware: 1.5.8 - Hardware: 2.0 (US) / Firmware: 1.1.5 - **HS220** - Hardware: 1.0 (US) / Firmware: 1.5.7 - Hardware: 2.0 (US) / Firmware: 1.0.3 - - Hardware: 3.26 (US) / Firmware: 1.0.1\* + - Hardware: 3.26 (US) / Firmware: 1.0.1[^1] - **KP405** - Hardware: 1.0 (US) / Firmware: 1.0.5 - Hardware: 1.0 (US) / Firmware: 1.0.6 @@ -103,21 +103,21 @@ Some newer Kasa devices require authentication. These are marked with *\* - - Hardware: 1.0 (US) / Firmware: 1.1.0\* + - Hardware: 1.0 (US) / Firmware: 1.0.2[^1] + - Hardware: 1.0 (US) / Firmware: 1.1.0[^1] - **KS220** - Hardware: 1.0 (US) / Firmware: 1.0.13 - **KS220M** - Hardware: 1.0 (US) / Firmware: 1.0.4 - **KS225** - - Hardware: 1.0 (US) / Firmware: 1.0.2\* - - Hardware: 1.0 (US) / Firmware: 1.1.0\* + - Hardware: 1.0 (US) / Firmware: 1.0.2[^1] + - Hardware: 1.0 (US) / Firmware: 1.1.0[^1] - **KS230** - Hardware: 1.0 (US) / Firmware: 1.0.14 - **KS240** - - Hardware: 1.0 (US) / Firmware: 1.0.4\* - - Hardware: 1.0 (US) / Firmware: 1.0.5\* - - Hardware: 1.0 (US) / Firmware: 1.0.7\* + - Hardware: 1.0 (US) / Firmware: 1.0.4[^1] + - Hardware: 1.0 (US) / Firmware: 1.0.5[^1] + - Hardware: 1.0 (US) / Firmware: 1.0.7[^1] ### Bulbs @@ -161,16 +161,16 @@ Some newer Kasa devices require authentication. These are marked with *\* - - Hardware: 1.0 (EU) / Firmware: 1.5.12\* - - Hardware: 1.0 (UK) / Firmware: 1.5.6\* + - Hardware: 1.0 (EU) / Firmware: 1.2.3[^1] + - Hardware: 1.0 (EU) / Firmware: 1.5.12[^1] + - Hardware: 1.0 (UK) / Firmware: 1.5.6[^1] ### Hub-Connected Devices - **KE100** - - Hardware: 1.0 (EU) / Firmware: 2.4.0\* - - Hardware: 1.0 (EU) / Firmware: 2.8.0\* - - Hardware: 1.0 (UK) / Firmware: 2.8.0\* + - Hardware: 1.0 (EU) / Firmware: 2.4.0[^1] + - Hardware: 1.0 (EU) / Firmware: 2.8.0[^1] + - Hardware: 1.0 (UK) / Firmware: 2.8.0[^1] ## Tapo devices @@ -293,3 +293,4 @@ All Tapo devices require authentication.
Hub-Connected Devices may work acros +[^1]: Model requires authentication diff --git a/devtools/generate_supported.py b/devtools/generate_supported.py index 90e16e07..532c7e6a 100755 --- a/devtools/generate_supported.py +++ b/devtools/generate_supported.py @@ -142,7 +142,7 @@ def _supported_text( for brand, types in supported.items(): preamble_text = ( "Some newer Kasa devices require authentication. " - + "These are marked with * in the list below." + + "These are marked with [^1] in the list below." if brand == "kasa" else "All Tapo devices require authentication." ) @@ -151,7 +151,7 @@ def _supported_text( + "hubs even if they don't work across the native apps." ) brand_text = brand.capitalize() - brand_auth = r"\*" if brand == "tapo" else "" + brand_auth = r"[^1]" if brand == "tapo" else "" types_text = "" for supported_type, models in sorted( # Sort by device type order in the enum @@ -166,9 +166,7 @@ def _supported_text( for version in sorted(versions): region_text = f" ({version.region})" if version.region else "" auth_count += 1 if version.auth else 0 - vauth_flag = ( - r"\*" if version.auth and brand == "kasa" else "" - ) + vauth_flag = r"[^1]" if version.auth and brand == "kasa" else "" if version_template: versions_text += versst.substitute( hw=version.hw, @@ -177,11 +175,7 @@ def _supported_text( auth_flag=vauth_flag, ) if brand == "kasa" and auth_count > 0: - auth_flag = ( - r"\*" - if auth_count == len(versions) - else r"\*\*" - ) + auth_flag = r"[^1]" if auth_count == len(versions) else r"[^2]" else: auth_flag = "" if model_template: @@ -191,11 +185,7 @@ def _supported_text( else: models_list.append(f"{model}{auth_flag}") models_text = models_text if models_text else ", ".join(models_list) - type_asterix = ( - r"\*\*\*" - if supported_type == "Hub-Connected Devices" - else "" - ) + type_asterix = r"[^3]" if supported_type == "Hub-Connected Devices" else "" types_text += typest.substitute( type_=supported_type, type_asterix=type_asterix, models=models_text )