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.
- init(self: libHeexSdkPython.HeexGps) -> None
Create a HeexGps with default coordinates (0.0, 0.0).
- 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.
- addLabel(self: libHeexSdkPython.RecorderLabels, key: str, value: str) -> None
Add a label with the specified key and value.
- 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.
- init(self: libHeexSdkPython.TriggerInfo) -> None
Create an empty TriggerInfo.
- 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.