# ##############################################################
# Configuration sub model provider configuration file
# ##############################################################



# ##############################################################
# Sub model provider configuration

# Name of provided sub model
idShort       = rawSampleCFG



# ##############################################################
# Sub model meta data

# Sub model version
administration/version           = 1.0



# ##############################################################
# Exported configuration


# Export property "cfgProperty1" and its meta data
submodelElements/cfgProperty1/value        = exampleStringValueRaw
submodelElements/cfgProperty1/description  = Configuration property description
submodelElements/cfgProperty1/modelType/name = Property
submodelElements/cfgProperty1/idShort = cfgProperty1

# Export property "cfgProperty2" and its meta data
submodelElements/cfgProperty2/value        = 12
submodelElements/cfgProperty2/value$ftype  = int
submodelElements/cfgProperty2/description  = Configuration property description \
                                       on multiple lines
submodelElements/cfgProperty2/modelType/name = Property
submodelElements/cfgProperty2/idShort = cfgProperty2

# Export property "cfgProperty3" and its meta data
submodelElements/cfgProperty3/value        = 45.8
submodelElements/cfgProperty3/modelType/name = Property
submodelElements/cfgProperty3/idShort = cfgProperty3

# Export property "cfgProperty4" and its meta data
submodelElements/cfgProperty4/value        = 44.8
submodelElements/cfgProperty4/description  = Another configuration property description
submodelElements/cfgProperty4/newMetaData  = 8
submodelElements/cfgProperty4/modelType/name = Property
submodelElements/cfgProperty4/idShort = cfgProperty4




