feat: Add config flow for SmartIR integration with multi-step UI wizard

- Implemented a new config flow in `config_flow.py` for SmartIR, allowing users to select platforms, controllers, and devices through a guided interface.
- Added support for new device codes in `codes_index.json` for Apton and Andersson manufacturers.
- Enhanced fan, light, and media player components to support setup from config entries.
- Introduced `strings.json` and `translations/en.json` for improved localization of the configuration steps.
- Created a tool `build_index.py` to rebuild the `codes_index.json` from individual device JSON files.
- Updated `smartir_capture.py` to handle single-code modes and excluded modes for better device configuration.
- Added `iot_class` and `config_flow` attributes in `manifest.json` to support the new configuration flow.
This commit is contained in:
2026-07-01 20:11:48 +02:00
parent 2dd72d367c
commit 992098fbf1
17 changed files with 1510 additions and 282 deletions
@@ -2855,6 +2855,15 @@
"controller": "Broadlink",
"encoding": "Base64"
},
{
"code": 2680,
"manufacturer": "Apton",
"models": [
"AFC-100T"
],
"controller": "Broadlink",
"encoding": "Base64"
},
{
"code": 2700,
"manufacturer": "Kolin",
@@ -3993,6 +4002,15 @@
"controller": "Broadlink",
"encoding": "Base64"
},
{
"code": 1440,
"manufacturer": "Andersson",
"models": [
"L4223FDC PVR"
],
"controller": "Broadlink",
"encoding": "Base64"
},
{
"code": 1460,
"manufacturer": "Edifier",
@@ -4178,6 +4196,15 @@
"controller": "Broadlink",
"encoding": "Base64"
},
{
"code": 1020,
"manufacturer": "NEC",
"models": [
"RE0201-CH1"
],
"controller": "Broadlink",
"encoding": "Base64"
},
{
"code": 1021,
"manufacturer": "NEC",