Add kV and MV unit conversion for voltages (#135396)

pull/135465/head
Lukas Schlötterer 2025-01-13 13:00:35 +01:00 committed by GitHub
parent dae87db244
commit 7b63c17101
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 22 additions and 2 deletions

View File

@ -363,7 +363,7 @@ class NumberDeviceClass(StrEnum):
VOLTAGE = "voltage"
"""Voltage.
Unit of measurement: `V`, `mV`, `µV`
Unit of measurement: `V`, `mV`, `µV`, `kV`, `MV`
"""
VOLUME = "volume"

View File

@ -392,7 +392,7 @@ class SensorDeviceClass(StrEnum):
VOLTAGE = "voltage"
"""Voltage.
Unit of measurement: `V`, `mV`, `µV`
Unit of measurement: `V`, `mV`, `µV`, `kV`, `MV`
"""
VOLUME = "volume"

View File

@ -647,6 +647,8 @@ class UnitOfElectricPotential(StrEnum):
MICROVOLT = "µV"
MILLIVOLT = "mV"
VOLT = "V"
KILOVOLT = "kV"
MEGAVOLT = "MV"
# Degree units

View File

@ -249,11 +249,15 @@ class ElectricPotentialConverter(BaseUnitConverter):
UnitOfElectricPotential.VOLT: 1,
UnitOfElectricPotential.MILLIVOLT: 1e3,
UnitOfElectricPotential.MICROVOLT: 1e6,
UnitOfElectricPotential.KILOVOLT: 1 / 1e3,
UnitOfElectricPotential.MEGAVOLT: 1 / 1e6,
}
VALID_UNITS = {
UnitOfElectricPotential.VOLT,
UnitOfElectricPotential.MILLIVOLT,
UnitOfElectricPotential.MICROVOLT,
UnitOfElectricPotential.KILOVOLT,
UnitOfElectricPotential.MEGAVOLT,
}

View File

@ -435,10 +435,24 @@ _CONVERTED_VALUE: dict[
ElectricPotentialConverter: [
(5, UnitOfElectricPotential.VOLT, 5000, UnitOfElectricPotential.MILLIVOLT),
(5, UnitOfElectricPotential.VOLT, 5e6, UnitOfElectricPotential.MICROVOLT),
(5, UnitOfElectricPotential.VOLT, 5e-3, UnitOfElectricPotential.KILOVOLT),
(5, UnitOfElectricPotential.VOLT, 5e-6, UnitOfElectricPotential.MEGAVOLT),
(5, UnitOfElectricPotential.MILLIVOLT, 0.005, UnitOfElectricPotential.VOLT),
(5, UnitOfElectricPotential.MILLIVOLT, 5e3, UnitOfElectricPotential.MICROVOLT),
(5, UnitOfElectricPotential.MILLIVOLT, 5e-6, UnitOfElectricPotential.KILOVOLT),
(5, UnitOfElectricPotential.MILLIVOLT, 5e-9, UnitOfElectricPotential.MEGAVOLT),
(5, UnitOfElectricPotential.MICROVOLT, 5e-3, UnitOfElectricPotential.MILLIVOLT),
(5, UnitOfElectricPotential.MICROVOLT, 5e-6, UnitOfElectricPotential.VOLT),
(5, UnitOfElectricPotential.MICROVOLT, 5e-9, UnitOfElectricPotential.KILOVOLT),
(5, UnitOfElectricPotential.MICROVOLT, 5e-12, UnitOfElectricPotential.MEGAVOLT),
(5, UnitOfElectricPotential.KILOVOLT, 5e9, UnitOfElectricPotential.MICROVOLT),
(5, UnitOfElectricPotential.KILOVOLT, 5e6, UnitOfElectricPotential.MILLIVOLT),
(5, UnitOfElectricPotential.KILOVOLT, 5e3, UnitOfElectricPotential.VOLT),
(5, UnitOfElectricPotential.KILOVOLT, 5e-3, UnitOfElectricPotential.MEGAVOLT),
(5, UnitOfElectricPotential.MEGAVOLT, 5e12, UnitOfElectricPotential.MICROVOLT),
(5, UnitOfElectricPotential.MEGAVOLT, 5e9, UnitOfElectricPotential.MILLIVOLT),
(5, UnitOfElectricPotential.MEGAVOLT, 5e6, UnitOfElectricPotential.VOLT),
(5, UnitOfElectricPotential.MEGAVOLT, 5e3, UnitOfElectricPotential.KILOVOLT),
],
EnergyConverter: [
(10, UnitOfEnergy.MILLIWATT_HOUR, 0.00001, UnitOfEnergy.KILO_WATT_HOUR),