This is my proposal for tags which are used to express the current real-time value of a point. This is based on the design I developed this summer for SkySpark, which seems to be working out quite well:
cur: Marker tag to indicate a point has a current value
curVal: the value of a point or omitted if unknown
curStatus: Str status as one of the predefined strings:
ok: all is okay
fault: a configuration problem
down: a communication or network problem
disabled: manual disable of the point or parent connector
unknown: we don't know anything (usually boot state)
curErr: error message associated when curStatus indicates an error condition
Then use a different set of tags for writable points which are commanding an actuator or setpoint (base on BACnet 16-level priority array):
writable: annotates a point as a writable output with 16-level priority array.
writeErr: error message associated with writeStatus
writeVal: current desired value to write to output
writeLevel: current priority level for writeVal as number between 1 and 17. The value 17 indicates the relinquish default value.
writeStatus: string status of a writable point as one of the following predefined strings:
unbound: writable point is not bound to an actual I/O point
ok: last write was successful
down: connectivity/networking problem - see writeErr
fault: configuration error - see writeErr
disabled: manual disable of the point
unknown: we don't know anything (typically boot state)
Does everyone like that or any alternative proposals?
I'm thinking of breaking points out into their own chapter to capture all the different facets and tags used to describe the points.
Brian Frank Tue 16 Oct 2012
This is my proposal for tags which are used to express the current real-time value of a point. This is based on the design I developed this summer for SkySpark, which seems to be working out quite well:
cur
: Marker tag to indicate a point has a current valuecurVal
: the value of a point or omitted if unknowncurStatus
: Str status as one of the predefined strings:curErr
: error message associated when curStatus indicates an error conditionThen use a different set of tags for writable points which are commanding an actuator or setpoint (base on BACnet 16-level priority array):
writable
: annotates a point as a writable output with 16-level priority array.writeErr
: error message associated withwriteStatus
writeVal
: current desired value to write to outputwriteLevel
: current priority level forwriteVal
as number between 1 and 17. The value 17 indicates the relinquish default value.writeStatus
: string status of a writable point as one of the following predefined strings:writeErr
writeErr
Does everyone like that or any alternative proposals?
I'm thinking of breaking points out into their own chapter to capture all the different facets and tags used to describe the points.