"""Constants for the Multilevel Sensor CC."""

# ----------------------------------------------------------------------------------- #
# **BEGINNING OF AUTOGENERATED CONTENT** (TO ADD ADDITIONAL MANUAL CONTENT, LOOK FOR  #
# THE "END OF AUTOGENERATED CONTENT" COMMENT BLOCK AND ADD YOUR CODE BELOW IT)        #
# ----------------------------------------------------------------------------------- #

from __future__ import annotations

from enum import IntEnum

CC_SPECIFIC_SCALE = "scale"
CC_SPECIFIC_SENSOR_TYPE = "sensorType"

ACCELERATION_X_AXIS_PROPERTY = "Acceleration X-axis"
ACCELERATION_Y_AXIS_PROPERTY = "Acceleration Y-axis"
ACCELERATION_Z_AXIS_PROPERTY = "Acceleration Z-axis"
AIR_FLOW_PROPERTY = "Air flow"
AIR_TEMPERATURE_PROPERTY = "Air temperature"
AMMONIA_PROPERTY = "Ammonia"
ANGLE_POSITION_PROPERTY = "Angle position"
APPLIED_FORCE_ON_THE_SENSOR_PROPERTY = "Applied force on the sensor"
ATMOSPHERIC_PRESSURE_PROPERTY = "Atmospheric pressure"
BAROMETRIC_PRESSURE_PROPERTY = "Barometric pressure"
BASIS_METABOLIC_RATE_PROPERTY = "Basis metabolic rate (BMR)"
BLOOD_PRESSURE_PROPERTY = "Blood pressure"
BODY_MASS_INDEX_PROPERTY = "Body Mass Index (BMI)"
BOILER_WATER_TEMPERATURE_PROPERTY = "Boiler water temperature"
BONE_MASS_PROPERTY = "Bone mass"
CARBON_DIOXIDE_LEVEL_PROPERTY = "Carbon dioxide (CO₂) level"
CARBON_MONOXIDE_LEVEL_PROPERTY = "Carbon monoxide (CO) level"
CONDENSER_COIL_TEMPERATURE_PROPERTY = "Condenser Coil temperature"
CURRENT_PROPERTY = "Current"
DEFROST_TEMPERATURE_PROPERTY = "Defrost temperature"
DEW_POINT_PROPERTY = "Dew point"
DIRECTION_PROPERTY = "Direction"
DISCHARGE_LINE_TEMPERATURE_PROPERTY = "Discharge Line temperature"
DISCHARGE_PRESSURE_PROPERTY = "Discharge Pressure"
DISTANCE_PROPERTY = "Distance"
DOMESTIC_HOT_WATER_TEMPERATURE_PROPERTY = "Domestic Hot Water (DHW) temperature"
ELECTRICAL_CONDUCTIVITY_PROPERTY = "Electrical conductivity"
ELECTRICAL_RESISTIVITY_PROPERTY = "Electrical resistivity"
EVAPORATOR_COIL_TEMPERATURE_PROPERTY = "Evaporator Coil temperature"
EXHAUST_TEMPERATURE_PROPERTY = "Exhaust temperature"
FAT_MASS_PROPERTY = "Fat mass"
FORMALDEHYDE_LEVEL_PROPERTY = "Formaldehyde (CH₂O) level"
FREQUENCY_PROPERTY = "Frequency"
GENERAL_PURPOSE_PROPERTY = "General purpose"
HEART_RATE_PROPERTY = "Heart rate"
HEART_RATE_LF_HF_RATIO_PROPERTY = "Heart Rate LF/HF ratio"
HUMIDITY_PROPERTY = "Humidity"
ILLUMINANCE_PROPERTY = "Illuminance"
LEAD_PROPERTY = "Lead"
LIQUID_LINE_TEMPERATURE_PROPERTY = "Liquid Line temperature"
LOUDNESS_PROPERTY = "Loudness"
METHANE_DENSITY_PROPERTY = "Methane (CH₄) density"
MOISTURE_PROPERTY = "Moisture"
MOTION_DIRECTION_PROPERTY = "Motion Direction"
MUSCLE_MASS_PROPERTY = "Muscle mass"
NITROGEN_DIOXIDE_PROPERTY = "Nitrogen dioxide"
OUTSIDE_TEMPERATURE_PROPERTY = "Outside temperature"
OZONE_PROPERTY = "Ozone"
PARTICULATE_MATTER_1_PROPERTY = "Particulate Matter 1"
PARTICULATE_MATTER_10_PROPERTY = "Particulate Matter 10"
PARTICULATE_MATTER_2_5_PROPERTY = "Particulate Matter 2.5"
PERSON_COUNTER_ENTERING_PROPERTY = "Person counter (entering)"
PERSON_COUNTER_EXITING_PROPERTY = "Person counter (exiting)"
POWER_PROPERTY = "Power"
RADON_CONCENTRATION_PROPERTY = "Radon concentration"
RAIN_RATE_PROPERTY = "Rain rate"
RELATIVE_MODULATION_LEVEL_PROPERTY = "Relative Modulation level"
RESPIRATORY_RATE_PROPERTY = "Respiratory rate"
RETURN_AIR_TEMPERATURE_PROPERTY = "Return Air temperature"
RF_SIGNAL_STRENGTH_PROPERTY = "RF signal strength"
ROTATION_PROPERTY = "Rotation"
SEISMIC_INTENSITY_PROPERTY = "Seismic Intensity"
SEISMIC_MAGNITUDE_PROPERTY = "Seismic magnitude"
SMOKE_DENSITY_PROPERTY = "Smoke density"
SOIL_HUMIDITY_PROPERTY = "Soil humidity"
SOIL_REACTIVITY_PROPERTY = "Soil reactivity"
SOIL_SALINITY_PROPERTY = "Soil salinity"
SOIL_TEMPERATURE_PROPERTY = "Soil temperature"
SOLAR_RADIATION_PROPERTY = "Solar radiation"
SUCTION_PRESSURE_PROPERTY = "Suction Pressure"
SULFUR_DIOXIDE_PROPERTY = "Sulfur dioxide"
SUPPLY_AIR_TEMPERATURE_PROPERTY = "Supply Air temperature"
TANK_CAPACITY_PROPERTY = "Tank capacity"
TARGET_TEMPERATURE_PROPERTY = "Target temperature"
TIDE_LEVEL_PROPERTY = "Tide level"
TIME_PROPERTY = "Time"
TOTAL_BODY_WATER_PROPERTY = "Total body water (TBW)"
ULTRAVIOLET_PROPERTY = "Ultraviolet"
VELOCITY_PROPERTY = "Velocity"
VOLATILE_ORGANIC_COMPOUND_LEVEL_PROPERTY = "Volatile Organic Compound level"
VOLTAGE_PROPERTY = "Voltage"
WATER_ACIDITY_PROPERTY = "Water acidity"
WATER_CHLORINE_LEVEL_PROPERTY = "Water Chlorine level"
WATER_FLOW_PROPERTY = "Water flow"
WATER_OXIDATION_REDUCTION_POTENTIAL_PROPERTY = "Water Oxidation reduction potential"
WATER_PRESSURE_PROPERTY = "Water pressure"
WATER_TEMPERATURE_PROPERTY = "Water temperature"
WEIGHT_PROPERTY = "Weight"


