Add additional fields for 3-phase UPS to nut (#98625)

Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
Tomáš Holý 2023-09-06 18:39:33 +02:00 committed by GitHub
parent 54d92b649b
commit 9bc07f50f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 363 additions and 0 deletions

View file

@ -491,6 +491,33 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L1-N.voltage": SensorEntityDescription(
key="input.L1-N.voltage",
translation_key="input_l1_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L2-N.voltage": SensorEntityDescription(
key="input.L2-N.voltage",
translation_key="input_l2_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L3-N.voltage": SensorEntityDescription(
key="input.L3-N.voltage",
translation_key="input_l3_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.frequency": SensorEntityDescription(
key="input.frequency",
translation_key="input_frequency",
@ -515,6 +542,69 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L1.frequency": SensorEntityDescription(
key="input.L1.frequency",
translation_key="input_l1_frequency",
native_unit_of_measurement=UnitOfFrequency.HERTZ,
device_class=SensorDeviceClass.FREQUENCY,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L2.frequency": SensorEntityDescription(
key="input.L2.frequency",
translation_key="input_l2_frequency",
native_unit_of_measurement=UnitOfFrequency.HERTZ,
device_class=SensorDeviceClass.FREQUENCY,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L3.frequency": SensorEntityDescription(
key="input.L3.frequency",
translation_key="input_l3_frequency",
native_unit_of_measurement=UnitOfFrequency.HERTZ,
device_class=SensorDeviceClass.FREQUENCY,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.current": SensorEntityDescription(
key="input.bypass.current",
translation_key="input_bypass_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L1.current": SensorEntityDescription(
key="input.bypass.L1.current",
translation_key="input_bypass_l1_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L2.current": SensorEntityDescription(
key="input.bypass.L2.current",
translation_key="input_bypass_l2_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L3.current": SensorEntityDescription(
key="input.bypass.L3.current",
translation_key="input_bypass_l3_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.frequency": SensorEntityDescription(
key="input.bypass.frequency",
translation_key="input_bypass_frequency",
@ -531,6 +621,78 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.realpower": SensorEntityDescription(
key="input.bypass.realpower",
translation_key="input_bypass_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L1.realpower": SensorEntityDescription(
key="input.bypass.L1.realpower",
translation_key="input_bypass_l1_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L2.realpower": SensorEntityDescription(
key="input.bypass.L2.realpower",
translation_key="input_bypass_l2_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L3.realpower": SensorEntityDescription(
key="input.bypass.L3.realpower",
translation_key="input_bypass_l3_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.voltage": SensorEntityDescription(
key="input.bypass.voltage",
translation_key="input_bypass_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L1-N.voltage": SensorEntityDescription(
key="input.bypass.L1-N.voltage",
translation_key="input_bypass_l1_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L2-N.voltage": SensorEntityDescription(
key="input.bypass.L2-N.voltage",
translation_key="input_bypass_l2_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.bypass.L3-N.voltage": SensorEntityDescription(
key="input.bypass.L3-N.voltage",
translation_key="input_bypass_l3_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.current": SensorEntityDescription(
key="input.current",
translation_key="input_current",
@ -540,6 +702,33 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L1.current": SensorEntityDescription(
key="input.L1.current",
translation_key="input_l1_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L2.current": SensorEntityDescription(
key="input.L2.current",
translation_key="input_l2_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L3.current": SensorEntityDescription(
key="input.L3.current",
translation_key="input_l3_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.phases": SensorEntityDescription(
key="input.phases",
translation_key="input_phases",
@ -556,6 +745,33 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L1.realpower": SensorEntityDescription(
key="input.L1.realpower",
translation_key="input_l1_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L2.realpower": SensorEntityDescription(
key="input.L2.realpower",
translation_key="input_l2_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L3.realpower": SensorEntityDescription(
key="input.L3.realpower",
translation_key="input_l3_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.power.nominal": SensorEntityDescription(
key="output.power.nominal",
translation_key="output_power_nominal",
@ -564,6 +780,30 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L1.power.percent": SensorEntityDescription(
key="output.L1.power.percent",
translation_key="output_l1_power_percent",
native_unit_of_measurement=PERCENTAGE,
icon="mdi:gauge",
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L2.power.percent": SensorEntityDescription(
key="output.L2.power.percent",
translation_key="output_l2_power_percent",
native_unit_of_measurement=PERCENTAGE,
icon="mdi:gauge",
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L3.power.percent": SensorEntityDescription(
key="output.L3.power.percent",
translation_key="output_l3_power_percent",
native_unit_of_measurement=PERCENTAGE,
icon="mdi:gauge",
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.current": SensorEntityDescription(
key="output.current",
translation_key="output_current",
@ -581,6 +821,33 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L1.current": SensorEntityDescription(
key="output.L1.current",
translation_key="output_l1_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L2.current": SensorEntityDescription(
key="output.L2.current",
translation_key="output_l2_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L3.current": SensorEntityDescription(
key="output.L3.current",
translation_key="output_l3_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.voltage": SensorEntityDescription(
key="output.voltage",
translation_key="output_voltage",
@ -596,6 +863,33 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L1-N.voltage": SensorEntityDescription(
key="output.L1-N.voltage",
translation_key="output_l1_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L2-N.voltage": SensorEntityDescription(
key="output.L2-N.voltage",
translation_key="output_l2_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L3-N.voltage": SensorEntityDescription(
key="output.L3-N.voltage",
translation_key="output_l3_n_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.frequency": SensorEntityDescription(
key="output.frequency",
translation_key="output_frequency",
@ -646,6 +940,33 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L1.realpower": SensorEntityDescription(
key="output.L1.realpower",
translation_key="output_l1_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L2.realpower": SensorEntityDescription(
key="output.L2.realpower",
translation_key="output_l2_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"output.L3.realpower": SensorEntityDescription(
key="output.L3.realpower",
translation_key="output_l3_realpower",
native_unit_of_measurement=UnitOfPower.WATT,
device_class=SensorDeviceClass.POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"ambient.humidity": SensorEntityDescription(
key="ambient.humidity",
translation_key="ambient_humidity",

View file

@ -90,31 +90,73 @@
"battery_voltage_high": { "name": "High battery voltage" },
"battery_voltage_low": { "name": "Low battery voltage" },
"battery_voltage_nominal": { "name": "Nominal battery voltage" },
"input_bypass_current": { "name": "Input bypass current" },
"input_bypass_l1_current": { "name": "Input bypass L1 current" },
"input_bypass_l2_current": { "name": "Input bypass L2 current" },
"input_bypass_l3_current": { "name": "Input bypass L3 current" },
"input_bypass_voltage": { "name": "Input bypass voltage" },
"input_bypass_l1_n_voltage": { "name": "Input bypass L1-N voltage" },
"input_bypass_l2_n_voltage": { "name": "Input bypass L2-N voltage" },
"input_bypass_l3_n_voltage": { "name": "Input bypass L3-N voltage" },
"input_bypass_frequency": { "name": "Input bypass frequency" },
"input_bypass_phases": { "name": "Input bypass phases" },
"input_bypass_realpower": { "name": "Current input bypass real power" },
"input_bypass_l1_realpower": {
"name": "Current input bypass L1 real power"
},
"input_bypass_l2_realpower": {
"name": "Current input bypass L2 real power"
},
"input_bypass_l3_realpower": {
"name": "Current input bypass L3 real power"
},
"input_current": { "name": "Input current" },
"input_l1_current": { "name": "Input L1 current" },
"input_l2_current": { "name": "Input L2 current" },
"input_l3_current": { "name": "Input L3 current" },
"input_frequency": { "name": "Input line frequency" },
"input_frequency_nominal": { "name": "Nominal input line frequency" },
"input_frequency_status": { "name": "Input frequency status" },
"input_l1_frequency": { "name": "Input L1 line frequency" },
"input_l2_frequency": { "name": "Input L2 line frequency" },
"input_l3_frequency": { "name": "Input L3 line frequency" },
"input_phases": { "name": "Input phases" },
"input_realpower": { "name": "Current input real power" },
"input_l1_realpower": { "name": "Current input L1 real power" },
"input_l2_realpower": { "name": "Current input L2 real power" },
"input_l3_realpower": { "name": "Current input L3 real power" },
"input_sensitivity": { "name": "Input power sensitivity" },
"input_transfer_high": { "name": "High voltage transfer" },
"input_transfer_low": { "name": "Low voltage transfer" },
"input_transfer_reason": { "name": "Voltage transfer reason" },
"input_voltage": { "name": "Input voltage" },
"input_voltage_nominal": { "name": "Nominal input voltage" },
"input_l1_n_voltage": { "name": "Input L1 voltage" },
"input_l2_n_voltage": { "name": "Input L2 voltage" },
"input_l3_n_voltage": { "name": "Input L3 voltage" },
"output_current": { "name": "Output current" },
"output_current_nominal": { "name": "Nominal output current" },
"output_l1_current": { "name": "Output L1 current" },
"output_l2_current": { "name": "Output L2 current" },
"output_l3_current": { "name": "Output L3 current" },
"output_frequency": { "name": "Output frequency" },
"output_frequency_nominal": { "name": "Nominal output frequency" },
"output_phases": { "name": "Output phases" },
"output_power": { "name": "Output apparent power" },
"output_l2_power_percent": { "name": "Output L2 power usage" },
"output_l1_power_percent": { "name": "Output L1 power usage" },
"output_l3_power_percent": { "name": "Output L3 power usage" },
"output_power_nominal": { "name": "Nominal output power" },
"output_realpower": { "name": "Current output real power" },
"output_realpower_nominal": { "name": "Nominal output real power" },
"output_l1_realpower": { "name": "Current output L1 real power" },
"output_l2_realpower": { "name": "Current output L2 real power" },
"output_l3_realpower": { "name": "Current output L3 real power" },
"output_voltage": { "name": "Output voltage" },
"output_voltage_nominal": { "name": "Nominal output voltage" },
"output_l1_n_voltage": { "name": "Output L1-N voltage" },
"output_l2_n_voltage": { "name": "Output L2-N voltage" },
"output_l3_n_voltage": { "name": "Output L3-N voltage" },
"ups_alarm": { "name": "Alarms" },
"ups_beeper_status": { "name": "Beeper status" },
"ups_contacts": { "name": "External contacts" },