Deployment Groups

How to organize devices into deployment groups for efficient management

Deployment Groups are a powerful feature for organizing and managing your Thingsee IoT devices. They enable bulk operations, targeted updates, and efficient data routing.

What Are Deployment Groups?

A DeploymentGroup (groupId) is a logical collection of devices. Every Thingsee device belongs to a single deployment group. When devices are manufactured, they start as “unassigned” and can be assigned to groups during installation.

Use Cases

Use CaseBenefit
Location groupingOrganize by building, floor, or zone
Update managementRoll out firmware to specific groups
Data routingSubscribe to MQTT topics by group
Maintenance windowsSchedule updates per group

Group Naming Convention

Deployment groups follow this naming structure:

{Thingsee Deployment Prefix} + {Customer Deployment Id}

Thingsee Deployment Prefix

The prefix is always 6 lowercase alphanumeric characters:

{environment}{country code}{reserved}

Environment Codes

CodeDescription
unUnassigned (available for installation)
prProduction (only prefix supported by MQTT)
dmDemo
rdDevelopment

Country Code

Use ISO 3166-1 alpha-2 codes:

  • fi - Finland
  • gb - United Kingdom
  • us - United States
  • de - Germany
  • xx - No specific country

Reserved

Default: 00

Customer Deployment Id

This part is fully under your control. Use your own naming logic to create meaningful identifiers.

Examples

Group IDDescription
unxx00Unassigned devices, no country specified
rdxx00Development devices, no country
prfi00haltianhqProduction devices at Haltian HQ, Finland
prgb00londonofficeProduction devices in London office, UK
prus00siliconvalleyProduction devices in Silicon Valley, US
rdgb00testlabDevelopment devices in UK test lab

Best Practices

Group Size Guidelines

Maximum size: Consider how many devices can be updated simultaneously without impacting service.

Minimum size: Typically defined by installation location. A single location (e.g., “Haltian HQ”) can be one group.

Naming Rules

  • Keep full group name (prefix + ID) to 64 characters or less
  • Use lowercase letters and numbers only
  • No special characters allowed
  • Be concise - verbose names increase data overhead

Data Routing Considerations

Thingsee MQTT broker publishes data to topics constructed from deployment group information:

cloudext/json/{deploymentGroup}/{tuid}/#

This allows you to:

  • Subscribe to all devices in a group
  • Subscribe to specific devices within a group
  • Build cloud services that process data by group

Managing Deployment Groups

Creating Groups

Groups are created and managed through:

  • Thingsee Open Services API - Programmatic management
  • Thingsee Toolbox - Mobile app for field operations
  • Customer applications - Using the API

API Operations

# Create a deployment group
POST /api/v1/groups
{
  "groupId": "prfi00haltianhq",
  "description": "Haltian Headquarters, Finland"
}

# List groups
GET /api/v1/groups

# Get group details
GET /api/v1/groups/prfi00haltianhq

# Assign device to group
PUT /api/v1/things/{tuid}/group
{
  "groupId": "prfi00haltianhq"
}

Moving Devices Between Groups

  1. Devices can be reassigned using the API
  2. Device will appear in new group’s MQTT topic
  3. Historical data association is preserved

Data Flow by Group

%%{init: {'theme':'base','themeVariables':{'primaryColor':'#73F9C1','primaryTextColor':'#143633','primaryBorderColor':'#143633','lineColor':'#143633','secondaryColor':'#C7FDE6','tertiaryColor':'#F6FAFA','clusterBkg':'#F6FAFA','clusterBorder':'#143633'}}}%%
flowchart TB
    subgraph CustomerCloud["Your Cloud"]
        YOUR[Your Cloud]
    end
    
    T1["Topic: cloudext/json/prfi00haltianhq/#"]
    T2["Topic: cloudext/json/prfi00tampere/#"]
    
    subgraph DeploymentGroups["Deployment Groups"]
        subgraph Group1["prfi00haltianhq"]
            S1[Sensor 1]
            S2[Sensor 2]
            S3[Sensor 3]
        end
        
        subgraph Group2["prfi00tampere"]
            S4[Sensor 4]
            S5[Sensor 5]
        end
    end
    
    Group1 --> T1
    Group2 --> T2
    T1 & T2 --> YOUR

Firmware Updates by Group

Deployment groups enable controlled firmware rollouts:

  1. Canary group - Test on development devices first
  2. Pilot group - Small production subset
  3. Staged rollout - Group by group in production
  4. Monitoring - Validate each stage before proceeding
%%{init: {'theme':'base','themeVariables':{'primaryColor':'#73F9C1','primaryTextColor':'#143633','primaryBorderColor':'#143633','lineColor':'#143633','secondaryColor':'#C7FDE6','tertiaryColor':'#F6FAFA','clusterBkg':'#F6FAFA','clusterBorder':'#143633'}}}%%
flowchart LR
    FW[New Firmware] --> RD[rdfi00testlab]
    RD -->|Verify| PILOT[prfi00pilot]
    PILOT -->|Verify| PROD1[prfi00building1]
    PROD1 -->|Verify| PROD2[prfi00building2]
    PROD2 -->|Verify| PROD3[prfi00building3]

Bulk Operations

Groups enable efficient bulk operations:

OperationScopeAPI Endpoint
Firmware updateAll devices in groupPOST /api/v1/groups/{groupId}/firmware
Configuration changeAll devices in groupPOST /api/v1/groups/{groupId}/config
Status queryAll devices in groupGET /api/v1/groups/{groupId}/status