class MultilevelSensorType(IntEnum):
    """Enum for known multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    ACCELERATION_X_AXIS = 52
    ACCELERATION_Y_AXIS = 53
    ACCELERATION_Z_AXIS = 54
    AIR_FLOW = 18
    AIR_TEMPERATURE = 1
    AMMONIA = 84
    ANGLE_POSITION = 21
    APPLIED_FORCE_ON_THE_SENSOR = 71
    ATMOSPHERIC_PRESSURE = 8
    BAROMETRIC_PRESSURE = 9
    BASIS_METABOLIC_RATE = 50
    BLOOD_PRESSURE = 45
    BODY_MASS_INDEX = 51
    BOILER_WATER_TEMPERATURE = 62
    BONE_MASS = 48
    CARBON_DIOXIDE_LEVEL = 17
    CARBON_MONOXIDE_LEVEL = 40
    CONDENSER_COIL_TEMPERATURE = 74
    CURRENT = 16
    DEFROST_TEMPERATURE = 80
    DEW_POINT = 11
    DIRECTION = 7
    DISCHARGE_LINE_TEMPERATURE = 77
    DISCHARGE_PRESSURE = 79
    DISTANCE = 20
    DOMESTIC_HOT_WATER_TEMPERATURE = 63
    ELECTRICAL_CONDUCTIVITY = 29
    ELECTRICAL_RESISTIVITY = 28
    EVAPORATOR_COIL_TEMPERATURE = 75
    EXHAUST_TEMPERATURE = 65
    FAT_MASS = 47
    FORMALDEHYDE_LEVEL = 36
    FREQUENCY = 32
    GENERAL_PURPOSE = 2
    HEART_RATE = 44
    HEART_RATE_LF_HF_RATIO = 69
    HUMIDITY = 5
    ILLUMINANCE = 3
    LEAD = 85
    LIQUID_LINE_TEMPERATURE = 76
    LOUDNESS = 30
    METHANE_DENSITY = 38
    MOISTURE = 31
    MOTION_DIRECTION = 70
    MUSCLE_MASS = 46
    NITROGEN_DIOXIDE = 83
    OUTSIDE_TEMPERATURE = 64
    OZONE = 81
    PARTICULATE_MATTER_1 = 86
    PARTICULATE_MATTER_10 = 59
    PARTICULATE_MATTER_2_5 = 35
    PERSON_COUNTER_ENTERING = 87
    PERSON_COUNTER_EXITING = 88
    POWER = 4
    RADON_CONCENTRATION = 37
    RAIN_RATE = 12
    RELATIVE_MODULATION_LEVEL = 61
    RESPIRATORY_RATE = 60
    RETURN_AIR_TEMPERATURE = 72
    RF_SIGNAL_STRENGTH = 58
    ROTATION = 22
    SEISMIC_INTENSITY = 25
    SEISMIC_MAGNITUDE = 26
    SMOKE_DENSITY = 55
    SOIL_HUMIDITY = 41
    SOIL_REACTIVITY = 42
    SOIL_SALINITY = 43
    SOIL_TEMPERATURE = 24
    SOLAR_RADIATION = 10
    SUCTION_PRESSURE = 78
    SULFUR_DIOXIDE = 82
    SUPPLY_AIR_TEMPERATURE = 73
    TANK_CAPACITY = 19
    TARGET_TEMPERATURE = 34
    TIDE_LEVEL = 13
    TIME = 33
    TOTAL_BODY_WATER = 49
    ULTRAVIOLET = 27
    VELOCITY = 6
    VOLATILE_ORGANIC_COMPOUND_LEVEL = 39
    VOLTAGE = 15
    WATER_ACIDITY = 67
    WATER_CHLORINE_LEVEL = 66
    WATER_FLOW = 56
    WATER_OXIDATION_REDUCTION_POTENTIAL = 68
    WATER_PRESSURE = 57
    WATER_TEMPERATURE = 23
    WEIGHT = 14


class MultilevelSensorScaleType(IntEnum):
    """Common base class for multilevel sensor scale enums."""


class AccelerationScale(MultilevelSensorScaleType):
    """Enum for known scales for ACCELERATION multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    METER_PER_SQUARE_SECOND = 0


