diff --git a/homeassistant/components/tuya/sensor.py b/homeassistant/components/tuya/sensor.py index 394d55402dd2..088d0d9523b1 100644 --- a/homeassistant/components/tuya/sensor.py +++ b/homeassistant/components/tuya/sensor.py @@ -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, + ), + ), ) diff --git a/homeassistant/components/tuya/strings.json b/homeassistant/components/tuya/strings.json index a5810d6c115d..bc93406bc4e7 100644 --- a/homeassistant/components/tuya/strings.json +++ b/homeassistant/components/tuya/strings.json @@ -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" }, diff --git a/tests/components/tuya/snapshots/test_sensor.ambr b/tests/components/tuya/snapshots/test_sensor.ambr index d354446a8df9..7f66aca0b9a0 100644 --- a/tests/components/tuya/snapshots/test_sensor.ambr +++ b/tests/components/tuya/snapshots/test_sensor.ambr @@ -6375,6 +6375,67 @@ 'state': '222.4', }) # --- +# name: test_platform_setup_and_discovery[sensor.duan_lu_qi_ha_phase_a_apparent_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.duan_lu_qi_ha_phase_a_apparent_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase A apparent power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + 'sensor.private': dict({ + 'suggested_unit_of_measurement': 'kVA', + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase A apparent power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_a_apparent_power', + 'unique_id': 'tuya.qi94v9dmdx4fkpncqldphase_aapparentpower', + 'unit_of_measurement': 'kVA', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.duan_lu_qi_ha_phase_a_apparent_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'apparent_power', + : '断路器HA Phase A apparent power', + : , + : 'kVA', + }), + 'context': , + 'entity_id': 'sensor.duan_lu_qi_ha_phase_a_apparent_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.008', + }) +# --- # name: test_platform_setup_and_discovery[sensor.duan_lu_qi_ha_phase_a_current-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -6497,6 +6558,121 @@ 'state': '0.008', }) # --- +# name: test_platform_setup_and_discovery[sensor.duan_lu_qi_ha_phase_a_power_factor-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.duan_lu_qi_ha_phase_a_power_factor', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase A power factor', + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase A power factor', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_a_power_factor', + 'unique_id': 'tuya.qi94v9dmdx4fkpncqldphase_apowerfactor', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[sensor.duan_lu_qi_ha_phase_a_power_factor-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'power_factor', + : '断路器HA Phase A power factor', + : , + }), + 'context': , + 'entity_id': 'sensor.duan_lu_qi_ha_phase_a_power_factor', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.99', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.duan_lu_qi_ha_phase_a_reactive_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.duan_lu_qi_ha_phase_a_reactive_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase A reactive power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + 'sensor.private': dict({ + 'suggested_unit_of_measurement': 'kvar', + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase A reactive power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_a_reactive_power', + 'unique_id': 'tuya.qi94v9dmdx4fkpncqldphase_areactivepower', + 'unit_of_measurement': 'kvar', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.duan_lu_qi_ha_phase_a_reactive_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'reactive_power', + : '断路器HA Phase A reactive power', + : , + : 'kvar', + }), + 'context': , + 'entity_id': 'sensor.duan_lu_qi_ha_phase_a_reactive_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.duan_lu_qi_ha_phase_a_voltage-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -7147,6 +7323,67 @@ 'state': '236.5', }) # --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_b_apparent_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.edesanya_energy_phase_b_apparent_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase B apparent power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + 'sensor.private': dict({ + 'suggested_unit_of_measurement': 'kVA', + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase B apparent power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_b_apparent_power', + 'unique_id': 'tuya.vcrfgwvbuybgnj3zqldphase_bapparentpower', + 'unit_of_measurement': 'kVA', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_b_apparent_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'apparent_power', + : 'Edesanya Energy Phase B apparent power', + : , + : 'kVA', + }), + 'context': , + 'entity_id': 'sensor.edesanya_energy_phase_b_apparent_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- # name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_b_current-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -7269,6 +7506,121 @@ 'state': 'unknown', }) # --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_b_power_factor-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.edesanya_energy_phase_b_power_factor', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase B power factor', + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase B power factor', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_b_power_factor', + 'unique_id': 'tuya.vcrfgwvbuybgnj3zqldphase_bpowerfactor', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_b_power_factor-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'power_factor', + : 'Edesanya Energy Phase B power factor', + : , + }), + 'context': , + 'entity_id': 'sensor.edesanya_energy_phase_b_power_factor', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_b_reactive_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.edesanya_energy_phase_b_reactive_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase B reactive power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + 'sensor.private': dict({ + 'suggested_unit_of_measurement': 'kvar', + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase B reactive power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_b_reactive_power', + 'unique_id': 'tuya.vcrfgwvbuybgnj3zqldphase_breactivepower', + 'unit_of_measurement': 'kvar', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_b_reactive_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'reactive_power', + : 'Edesanya Energy Phase B reactive power', + : , + : 'kvar', + }), + 'context': , + 'entity_id': 'sensor.edesanya_energy_phase_b_reactive_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- # name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_b_voltage-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -7327,6 +7679,67 @@ 'state': 'unknown', }) # --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_c_apparent_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.edesanya_energy_phase_c_apparent_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase C apparent power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + 'sensor.private': dict({ + 'suggested_unit_of_measurement': 'kVA', + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase C apparent power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_c_apparent_power', + 'unique_id': 'tuya.vcrfgwvbuybgnj3zqldphase_capparentpower', + 'unit_of_measurement': 'kVA', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_c_apparent_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'apparent_power', + : 'Edesanya Energy Phase C apparent power', + : , + : 'kVA', + }), + 'context': , + 'entity_id': 'sensor.edesanya_energy_phase_c_apparent_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- # name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_c_current-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -7449,6 +7862,121 @@ 'state': 'unknown', }) # --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_c_power_factor-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.edesanya_energy_phase_c_power_factor', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase C power factor', + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase C power factor', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_c_power_factor', + 'unique_id': 'tuya.vcrfgwvbuybgnj3zqldphase_cpowerfactor', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_c_power_factor-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'power_factor', + : 'Edesanya Energy Phase C power factor', + : , + }), + 'context': , + 'entity_id': 'sensor.edesanya_energy_phase_c_power_factor', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_c_reactive_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.edesanya_energy_phase_c_reactive_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase C reactive power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + 'sensor.private': dict({ + 'suggested_unit_of_measurement': 'kvar', + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase C reactive power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_c_reactive_power', + 'unique_id': 'tuya.vcrfgwvbuybgnj3zqldphase_creactivepower', + 'unit_of_measurement': 'kvar', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_c_reactive_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'reactive_power', + : 'Edesanya Energy Phase C reactive power', + : , + : 'kvar', + }), + 'context': , + 'entity_id': 'sensor.edesanya_energy_phase_c_reactive_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- # name: test_platform_setup_and_discovery[sensor.edesanya_energy_phase_c_voltage-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -20135,6 +20663,64 @@ 'state': '1.17', }) # --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_a_apparent_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_a_apparent_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase A apparent power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase A apparent power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_a_apparent_power', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_aapparentpower', + 'unit_of_measurement': 'kVA', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_a_apparent_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'apparent_power', + : '三相电能表 2 Phase A apparent power', + : , + : 'kVA', + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_a_apparent_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_a_current-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -20251,6 +20837,118 @@ 'state': '9.548', }) # --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_a_power_factor-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_a_power_factor', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase A power factor', + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase A power factor', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_a_power_factor', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_apowerfactor', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_a_power_factor-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'power_factor', + : '三相电能表 2 Phase A power factor', + : , + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_a_power_factor', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.77', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_a_reactive_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_a_reactive_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase A reactive power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase A reactive power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_a_reactive_power', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_areactivepower', + 'unit_of_measurement': 'kvar', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_a_reactive_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'reactive_power', + : '三相电能表 2 Phase A reactive power', + : , + : 'kvar', + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_a_reactive_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_a_voltage-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -20309,6 +21007,64 @@ 'state': '230.1', }) # --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_b_apparent_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_b_apparent_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase B apparent power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase B apparent power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_b_apparent_power', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_bapparentpower', + 'unit_of_measurement': 'kVA', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_b_apparent_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'apparent_power', + : '三相电能表 2 Phase B apparent power', + : , + : 'kVA', + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_b_apparent_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_b_current-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -20425,6 +21181,118 @@ 'state': '9.51', }) # --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_b_power_factor-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_b_power_factor', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase B power factor', + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase B power factor', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_b_power_factor', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_bpowerfactor', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_b_power_factor-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'power_factor', + : '三相电能表 2 Phase B power factor', + : , + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_b_power_factor', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.83', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_b_reactive_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_b_reactive_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase B reactive power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase B reactive power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_b_reactive_power', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_breactivepower', + 'unit_of_measurement': 'kvar', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_b_reactive_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'reactive_power', + : '三相电能表 2 Phase B reactive power', + : , + : 'kvar', + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_b_reactive_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_b_voltage-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -20483,6 +21351,64 @@ 'state': '231.8', }) # --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_c_apparent_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_c_apparent_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase C apparent power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase C apparent power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_c_apparent_power', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_capparentpower', + 'unit_of_measurement': 'kVA', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_c_apparent_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'apparent_power', + : '三相电能表 2 Phase C apparent power', + : , + : 'kVA', + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_c_apparent_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_c_current-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ @@ -20599,6 +21525,118 @@ 'state': '10.006', }) # --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_c_power_factor-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_c_power_factor', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase C power factor', + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase C power factor', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_c_power_factor', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_cpowerfactor', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_c_power_factor-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'power_factor', + : '三相电能表 2 Phase C power factor', + : , + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_c_power_factor', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.86', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_c_reactive_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_c_reactive_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Phase C reactive power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Phase C reactive power', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'phase_c_reactive_power', + 'unique_id': 'tuya.jpry3yxd77xu5woibdnzphase_creactivepower', + 'unit_of_measurement': 'kvar', + }) +# --- +# name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_c_reactive_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'reactive_power', + : '三相电能表 2 Phase C reactive power', + : , + : 'kvar', + }), + 'context': , + 'entity_id': 'sensor.san_xiang_dian_neng_biao_2_phase_c_reactive_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0.0', + }) +# --- # name: test_platform_setup_and_discovery[sensor.san_xiang_dian_neng_biao_2_phase_c_voltage-entry] EntityRegistryEntrySnapshot({ 'aliases': list([