mirror of
https://github.com/meshtastic/python.git
synced 2026-01-05 22:37:57 -05:00
819 lines
33 KiB
Python
Generated
819 lines
33 KiB
Python
Generated
"""
|
|
@generated by mypy-protobuf. Do not edit manually!
|
|
isort:skip_file
|
|
"""
|
|
|
|
import builtins
|
|
import google.protobuf.descriptor
|
|
import google.protobuf.internal.enum_type_wrapper
|
|
import google.protobuf.message
|
|
import sys
|
|
import typing
|
|
|
|
if sys.version_info >= (3, 10):
|
|
import typing as typing_extensions
|
|
else:
|
|
import typing_extensions
|
|
|
|
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
|
|
|
|
class _TelemetrySensorType:
|
|
ValueType = typing.NewType("ValueType", builtins.int)
|
|
V: typing_extensions.TypeAlias = ValueType
|
|
|
|
class _TelemetrySensorTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TelemetrySensorType.ValueType], builtins.type):
|
|
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
SENSOR_UNSET: _TelemetrySensorType.ValueType # 0
|
|
"""
|
|
No external telemetry sensor explicitly set
|
|
"""
|
|
BME280: _TelemetrySensorType.ValueType # 1
|
|
"""
|
|
High accuracy temperature, pressure, humidity
|
|
"""
|
|
BME680: _TelemetrySensorType.ValueType # 2
|
|
"""
|
|
High accuracy temperature, pressure, humidity, and air resistance
|
|
"""
|
|
MCP9808: _TelemetrySensorType.ValueType # 3
|
|
"""
|
|
Very high accuracy temperature
|
|
"""
|
|
INA260: _TelemetrySensorType.ValueType # 4
|
|
"""
|
|
Moderate accuracy current and voltage
|
|
"""
|
|
INA219: _TelemetrySensorType.ValueType # 5
|
|
"""
|
|
Moderate accuracy current and voltage
|
|
"""
|
|
BMP280: _TelemetrySensorType.ValueType # 6
|
|
"""
|
|
High accuracy temperature and pressure
|
|
"""
|
|
SHTC3: _TelemetrySensorType.ValueType # 7
|
|
"""
|
|
High accuracy temperature and humidity
|
|
"""
|
|
LPS22: _TelemetrySensorType.ValueType # 8
|
|
"""
|
|
High accuracy pressure
|
|
"""
|
|
QMC6310: _TelemetrySensorType.ValueType # 9
|
|
"""
|
|
3-Axis magnetic sensor
|
|
"""
|
|
QMI8658: _TelemetrySensorType.ValueType # 10
|
|
"""
|
|
6-Axis inertial measurement sensor
|
|
"""
|
|
QMC5883L: _TelemetrySensorType.ValueType # 11
|
|
"""
|
|
3-Axis magnetic sensor
|
|
"""
|
|
SHT31: _TelemetrySensorType.ValueType # 12
|
|
"""
|
|
High accuracy temperature and humidity
|
|
"""
|
|
PMSA003I: _TelemetrySensorType.ValueType # 13
|
|
"""
|
|
PM2.5 air quality sensor
|
|
"""
|
|
INA3221: _TelemetrySensorType.ValueType # 14
|
|
"""
|
|
INA3221 3 Channel Voltage / Current Sensor
|
|
"""
|
|
BMP085: _TelemetrySensorType.ValueType # 15
|
|
"""
|
|
BMP085/BMP180 High accuracy temperature and pressure (older Version of BMP280)
|
|
"""
|
|
RCWL9620: _TelemetrySensorType.ValueType # 16
|
|
"""
|
|
RCWL-9620 Doppler Radar Distance Sensor, used for water level detection
|
|
"""
|
|
SHT4X: _TelemetrySensorType.ValueType # 17
|
|
"""
|
|
Sensirion High accuracy temperature and humidity
|
|
"""
|
|
VEML7700: _TelemetrySensorType.ValueType # 18
|
|
"""
|
|
VEML7700 high accuracy ambient light(Lux) digital 16-bit resolution sensor.
|
|
"""
|
|
MLX90632: _TelemetrySensorType.ValueType # 19
|
|
"""
|
|
MLX90632 non-contact IR temperature sensor.
|
|
"""
|
|
OPT3001: _TelemetrySensorType.ValueType # 20
|
|
"""
|
|
TI OPT3001 Ambient Light Sensor
|
|
"""
|
|
LTR390UV: _TelemetrySensorType.ValueType # 21
|
|
"""
|
|
Lite On LTR-390UV-01 UV Light Sensor
|
|
"""
|
|
TSL25911FN: _TelemetrySensorType.ValueType # 22
|
|
"""
|
|
AMS TSL25911FN RGB Light Sensor
|
|
"""
|
|
AHT10: _TelemetrySensorType.ValueType # 23
|
|
"""
|
|
AHT10 Integrated temperature and humidity sensor
|
|
"""
|
|
DFROBOT_LARK: _TelemetrySensorType.ValueType # 24
|
|
"""
|
|
DFRobot Lark Weather station (temperature, humidity, pressure, wind speed and direction)
|
|
"""
|
|
NAU7802: _TelemetrySensorType.ValueType # 25
|
|
"""
|
|
NAU7802 Scale Chip or compatible
|
|
"""
|
|
BMP3XX: _TelemetrySensorType.ValueType # 26
|
|
"""
|
|
BMP3XX High accuracy temperature and pressure
|
|
"""
|
|
ICM20948: _TelemetrySensorType.ValueType # 27
|
|
"""
|
|
ICM-20948 9-Axis digital motion processor
|
|
"""
|
|
MAX17048: _TelemetrySensorType.ValueType # 28
|
|
"""
|
|
MAX17048 1S lipo battery sensor (voltage, state of charge, time to go)
|
|
"""
|
|
CUSTOM_SENSOR: _TelemetrySensorType.ValueType # 29
|
|
"""
|
|
Custom I2C sensor implementation based on https://github.com/meshtastic/i2c-sensor
|
|
"""
|
|
|
|
class TelemetrySensorType(_TelemetrySensorType, metaclass=_TelemetrySensorTypeEnumTypeWrapper):
|
|
"""
|
|
Supported I2C Sensors for telemetry in Meshtastic
|
|
"""
|
|
|
|
SENSOR_UNSET: TelemetrySensorType.ValueType # 0
|
|
"""
|
|
No external telemetry sensor explicitly set
|
|
"""
|
|
BME280: TelemetrySensorType.ValueType # 1
|
|
"""
|
|
High accuracy temperature, pressure, humidity
|
|
"""
|
|
BME680: TelemetrySensorType.ValueType # 2
|
|
"""
|
|
High accuracy temperature, pressure, humidity, and air resistance
|
|
"""
|
|
MCP9808: TelemetrySensorType.ValueType # 3
|
|
"""
|
|
Very high accuracy temperature
|
|
"""
|
|
INA260: TelemetrySensorType.ValueType # 4
|
|
"""
|
|
Moderate accuracy current and voltage
|
|
"""
|
|
INA219: TelemetrySensorType.ValueType # 5
|
|
"""
|
|
Moderate accuracy current and voltage
|
|
"""
|
|
BMP280: TelemetrySensorType.ValueType # 6
|
|
"""
|
|
High accuracy temperature and pressure
|
|
"""
|
|
SHTC3: TelemetrySensorType.ValueType # 7
|
|
"""
|
|
High accuracy temperature and humidity
|
|
"""
|
|
LPS22: TelemetrySensorType.ValueType # 8
|
|
"""
|
|
High accuracy pressure
|
|
"""
|
|
QMC6310: TelemetrySensorType.ValueType # 9
|
|
"""
|
|
3-Axis magnetic sensor
|
|
"""
|
|
QMI8658: TelemetrySensorType.ValueType # 10
|
|
"""
|
|
6-Axis inertial measurement sensor
|
|
"""
|
|
QMC5883L: TelemetrySensorType.ValueType # 11
|
|
"""
|
|
3-Axis magnetic sensor
|
|
"""
|
|
SHT31: TelemetrySensorType.ValueType # 12
|
|
"""
|
|
High accuracy temperature and humidity
|
|
"""
|
|
PMSA003I: TelemetrySensorType.ValueType # 13
|
|
"""
|
|
PM2.5 air quality sensor
|
|
"""
|
|
INA3221: TelemetrySensorType.ValueType # 14
|
|
"""
|
|
INA3221 3 Channel Voltage / Current Sensor
|
|
"""
|
|
BMP085: TelemetrySensorType.ValueType # 15
|
|
"""
|
|
BMP085/BMP180 High accuracy temperature and pressure (older Version of BMP280)
|
|
"""
|
|
RCWL9620: TelemetrySensorType.ValueType # 16
|
|
"""
|
|
RCWL-9620 Doppler Radar Distance Sensor, used for water level detection
|
|
"""
|
|
SHT4X: TelemetrySensorType.ValueType # 17
|
|
"""
|
|
Sensirion High accuracy temperature and humidity
|
|
"""
|
|
VEML7700: TelemetrySensorType.ValueType # 18
|
|
"""
|
|
VEML7700 high accuracy ambient light(Lux) digital 16-bit resolution sensor.
|
|
"""
|
|
MLX90632: TelemetrySensorType.ValueType # 19
|
|
"""
|
|
MLX90632 non-contact IR temperature sensor.
|
|
"""
|
|
OPT3001: TelemetrySensorType.ValueType # 20
|
|
"""
|
|
TI OPT3001 Ambient Light Sensor
|
|
"""
|
|
LTR390UV: TelemetrySensorType.ValueType # 21
|
|
"""
|
|
Lite On LTR-390UV-01 UV Light Sensor
|
|
"""
|
|
TSL25911FN: TelemetrySensorType.ValueType # 22
|
|
"""
|
|
AMS TSL25911FN RGB Light Sensor
|
|
"""
|
|
AHT10: TelemetrySensorType.ValueType # 23
|
|
"""
|
|
AHT10 Integrated temperature and humidity sensor
|
|
"""
|
|
DFROBOT_LARK: TelemetrySensorType.ValueType # 24
|
|
"""
|
|
DFRobot Lark Weather station (temperature, humidity, pressure, wind speed and direction)
|
|
"""
|
|
NAU7802: TelemetrySensorType.ValueType # 25
|
|
"""
|
|
NAU7802 Scale Chip or compatible
|
|
"""
|
|
BMP3XX: TelemetrySensorType.ValueType # 26
|
|
"""
|
|
BMP3XX High accuracy temperature and pressure
|
|
"""
|
|
ICM20948: TelemetrySensorType.ValueType # 27
|
|
"""
|
|
ICM-20948 9-Axis digital motion processor
|
|
"""
|
|
MAX17048: TelemetrySensorType.ValueType # 28
|
|
"""
|
|
MAX17048 1S lipo battery sensor (voltage, state of charge, time to go)
|
|
"""
|
|
CUSTOM_SENSOR: TelemetrySensorType.ValueType # 29
|
|
"""
|
|
Custom I2C sensor implementation based on https://github.com/meshtastic/i2c-sensor
|
|
"""
|
|
global___TelemetrySensorType = TelemetrySensorType
|
|
|
|
@typing.final
|
|
class DeviceMetrics(google.protobuf.message.Message):
|
|
"""
|
|
Key native device metrics such as battery level
|
|
"""
|
|
|
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
|
|
BATTERY_LEVEL_FIELD_NUMBER: builtins.int
|
|
VOLTAGE_FIELD_NUMBER: builtins.int
|
|
CHANNEL_UTILIZATION_FIELD_NUMBER: builtins.int
|
|
AIR_UTIL_TX_FIELD_NUMBER: builtins.int
|
|
UPTIME_SECONDS_FIELD_NUMBER: builtins.int
|
|
battery_level: builtins.int
|
|
"""
|
|
0-100 (>100 means powered)
|
|
"""
|
|
voltage: builtins.float
|
|
"""
|
|
Voltage measured
|
|
"""
|
|
channel_utilization: builtins.float
|
|
"""
|
|
Utilization for the current channel, including well formed TX, RX and malformed RX (aka noise).
|
|
"""
|
|
air_util_tx: builtins.float
|
|
"""
|
|
Percent of airtime for transmission used within the last hour.
|
|
"""
|
|
uptime_seconds: builtins.int
|
|
"""
|
|
How long the device has been running since the last reboot (in seconds)
|
|
"""
|
|
def __init__(
|
|
self,
|
|
*,
|
|
battery_level: builtins.int | None = ...,
|
|
voltage: builtins.float | None = ...,
|
|
channel_utilization: builtins.float | None = ...,
|
|
air_util_tx: builtins.float | None = ...,
|
|
uptime_seconds: builtins.int | None = ...,
|
|
) -> None: ...
|
|
def HasField(self, field_name: typing.Literal["_air_util_tx", b"_air_util_tx", "_battery_level", b"_battery_level", "_channel_utilization", b"_channel_utilization", "_uptime_seconds", b"_uptime_seconds", "_voltage", b"_voltage", "air_util_tx", b"air_util_tx", "battery_level", b"battery_level", "channel_utilization", b"channel_utilization", "uptime_seconds", b"uptime_seconds", "voltage", b"voltage"]) -> builtins.bool: ...
|
|
def ClearField(self, field_name: typing.Literal["_air_util_tx", b"_air_util_tx", "_battery_level", b"_battery_level", "_channel_utilization", b"_channel_utilization", "_uptime_seconds", b"_uptime_seconds", "_voltage", b"_voltage", "air_util_tx", b"air_util_tx", "battery_level", b"battery_level", "channel_utilization", b"channel_utilization", "uptime_seconds", b"uptime_seconds", "voltage", b"voltage"]) -> None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_air_util_tx", b"_air_util_tx"]) -> typing.Literal["air_util_tx"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_battery_level", b"_battery_level"]) -> typing.Literal["battery_level"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_channel_utilization", b"_channel_utilization"]) -> typing.Literal["channel_utilization"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_uptime_seconds", b"_uptime_seconds"]) -> typing.Literal["uptime_seconds"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_voltage", b"_voltage"]) -> typing.Literal["voltage"] | None: ...
|
|
|
|
global___DeviceMetrics = DeviceMetrics
|
|
|
|
@typing.final
|
|
class EnvironmentMetrics(google.protobuf.message.Message):
|
|
"""
|
|
Weather station or other environmental metrics
|
|
"""
|
|
|
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
|
|
TEMPERATURE_FIELD_NUMBER: builtins.int
|
|
RELATIVE_HUMIDITY_FIELD_NUMBER: builtins.int
|
|
BAROMETRIC_PRESSURE_FIELD_NUMBER: builtins.int
|
|
GAS_RESISTANCE_FIELD_NUMBER: builtins.int
|
|
VOLTAGE_FIELD_NUMBER: builtins.int
|
|
CURRENT_FIELD_NUMBER: builtins.int
|
|
IAQ_FIELD_NUMBER: builtins.int
|
|
DISTANCE_FIELD_NUMBER: builtins.int
|
|
LUX_FIELD_NUMBER: builtins.int
|
|
WHITE_LUX_FIELD_NUMBER: builtins.int
|
|
IR_LUX_FIELD_NUMBER: builtins.int
|
|
UV_LUX_FIELD_NUMBER: builtins.int
|
|
WIND_DIRECTION_FIELD_NUMBER: builtins.int
|
|
WIND_SPEED_FIELD_NUMBER: builtins.int
|
|
WEIGHT_FIELD_NUMBER: builtins.int
|
|
WIND_GUST_FIELD_NUMBER: builtins.int
|
|
WIND_LULL_FIELD_NUMBER: builtins.int
|
|
temperature: builtins.float
|
|
"""
|
|
Temperature measured
|
|
"""
|
|
relative_humidity: builtins.float
|
|
"""
|
|
Relative humidity percent measured
|
|
"""
|
|
barometric_pressure: builtins.float
|
|
"""
|
|
Barometric pressure in hPA measured
|
|
"""
|
|
gas_resistance: builtins.float
|
|
"""
|
|
Gas resistance in MOhm measured
|
|
"""
|
|
voltage: builtins.float
|
|
"""
|
|
Voltage measured (To be depreciated in favor of PowerMetrics in Meshtastic 3.x)
|
|
"""
|
|
current: builtins.float
|
|
"""
|
|
Current measured (To be depreciated in favor of PowerMetrics in Meshtastic 3.x)
|
|
"""
|
|
iaq: builtins.int
|
|
"""
|
|
relative scale IAQ value as measured by Bosch BME680 . value 0-500.
|
|
Belongs to Air Quality but is not particle but VOC measurement. Other VOC values can also be put in here.
|
|
"""
|
|
distance: builtins.float
|
|
"""
|
|
RCWL9620 Doppler Radar Distance Sensor, used for water level detection. Float value in mm.
|
|
"""
|
|
lux: builtins.float
|
|
"""
|
|
VEML7700 high accuracy ambient light(Lux) digital 16-bit resolution sensor.
|
|
"""
|
|
white_lux: builtins.float
|
|
"""
|
|
VEML7700 high accuracy white light(irradiance) not calibrated digital 16-bit resolution sensor.
|
|
"""
|
|
ir_lux: builtins.float
|
|
"""
|
|
Infrared lux
|
|
"""
|
|
uv_lux: builtins.float
|
|
"""
|
|
Ultraviolet lux
|
|
"""
|
|
wind_direction: builtins.int
|
|
"""
|
|
Wind direction in degrees
|
|
0 degrees = North, 90 = East, etc...
|
|
"""
|
|
wind_speed: builtins.float
|
|
"""
|
|
Wind speed in m/s
|
|
"""
|
|
weight: builtins.float
|
|
"""
|
|
Weight in KG
|
|
"""
|
|
wind_gust: builtins.float
|
|
"""
|
|
Wind gust in m/s
|
|
"""
|
|
wind_lull: builtins.float
|
|
"""
|
|
Wind lull in m/s
|
|
"""
|
|
def __init__(
|
|
self,
|
|
*,
|
|
temperature: builtins.float | None = ...,
|
|
relative_humidity: builtins.float | None = ...,
|
|
barometric_pressure: builtins.float | None = ...,
|
|
gas_resistance: builtins.float | None = ...,
|
|
voltage: builtins.float | None = ...,
|
|
current: builtins.float | None = ...,
|
|
iaq: builtins.int | None = ...,
|
|
distance: builtins.float | None = ...,
|
|
lux: builtins.float | None = ...,
|
|
white_lux: builtins.float | None = ...,
|
|
ir_lux: builtins.float | None = ...,
|
|
uv_lux: builtins.float | None = ...,
|
|
wind_direction: builtins.int | None = ...,
|
|
wind_speed: builtins.float | None = ...,
|
|
weight: builtins.float | None = ...,
|
|
wind_gust: builtins.float | None = ...,
|
|
wind_lull: builtins.float | None = ...,
|
|
) -> None: ...
|
|
def HasField(self, field_name: typing.Literal["_barometric_pressure", b"_barometric_pressure", "_current", b"_current", "_distance", b"_distance", "_gas_resistance", b"_gas_resistance", "_iaq", b"_iaq", "_ir_lux", b"_ir_lux", "_lux", b"_lux", "_relative_humidity", b"_relative_humidity", "_temperature", b"_temperature", "_uv_lux", b"_uv_lux", "_voltage", b"_voltage", "_weight", b"_weight", "_white_lux", b"_white_lux", "_wind_direction", b"_wind_direction", "_wind_gust", b"_wind_gust", "_wind_lull", b"_wind_lull", "_wind_speed", b"_wind_speed", "barometric_pressure", b"barometric_pressure", "current", b"current", "distance", b"distance", "gas_resistance", b"gas_resistance", "iaq", b"iaq", "ir_lux", b"ir_lux", "lux", b"lux", "relative_humidity", b"relative_humidity", "temperature", b"temperature", "uv_lux", b"uv_lux", "voltage", b"voltage", "weight", b"weight", "white_lux", b"white_lux", "wind_direction", b"wind_direction", "wind_gust", b"wind_gust", "wind_lull", b"wind_lull", "wind_speed", b"wind_speed"]) -> builtins.bool: ...
|
|
def ClearField(self, field_name: typing.Literal["_barometric_pressure", b"_barometric_pressure", "_current", b"_current", "_distance", b"_distance", "_gas_resistance", b"_gas_resistance", "_iaq", b"_iaq", "_ir_lux", b"_ir_lux", "_lux", b"_lux", "_relative_humidity", b"_relative_humidity", "_temperature", b"_temperature", "_uv_lux", b"_uv_lux", "_voltage", b"_voltage", "_weight", b"_weight", "_white_lux", b"_white_lux", "_wind_direction", b"_wind_direction", "_wind_gust", b"_wind_gust", "_wind_lull", b"_wind_lull", "_wind_speed", b"_wind_speed", "barometric_pressure", b"barometric_pressure", "current", b"current", "distance", b"distance", "gas_resistance", b"gas_resistance", "iaq", b"iaq", "ir_lux", b"ir_lux", "lux", b"lux", "relative_humidity", b"relative_humidity", "temperature", b"temperature", "uv_lux", b"uv_lux", "voltage", b"voltage", "weight", b"weight", "white_lux", b"white_lux", "wind_direction", b"wind_direction", "wind_gust", b"wind_gust", "wind_lull", b"wind_lull", "wind_speed", b"wind_speed"]) -> None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_barometric_pressure", b"_barometric_pressure"]) -> typing.Literal["barometric_pressure"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_current", b"_current"]) -> typing.Literal["current"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_distance", b"_distance"]) -> typing.Literal["distance"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_gas_resistance", b"_gas_resistance"]) -> typing.Literal["gas_resistance"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_iaq", b"_iaq"]) -> typing.Literal["iaq"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_ir_lux", b"_ir_lux"]) -> typing.Literal["ir_lux"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_lux", b"_lux"]) -> typing.Literal["lux"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_relative_humidity", b"_relative_humidity"]) -> typing.Literal["relative_humidity"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_temperature", b"_temperature"]) -> typing.Literal["temperature"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_uv_lux", b"_uv_lux"]) -> typing.Literal["uv_lux"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_voltage", b"_voltage"]) -> typing.Literal["voltage"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_weight", b"_weight"]) -> typing.Literal["weight"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_white_lux", b"_white_lux"]) -> typing.Literal["white_lux"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_wind_direction", b"_wind_direction"]) -> typing.Literal["wind_direction"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_wind_gust", b"_wind_gust"]) -> typing.Literal["wind_gust"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_wind_lull", b"_wind_lull"]) -> typing.Literal["wind_lull"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_wind_speed", b"_wind_speed"]) -> typing.Literal["wind_speed"] | None: ...
|
|
|
|
global___EnvironmentMetrics = EnvironmentMetrics
|
|
|
|
@typing.final
|
|
class PowerMetrics(google.protobuf.message.Message):
|
|
"""
|
|
Power Metrics (voltage / current / etc)
|
|
"""
|
|
|
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
|
|
CH1_VOLTAGE_FIELD_NUMBER: builtins.int
|
|
CH1_CURRENT_FIELD_NUMBER: builtins.int
|
|
CH2_VOLTAGE_FIELD_NUMBER: builtins.int
|
|
CH2_CURRENT_FIELD_NUMBER: builtins.int
|
|
CH3_VOLTAGE_FIELD_NUMBER: builtins.int
|
|
CH3_CURRENT_FIELD_NUMBER: builtins.int
|
|
ch1_voltage: builtins.float
|
|
"""
|
|
Voltage (Ch1)
|
|
"""
|
|
ch1_current: builtins.float
|
|
"""
|
|
Current (Ch1)
|
|
"""
|
|
ch2_voltage: builtins.float
|
|
"""
|
|
Voltage (Ch2)
|
|
"""
|
|
ch2_current: builtins.float
|
|
"""
|
|
Current (Ch2)
|
|
"""
|
|
ch3_voltage: builtins.float
|
|
"""
|
|
Voltage (Ch3)
|
|
"""
|
|
ch3_current: builtins.float
|
|
"""
|
|
Current (Ch3)
|
|
"""
|
|
def __init__(
|
|
self,
|
|
*,
|
|
ch1_voltage: builtins.float | None = ...,
|
|
ch1_current: builtins.float | None = ...,
|
|
ch2_voltage: builtins.float | None = ...,
|
|
ch2_current: builtins.float | None = ...,
|
|
ch3_voltage: builtins.float | None = ...,
|
|
ch3_current: builtins.float | None = ...,
|
|
) -> None: ...
|
|
def HasField(self, field_name: typing.Literal["_ch1_current", b"_ch1_current", "_ch1_voltage", b"_ch1_voltage", "_ch2_current", b"_ch2_current", "_ch2_voltage", b"_ch2_voltage", "_ch3_current", b"_ch3_current", "_ch3_voltage", b"_ch3_voltage", "ch1_current", b"ch1_current", "ch1_voltage", b"ch1_voltage", "ch2_current", b"ch2_current", "ch2_voltage", b"ch2_voltage", "ch3_current", b"ch3_current", "ch3_voltage", b"ch3_voltage"]) -> builtins.bool: ...
|
|
def ClearField(self, field_name: typing.Literal["_ch1_current", b"_ch1_current", "_ch1_voltage", b"_ch1_voltage", "_ch2_current", b"_ch2_current", "_ch2_voltage", b"_ch2_voltage", "_ch3_current", b"_ch3_current", "_ch3_voltage", b"_ch3_voltage", "ch1_current", b"ch1_current", "ch1_voltage", b"ch1_voltage", "ch2_current", b"ch2_current", "ch2_voltage", b"ch2_voltage", "ch3_current", b"ch3_current", "ch3_voltage", b"ch3_voltage"]) -> None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_ch1_current", b"_ch1_current"]) -> typing.Literal["ch1_current"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_ch1_voltage", b"_ch1_voltage"]) -> typing.Literal["ch1_voltage"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_ch2_current", b"_ch2_current"]) -> typing.Literal["ch2_current"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_ch2_voltage", b"_ch2_voltage"]) -> typing.Literal["ch2_voltage"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_ch3_current", b"_ch3_current"]) -> typing.Literal["ch3_current"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_ch3_voltage", b"_ch3_voltage"]) -> typing.Literal["ch3_voltage"] | None: ...
|
|
|
|
global___PowerMetrics = PowerMetrics
|
|
|
|
@typing.final
|
|
class AirQualityMetrics(google.protobuf.message.Message):
|
|
"""
|
|
Air quality metrics
|
|
"""
|
|
|
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
|
|
PM10_STANDARD_FIELD_NUMBER: builtins.int
|
|
PM25_STANDARD_FIELD_NUMBER: builtins.int
|
|
PM100_STANDARD_FIELD_NUMBER: builtins.int
|
|
PM10_ENVIRONMENTAL_FIELD_NUMBER: builtins.int
|
|
PM25_ENVIRONMENTAL_FIELD_NUMBER: builtins.int
|
|
PM100_ENVIRONMENTAL_FIELD_NUMBER: builtins.int
|
|
PARTICLES_03UM_FIELD_NUMBER: builtins.int
|
|
PARTICLES_05UM_FIELD_NUMBER: builtins.int
|
|
PARTICLES_10UM_FIELD_NUMBER: builtins.int
|
|
PARTICLES_25UM_FIELD_NUMBER: builtins.int
|
|
PARTICLES_50UM_FIELD_NUMBER: builtins.int
|
|
PARTICLES_100UM_FIELD_NUMBER: builtins.int
|
|
pm10_standard: builtins.int
|
|
"""
|
|
Concentration Units Standard PM1.0
|
|
"""
|
|
pm25_standard: builtins.int
|
|
"""
|
|
Concentration Units Standard PM2.5
|
|
"""
|
|
pm100_standard: builtins.int
|
|
"""
|
|
Concentration Units Standard PM10.0
|
|
"""
|
|
pm10_environmental: builtins.int
|
|
"""
|
|
Concentration Units Environmental PM1.0
|
|
"""
|
|
pm25_environmental: builtins.int
|
|
"""
|
|
Concentration Units Environmental PM2.5
|
|
"""
|
|
pm100_environmental: builtins.int
|
|
"""
|
|
Concentration Units Environmental PM10.0
|
|
"""
|
|
particles_03um: builtins.int
|
|
"""
|
|
0.3um Particle Count
|
|
"""
|
|
particles_05um: builtins.int
|
|
"""
|
|
0.5um Particle Count
|
|
"""
|
|
particles_10um: builtins.int
|
|
"""
|
|
1.0um Particle Count
|
|
"""
|
|
particles_25um: builtins.int
|
|
"""
|
|
2.5um Particle Count
|
|
"""
|
|
particles_50um: builtins.int
|
|
"""
|
|
5.0um Particle Count
|
|
"""
|
|
particles_100um: builtins.int
|
|
"""
|
|
10.0um Particle Count
|
|
"""
|
|
def __init__(
|
|
self,
|
|
*,
|
|
pm10_standard: builtins.int | None = ...,
|
|
pm25_standard: builtins.int | None = ...,
|
|
pm100_standard: builtins.int | None = ...,
|
|
pm10_environmental: builtins.int | None = ...,
|
|
pm25_environmental: builtins.int | None = ...,
|
|
pm100_environmental: builtins.int | None = ...,
|
|
particles_03um: builtins.int | None = ...,
|
|
particles_05um: builtins.int | None = ...,
|
|
particles_10um: builtins.int | None = ...,
|
|
particles_25um: builtins.int | None = ...,
|
|
particles_50um: builtins.int | None = ...,
|
|
particles_100um: builtins.int | None = ...,
|
|
) -> None: ...
|
|
def HasField(self, field_name: typing.Literal["_particles_03um", b"_particles_03um", "_particles_05um", b"_particles_05um", "_particles_100um", b"_particles_100um", "_particles_10um", b"_particles_10um", "_particles_25um", b"_particles_25um", "_particles_50um", b"_particles_50um", "_pm100_environmental", b"_pm100_environmental", "_pm100_standard", b"_pm100_standard", "_pm10_environmental", b"_pm10_environmental", "_pm10_standard", b"_pm10_standard", "_pm25_environmental", b"_pm25_environmental", "_pm25_standard", b"_pm25_standard", "particles_03um", b"particles_03um", "particles_05um", b"particles_05um", "particles_100um", b"particles_100um", "particles_10um", b"particles_10um", "particles_25um", b"particles_25um", "particles_50um", b"particles_50um", "pm100_environmental", b"pm100_environmental", "pm100_standard", b"pm100_standard", "pm10_environmental", b"pm10_environmental", "pm10_standard", b"pm10_standard", "pm25_environmental", b"pm25_environmental", "pm25_standard", b"pm25_standard"]) -> builtins.bool: ...
|
|
def ClearField(self, field_name: typing.Literal["_particles_03um", b"_particles_03um", "_particles_05um", b"_particles_05um", "_particles_100um", b"_particles_100um", "_particles_10um", b"_particles_10um", "_particles_25um", b"_particles_25um", "_particles_50um", b"_particles_50um", "_pm100_environmental", b"_pm100_environmental", "_pm100_standard", b"_pm100_standard", "_pm10_environmental", b"_pm10_environmental", "_pm10_standard", b"_pm10_standard", "_pm25_environmental", b"_pm25_environmental", "_pm25_standard", b"_pm25_standard", "particles_03um", b"particles_03um", "particles_05um", b"particles_05um", "particles_100um", b"particles_100um", "particles_10um", b"particles_10um", "particles_25um", b"particles_25um", "particles_50um", b"particles_50um", "pm100_environmental", b"pm100_environmental", "pm100_standard", b"pm100_standard", "pm10_environmental", b"pm10_environmental", "pm10_standard", b"pm10_standard", "pm25_environmental", b"pm25_environmental", "pm25_standard", b"pm25_standard"]) -> None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_particles_03um", b"_particles_03um"]) -> typing.Literal["particles_03um"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_particles_05um", b"_particles_05um"]) -> typing.Literal["particles_05um"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_particles_100um", b"_particles_100um"]) -> typing.Literal["particles_100um"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_particles_10um", b"_particles_10um"]) -> typing.Literal["particles_10um"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_particles_25um", b"_particles_25um"]) -> typing.Literal["particles_25um"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_particles_50um", b"_particles_50um"]) -> typing.Literal["particles_50um"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_pm100_environmental", b"_pm100_environmental"]) -> typing.Literal["pm100_environmental"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_pm100_standard", b"_pm100_standard"]) -> typing.Literal["pm100_standard"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_pm10_environmental", b"_pm10_environmental"]) -> typing.Literal["pm10_environmental"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_pm10_standard", b"_pm10_standard"]) -> typing.Literal["pm10_standard"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_pm25_environmental", b"_pm25_environmental"]) -> typing.Literal["pm25_environmental"] | None: ...
|
|
@typing.overload
|
|
def WhichOneof(self, oneof_group: typing.Literal["_pm25_standard", b"_pm25_standard"]) -> typing.Literal["pm25_standard"] | None: ...
|
|
|
|
global___AirQualityMetrics = AirQualityMetrics
|
|
|
|
@typing.final
|
|
class LocalStats(google.protobuf.message.Message):
|
|
"""
|
|
Local device mesh statistics
|
|
"""
|
|
|
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
|
|
UPTIME_SECONDS_FIELD_NUMBER: builtins.int
|
|
CHANNEL_UTILIZATION_FIELD_NUMBER: builtins.int
|
|
AIR_UTIL_TX_FIELD_NUMBER: builtins.int
|
|
NUM_PACKETS_TX_FIELD_NUMBER: builtins.int
|
|
NUM_PACKETS_RX_FIELD_NUMBER: builtins.int
|
|
NUM_PACKETS_RX_BAD_FIELD_NUMBER: builtins.int
|
|
NUM_ONLINE_NODES_FIELD_NUMBER: builtins.int
|
|
NUM_TOTAL_NODES_FIELD_NUMBER: builtins.int
|
|
uptime_seconds: builtins.int
|
|
"""
|
|
How long the device has been running since the last reboot (in seconds)
|
|
"""
|
|
channel_utilization: builtins.float
|
|
"""
|
|
Utilization for the current channel, including well formed TX, RX and malformed RX (aka noise).
|
|
"""
|
|
air_util_tx: builtins.float
|
|
"""
|
|
Percent of airtime for transmission used within the last hour.
|
|
"""
|
|
num_packets_tx: builtins.int
|
|
"""
|
|
Number of packets sent
|
|
"""
|
|
num_packets_rx: builtins.int
|
|
"""
|
|
Number of packets received good
|
|
"""
|
|
num_packets_rx_bad: builtins.int
|
|
"""
|
|
Number of packets received that are malformed or violate the protocol
|
|
"""
|
|
num_online_nodes: builtins.int
|
|
"""
|
|
Number of nodes online (in the past 2 hours)
|
|
"""
|
|
num_total_nodes: builtins.int
|
|
"""
|
|
Number of nodes total
|
|
"""
|
|
def __init__(
|
|
self,
|
|
*,
|
|
uptime_seconds: builtins.int = ...,
|
|
channel_utilization: builtins.float = ...,
|
|
air_util_tx: builtins.float = ...,
|
|
num_packets_tx: builtins.int = ...,
|
|
num_packets_rx: builtins.int = ...,
|
|
num_packets_rx_bad: builtins.int = ...,
|
|
num_online_nodes: builtins.int = ...,
|
|
num_total_nodes: builtins.int = ...,
|
|
) -> None: ...
|
|
def ClearField(self, field_name: typing.Literal["air_util_tx", b"air_util_tx", "channel_utilization", b"channel_utilization", "num_online_nodes", b"num_online_nodes", "num_packets_rx", b"num_packets_rx", "num_packets_rx_bad", b"num_packets_rx_bad", "num_packets_tx", b"num_packets_tx", "num_total_nodes", b"num_total_nodes", "uptime_seconds", b"uptime_seconds"]) -> None: ...
|
|
|
|
global___LocalStats = LocalStats
|
|
|
|
@typing.final
|
|
class Telemetry(google.protobuf.message.Message):
|
|
"""
|
|
Types of Measurements the telemetry module is equipped to handle
|
|
"""
|
|
|
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
|
|
TIME_FIELD_NUMBER: builtins.int
|
|
DEVICE_METRICS_FIELD_NUMBER: builtins.int
|
|
ENVIRONMENT_METRICS_FIELD_NUMBER: builtins.int
|
|
AIR_QUALITY_METRICS_FIELD_NUMBER: builtins.int
|
|
POWER_METRICS_FIELD_NUMBER: builtins.int
|
|
LOCAL_STATS_FIELD_NUMBER: builtins.int
|
|
time: builtins.int
|
|
"""
|
|
Seconds since 1970 - or 0 for unknown/unset
|
|
"""
|
|
@property
|
|
def device_metrics(self) -> global___DeviceMetrics:
|
|
"""
|
|
Key native device metrics such as battery level
|
|
"""
|
|
|
|
@property
|
|
def environment_metrics(self) -> global___EnvironmentMetrics:
|
|
"""
|
|
Weather station or other environmental metrics
|
|
"""
|
|
|
|
@property
|
|
def air_quality_metrics(self) -> global___AirQualityMetrics:
|
|
"""
|
|
Air quality metrics
|
|
"""
|
|
|
|
@property
|
|
def power_metrics(self) -> global___PowerMetrics:
|
|
"""
|
|
Power Metrics
|
|
"""
|
|
|
|
@property
|
|
def local_stats(self) -> global___LocalStats:
|
|
"""
|
|
Local device mesh statistics
|
|
"""
|
|
|
|
def __init__(
|
|
self,
|
|
*,
|
|
time: builtins.int = ...,
|
|
device_metrics: global___DeviceMetrics | None = ...,
|
|
environment_metrics: global___EnvironmentMetrics | None = ...,
|
|
air_quality_metrics: global___AirQualityMetrics | None = ...,
|
|
power_metrics: global___PowerMetrics | None = ...,
|
|
local_stats: global___LocalStats | None = ...,
|
|
) -> None: ...
|
|
def HasField(self, field_name: typing.Literal["air_quality_metrics", b"air_quality_metrics", "device_metrics", b"device_metrics", "environment_metrics", b"environment_metrics", "local_stats", b"local_stats", "power_metrics", b"power_metrics", "variant", b"variant"]) -> builtins.bool: ...
|
|
def ClearField(self, field_name: typing.Literal["air_quality_metrics", b"air_quality_metrics", "device_metrics", b"device_metrics", "environment_metrics", b"environment_metrics", "local_stats", b"local_stats", "power_metrics", b"power_metrics", "time", b"time", "variant", b"variant"]) -> None: ...
|
|
def WhichOneof(self, oneof_group: typing.Literal["variant", b"variant"]) -> typing.Literal["device_metrics", "environment_metrics", "air_quality_metrics", "power_metrics", "local_stats"] | None: ...
|
|
|
|
global___Telemetry = Telemetry
|
|
|
|
@typing.final
|
|
class Nau7802Config(google.protobuf.message.Message):
|
|
"""
|
|
NAU7802 Telemetry configuration, for saving to flash
|
|
"""
|
|
|
|
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
|
|
ZEROOFFSET_FIELD_NUMBER: builtins.int
|
|
CALIBRATIONFACTOR_FIELD_NUMBER: builtins.int
|
|
zeroOffset: builtins.int
|
|
"""
|
|
The offset setting for the NAU7802
|
|
"""
|
|
calibrationFactor: builtins.float
|
|
"""
|
|
The calibration factor for the NAU7802
|
|
"""
|
|
def __init__(
|
|
self,
|
|
*,
|
|
zeroOffset: builtins.int = ...,
|
|
calibrationFactor: builtins.float = ...,
|
|
) -> None: ...
|
|
def ClearField(self, field_name: typing.Literal["calibrationFactor", b"calibrationFactor", "zeroOffset", b"zeroOffset"]) -> None: ...
|
|
|
|
global___Nau7802Config = Nau7802Config
|