diff --git a/uclpcserver/uclpc.go b/uclpcserver/uclpc.go index 0f9aa92..c8fe499 100644 --- a/uclpcserver/uclpc.go +++ b/uclpcserver/uclpc.go @@ -78,6 +78,17 @@ func (e *UCLPCServer) AddFeatures() { } f.SetData(model.FunctionTypeLoadControlLimitDescriptionListData, loadControlDesc) + loadControl := &model.LoadControlLimitListDataType{ + LoadControlLimitData: []model.LoadControlLimitDataType{ + { + LimitId: eebusutil.Ptr(model.LoadControlLimitIdType(limitId)), + IsLimitChangeable: eebusutil.Ptr(true), + IsLimitActive: eebusutil.Ptr(false), + }, + }, + } + f.SetData(model.FunctionTypeLoadControlLimitListData, loadControl) + f = localEntity.GetOrAddFeature(model.FeatureTypeTypeDeviceConfiguration, model.RoleTypeServer) f.AddFunctionType(model.FunctionTypeDeviceConfigurationKeyValueDescriptionListData, true, false) f.AddFunctionType(model.FunctionTypeDeviceConfigurationKeyValueListData, true, true) @@ -110,6 +121,20 @@ func (e *UCLPCServer) AddFeatures() { } f.SetData(model.FunctionTypeDeviceConfigurationKeyValueDescriptionListData, deviceConfigDesc) + deviceConfig := &model.DeviceConfigurationKeyValueListDataType{ + DeviceConfigurationKeyValueData: []model.DeviceConfigurationKeyValueDataType{ + { + KeyId: eebusutil.Ptr(model.DeviceConfigurationKeyIdType(configId)), + IsValueChangeable: eebusutil.Ptr(true), + }, + { + KeyId: eebusutil.Ptr(model.DeviceConfigurationKeyIdType(configId + 1)), + IsValueChangeable: eebusutil.Ptr(true), + }, + }, + } + f.SetData(model.FunctionTypeDeviceConfigurationKeyValueListData, deviceConfig) + f = localEntity.GetOrAddFeature(model.FeatureTypeTypeDeviceDiagnosis, model.RoleTypeServer) f.AddFunctionType(model.FunctionTypeDeviceDiagnosisHeartbeatData, true, false)