sttp.metadata.record package

Submodules

sttp.metadata.record.device module

class sttp.metadata.record.device.DeviceRecord(nodeid: UUID, deviceid: UUID, acronym: str, name: str, accessid: int, parentacronym: str = Ellipsis, protocolname: str = Ellipsis, framespersecond: int = Ellipsis, companyacronym: str = Ellipsis, vendoracronym: str = Ellipsis, vendordevicename: str = Ellipsis, longitude: Decimal = Ellipsis, latitude: Decimal = Ellipsis, updatedon: datetime = Ellipsis)[source]

Bases: object

Represents a record of device metadata in the STTP.

DEFAULT_COMPANYNAME = ''
DEFAULT_FRAMESPERSECOND = 30
DEFAULT_LATITUDE = Decimal('0')
DEFAULT_LONGITUDE = Decimal('0')
DEFAULT_PARENTACRONYM = ''
DEFAULT_PROTOCOLNAME = ''
DEFAULT_UPDATEDON = datetime.datetime(1, 1, 1, 0, 0, tzinfo=datetime.timezone.utc)
DEFAULT_VENDORACRONYM = ''
DEFAULT_VENDORDEVICENAME = ''
property accessid: int

Gets the access ID (a.k.a. ID code) for this DeviceRecord.

property acronym: str

Gets the unique alpha-numeric identifier for this DeviceRecord.

property companyacronym: str

Gets the acronym of the company associated with this DeviceRecord.

property deviceid: UUID

Gets the unique guid-based identifier for this DeviceRecord.

property framespersecond: int

Gets the data reporting rate, in data frames per second, for this DeviceRecord.

property latitude: Decimal

Gets the latitude of this DeviceRecord.

property longitude: Decimal

Gets the longitude of this DeviceRecord.

measurements: Set[MeasurementRecord]

Gets MeasurementRecord values associated with this DeviceRecord.

property name: str

Gets the free form name of this DeviceRecord.

property nodeid: UUID

Gets the guid-based STTP node identifier for this DeviceRecord.

property parentacronym: str

Gets the parent device alpha-numeric identifier for this DeviceRecord, if any.

phasors: Set[PhasorRecord]

Gets PhasorRecord values associated with this DeviceRecord.

property protocolname: str

Gets the name of the source protocol for this DeviceRecord.

property updatedon: datetime

Gets the datetime of when this DeviceRecord was last updated.

property vendoracronym: str

Gets the acronym of the vendor associated with this DeviceRecord.

property vendordevicename: str

Gets the acronym of the vendor device name associated with this DeviceRecord.

sttp.metadata.record.measurement module

class sttp.metadata.record.measurement.MeasurementRecord(signalid: UUID, adder: float64 = Ellipsis, multiplier: float64 = Ellipsis, id: uint64 = Ellipsis, source: str = Ellipsis, signaltypename: str = Ellipsis, signalreference: str = Ellipsis, pointtag: str = Ellipsis, deviceacronym: str = Ellipsis, description: str = Ellipsis, updatedon: datetime = Ellipsis)[source]

Bases: object

Represents a record of measurement metadata in the STTP.

Note

The MeasurementRecord defines ancillary information associated with a Measurement. Metadata gets cached in a registry associated with a DataSubscriber.

DEFAULT_ADDER = np.float64(0.0)
DEFAULT_DESCRIPTION = ''
DEFAULT_DEVICEACRONYM = ''
DEFAULT_ID = np.uint64(0)
DEFAULT_MULTIPLIER = np.float64(1.0)
DEFAULT_POINTTAG = ''
DEFAULT_SIGNALID = UUID('00000000-0000-0000-0000-000000000000')
DEFAULT_SIGNALREFERENCE = ''
DEFAULT_SIGNALTYPENAME = 'UNKN'
DEFAULT_SOURCE = ''
DEFAULT_UPDATEDON = datetime.datetime(1, 1, 1, 0, 0, tzinfo=datetime.timezone.utc)
property adder: float64

