Skip to content

Component metadata

component_metadata.yaml names a Custom Component in the catalogue and binds the files in the folder. It is written in the component folder; it is not an upload on the settings dialog.

A pack also needs settings_map.yaml, firmware_map.yaml, and actions.yaml. Refer to Custom Component files. The Component Pack CLI in the Profinity SDK validates that folder and writes the bundle as a .zip or a .nupkg, a NuGet package file.

Key Meaning
version Document stamp. Set it to "2.3"
name Catalogue name. It must be usable as a folder name, or validation fails with Component name is not a valid folder name
description Catalogue description
author Author. A .nupkg requires a non-empty author
pluginVersion Semantic version. A .nupkg requires one
requiredSdkVersion SDK version the pack needs, such as ">=1.0.0"
componentType Text, default CustomComponent. Selects the built-in component type. Keep CustomComponent for a Custom Component
componentGroup Catalogue group. The sample uses Custom
allowMultiple Boolean, default false. true lets a profile hold more than one instance
mainScript Path of the main script, relative to the component folder
dbcFile CAN database (DBC) file name
dashboardFile Dashboard file name
rebaseDbc Same as Rebase DBC on the component. Boolean, default false. true rebases the CAN IDs in the DBC file to rebaseAddress
rebaseAddress Same as Rebase address on the component. Number, default empty. The address to rebase to, with a 0x prefix for hex
deviceIdFilter Hex device ID, such as 0x1000, default empty (any device). Firmware whose device ID differs is refused
version: "2.3"
name: Hello
description: First Custom Component tutorial
author: Prohelion
pluginVersion: 1.0.0
requiredSdkVersion: ">=1.0.0"
componentGroup: Custom
componentType: CustomComponent
allowMultiple: true
mainScript: scripts/hello.py
dbcFile: hello.dbc
dashboardFile: hello.yaml

That file is the metadata from the Hello component pack. After an administrator uploads the bundle under ADMIN > Components & Plugins, ADD COMPONENT lists the name from this file.

Refer to Install and manage plugins for the upload screen, and to Using a Custom Component for the instance that results. A compiled plugin is a different bundle. Refer to Developing Plugins.