class AcidityScale(MultilevelSensorScaleType):
    """Enum for known scales for ACIDITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    ACIDITY = 0


class AirFlowScale(MultilevelSensorScaleType):
    """Enum for known scales for AIR_FLOW multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    CUBIC_FEET_PER_MINUTE = 1
    CUBIC_METER_PER_HOUR = 0


class AirPressureScale(MultilevelSensorScaleType):
    """Enum for known scales for AIR_PRESSURE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    INCHES_OF_MERCURY = 1
    KILOPASCAL = 0


class AnglePositionScale(MultilevelSensorScaleType):
    """Enum for known scales for ANGLE_POSITION multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    DEGREES_RELATIVE_TO_NORTH_POLE_OF_STANDING_EYE_VIEW = 1
    DEGREES_RELATIVE_TO_SOUTH_POLE_OF_STANDING_EYE_VIEW = 2
    PERCENTAGE_VALUE = 0


class AppliedForceOnTheSensorScale(MultilevelSensorScaleType):
    """Enum for known scales for APPLIED_FORCE_ON_THE_SENSOR multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    NEWTON = 0


class BasisMetabolicRateScale(MultilevelSensorScaleType):
    """Enum for known scales for BASIS_METABOLIC_RATE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    JOULE = 0


class BloodPressureScale(MultilevelSensorScaleType):
    """Enum for known scales for BLOOD_PRESSURE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    DIASTOLIC = 1
    SYSTOLIC = 0


class BodyMassIndexScale(MultilevelSensorScaleType):
    """Enum for known scales for BODY_MASS_INDEX multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    BODY_MASS_INDEX = 0


class CarbonDioxideLevelScale(MultilevelSensorScaleType):
    """Enum for known scales for CARBON_DIOXIDE_LEVEL multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    PARTS_MILLION = 0


class CarbonMonoxideLevelScale(MultilevelSensorScaleType):
    """Enum for known scales for CARBON_MONOXIDE_LEVEL multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MOLE_PER_CUBIC_METER = 0
    PARTS_MILLION = 1


class CurrentScale(MultilevelSensorScaleType):
    """Enum for known scales for CURRENT multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    AMPERE = 0
    MILLIAMPERE = 1


class DensityScale(MultilevelSensorScaleType):
    """Enum for known scales for DENSITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    DENSITY = 0


class DirectionScale(MultilevelSensorScaleType):
    """Enum for known scales for DIRECTION multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    DEGREES = 0


class DistanceScale(MultilevelSensorScaleType):
    """Enum for known scales for DISTANCE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    CENTIMETER = 1
    FEET = 2
    METER = 0


class ElectricalConductivityScale(MultilevelSensorScaleType):
    """Enum for known scales for ELECTRICAL_CONDUCTIVITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    SIEMENS_PER_METER = 0


class ElectricalResistivityScale(MultilevelSensorScaleType):
    """Enum for known scales for ELECTRICAL_RESISTIVITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    OHM_METER = 0


class FormaldehydeLevelScale(MultilevelSensorScaleType):
    """Enum for known scales for FORMALDEHYDE_LEVEL multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MOLE_PER_CUBIC_METER = 0


class FrequencyScale(MultilevelSensorScaleType):
    """Enum for known scales for FREQUENCY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    HERTZ = 0
    KILOHERTZ = 1


class GeneralPurposeScale(MultilevelSensorScaleType):
    """Enum for known scales for GENERAL_PURPOSE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    DIMENSIONLESS_VALUE = 1
    PERCENTAGE_VALUE = 0


class HeartRateScale(MultilevelSensorScaleType):
    """Enum for known scales for HEART_RATE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    BEATS_PER_MINUTE = 0


class HumidityScale(MultilevelSensorScaleType):
    """Enum for known scales for HUMIDITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    ABSOLUTE_HUMIDITY = 1
    PERCENTAGE_VALUE = 0


class IlluminanceScale(MultilevelSensorScaleType):
    """Enum for known scales for ILLUMINANCE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    LUX = 1
    PERCENTAGE_VALUE = 0


class LoudnessScale(MultilevelSensorScaleType):
    """Enum for known scales for LOUDNESS multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    A_WEIGHTED_DECIBELS = 1
    DECIBEL = 0


class MassScale(MultilevelSensorScaleType):
    """Enum for known scales for MASS multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    KILOGRAM = 0


class MethaneDensityScale(MultilevelSensorScaleType):
    """Enum for known scales for METHANE_DENSITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MOLE_PER_CUBIC_METER = 0


class MoistureScale(MultilevelSensorScaleType):
    """Enum for known scales for MOISTURE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    IMPEDANCE = 2
    PERCENTAGE_VALUE = 0
    VOLUME_WATER_CONTENT = 1
    WATER_ACTIVITY = 3


