udpate:增加iot消息properties和methods可能为空的情况 (#851)

* update:测试页面增加OTA地址

* update:兼容旧设备,无Client-Id的情况

* update:修复智控台下发配置布尔类型转换出错bug

* update:修复智控台下发配置字符类型转换出错bug

* udpate:增加iot消息properties和methods可能为空的情况
This commit is contained in:
hrz
2025-04-16 23:34:23 +08:00
committed by GitHub
parent 0da2da83a5
commit ca884833d1
+27 -25
View File
@@ -144,33 +144,35 @@ class IotDescriptor:
self.methods = [] self.methods = []
# 根据描述创建属性 # 根据描述创建属性
for key, value in properties.items(): if properties is not None:
property_item = globals()[key] = {} for key, value in properties.items():
property_item["name"] = key property_item = globals()[key] = {}
property_item["description"] = value["description"] property_item["name"] = key
if value["type"] == "number": property_item["description"] = value["description"]
property_item["value"] = 0 if value["type"] == "number":
elif value["type"] == "boolean": property_item["value"] = 0
property_item["value"] = False elif value["type"] == "boolean":
else: property_item["value"] = False
property_item["value"] = "" else:
self.properties.append(property_item) property_item["value"] = ""
self.properties.append(property_item)
# 根据描述创建方法 # 根据描述创建方法
for key, value in methods.items(): if methods is not None:
method = globals()[key] = {} for key, value in methods.items():
method["description"] = value["description"] method = globals()[key] = {}
method["name"] = key method["description"] = value["description"]
for k, v in value["parameters"].items(): method["name"] = key
method[k] = {} for k, v in value["parameters"].items():
method[k]["description"] = v["description"] method[k] = {}
if v["type"] == "number": method[k]["description"] = v["description"]
method[k]["value"] = 0 if v["type"] == "number":
elif v["type"] == "boolean": method[k]["value"] = 0
method[k]["value"] = False elif v["type"] == "boolean":
else: method[k]["value"] = False
method[k]["value"] = "" else:
self.methods.append(method) method[k]["value"] = ""
self.methods.append(method)
def register_device_type(descriptor): def register_device_type(descriptor):