调整 ValueDescriptor
This commit is contained in:
@@ -21,11 +21,9 @@ const (
|
||||
// ValueDescriptor 描述了传感器可以报告的单个数值。
|
||||
// 它提供了必要的元数据,以便应用程序能够正确解释从设备读取的原始数据。
|
||||
type ValueDescriptor struct {
|
||||
Name string `json:"name"`
|
||||
Unit string `json:"unit"`
|
||||
DataType string `json:"data_type"`
|
||||
Multiplier float64 `json:"multiplier"`
|
||||
Offset float64 `json:"offset"`
|
||||
Type SensorType `json:"type"`
|
||||
Multiplier float64 `json:"multiplier"`
|
||||
Offset float64 `json:"offset"`
|
||||
}
|
||||
|
||||
// --- 指令结构体 (Command Structs) ---
|
||||
@@ -137,15 +135,10 @@ func (dt *DeviceTemplate) SelfCheck() error {
|
||||
if dt.Values == nil {
|
||||
return errors.New("传感器类型的设备模板缺少 Values 定义")
|
||||
}
|
||||
var values []*ValueDescriptor
|
||||
var values *ValueDescriptor
|
||||
if err := dt.ParseValues(&values); err != nil {
|
||||
return errors.New("无法解析传感器模板的 Values 属性")
|
||||
}
|
||||
// 黄金准则: 一个传感器模板只能定义一种数值的解析方式
|
||||
if len(values) != 1 {
|
||||
return errors.New("传感器模板的 Values 定义必须且只能包含一个描述符")
|
||||
}
|
||||
|
||||
default:
|
||||
return errors.New("未知的设备模板类别")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user