sparkplug-unique-device-names#459
Open
nickAS21 wants to merge 2 commits into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the Sparkplug API documentation to describe the new unique Sparkplug device naming convention ({groupId}:{nodeId}:{deviceId}) and its backward-compatibility migration behavior to avoid device naming collisions.
Changes:
- Added a “Device Naming & Uniqueness” section describing the fully-qualified device naming format and migration behavior.
- Updated the Sparkplug emulator/getting-started text and examples to reflect the new naming format.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+23
to
+24
| To prevent naming collisions across different groups or nodes, ThingsBoard enforces a fully qualified, unique namespacing convention for all Sparkplug devices using their hierarchy: | ||
|
|
| <Aside type="caution" title="Backward Compatibility & Migration"> | ||
| The migration from short legacy names to full-path names is implicit and happens automatically upon receiving the first Sparkplug message (`NBIRTH` or `DBIRTH`) after the system update: | ||
|
|
||
| * **Device Renaming:** Devices previously identified only by their short `deviceId` are automatically renamed to their full Sparkplug path (`groupId:edgeNode:deviceId`). |
Comment on lines
+49
to
+54
| #### Naming Comparison Examples: | ||
|
|
||
| | Aspect / Context | Before (Legacy) | After (Current) | | ||
| | :--- | :--- | :--- | | ||
| | **EoN Node** (e.g., groupId: `Group_A`, nodeId: `Node_5`) | `Plant_A` | `Plant_A` *(or any unique name according to Sparkplug 3.0 requirements)* | | ||
| | **Child Device** (e.g., deviceId: `Sensor-01`) | `Sensor-01` | `Group_A:Node_5:Sensor-01` | |
stitenko
approved these changes
Jun 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Introduces a unique naming convention for Sparkplug devices to prevent naming collisions.
Key Changes:
Action RequiredNo manual scripts needed. Please review dashboards or rule chains that strictly rely on the old deviceId naming scheme.
https://github.com/thingsboard/thingsboard-pe/pull/4398
Type of change
src/content/docs/**)src/content/_includes/**)src/components/**,src/styles/**)src/pages/**,src/data/**)src/data/redirects.ts)releaseskill)Affected products
Related issues
Checklist
pnpm checkpasses (Astro / TypeScript)pnpm lint:eslintpassespnpm lint:slugcheckpasses (required if pages were added/renamed/moved across languages)pnpm lint:linkcheckpasses locally — required to merge; run it before requesting review (usepnpm lint:linkcheck:nobuildif you already ran a build)src/data/redirects.ts, andpnpm generate:redirectswas runsrc/data/versions.ts