pycsamt.iot.power#
Functions
|
Estimate and tabulate energy budgets for multiple devices. |
|
Estimate runtime from battery, duty cycle, and optional solar input. |
|
Return energy estimates as a pyCSAMT table. |
Classes
|
Named power profile for a field node or recorder. |
|
Power-budget inputs for a field IoT device. |
|
Estimated runtime and power draw. |
|
Energy status for an IoT field device. |
- class pycsamt.iot.power.PowerState(*values)[source]#
-
Energy status for an IoT field device.
- SUSTAINING = 'sustaining'#
- OK = 'ok'#
- WARNING = 'warning'#
- CRITICAL = 'critical'#
- class pycsamt.iot.power.DevicePowerProfile(name, active_power_w, sleep_power_w=0.05, telemetry_power_w=0.0, edge_power_w=0.0, metadata=<factory>)[source]#
Bases:
PyCSAMTObjectNamed power profile for a field node or recorder.
- Parameters:
- apply(*, battery_wh, duty_cycle=1.0, solar_wh_per_day=0.0, **kwargs)[source]#
Build an
EnergyConfigfrom this profile.- Parameters:
- Return type:
- class pycsamt.iot.power.EnergyConfig(battery_wh, active_power_w, sleep_power_w=0.05, duty_cycle=1.0, solar_wh_per_day=0.0, reserve_fraction=0.0, regulator_efficiency=1.0, charge_efficiency=1.0, telemetry_power_w=0.0, telemetry_seconds_per_day=0.0, edge_power_w=0.0, edge_duty_cycle=0.0, auxiliary_wh_per_day=0.0, min_runtime_days=None, device_id=None, metadata=<factory>)[source]#
Bases:
PyCSAMTObject,MetadataMixinPower-budget inputs for a field IoT device.
- Parameters:
battery_wh (float)
active_power_w (float)
sleep_power_w (float)
duty_cycle (float)
solar_wh_per_day (float)
reserve_fraction (float)
regulator_efficiency (float)
charge_efficiency (float)
telemetry_power_w (float)
telemetry_seconds_per_day (float)
edge_power_w (float)
edge_duty_cycle (float)
auxiliary_wh_per_day (float)
min_runtime_days (float | None)
device_id (str | None)
- class pycsamt.iot.power.EnergyEstimate(average_power_w, runtime_hours, runtime_days, net_wh_per_day, load_wh_per_day=0.0, harvest_wh_per_day=0.0, usable_battery_wh=0.0, telemetry_wh_per_day=0.0, edge_wh_per_day=0.0, auxiliary_wh_per_day=0.0, reserve_wh=0.0, energy_margin_wh_per_day=0.0, autonomy_days_no_harvest=0.0, state=PowerState.OK, issues=<factory>)[source]#
Bases:
PyCSAMTObjectEstimated runtime and power draw.
- Parameters:
average_power_w (float)
runtime_hours (float)
runtime_days (float)
net_wh_per_day (float)
load_wh_per_day (float)
harvest_wh_per_day (float)
usable_battery_wh (float)
telemetry_wh_per_day (float)
edge_wh_per_day (float)
auxiliary_wh_per_day (float)
reserve_wh (float)
energy_margin_wh_per_day (float)
autonomy_days_no_harvest (float)
state (PowerState | str)
- state: PowerState | str = 'ok'#
- pycsamt.iot.power.estimate_deployment_energy(configs, *, api=None)[source]#
Estimate and tabulate energy budgets for multiple devices.
- Parameters:
configs (Iterable[EnergyConfig])
api (bool | None)
- Return type:
- pycsamt.iot.power.estimate_energy_budget(config)[source]#
Estimate runtime from battery, duty cycle, and optional solar input.
- Parameters:
config (EnergyConfig)
- Return type:
- pycsamt.iot.power.power_summary_table(estimates, *, device_ids=None, api=None)[source]#
Return energy estimates as a pyCSAMT table.
- Parameters:
estimates (EnergyEstimate | Iterable[EnergyEstimate])
api (bool | None)
- Return type: