Add common PDU sensors to NUT (#139669)

* Add common PDU sensors and alphabetize sensors list

* Back out code quality improvements

* Change voltage and current status to diagnostic and disabled by default
This commit is contained in:
tdfountain 2025-03-04 19:26:43 -08:00 committed by GitHub
parent e60a284354
commit 782f504522
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 53 additions and 0 deletions

View File

@ -43,18 +43,33 @@
"input_bypass_phases": {
"default": "mdi:information-outline"
},
"input_current_status": {
"default": "mdi:information-outline"
},
"input_frequency_status": {
"default": "mdi:information-outline"
},
"input_load": {
"default": "mdi:gauge"
},
"input_phases": {
"default": "mdi:information-outline"
},
"input_power": {
"default": "mdi:gauge"
},
"input_sensitivity": {
"default": "mdi:information-outline"
},
"input_transfer_reason": {
"default": "mdi:information-outline"
},
"input_voltage_status": {
"default": "mdi:information-outline"
},
"outlet_voltage": {
"default": "mdi:gauge"
},
"output_l1_power_percent": {
"default": "mdi:gauge"
},

View File

@ -463,6 +463,12 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.voltage.status": SensorEntityDescription(
key="input.voltage.status",
translation_key="input_voltage_status",
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",
@ -671,6 +677,12 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
state_class=SensorStateClass.MEASUREMENT,
entity_registry_enabled_default=False,
),
"input.current.status": SensorEntityDescription(
key="input.current.status",
translation_key="input_current_status",
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.L1.current": SensorEntityDescription(
key="input.L1.current",
translation_key="input_l1_current",
@ -698,12 +710,26 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.load": SensorEntityDescription(
key="input.load",
translation_key="input_load",
native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT,
),
"input.phases": SensorEntityDescription(
key="input.phases",
translation_key="input_phases",
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.power": SensorEntityDescription(
key="input.power",
translation_key="input_power",
device_class=SensorDeviceClass.APPARENT_POWER,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"input.realpower": SensorEntityDescription(
key="input.realpower",
translation_key="input_realpower",
@ -740,6 +766,13 @@ SENSOR_TYPES: Final[dict[str, SensorEntityDescription]] = {
entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False,
),
"outlet.voltage": SensorEntityDescription(
key="outlet.voltage",
translation_key="outlet_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
),
"output.power.nominal": SensorEntityDescription(
key="output.power.nominal",
translation_key="output_power_nominal",

View File

@ -130,6 +130,7 @@
"name": "Input bypass L3 real power"
},
"input_current": { "name": "Input current" },
"input_current_status": { "name": "Input current status" },
"input_l1_current": { "name": "Input L1 current" },
"input_l2_current": { "name": "Input L2 current" },
"input_l3_current": { "name": "Input L3 current" },
@ -140,19 +141,23 @@
"input_l2_frequency": { "name": "Input L2 line frequency" },
"input_l3_frequency": { "name": "Input L3 line frequency" },
"input_phases": { "name": "Input phases" },
"input_power": { "name": "Input power" },
"input_realpower": { "name": "Input real power" },
"input_l1_realpower": { "name": "Input L1 real power" },
"input_l2_realpower": { "name": "Input L2 real power" },
"input_l3_realpower": { "name": "Input L3 real power" },
"input_load": { "name": "Input load" },
"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_voltage_status": { "name": "Input voltage status" },
"input_l1_n_voltage": { "name": "Input L1 voltage" },
"input_l2_n_voltage": { "name": "Input L2 voltage" },
"input_l3_n_voltage": { "name": "Input L3 voltage" },
"outlet_voltage": { "name": "Outlet voltage" },
"output_current": { "name": "Output current" },
"output_current_nominal": { "name": "Nominal output current" },
"output_l1_current": { "name": "Output L1 current" },