Module libHeexSdkPython

Heex SDK Python bindings

Classes

class EventRecordingLabelsQuery (...)

Args structure for RecorderQueryLabel messages used in the Recorder–HeexKERNEL interprocess communication. Stores parsed fields for QueryEventRecLabelsSo and AnswerEventRecLabelsSo commands.

init(self: libHeexSdkPython.EventRecordingLabelsQuery) -> None

Create an empty EventRecordingLabelsQuery.

Ancestors

  • pybind11_builtins.pybind11_object

Instance variables

prop eventId

The UUID of the event generated.

prop timestamp

UTC timestamp of the event in format YYYY-MM-DDThh:mm:ss.ssssssZ.

prop triggerId

The UUID of the trigger that generated the event.

class EventRecordingPartQuery (...)

Args structure for RecorderDataFilePath messages used in the Recorder–HeexKERNEL interprocess communication. Stores parsed fields for QueryDataFile and AnswerEventRecPartsSo commands.

init(self: libHeexSdkPython.EventRecordingPartQuery) -> None

Create an empty EventRecordingPartQuery.

Ancestors

  • pybind11_builtins.pybind11_object

Instance variables

prop eventId

The UUID of the event generated.

prop timestamp

UTC timestamp of the event in format YYYY-MM-DDThh:mm:ss.ssssssZ.

prop timestampedEventUuid

Unique identifier combining the UTC timestamp and event UUID for naming.

prop triggerId

The UUID of the trigger that generated the event.

class HeexGps (...)

Structure to hold GPS coordinates (x and y).

init(args, *kwargs) Overloaded function.

  1. init(self: libHeexSdkPython.HeexGps) -> None

Create a HeexGps with default coordinates (0.0, 0.0).

  1. init(self: libHeexSdkPython.HeexGps, lat: float, lon: float) -> None

Construct a HeexGps with the given latitude and longitude coordinates.

Ancestors

  • pybind11_builtins.pybind11_object

Instance variables

prop lat

The latitude coordinate.

prop lon

The longitude coordinate.

class Monitor (...)

Monitor node for pushing signal updates to the Heex Smart Data Engine.

init(self: libHeexSdkPython.Monitor, uuid: str, serverIp: str, serverPort: int, implementationVersion: str = '1.0.0') -> None

Construct a Monitor with the given UUID, server IP, port, and optional implementation version.

Ancestors

  • libHeexSdkPython._detail._Implementation
  • pybind11_builtins.pybind11_object

Methods

def awaitReady(self: Monitor)

Block until Implementation is ready or connection fails.

def disableLogToFile(self: Monitor)

Permanently disable logging output to files.

def getAllTriggerInfos(self: Monitor)

Return all loaded trigger infos as a map.

def getImplementationVersion(self: Monitor)

Return the implementation version transmitted to the Kernel.

def getMonitorSignals(self: Monitor,
triggerId: str = '',
signalName: str = '')

Return a list of MonitoringSignal objects for the given triggerId and signalName. If triggerId is empty, returns signals for all triggers. If signalName is not empty, it'll try to return only the signal with the given name.

def getSdkVersion(self: Monitor)

Return the SDK version used to compile this Implementation.

def getSystemId(self: Monitor)

Return the system ID.

def getSystemLabels(self: Monitor)

Return the system labels as a map of key-value pairs.

def getTimestampStr(self: Monitor)

Get current system time as an ISO-extended string.

def getTriggerInfo(self: Monitor,
triggerUUID: str)

Get trigger info for the given trigger UUID.

def getTriggerLabels(self: Monitor,
triggerId: str)

Return the trigger labels as a map of key-value pairs.

def getUuid(self: Monitor)

Return the UUID of this Implementation.

def isConnected(self: Monitor)

Inform on the connection status with the ConditionEvaluator.

def isReady(self: Monitor)

Return true if the Implementation is ready to begin work.

def onConfigurationChangedCallback(self: Monitor)

Hook called before configuration change is finalized.

