- critical: listen_port по умолчанию 0 (эфемерный) — несколько ConfigEntry не конфликтуют; тест двух записей на дефолтном порту - manifest: добавлен обязательный ключ codeowners - unload: set_log_handler(None) вынесен в executor (не блокирует loop); рефкаунт лог-пампа без гонки (старт после успешного setup) - config flow: возврат введённого в форму при ошибке (add_suggested_values_to_schema; секреты исключены), YAML-import подключён через async_setup + SOURCE_IMPORT, ProvisionError.kind вместо разбора русского текста, валидация device_port/key_id из JSON - trial: требует получения всех базовых свойств шаблона (не пустой ok), безопасное создание Session - py-ci.sh: отсутствие .venv-ha — ошибка (PY_CI_SKIP_HA=1 для пропуска); pytest.ini testpaths
76 lines
2.4 KiB
JSON
76 lines
2.4 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"title": "FGLair",
|
|
"menu_options": {
|
|
"cloud": "Cloud sign-in (FGLair account)",
|
|
"manual": "Manual setup",
|
|
"import_json": "Import config_*.json"
|
|
}
|
|
},
|
|
"cloud": {
|
|
"title": "FGLair cloud sign-in",
|
|
"description": "Used once for provisioning: fetches the static LAN key of the device.",
|
|
"data": {
|
|
"email": "Email",
|
|
"password": "Password",
|
|
"region": "Region"
|
|
},
|
|
"data_description": {
|
|
"region": "FGLair/Ayla account region"
|
|
}
|
|
},
|
|
"cloud_device": {
|
|
"title": "Select air conditioner",
|
|
"data": {
|
|
"dsn": "Device"
|
|
}
|
|
},
|
|
"manual": {
|
|
"title": "Device parameters",
|
|
"data": {
|
|
"host": "Host (IP or DNS name)",
|
|
"device_port": "Device port",
|
|
"dsn": "DSN",
|
|
"lanip_key": "LAN IP key",
|
|
"lanip_key_id": "LAN IP key ID",
|
|
"name": "Name (optional)",
|
|
"model": "Model / oem_model (optional)"
|
|
},
|
|
"data_description": {
|
|
"device_port": "Default 80; change only for port-forwarding setups",
|
|
"lanip_key": "From cloud discovery or ESPHome diagnostics"
|
|
}
|
|
},
|
|
"import_json": {
|
|
"title": "Import config_*.json",
|
|
"data": {
|
|
"config_json": "config JSON"
|
|
},
|
|
"data_description": {
|
|
"config_json": "Paste a JSON object produced by fglair-discover or fglctl"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"cannot_connect": "Could not connect to the device",
|
|
"no_slots": "Both LAN slots are busy (FGLair app or ESPHome connected). Close one and retry",
|
|
"key_mismatch": "LAN key does not match the device; re-run discovery or re-import the config",
|
|
"timeout": "Timed out waiting for the device to come online",
|
|
"invalid_auth": "Invalid email or password",
|
|
"invalid_import": "Invalid config JSON",
|
|
"no_devices": "No devices found in the account",
|
|
"unknown": "Unexpected error"
|
|
},
|
|
"abort": {
|
|
"already_configured": "This device is already configured",
|
|
"invalid_import": "Invalid config JSON",
|
|
"cannot_connect": "Could not connect to the device",
|
|
"no_slots": "Both LAN slots are busy",
|
|
"key_mismatch": "LAN key does not match the device",
|
|
"timeout": "Timed out waiting for the device"
|
|
}
|
|
}
|
|
}
|