class ParticulateMatter10Scale(MultilevelSensorScaleType):
    """Enum for known scales for PARTICULATE_MATTER_10 multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MICROGRAM_PER_CUBIC_METER = 1
    MOLE_PER_CUBIC_METER = 0


class ParticulateMatter25Scale(MultilevelSensorScaleType):
    """Enum for known scales for PARTICULATE_MATTER_2_5 multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MICROGRAM_PER_CUBIC_METER = 1
    MOLE_PER_CUBIC_METER = 0


class PercentageScale(MultilevelSensorScaleType):
    """Enum for known scales for PERCENTAGE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    PERCENTAGE_VALUE = 0


class PowerScale(MultilevelSensorScaleType):
    """Enum for known scales for POWER multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    BTU_H = 1
    WATT = 0


class PressureScale(MultilevelSensorScaleType):
    """Enum for known scales for PRESSURE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    KILOPASCAL = 0
    POUND_PER_SQUARE_INCH = 1


class RadonConcentrationScale(MultilevelSensorScaleType):
    """Enum for known scales for RADON_CONCENTRATION multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    BECQUEREL_PER_CUBIC_METER = 0
    PICOCURIES_PER_LITER = 1


class RainRateScale(MultilevelSensorScaleType):
    """Enum for known scales for RAIN_RATE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    INCHES_PER_HOUR = 1
    MILLIMETER_HOUR = 0


class RespiratoryRateScale(MultilevelSensorScaleType):
    """Enum for known scales for RESPIRATORY_RATE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    BREATHS_PER_MINUTE = 0


class RfSignalStrengthScale(MultilevelSensorScaleType):
    """Enum for known scales for RF_SIGNAL_STRENGTH multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    POWER_LEVEL = 1
    RSSI = 0


class RotationScale(MultilevelSensorScaleType):
    """Enum for known scales for ROTATION multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    HERTZ = 1
    REVOLUTIONS_PER_MINUTE = 0


class SeismicIntensityScale(MultilevelSensorScaleType):
    """Enum for known scales for SEISMIC_INTENSITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    EUROPEAN_MACROSEISMIC = 1
    LIEDU = 2
    MERCALLI = 0
    SHINDO = 3


class SeismicMagnitudeScale(MultilevelSensorScaleType):
    """Enum for known scales for SEISMIC_MAGNITUDE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    BODY_WAVE = 3
    LOCAL = 0
    MOMENT = 1
    SURFACE_WAVE = 2


class SoilSalinityScale(MultilevelSensorScaleType):
    """Enum for known scales for SOIL_SALINITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MOLE_PER_CUBIC_METER = 0


class SolarRadiationScale(MultilevelSensorScaleType):
    """Enum for known scales for SOLAR_RADIATION multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    WATT_PER_SQUARE_METER = 0


class TankCapacityScale(MultilevelSensorScaleType):
    """Enum for known scales for TANK_CAPACITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    CUBIC_METER = 1
    GALLONS = 2
    LITER = 0


class TemperatureScale(MultilevelSensorScaleType):
    """Enum for known scales for TEMPERATURE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    CELSIUS = 0
    FAHRENHEIT = 1


class TideLevelScale(MultilevelSensorScaleType):
    """Enum for known scales for TIDE_LEVEL multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    FEET = 1
    METER = 0


class TimeScale(MultilevelSensorScaleType):
    """Enum for known scales for TIME multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    SECOND = 0


class UltravioletScale(MultilevelSensorScaleType):
    """Enum for known scales for ULTRAVIOLET multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    UV_INDEX = 0


class UnitlessScale(MultilevelSensorScaleType):
    """Enum for known scales for UNITLESS multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    UNITLESS = 0


class VelocityScale(MultilevelSensorScaleType):
    """Enum for known scales for VELOCITY multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MPH = 1
    M_S = 0


class VolatileOrganicCompoundLevelScale(MultilevelSensorScaleType):
    """Enum for known scales for VOLATILE_ORGANIC_COMPOUND_LEVEL multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MOLE_PER_CUBIC_METER = 0
    PARTS_MILLION = 1


class VoltageScale(MultilevelSensorScaleType):
    """Enum for known scales for VOLTAGE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MILLIVOLT = 1
    VOLT = 0


class WaterChlorineLevelScale(MultilevelSensorScaleType):
    """Enum for known scales for WATER_CHLORINE_LEVEL multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MILLIGRAM_PER_LITER = 0


class WaterFlowScale(MultilevelSensorScaleType):
    """Enum for known scales for WATER_FLOW multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    LITER_PER_HOUR = 0


class WaterOxidationReductionPotentialScale(MultilevelSensorScaleType):
    """Enum for known scales for WATER_OXIDATION_REDUCTION_POTENTIAL multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    MILLIVOLT = 0