def setConditionState(self: Monitor,
state: bool,
signalConditionId: str,
timestamp: str = '')

Set the state of given monitoring signal condition. This allows to trigger the condition state of any monitoring of a signal. NOTE: currently we only support this method for CUSTOM signals.

def updateValue(self: Monitor,
value: object,
timestamp: str = '')

Update a monitoring signal's value; if timestamp is empty, the current time is used.

def updateValueBySignalName(self: Monitor,
value: object,
timestamp: str = '',
signalName: str = '')

Update all monitoring signals matching signalName (or all of matching type if empty) with the given value and optional timestamp.

class MonitoringSignal (...)

Structure to hold a monitoring signal.

init(self: libHeexSdkPython.MonitoringSignal) -> None

Create an empty MonitoringSignal.

Ancestors

  • pybind11_builtins.pybind11_object

Instance variables

prop conditionId

The ID of the monitoring signal condition this signal is associated to.

prop datasourceId

The ID of the datasource this signal is associated to.

prop datasourceName

The name of the datasource this signal is associated to.

prop id

The ID of the signal.

prop name

The name of the signal. For ROS topics, format is '/topic>sub1>…', e.g. '/imu>angular_velocity>x'.

prop rosTopicType

The ROS topic type of the signal. Only used for ROS topics, e.g. 'sensor_msgs/msg/NavSatFix'

prop signalOperator

The operator of the signal. enum value (eg: 1 -> IN, 2 -> OUT, 10 -> LESS_THAN, etc.)

prop signalType

The type of the signal. enum value (eg: 1 -> INTEGER, 2 -> NUMBER, 7 -> STRING, 6 -> BOOLEAN…)

prop unit

The unit of the signal. enum value (eg: 1 -> METER_PER_SECOND, 2 -> METER, 3 -> KILOMETER, etc.)

prop value

The stringified triggering value. (eg: '1.23', 'true', '['a', 'b', 'c']', 'zone1', 'zone2'…)

prop valueType

The type of the monitored value. (eg: 'double', 'string', 'bool', 'array', 'zone'…)

Methods

def signalOperatorToString(self: MonitoringSignal)

Convert the signal operator to a stringified enum value for human readability

def signalTypeToString(self: MonitoringSignal)

Convert the signal type to a stringified enum value for human readability

def unitToString(self: MonitoringSignal)

Convert the unit to a stringified enum value for human readability

class Recorder (...)

Recorder node for collecting and serving recorded signal data.

init(self: libHeexSdkPython.Recorder, uuid: str, serverIp: str, serverPort: int, implementationVersion: str = '1.0.0') -> None

Construct a Recorder with the given UUID, server IP, port, and optional implementation version.

Ancestors

  • libHeexSdkPython._detail._Implementation
  • pybind11_builtins.pybind11_object

Methods

def awaitReady(self: Recorder)

Block until Implementation is ready or connection fails.

def disableLogToFile(self: Recorder)

Permanently disable logging output to files.

def generateRequestedFilePaths(self: Recorder,
query: EventRecordingPartQuery,
filepath: str)

Populate 'filepath' based on the EventRecordingPartQuery. Returns True if filepath generation succeeded, False on error.

def generateRequestedLabels(self: Recorder,
query: EventRecordingLabelsQuery,
labels: RecorderLabels)

Populate 'labels' based on the EventRecordingLabelsQuery. Returns True if label generation succeeded, False on error.

def getAllTriggerInfos(self: Recorder)

Return all loaded trigger infos as a map.

def getImplementationVersion(self: Recorder)

Return the implementation version transmitted to the Kernel.

def getRecorderSignals(self: Recorder,
triggerId: str = '',
signalName: str = '')

Return a list of RecordingSignal objects for the given triggerId and signalName. If triggerId is empty, returns signals for all triggers. If signalName is not empty, it'll try to return only the signal with the given name.

def getSdkVersion(self: Recorder)

Return the SDK version used to compile this Implementation.

