Skip to content

YAML File Configuration

YAML files are used for the configuration and should be written in a clear, structured format.

Familiarize yourself with YAML syntax, including key-value pairs, lists, and nested structures.

The catalog's logic details (task, signals, properties, and similar top-level configuration) are typically set up together with your Proemion contact during onboarding. This page focuses on the models section, where you maintain the actual maintenance items and activities.

Catalog Configuration Example

The following example shows the models section of a catalog, including both operating-hours-based and calendar-based maintenance items.

models:
  Example Model:
    links:
      en:
        "Service Docs": "https://example.com/docs"
    unique_activities:
      200sh:                  # once at first 200 operating hours
        en:
          - commissioning check
      90cd:                   # once 90 days after activation
        en:
          - first annual inspection
    cycle_activities:
      500sh:                  # every 500 operating hours
        en:
          Replace:
            - oil filter
            - air filter
      1000sh:
        en:
          - inspect drive chain
      500sh|90cd:             # every 500 operating hours OR 90 days, whichever first
        en:
          - lubricate pivot points

Cycle Keys

Each activity bucket under unique_activities or cycle_activities is keyed by when it triggers:

Shape Example Trigger
<n>sh 500sh every n operating hours
<n>cd 90cd every n calendar days since the machine's activation date
<n>sh\|<m>cd 500sh\|90cd whichever axis is reached first

cycle_activities repeat every period; unique_activities fire exactly once per machine.

A dual-axis cycle key such as 500sh|90cd configures a single maintenance activity that is triggered by either operating hours or calendar time, whichever target is reached first.

This is useful for maintenance instructions such as "every 500 operating hours or every 90 days".

Within a dual-axis cycle, both axes are tracked together: whichever axis triggers the task, completing it resets both axes at once.

Different cycle keys (e.g. 500sh and 500sh|90cd) are independent of each other and each open their own task.

Explanation

Explanation of the keys used in the catalog configuration example above.

Note

Note that a maintenance task may have the states deadline ("upcoming", "overdue") and progress ("unplanned", "planned", "skipped", "completed"), which are calculated and set by the Maintenance Planner.

With exception to "planned" and "completed" progress, which can be actively set by the user, for example a service technician, in the DataPortal.

For more information, see Maintenance Tasks in the DataPortal manual.

Config Description
models Model machines that are maintained, filters machines to match configured model names
links Internationalized links added to a task of a machine of that model
unique_activities Internationalized activities that occur only once, keyed by cycle key (e.g. 200sh, 90cd)
cycle_activities Internationalized activities that repeat, keyed by cycle key (e.g. 500sh, 90cd, 500sh\|90cd)

Internationalized Configuration

If an item or configuration is internationalized, it needs to be configured with at least one language code such as (en, de, it, fr). See also the example above.

Warning

Completeness and order matter.

If multiple languages are provided, all configuration items need to support all languages, including links and activities.

The order of configuration with the same meaning but in different languages matters for activities and links.

Wrong Ordered Example

en:
  - english activity A
  - english activity B
de:
  - german activity B
  - german activity A

A and B activity texts would be mixed up on task creation and show different meanings when switching the DataPortal's language setting.

Correct Ordered Example

en:
  - english activity A
  - english activity B
de:
  - german activity A
  - german activity B

Additional Tips

  • Comments: Use # for comments to explain sections or parameters for future reference.
  • Indentation: YAML is sensitive to indentation. Ensure consistent use of spaces, not tabs, for nested elements.
  • Consistency: Be consistent with naming conventions and structure throughout the document.