修复代码问题并更新版本到 v1.0.3
- 修复 config_flow.py 中的 KeyError 风险 - 添加 MQTT broker 地址和端口验证 - 完善翻译文件,添加所有配置字段的中文翻译 - 修复 sensor.py 中的弃用 API 使用 - 改进错误处理,转换失败时设置 available 为 False - 添加 device_info 中的 sw_version 字段 - 清理 manifest.json 中不必要的 paho-mqtt 依赖 - 修正 README.md 中的路径错误 - 更新版本号到 1.0.3
This commit is contained in:
@@ -43,16 +43,30 @@ class JackeryHomeConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
||||
errors = {}
|
||||
|
||||
if user_input is not None:
|
||||
# 检查是否已经配置
|
||||
await self.async_set_unique_id(DOMAIN)
|
||||
self._abort_if_unique_id_configured()
|
||||
# 验证 MQTT broker 地址
|
||||
mqtt_broker = user_input.get("mqtt_broker", "").strip()
|
||||
if not mqtt_broker:
|
||||
errors["base"] = "mqtt_broker_required"
|
||||
|
||||
_LOGGER.info(f"Creating JackeryHome config entry with topic_prefix: {user_input['topic_prefix']}")
|
||||
# 验证端口范围
|
||||
try:
|
||||
mqtt_port = int(user_input.get("mqtt_port", 1883))
|
||||
if mqtt_port < 1 or mqtt_port > 65535:
|
||||
errors["base"] = "invalid_port"
|
||||
except (ValueError, TypeError):
|
||||
errors["base"] = "invalid_port"
|
||||
|
||||
return self.async_create_entry(
|
||||
title="JackeryHome",
|
||||
data=user_input,
|
||||
)
|
||||
if not errors:
|
||||
# 检查是否已经配置
|
||||
await self.async_set_unique_id(DOMAIN)
|
||||
self._abort_if_unique_id_configured()
|
||||
|
||||
_LOGGER.info(f"Creating JackeryHome config entry with topic_prefix: {user_input.get('topic_prefix', 'homeassistant/sensor')}")
|
||||
|
||||
return self.async_create_entry(
|
||||
title="JackeryHome",
|
||||
data=user_input,
|
||||
)
|
||||
|
||||
return self.async_show_form(
|
||||
step_id="user",
|
||||
|
||||
Reference in New Issue
Block a user