def getSignalRecordingRange(self: Recorder,
triggerId: str = '',
signalName: str = '')

Return a (min, max) pair of recording ranges for the specified signal. If triggerId or signalName is empty, searches all triggers or signals. Returns (0, 0) if none found.

def getSystemId(self: Recorder)

Return the system ID.

def getSystemLabels(self: Recorder)

Return the system labels as a map of key-value pairs.

def getTimestampStr(self: Recorder)

Get current system time as an ISO-extended string.

def getTriggerInfo(self: Recorder,
triggerUUID: str)

Get trigger info for the given trigger UUID.

def getTriggerLabels(self: Recorder,
triggerId: str)

Return the trigger labels as a map of key-value pairs.

def getUuid(self: Recorder)

Return the UUID of this Implementation.

def isConnected(self: Recorder)

Inform on the connection status with the ConditionEvaluator.

def isReady(self: Recorder)

Return true if the Implementation is ready to begin work.

def onConfigurationChangedCallback(self: Recorder)

Hook called before configuration change is finalized.

class RecorderLabels (...)

Structure to hold recorder labels (key/value pairs) for an event.

init(self: libHeexSdkPython.RecorderLabels) -> None

Create an empty RecorderLabels.

Ancestors

  • pybind11_builtins.pybind11_object

Instance variables

prop labels

List of (key, value) pairs representing the labels attached to the event.

Methods

def addLabel(*args, **kwargs)

Overloaded function.

  1. addLabel(self: libHeexSdkPython.RecorderLabels, key: str, value: str) -> None

Add a label with the specified key and value.

  1. addLabel(self: libHeexSdkPython.RecorderLabels, heexGps: libHeexSdkPython.HeexGps) -> None

Add a GPS-based label using a HeexGps object (formatted as "lat, lon").

class RecordingFilepath (...)

Represents the association of a recorder UUID with a recording filepath.

init(self: libHeexSdkPython.RecordingFilepath, recorderUuid: str, filepath: str) -> None

Construct with the recorder's UUID and the recording's filepath.

Ancestors

  • pybind11_builtins.pybind11_object

Instance variables

prop filepath

The filepath of the recording.

prop recorderUuid

The UUID of the recorder.

class RecordingSignal (...)

Structure to hold a recording signal.

init(self: libHeexSdkPython.RecordingSignal) -> None

Create an empty RecordingSignal.

Ancestors

  • pybind11_builtins.pybind11_object

Instance variables

prop datasourceId

The ID of the datasource this signal is associated to.

prop datasourceName

The name of the datasource this signal is associated to.

prop end

The end time of the signal.

prop id

The ID of the signal.

prop name

The name of the signal. For ROS topics, format is '/topic>sub1>…', e.g. '/imu>angular_velocity>x'.

prop rosTopicType

The ROS topic type of the signal. Only used for ROS topics, e.g. 'sensor_msgs/msg/NavSatFix'

prop signalType

The type of the signal. (eg INTEGER, NUMBER, STRING, BOOLEAN, ZONE…)

prop start

The start time of the signal.

prop unit

The unit of the signal. (eg: METER_PER_SECOND, METER, KILOMETER, etc.)

Methods

def signalTypeToString(self: RecordingSignal)

Convert the signal type to a stringified enum value for human readability

def unitToString(self: RecordingSignal)

Convert the unit to a stringified enum value for human readability

class TriggerInfo (...)

Structure to hold trigger information (uuid, name, description).

init(args, *kwargs) Overloaded function.

  1. init(self: libHeexSdkPython.TriggerInfo) -> None

Create an empty TriggerInfo.

  1. init(self: libHeexSdkPython.TriggerInfo, uuid: str, name: str, description: str) -> None

Construct a TriggerInfo with the given uuid, name, and description.

Ancestors

  • pybind11_builtins.pybind11_object

Instance variables

prop description

A brief description of what the trigger signifies.

prop name

The human-readable name of the trigger.

prop uuid

The UUID of the trigger.