Skip to content

Commit ca88483

Browse files
authored
udpate:增加iot消息properties和methods可能为空的情况 (#851)
* update:测试页面增加OTA地址 * update:兼容旧设备,无Client-Id的情况 * update:修复智控台下发配置布尔类型转换出错bug * update:修复智控台下发配置字符类型转换出错bug * udpate:增加iot消息properties和methods可能为空的情况
1 parent 0da2da8 commit ca88483

File tree

1 file changed

+27
-25
lines changed

1 file changed

+27
-25
lines changed

main/xiaozhi-server/core/handle/iotHandle.py

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -144,33 +144,35 @@ def __init__(self, name, description, properties, methods):
144144
self.methods = []
145145

146146
# 根据描述创建属性
147-
for key, value in properties.items():
148-
property_item = globals()[key] = {}
149-
property_item["name"] = key
150-
property_item["description"] = value["description"]
151-
if value["type"] == "number":
152-
property_item["value"] = 0
153-
elif value["type"] == "boolean":
154-
property_item["value"] = False
155-
else:
156-
property_item["value"] = ""
157-
self.properties.append(property_item)
147+
if properties is not None:
148+
for key, value in properties.items():
149+
property_item = globals()[key] = {}
150+
property_item["name"] = key
151+
property_item["description"] = value["description"]
152+
if value["type"] == "number":
153+
property_item["value"] = 0
154+
elif value["type"] == "boolean":
155+
property_item["value"] = False
156+
else:
157+
property_item["value"] = ""
158+
self.properties.append(property_item)
158159

159160
# 根据描述创建方法
160-
for key, value in methods.items():
161-
method = globals()[key] = {}
162-
method["description"] = value["description"]
163-
method["name"] = key
164-
for k, v in value["parameters"].items():
165-
method[k] = {}
166-
method[k]["description"] = v["description"]
167-
if v["type"] == "number":
168-
method[k]["value"] = 0
169-
elif v["type"] == "boolean":
170-
method[k]["value"] = False
171-
else:
172-
method[k]["value"] = ""
173-
self.methods.append(method)
161+
if methods is not None:
162+
for key, value in methods.items():
163+
method = globals()[key] = {}
164+
method["description"] = value["description"]
165+
method["name"] = key
166+
for k, v in value["parameters"].items():
167+
method[k] = {}
168+
method[k]["description"] = v["description"]
169+
if v["type"] == "number":
170+
method[k]["value"] = 0
171+
elif v["type"] == "boolean":
172+
method[k]["value"] = False
173+
else:
174+
method[k]["value"] = ""
175+
self.methods.append(method)
174176

175177

176178
def register_device_type(descriptor):

0 commit comments

Comments
 (0)