Options
All
  • Public
  • Public/Protected
  • All
Menu

Defines meta information of an IO source.

Hierarchy

Index

Properties

coreType

coreType: "IoSource"

The framework core type of the object, i.e. the name of the interface that defines the object's shape.

Optional externalId

externalId?: string

External ID associated with this object (optional)

Optional externalRoute

externalRoute?: string

A topic specification used for routing IO values from external sources to Coaty-defined IO actors or from Coaty-defined IO sources to external sinks (optional).

Only used for associating routes that are not created by an IO router, but defined by an external non-Coaty component.

remarks

Note that the format of an external route is binding-specific. In order to deliver IO values from/to an external source/actor, the format of the external route must correspond with the configured communication binding. That means, it must be in a valid format and must not have a Coaty-event-like shape. As the external route must be publishable and subscribable, it must not be pattern-based (no wildcard tokens allowed).

Optional isDeactivated

isDeactivated?: boolean

Marks an object that is no longer in use. The concrete definition meaning of this property is defined by the application. The property value is optional and should default to false.

Optional locationId

locationId?: string

Unique ID of Location object that this object has been associated with (optional).

name

name: string

The name/description of the object

objectId

objectId: string

Unique ID of the object

objectType

objectType: string

The concrete type name of the object.

The name should be in a canonical form following the naming convention for Java packages to avoid name collisions. All framework core types use the form coaty.<InterfaceName>, e.g. coaty.CoatyObject (see constants in CoreTypes class).

remarks

Object type names should be made up of characters in the range 0 to 9, a to z, A to Z, and dot (.).

remarks

All object types starting with coaty. are reserved for use by the Coaty framework and must not be used by applications to define custom object types.

Optional parentObjectId

parentObjectId?: string

Unique ID of parent/superordinate object (optional)

Optional updateRate

updateRate?: number

The update rate (in milliseconds) for publishing IoValue events:

  • desired rate for IO actors
  • maximum possible drain rate for IO sources

The IO router specifies the recommended update rate in Associate event data. If undefined, there is no limit on the rate of published events.

Optional updateStrategy

The backpressure strategy for publishing IO values (optional).

If not specified, the value defaults to IoSourceBackpressureStrategy.Default.

Optional useRawIoValues

useRawIoValues?: boolean

Determines whether IO values published by IO sources or received by IO actors should be treated as raw data that is not encoded/decoded as JSON objects.

In order to associate an IO source with an IO actor their values of this property must match, i.e. both properties must be either true or false to ensure that IO values transmitted between an IO source and and an IO actor can be properly encoded and decoded on each side.

Set this property to true to indicate that the IO source or IO actor should handle IO values in raw data format, i.e as a byte array of type Uint8Array (or Buffer in Node.js, a subclass thereof).

If set to false (default), the IO values sent by an IO source should be encodable as JSON and decodable as JSON by an associated IO actor.

valueType

valueType: string

The semantic, application-specific data type of values to be represented by the IO source, such as Temperature, Notification, Task, etc.

In order to be associated with an IO actor their value types must match.

The property value must be a non-empty string. You should choose canonical names for value types to avoid naming collisions. For example, by following the naming convention for Java packages, such as com.mydomain.myapp.Temperature.

Note that this value type is different from the underlying data format used by the IO source to publish IO data values. For example, an IO source for a temperature sensor could emit values as numbers or as a Value1D object with specific properties.

Generated using TypeDoc