API Reference¶
Client Interface¶
- exception hermes_dm.client.connection.HermesError[source]¶
Bases:
ExceptionCustom exception raised when the daemon returns an error.
- class hermes_dm.client.connection.HermesClient(host='localhost', port=5555, timeout_ms=5000)[source]¶
Bases:
objectSynchronous client for communicating with the Hermes Device Manager daemon.
- list_devices()[source]¶
Get a list of available USB/Serial/Network instrument identifiers.
- Return type:
List[str]
- list_scpi_resources()[source]¶
Ask the daemon to scan the local hardware bus and return a list of available PyVISA identifiers (e.g., COM ports, USB, GPIB).
- Return type:
List[str]
- connect_device(name, identifier, model='auto')[source]¶
Connect a physical instrument to the daemon. If ‘model’ is omitted or set to ‘auto’, Hermes will attempt to automatically discover the device type and required SCPI terminators.
- Return type:
str
- configure_device(name, settings)[source]¶
Apply a dictionary of configuration settings to a specific device.
- Return type:
str
- set_db_file(filename)[source]¶
Create or select the SQLite database file for logging.
- Return type:
str
- set_interval(name, interval)[source]¶
Set the polling interval (in seconds) for a specific device.
- Return type:
str
- get_status(name=None)[source]¶
Get the status of the daemon, or a specific device if ‘name’ is provided.
- Return type:
Dict[str,Any]
- enable_db_logging(name)[source]¶
Enable saving this device’s data to the SQLite database. Live telemetry over ZMQ is unaffected.
- Return type:
str
Daemon Server¶
Instrument Drivers¶
- class hermes_dm.instruments.base.BaseInstrument(name, identifier, **kwargs)[source]¶
Bases:
ABCBase interface for all power supplies and measurement devices.
- abstractmethod async configure(settings)[source]¶
Parse dictionary, validate, and apply settings via SCPI.