pycsamt.iot.monitoring#
Functions
|
Convenience wrapper around |
|
Return monitoring statuses as a pyCSAMT table. |
|
Return telemetry packets as a pyCSAMT table. |
|
Summarise telemetry packet counts by device and topic. |
Classes
|
Electromagnetic survey methods recognised by IoT monitoring. |
|
Thresholds used to monitor AMT/MT/CSAMT telemetry streams. |
|
Overall status level for a monitored telemetry stream. |
|
Status returned by |
|
Monitor field telemetry from AMT, MT, CSAMT, and related surveys. |
- class pycsamt.iot.monitoring.EMMethod(*values)[source]#
-
Electromagnetic survey methods recognised by IoT monitoring.
- AMT = 'amt'#
- MT = 'mt'#
- CSAMT = 'csamt'#
- CSEM = 'csem'#
- TDEM = 'tdem'#
- TEM = 'tem'#
- UNKNOWN = 'unknown'#
- class pycsamt.iot.monitoring.MonitoringConfig(method=EMMethod.UNKNOWN, expected_interval_s=None, max_latency_s=30.0, max_gap_s=None, min_packet_success_rate=0.95, min_edge_acceptance_rate=0.85, min_battery_v=None, max_clock_offset_ms=None, frequency_band_hz=None, required_channels=<factory>, metadata=<factory>)[source]#
Bases:
PyCSAMTObject,MetadataMixinThresholds used to monitor AMT/MT/CSAMT telemetry streams.
- Parameters:
- classmethod for_method(method, **overrides)[source]#
Build a config seeded with a method’s canonical defaults.
The expected frequency band and required channels are taken from the method’s
MethodProfile, so the method-mismatch, missing-channel, and out-of-band checks inTelemetryMonitorbecome method-aware without any manual threshold tuning. Any keyword overrides win over the defaults.Example
>>> cfg = MonitoringConfig.for_method("csamt", min_battery_v=11.5) >>> cfg.required_channels ['ex', 'ey', 'hx', 'hy']
- Parameters:
- Return type:
- class pycsamt.iot.monitoring.MonitoringLevel(*values)[source]#
-
Overall status level for a monitored telemetry stream.
- OK = 'ok'#
- WARNING = 'warning'#
- CRITICAL = 'critical'#
- NO_DATA = 'no_data'#
- class pycsamt.iot.monitoring.MonitoringStatus(level, n_packet, packet_success_rate, edge_acceptance_rate, mean_latency_s, max_gap_s, battery_min_v, clock_offset_max_ms, methods=<factory>, stations=<factory>, channels=<factory>, frequency_min_hz=nan, frequency_max_hz=nan, issues=<factory>)[source]#
Bases:
PyCSAMTObjectStatus returned by
TelemetryMonitor.- Parameters:
- level: MonitoringLevel | str#
- class pycsamt.iot.monitoring.TelemetryMonitor(config=None)[source]#
Bases:
PyCSAMTObjectMonitor field telemetry from AMT, MT, CSAMT, and related surveys.
- Parameters:
config (MonitoringConfig | None)
- pycsamt.iot.monitoring.assess_telemetry(packets, *, config=None, now=None)[source]#
Convenience wrapper around
TelemetryMonitor.- Parameters:
packets (Iterable[TelemetryPacket | Mapping[str, Any]])
config (MonitoringConfig | None)
now (float | None)
- Return type:
- pycsamt.iot.monitoring.monitoring_status_table(statuses, *, api=None)[source]#
Return monitoring statuses as a pyCSAMT table.
- Parameters:
statuses (MonitoringStatus | Iterable[MonitoringStatus])
api (bool | None)
- Return type: