Add additional Tuya phase power sensors (#181549)

This commit is contained in:
huangrenwei79
2026-09-14 08:53:07 +02:00
committed by GitHub
parent 09986bee1d
commit 3db8e88718
3 changed files with 1104 additions and 0 deletions
+39
View File
@@ -13,10 +13,16 @@ from tuya_device_handlers.device_wrapper.common import (
)
from tuya_device_handlers.device_wrapper.sensor import (
DeltaIntegerWrapper,
ElectricityApparentPowerJsonWrapper,
ElectricityApparentPowerRawWrapper,
ElectricityCurrentJsonWrapper,
ElectricityCurrentRawWrapper,
ElectricityPowerFactorJsonWrapper,
ElectricityPowerFactorRawWrapper,
ElectricityPowerJsonWrapper,
ElectricityPowerRawWrapper,
ElectricityReactivePowerJsonWrapper,
ElectricityReactivePowerRawWrapper,
ElectricityVoltageJsonWrapper,
ElectricityVoltageRawWrapper,
WindDirectionEnumWrapper,
@@ -95,6 +101,39 @@ def _electricity_data(dpcode: DPCode) -> tuple[TuyaSensorEntityDescription, ...]
state_class=SensorStateClass.MEASUREMENT,
wrapper_class=(ElectricityVoltageRawWrapper, ElectricityVoltageJsonWrapper),
),
TuyaSensorEntityDescription(
key=f"{dpcode}reactivepower",
dpcode=dpcode,
translation_key=f"{dpcode}_reactive_power",
device_class=SensorDeviceClass.REACTIVE_POWER,
state_class=SensorStateClass.MEASUREMENT,
wrapper_class=(
ElectricityReactivePowerRawWrapper,
ElectricityReactivePowerJsonWrapper,
),
),
TuyaSensorEntityDescription(
key=f"{dpcode}apparentpower",
dpcode=dpcode,
translation_key=f"{dpcode}_apparent_power",
device_class=SensorDeviceClass.APPARENT_POWER,
state_class=SensorStateClass.MEASUREMENT,
wrapper_class=(
ElectricityApparentPowerRawWrapper,
ElectricityApparentPowerJsonWrapper,
),
),
TuyaSensorEntityDescription(
key=f"{dpcode}powerfactor",
dpcode=dpcode,
translation_key=f"{dpcode}_power_factor",
device_class=SensorDeviceClass.POWER_FACTOR,
state_class=SensorStateClass.MEASUREMENT,
wrapper_class=(
ElectricityPowerFactorRawWrapper,
ElectricityPowerFactorJsonWrapper,
),
),
)
@@ -891,30 +891,57 @@
"oxydo_reduction_potential": {
"name": "Oxydo reduction potential"
},
"phase_a_apparent_power": {
"name": "Phase A apparent power"
},
"phase_a_current": {
"name": "Phase A current"
},
"phase_a_power": {
"name": "Phase A power"
},
"phase_a_power_factor": {
"name": "Phase A power factor"
},
"phase_a_reactive_power": {
"name": "Phase A reactive power"
},
"phase_a_voltage": {
"name": "Phase A voltage"
},
"phase_b_apparent_power": {
"name": "Phase B apparent power"
},
"phase_b_current": {
"name": "Phase B current"
},
"phase_b_power": {
"name": "Phase B power"
},
"phase_b_power_factor": {
"name": "Phase B power factor"
},
"phase_b_reactive_power": {
"name": "Phase B reactive power"
},
"phase_b_voltage": {
"name": "Phase B voltage"
},
"phase_c_apparent_power": {
"name": "Phase C apparent power"
},
"phase_c_current": {
"name": "Phase C current"
},
"phase_c_power": {
"name": "Phase C power"
},
"phase_c_power_factor": {
"name": "Phase C power factor"
},
"phase_c_reactive_power": {
"name": "Phase C reactive power"
},
"phase_c_voltage": {
"name": "Phase C voltage"
},
File diff suppressed because it is too large Load Diff