class WaterPressureScale(MultilevelSensorScaleType):
    """Enum for known scales for WATER_PRESSURE multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    KILOPASCAL = 0


class WeightScale(MultilevelSensorScaleType):
    """Enum for known scales for WEIGHT multilevel sensor types."""

    # https://github.com/zwave-js/node-zwave-js/blob/master/packages/core/src/registries/SensorTypes.ts
    KILOGRAM = 0
    POUNDS = 1


MULTILEVEL_SENSOR_TYPE_TO_SCALE_MAP: dict[
    MultilevelSensorType, type[MultilevelSensorScaleType]
] = {
    MultilevelSensorType.ACCELERATION_X_AXIS: AccelerationScale,
    MultilevelSensorType.ACCELERATION_Y_AXIS: AccelerationScale,
    MultilevelSensorType.ACCELERATION_Z_AXIS: AccelerationScale,
    MultilevelSensorType.AIR_FLOW: AirFlowScale,
    MultilevelSensorType.AIR_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.AMMONIA: DensityScale,
    MultilevelSensorType.ANGLE_POSITION: AnglePositionScale,
    MultilevelSensorType.APPLIED_FORCE_ON_THE_SENSOR: AppliedForceOnTheSensorScale,
    MultilevelSensorType.ATMOSPHERIC_PRESSURE: AirPressureScale,
    MultilevelSensorType.BAROMETRIC_PRESSURE: AirPressureScale,
    MultilevelSensorType.BASIS_METABOLIC_RATE: BasisMetabolicRateScale,
    MultilevelSensorType.BLOOD_PRESSURE: BloodPressureScale,
    MultilevelSensorType.BODY_MASS_INDEX: BodyMassIndexScale,
    MultilevelSensorType.BOILER_WATER_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.BONE_MASS: MassScale,
    MultilevelSensorType.CARBON_DIOXIDE_LEVEL: CarbonDioxideLevelScale,
    MultilevelSensorType.CARBON_MONOXIDE_LEVEL: CarbonMonoxideLevelScale,
    MultilevelSensorType.CONDENSER_COIL_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.CURRENT: CurrentScale,
    MultilevelSensorType.DEFROST_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.DEW_POINT: TemperatureScale,
    MultilevelSensorType.DIRECTION: DirectionScale,
    MultilevelSensorType.DISCHARGE_LINE_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.DISCHARGE_PRESSURE: PressureScale,
    MultilevelSensorType.DISTANCE: DistanceScale,
    MultilevelSensorType.DOMESTIC_HOT_WATER_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.ELECTRICAL_CONDUCTIVITY: ElectricalConductivityScale,
    MultilevelSensorType.ELECTRICAL_RESISTIVITY: ElectricalResistivityScale,
    MultilevelSensorType.EVAPORATOR_COIL_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.EXHAUST_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.FAT_MASS: MassScale,
    MultilevelSensorType.FORMALDEHYDE_LEVEL: FormaldehydeLevelScale,
    MultilevelSensorType.FREQUENCY: FrequencyScale,
    MultilevelSensorType.GENERAL_PURPOSE: GeneralPurposeScale,
    MultilevelSensorType.HEART_RATE: HeartRateScale,
    MultilevelSensorType.HEART_RATE_LF_HF_RATIO: UnitlessScale,
    MultilevelSensorType.HUMIDITY: HumidityScale,
    MultilevelSensorType.ILLUMINANCE: IlluminanceScale,
    MultilevelSensorType.LEAD: DensityScale,
    MultilevelSensorType.LIQUID_LINE_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.LOUDNESS: LoudnessScale,
    MultilevelSensorType.METHANE_DENSITY: MethaneDensityScale,
    MultilevelSensorType.MOISTURE: MoistureScale,
    MultilevelSensorType.MOTION_DIRECTION: DirectionScale,
    MultilevelSensorType.MUSCLE_MASS: MassScale,
    MultilevelSensorType.NITROGEN_DIOXIDE: DensityScale,
    MultilevelSensorType.OUTSIDE_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.OZONE: DensityScale,
    MultilevelSensorType.PARTICULATE_MATTER_1: DensityScale,
    MultilevelSensorType.PARTICULATE_MATTER_10: ParticulateMatter10Scale,
    MultilevelSensorType.PARTICULATE_MATTER_2_5: ParticulateMatter25Scale,
    MultilevelSensorType.PERSON_COUNTER_ENTERING: UnitlessScale,
    MultilevelSensorType.PERSON_COUNTER_EXITING: UnitlessScale,
    MultilevelSensorType.POWER: PowerScale,
    MultilevelSensorType.RADON_CONCENTRATION: RadonConcentrationScale,
    MultilevelSensorType.RAIN_RATE: RainRateScale,
    MultilevelSensorType.RELATIVE_MODULATION_LEVEL: PercentageScale,
    MultilevelSensorType.RESPIRATORY_RATE: RespiratoryRateScale,
    MultilevelSensorType.RETURN_AIR_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.RF_SIGNAL_STRENGTH: RfSignalStrengthScale,
    MultilevelSensorType.ROTATION: RotationScale,
    MultilevelSensorType.SEISMIC_INTENSITY: SeismicIntensityScale,
    MultilevelSensorType.SEISMIC_MAGNITUDE: SeismicMagnitudeScale,
    MultilevelSensorType.SMOKE_DENSITY: PercentageScale,
    MultilevelSensorType.SOIL_HUMIDITY: PercentageScale,
    MultilevelSensorType.SOIL_REACTIVITY: AcidityScale,
    MultilevelSensorType.SOIL_SALINITY: SoilSalinityScale,
    MultilevelSensorType.SOIL_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.SOLAR_RADIATION: SolarRadiationScale,
    MultilevelSensorType.SUCTION_PRESSURE: PressureScale,
    MultilevelSensorType.SULFUR_DIOXIDE: DensityScale,
    MultilevelSensorType.SUPPLY_AIR_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.TANK_CAPACITY: TankCapacityScale,
    MultilevelSensorType.TARGET_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.TIDE_LEVEL: TideLevelScale,
    MultilevelSensorType.TIME: TimeScale,
    MultilevelSensorType.TOTAL_BODY_WATER: MassScale,
    MultilevelSensorType.ULTRAVIOLET: UltravioletScale,
    MultilevelSensorType.VELOCITY: VelocityScale,
    MultilevelSensorType.VOLATILE_ORGANIC_COMPOUND_LEVEL: VolatileOrganicCompoundLevelScale,
    MultilevelSensorType.VOLTAGE: VoltageScale,
    MultilevelSensorType.WATER_ACIDITY: AcidityScale,
    MultilevelSensorType.WATER_CHLORINE_LEVEL: WaterChlorineLevelScale,
    MultilevelSensorType.WATER_FLOW: WaterFlowScale,
    MultilevelSensorType.WATER_OXIDATION_REDUCTION_POTENTIAL: WaterOxidationReductionPotentialScale,
    MultilevelSensorType.WATER_PRESSURE: WaterPressureScale,
    MultilevelSensorType.WATER_TEMPERATURE: TemperatureScale,
    MultilevelSensorType.WEIGHT: WeightScale,
}

UNIT_ABSOLUTE_HUMIDITY: list[MultilevelSensorScaleType] = [
    HumidityScale.ABSOLUTE_HUMIDITY
]
UNIT_ACIDITY: list[MultilevelSensorScaleType] = [AcidityScale.ACIDITY]
UNIT_AMPERE: list[MultilevelSensorScaleType] = [CurrentScale.AMPERE]
UNIT_A_WEIGHTED_DECIBELS: list[MultilevelSensorScaleType] = [
    LoudnessScale.A_WEIGHTED_DECIBELS
]
UNIT_BEATS_PER_MINUTE: list[MultilevelSensorScaleType] = [
    HeartRateScale.BEATS_PER_MINUTE
]
UNIT_BECQUEREL_PER_CUBIC_METER: list[MultilevelSensorScaleType] = [
    RadonConcentrationScale.BECQUEREL_PER_CUBIC_METER
]
UNIT_BODY_MASS_INDEX: list[MultilevelSensorScaleType] = [
    BodyMassIndexScale.BODY_MASS_INDEX
]
UNIT_BODY_WAVE: list[MultilevelSensorScaleType] = [SeismicMagnitudeScale.BODY_WAVE]
UNIT_BREATHS_PER_MINUTE: list[MultilevelSensorScaleType] = [
    RespiratoryRateScale.BREATHS_PER_MINUTE
]
UNIT_BTU_H: list[MultilevelSensorScaleType] = [PowerScale.BTU_H]
UNIT_CELSIUS: list[MultilevelSensorScaleType] = [TemperatureScale.CELSIUS]
UNIT_CENTIMETER: list[MultilevelSensorScaleType] = [DistanceScale.CENTIMETER]
UNIT_CUBIC_FEET_PER_MINUTE: list[MultilevelSensorScaleType] = [
    AirFlowScale.CUBIC_FEET_PER_MINUTE
]
UNIT_CUBIC_METER: list[MultilevelSensorScaleType] = [TankCapacityScale.CUBIC_METER]
UNIT_CUBIC_METER_PER_HOUR: list[MultilevelSensorScaleType] = [
    AirFlowScale.CUBIC_METER_PER_HOUR
]
UNIT_DECIBEL: list[MultilevelSensorScaleType] = [LoudnessScale.DECIBEL]
UNIT_DEGREES: list[MultilevelSensorScaleType] = [DirectionScale.DEGREES]
UNIT_DEGREES_RELATIVE_TO_NORTH_POLE_OF_STANDING_EYE_VIEW: list[
    MultilevelSensorScaleType
] = [AnglePositionScale.DEGREES_RELATIVE_TO_NORTH_POLE_OF_STANDING_EYE_VIEW]
UNIT_DEGREES_RELATIVE_TO_SOUTH_POLE_OF_STANDING_EYE_VIEW: list[
    MultilevelSensorScaleType
] = [AnglePositionScale.DEGREES_RELATIVE_TO_SOUTH_POLE_OF_STANDING_EYE_VIEW]
UNIT_DENSITY: list[MultilevelSensorScaleType] = [DensityScale.DENSITY]
UNIT_DIASTOLIC: list[MultilevelSensorScaleType] = [BloodPressureScale.DIASTOLIC]
UNIT_DIMENSIONLESS_VALUE: list[MultilevelSensorScaleType] = [
    GeneralPurposeScale.DIMENSIONLESS_VALUE
]
UNIT_EUROPEAN_MACROSEISMIC: list[MultilevelSensorScaleType] = [
    SeismicIntensityScale.EUROPEAN_MACROSEISMIC
]
UNIT_FAHRENHEIT: list[MultilevelSensorScaleType] = [TemperatureScale.FAHRENHEIT]
UNIT_FEET: list[MultilevelSensorScaleType] = [DistanceScale.FEET, TideLevelScale.FEET]
UNIT_GALLONS: list[MultilevelSensorScaleType] = [TankCapacityScale.GALLONS]
UNIT_HERTZ: list[MultilevelSensorScaleType] = [
    FrequencyScale.HERTZ,
    RotationScale.HERTZ,
]
UNIT_IMPEDANCE: list[MultilevelSensorScaleType] = [MoistureScale.IMPEDANCE]
UNIT_INCHES_OF_MERCURY: list[MultilevelSensorScaleType] = [
    AirPressureScale.INCHES_OF_MERCURY
]
UNIT_INCHES_PER_HOUR: list[MultilevelSensorScaleType] = [RainRateScale.INCHES_PER_HOUR]
UNIT_JOULE: list[MultilevelSensorScaleType] = [BasisMetabolicRateScale.JOULE]
UNIT_KILOGRAM: list[MultilevelSensorScaleType] = [
    MassScale.KILOGRAM,
    WeightScale.KILOGRAM,
]
UNIT_KILOHERTZ: list[MultilevelSensorScaleType] = [FrequencyScale.KILOHERTZ]
UNIT_KILOPASCAL: list[MultilevelSensorScaleType] = [
    AirPressureScale.KILOPASCAL,
    PressureScale.KILOPASCAL,
    WaterPressureScale.KILOPASCAL,
]
UNIT_LIEDU: list[MultilevelSensorScaleType] = [SeismicIntensityScale.LIEDU]
UNIT_LITER: list[MultilevelSensorScaleType] = [TankCapacityScale.LITER]
UNIT_LITER_PER_HOUR: list[MultilevelSensorScaleType] = [WaterFlowScale.LITER_PER_HOUR]
UNIT_LOCAL: list[MultilevelSensorScaleType] = [SeismicMagnitudeScale.LOCAL]
UNIT_LUX: list[MultilevelSensorScaleType] = [IlluminanceScale.LUX]
UNIT_MERCALLI: list[MultilevelSensorScaleType] = [SeismicIntensityScale.MERCALLI]
UNIT_METER: list[MultilevelSensorScaleType] = [
    DistanceScale.METER,
    TideLevelScale.METER,
]
UNIT_METER_PER_SQUARE_SECOND: list[MultilevelSensorScaleType] = [
    AccelerationScale.METER_PER_SQUARE_SECOND
]
UNIT_MICROGRAM_PER_CUBIC_METER: list[MultilevelSensorScaleType] = [
    ParticulateMatter10Scale.MICROGRAM_PER_CUBIC_METER,
    ParticulateMatter25Scale.MICROGRAM_PER_CUBIC_METER,
]
UNIT_MILLIAMPERE: list[MultilevelSensorScaleType] = [CurrentScale.MILLIAMPERE]
UNIT_MILLIGRAM_PER_LITER: list[MultilevelSensorScaleType] = [
    WaterChlorineLevelScale.MILLIGRAM_PER_LITER
]
UNIT_MILLIMETER_HOUR: list[MultilevelSensorScaleType] = [RainRateScale.MILLIMETER_HOUR]
UNIT_MILLIVOLT: list[MultilevelSensorScaleType] = [
    VoltageScale.MILLIVOLT,
    WaterOxidationReductionPotentialScale.MILLIVOLT,
]
UNIT_MOLE_PER_CUBIC_METER: list[MultilevelSensorScaleType] = [
    CarbonMonoxideLevelScale.MOLE_PER_CUBIC_METER,
    FormaldehydeLevelScale.MOLE_PER_CUBIC_METER,
    MethaneDensityScale.MOLE_PER_CUBIC_METER,
    ParticulateMatter10Scale.MOLE_PER_CUBIC_METER,
    ParticulateMatter25Scale.MOLE_PER_CUBIC_METER,
    SoilSalinityScale.MOLE_PER_CUBIC_METER,
    VolatileOrganicCompoundLevelScale.MOLE_PER_CUBIC_METER,
]
UNIT_MOMENT: list[MultilevelSensorScaleType] = [SeismicMagnitudeScale.MOMENT]
UNIT_MPH: list[MultilevelSensorScaleType] = [VelocityScale.MPH]
UNIT_M_S: list[MultilevelSensorScaleType] = [VelocityScale.M_S]
UNIT_NEWTON: list[MultilevelSensorScaleType] = [AppliedForceOnTheSensorScale.NEWTON]
UNIT_OHM_METER: list[MultilevelSensorScaleType] = [ElectricalResistivityScale.OHM_METER]
UNIT_PARTS_MILLION: list[MultilevelSensorScaleType] = [
    CarbonDioxideLevelScale.PARTS_MILLION,
    CarbonMonoxideLevelScale.PARTS_MILLION,
    VolatileOrganicCompoundLevelScale.PARTS_MILLION,
]
UNIT_PERCENTAGE_VALUE: list[MultilevelSensorScaleType] = [
    AnglePositionScale.PERCENTAGE_VALUE,
    GeneralPurposeScale.PERCENTAGE_VALUE,
    HumidityScale.PERCENTAGE_VALUE,
    IlluminanceScale.PERCENTAGE_VALUE,
    MoistureScale.PERCENTAGE_VALUE,
    PercentageScale.PERCENTAGE_VALUE,
]
UNIT_PICOCURIES_PER_LITER: list[MultilevelSensorScaleType] = [
    RadonConcentrationScale.PICOCURIES_PER_LITER
]
UNIT_POUNDS: list[MultilevelSensorScaleType] = [WeightScale.POUNDS]
UNIT_POUND_PER_SQUARE_INCH: list[MultilevelSensorScaleType] = [
    PressureScale.POUND_PER_SQUARE_INCH
]
UNIT_POWER_LEVEL: list[MultilevelSensorScaleType] = [RfSignalStrengthScale.POWER_LEVEL]
UNIT_REVOLUTIONS_PER_MINUTE: list[MultilevelSensorScaleType] = [
    RotationScale.REVOLUTIONS_PER_MINUTE
]
UNIT_RSSI: list[MultilevelSensorScaleType] = [RfSignalStrengthScale.RSSI]
UNIT_SECOND: list[MultilevelSensorScaleType] = [TimeScale.SECOND]
UNIT_SHINDO: list[MultilevelSensorScaleType] = [SeismicIntensityScale.SHINDO]
UNIT_SIEMENS_PER_METER: list[MultilevelSensorScaleType] = [
    ElectricalConductivityScale.SIEMENS_PER_METER
]
UNIT_SURFACE_WAVE: list[MultilevelSensorScaleType] = [
    SeismicMagnitudeScale.SURFACE_WAVE
]
UNIT_SYSTOLIC: list[MultilevelSensorScaleType] = [BloodPressureScale.SYSTOLIC]
UNIT_UNITLESS: list[MultilevelSensorScaleType] = [UnitlessScale.UNITLESS]
UNIT_UV_INDEX: list[MultilevelSensorScaleType] = [UltravioletScale.UV_INDEX]
UNIT_VOLT: list[MultilevelSensorScaleType] = [VoltageScale.VOLT]
UNIT_VOLUME_WATER_CONTENT: list[MultilevelSensorScaleType] = [
    MoistureScale.VOLUME_WATER_CONTENT
]
UNIT_WATER_ACTIVITY: list[MultilevelSensorScaleType] = [MoistureScale.WATER_ACTIVITY]
UNIT_WATT: list[MultilevelSensorScaleType] = [PowerScale.WATT]
UNIT_WATT_PER_SQUARE_METER: list[MultilevelSensorScaleType] = [
    SolarRadiationScale.WATT_PER_SQUARE_METER
]

# ----------------------------------------------------------------------------------- #
# **END OF AUTOGENERATED CONTENT** (DO NOT EDIT/REMOVE THIS COMMENT BLOCK AND DO NOT  #
# EDIT ANYTHING ABOVE IT. IF A NEW IMPORT IS NEEDED, ADD IT TO THE IMPORTS IN THE     #
# CORRESPONDING GENERATION SCRIPT THEN RE-RUN THE SCRIPT. LINES WRITTEN BELOW THIS    #
# BLOCK WILL BE PRESERVED AS LONG AS THIS BLOCK REMAINS)                              #
# ----------------------------------------------------------------------------------- #

CO_SENSORS = [MultilevelSensorType.CARBON_MONOXIDE_LEVEL]
CO2_SENSORS = [MultilevelSensorType.CARBON_DIOXIDE_LEVEL]
CURRENT_SENSORS = [MultilevelSensorType.CURRENT]
ENERGY_MEASUREMENT_SENSORS = [MultilevelSensorType.BASIS_METABOLIC_RATE]
HUMIDITY_SENSORS = [MultilevelSensorType.HUMIDITY]
ILLUMINANCE_SENSORS = [MultilevelSensorType.ILLUMINANCE]
POWER_SENSORS = [MultilevelSensorType.POWER]
PRESSURE_SENSORS = [
    MultilevelSensorType.BLOOD_PRESSURE,
    MultilevelSensorType.WATER_PRESSURE,
    MultilevelSensorType.SUCTION_PRESSURE,
    MultilevelSensorType.DISCHARGE_PRESSURE,
    MultilevelSensorType.BAROMETRIC_PRESSURE,
    MultilevelSensorType.ATMOSPHERIC_PRESSURE,
]
SIGNAL_STRENGTH_SENSORS = [MultilevelSensorType.RF_SIGNAL_STRENGTH]
TEMPERATURE_SENSORS = [
    MultilevelSensorType.AIR_TEMPERATURE,
    MultilevelSensorType.DEW_POINT,
    MultilevelSensorType.WATER_TEMPERATURE,
    MultilevelSensorType.SOIL_TEMPERATURE,
    MultilevelSensorType.TARGET_TEMPERATURE,
    MultilevelSensorType.BOILER_WATER_TEMPERATURE,
    MultilevelSensorType.DOMESTIC_HOT_WATER_TEMPERATURE,
    MultilevelSensorType.OUTSIDE_TEMPERATURE,
    MultilevelSensorType.EXHAUST_TEMPERATURE,
    MultilevelSensorType.RETURN_AIR_TEMPERATURE,
    MultilevelSensorType.SUPPLY_AIR_TEMPERATURE,
    MultilevelSensorType.CONDENSER_COIL_TEMPERATURE,
    MultilevelSensorType.EVAPORATOR_COIL_TEMPERATURE,
    MultilevelSensorType.LIQUID_LINE_TEMPERATURE,
    MultilevelSensorType.DISCHARGE_LINE_TEMPERATURE,
    MultilevelSensorType.DEFROST_TEMPERATURE,
]
VOLTAGE_SENSORS = [
    MultilevelSensorType.VOLTAGE,
    MultilevelSensorType.WATER_OXIDATION_REDUCTION_POTENTIAL,
]
