Skip to content

Resources

Resources represent readable/writable hardware values such as voltages, temperatures, and firmware revisions. They are identified by a dotted name string (e.g. "TempRegulator.CPU_TEMP").

Alias support: Both the NetName (e.g. "0.23.ESH10000517.READ_TEMPERATURE") and the channel Alias (e.g. "FRONT_AIR READ TEMPERATURE") are accepted interchangeably by all read, write, and transact methods.

Methods

Method Returns Description
get_names() list[str] List all available resource names.
get_value(name) str Read the current value of a single resource.
set_value(name, value) Write a value to a single resource.
get_values(names) dict[str, str] Read multiple resources in one call.
set_values(resources) Write multiple resources in one call.
transact(name, value) str Write then read (command/response pattern).

Examples

Single Read/Write

# Read a single value
voltage = client.resources.get_value("0.1.ESH10000158.MON_3V3")
print(f"Voltage: {voltage} V")

# Write a value
client.resources.set_value("MyOutput", "2.5")

Batch Operations

# Batch read
values = client.resources.get_values([
    "TempRegulator.CPU_TEMP",
    "Engine.Uptime",
])
for name, val in values.items():
    print(f"{name} = {val}")

# Batch write
client.resources.set_values({
    "Output1": "1.0",
    "Output2": "2.0",
})

Write-then-Read Transaction

Useful for command/response patterns such as EEPROM or register access:

response = client.resources.transact("Eeprom.Read", "0x0010")
print(f"Register value: {response}")