diff --git a/main/xiaozhi-server/core/handle/iotHandle.py b/main/xiaozhi-server/core/handle/iotHandle.py index 0af0bcde..edb7d338 100644 --- a/main/xiaozhi-server/core/handle/iotHandle.py +++ b/main/xiaozhi-server/core/handle/iotHandle.py @@ -144,33 +144,35 @@ class IotDescriptor: self.methods = [] # 根据描述创建属性 - for key, value in properties.items(): - property_item = globals()[key] = {} - property_item["name"] = key - property_item["description"] = value["description"] - if value["type"] == "number": - property_item["value"] = 0 - elif value["type"] == "boolean": - property_item["value"] = False - else: - property_item["value"] = "" - self.properties.append(property_item) + if properties is not None: + for key, value in properties.items(): + property_item = globals()[key] = {} + property_item["name"] = key + property_item["description"] = value["description"] + if value["type"] == "number": + property_item["value"] = 0 + elif value["type"] == "boolean": + property_item["value"] = False + else: + property_item["value"] = "" + self.properties.append(property_item) # 根据描述创建方法 - for key, value in methods.items(): - method = globals()[key] = {} - method["description"] = value["description"] - method["name"] = key - for k, v in value["parameters"].items(): - method[k] = {} - method[k]["description"] = v["description"] - if v["type"] == "number": - method[k]["value"] = 0 - elif v["type"] == "boolean": - method[k]["value"] = False - else: - method[k]["value"] = "" - self.methods.append(method) + if methods is not None: + for key, value in methods.items(): + method = globals()[key] = {} + method["description"] = value["description"] + method["name"] = key + for k, v in value["parameters"].items(): + method[k] = {} + method[k]["description"] = v["description"] + if v["type"] == "number": + method[k]["value"] = 0 + elif v["type"] == "boolean": + method[k]["value"] = False + else: + method[k]["value"] = "" + self.methods.append(method) def register_device_type(descriptor):