Control Groups

This structured item provides a mechanism for grouping scalar items into logical controllable groups.

A maximum of one instance of this structured item may be included in a device class.

Definition

ID

control-groups

Qualified ID

org.esta.lib.core.1/control-groups

Name

Control Groups

Description

Contains markup defining logical controllable groups of atomic data objects

Category

N/A

Discussion

This structured item contains an object with some number of key/value pairs. Each key is either a unique identifier for a control group array which is its value, or items which indicates the value is an array of member items. Where the key represents a control group it must be an integer in string representation.

Items contains an array of references to atomic data objects (scalar item, bulk item, structured item etc.).

A particular atomic data object instance may appear no more than once in any control groups structured item.

Controllers can use this structured item to represent modular controllable elements of a device (often called multi-cell).

Control Group Detail

Key

Description

id

Indicates the ID of this control group

items

An array of IDs of items which are considered a ‘member’ of this control group

The id must be an integer in string representation, which must be unique within the parent object. Control groups are ordered within the parent using this field.

Markup Structure

{
  "1": [
    "1": [
      "items": [
        "/scl/scalar-item-1-id"
      ]
    ],
    "2": [
      "items": [
        "/scl/scalar-item-2-id"
      ]
    ]
  ],
  "2": [
    "1": [
      "items": [
        "/scl/scalar-item-3-id"
      ]
    ],
    "2": [
      "items": [
        "/scl/scalar-item-4-id"
      ]
    ]
  ]
}

This example represents a structure with 2 top level groups, each of which carries 2 children. Typical selection within a controller may look like: (Channel).1.1, (Channel).1.2, (Channel).2.1, (Channel).2.2.

Definition Markup

{
  "udrtype": "structureditemclass",
  "id": "control-groups",
  "name": "Control Groups",
  "description": "Contains markup defining logical controllable groups of atomic data objects.",
}

Instance Example

{
  "udrtype": "structureditem",
  "class": "org.esta.lib.core.1/control-groups",
  "id": "control-groups",
  "access": "readonly",
  "lifetime": "static",
  "value":   {
    "1": [
      "1": [
        "items": [
          "/scl/intensity!1"
        ]
      ],
      "2": [
        "items": [
          "/scl/intensity!2"
        ]
      ]
    ],
    "2": [
      "1": [
        "items": [
          "/scl/intensity!3"
        ]
      ],
      "2": [
        "items": [
          "/scl/intensity!4"
        ]
      ]
    ]
  }
}