writable-point – Project Haystack

def

writable-point

Point with writable output using 16-level priority array. Writable points typically are a setpoint or actuator command. Haystack writable points are modeled on the BACnet 16-level priority array with a relinquish default which effectively acts as level 17.

The following levels have special behavior:

  • Level 1: highest priority reserved for emergency overrides
  • Level 8: manual override with ability to set timer to expire back to auto
  • Default: implicitly acts as level 17 for relinquish default

The priority array provides for contention resolution when many different control applications may be vying for control of a given point. Low level applications like scheduling typically control levels 14, 15, or 16. Then users can override at level 8. But a higher levels like 2 to 7 can be used to trump a user override (for example a demand response energy routine that requires higher priority).

The actual value to write is resolved by starting at level 1 and working down to relinquish default to find the first non-null value. It is possible for all levels to be null, in which case the overall write output is null (which in turn may be auto/null to another system). Anytime a null value is written to a priority level, we say that level has been set to auto or released (this allows the next highest level to take command of the output).

Also see Points chapter.

conjunct

writable

Supports writing data

point

Data point such as a sensor or actuator

meta

usage

supertypes

marker

Marker labels a dict with typing information

    entity

Top-level dicts with a unique identifier

        point

Data point such as a sensor or actuator

tags

cur

Supports current value

dis

Display name for an entity

enum

Defines an eumeration of string key names

equipRef

Reference to equip which contains this entity

his

Supports historization of data

id

Defines the unique identifier of an entity in system using a ref value type

kind

Kind name used to identity a value data type

maxVal

Inclusive maximum for a numeric value

minVal

Inclusive minimum for a numeric value

pointFunction

Classifies the point as a sensor, command, or setpoint

pointQuantity

Quantity the point senses or controls

pointSubject

What the point senses or controls

siteRef

Reference to site which contains the entity

spaceRef

Reference to space which contains this entity

systemRef

Reference to system

tz

Timezone identifier from standard timezone database

unit

Unit identifier from standard unit database

writable

Supports writing data

writeErr

Error description when writeStatus indicates error condition

writeLevel

Current priority level for writeVal as number between 1 and 17

writeStatus

Current status of a writable point output

writeVal

Current desired value to write to output