Gets the additive value modifier. Allows for linear value adjustment. Defaults to zero.

property description: str

Gets the description for this MeasurementRecord.

device: DeviceRecord | None

Defines the associated DeviceRecord for this MeasurementRecord. Set to None if not applicable.

property deviceacronym: str

Gets the alpha-numeric identifier of the associated device for this MeasurementRecord.

property id: uint64

Gets the STTP numeric ID number (from measurement key) for this MeasurementRecord.

property multiplier: float64

Gets the multiplicative value modifier. Allows for linear value adjustment. Defaults to one.

phasor: PhasorRecord | None

Defines the associated PhasorRecord for this MeasurementRecord. Set to None if not applicable.

property pointtag: str

Gets the unique point tag for this MeasurementRecord.

property signalid: UUID

Gets the unique guid-based signal identifier for this MeasurementRecord.

property signalreference: str

Gets the unique signal reference for this MeasurementRecord.

property signaltype: SignalType

Gets the SignalType enumeration for this MeasurementRecord, if it can be parsed from signaltypename; otherwise, returns SignalType.UNKN.

property signaltypename: str

Gets the signal type name for this MeasurementRecord, e.g., “FREQ”.

property source: str

Gets the STTP source instance (from measurement key) for this MeasurementRecord.

property updatedon: datetime

Gets the datetime of when this MeasurementRecord was last updated.

class sttp.metadata.record.measurement.SignalType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Represents common signal types for STTP metadata. This list may not be exhaustive for some STTP deployments. If value is set to UNKN, check the string based SignalTypeName in the MeasurementRecord.

ALOG = 7
ALRM = 12
CALC = 10
DFDT = 6
DIGI = 9
FLAG = 8
FREQ = 5
IPHA = 2
IPHM = 1
QUAL = 13
STAT = 11
UNKN = -1
VPHA = 4
VPHM = 3
classmethod parse(name: str) SignalType[source]

sttp.metadata.record.phasor module

class sttp.metadata.record.phasor.CompositePhasorMeasurement(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

ANGLE = 0
MAGNITUDE = 1
class sttp.metadata.record.phasor.PhasorRecord(id: int, deviceacronym: str, label: str, type: str, phase: str, sourceindex: int, basekv: int = Ellipsis, updatedon: datetime = Ellipsis)[source]

Bases: object

Represents a record of phasor metadata in the STTP.

DEFAULT_BASEKV = 500
DEFAULT_PHASE = '+'
DEFAULT_TYPE = 'V'
DEFAULT_UPDATEDON = datetime.datetime(1, 1, 1, 0, 0, tzinfo=datetime.timezone.utc)
property angle_measurement: MeasurementRecord | None

Gets the associated angle MeasurementRecord, or None if not available.

property basekv: int

Gets the base, i.e., nominal, kV level for this PhasorRecord.

device: DeviceRecord | None

Defines the associated DeviceRecord for this PhasorRecord.

property deviceacronym: str

Gets the alpha-numeric identifier of the associated device for this PhasorRecord.

property id: int

Gets the unique integer identifier for this PhasorRecord.

property label: str

Gets the free form label for this PhasorRecord.

property magnitude_measurement: MeasurementRecord | None

Gets the associated magnitude MeasurementRecord, or None if not available.

measurements: List[MeasurementRecord]

Defines the two MeasurementRecord values, i.e., the angle and magnitude, associated with this PhasorRecord.

property phase: str

Gets the phase of this PhasorRecord, e.g., “A”, “B”, “C”, “+”, “-”, “0”, etc.

property sourceindex: int

Gets the source index, i.e., the 1-based ordering index of the phasor in its original context, for this PhasorRecord.

property type: str

Gets the phasor type, i.e., “I” or “V”, for current or voltage, respectively, for this PhasorRecord.

property updatedon: datetime

Gets the datetime of when this PhasorRecord was last updated.

Module contents