For the complete documentation index, see llms.txt. This page is also available as Markdown.

Payload Shapes

This article assumes you've completed the Getting Started guide and understand the data modeling concepts.

Payload shapes define the structure and validation rules for message payloads. While built-in shapes handle most time-series data, custom shapes enable relational data modeling for complex business records.

Overview

In the component chain, payload shapes provide the foundation:

Payload Shapes → Data Models → Data Contracts → Data Flows

  Value types defined here

UI Capabilities

Payload shapes have no UI component:

Feature
Available
Notes

View shapes

Configuration file only

Create shapes

Edit config.yaml directly

Edit shapes

Modify config.yaml

Built-in shapes

Always available, no configuration needed

Configuration location: Select your instance under Instances in the menu, press ..., then Config File. Find payload shapes under the payloadShapes: section

Built-in Shapes

UMH provides three built-in shapes that handle 90% of industrial data:

timeseries-number

For numeric sensor data and measurements.

Structure:

Use cases: Temperature, pressure, speed, counts, any numeric measurement

timeseries-string

For text-based status and identifiers.

Structure:

Use cases: Machine states, batch IDs, product codes, operator names

timeseries-boolean

For on/off process values.

Structure:

Use cases: Machine running, alarm active, valve open/closed, any true/false state

When to Use Custom Shapes

Custom shapes are specifically for relational data - business records with multiple related fields that must stay together.

Time-series vs Relational:

Data Type
Shape
Example

Single values over time

Built-in timeseries-*

Temperature readings

Complex business records

Custom shape

Work orders, quality inspections

Learn more: Payload Formats

Configuration

Access configuration via: Instances → Select instance → ... → Config File

Defining Custom Shapes

Key points:

  • Field types are string, number, boolean (see Data Model Type Definitions)

  • All fields are required

  • Shape names must be unique

Using Custom Shapes in Models

Reference custom shapes in your data models to create CRUD-like endpoints:

This creates topics like:

  • enterprise.site._work_order_v1.create - New work orders

  • enterprise.site._work_order_v1.update - Update existing orders

  • enterprise.site._work_order_v1.delete - Delete orders

Processing Relational Data

Example: Processing Work Orders

This creates a message at enterprise.site._work_order_v1.create with the complete work order data.

Relationship to Other Components

Payload shapes are referenced by data models, which are then enforced by data contracts.

Next Steps

  • Define structure: Data Models - Create hierarchies using shapes

  • Enforce validation: Data Contracts - Make shapes mandatory

  • Build pipelines: Data Flows - Process data with bridges

Last updated