| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- """Tests for the PC321-TY Power Clamp Energy meter"""
- from homeassistant.components.sensor import (
- STATE_CLASS_MEASUREMENT,
- STATE_CLASS_TOTAL_INCREASING,
- SensorDeviceClass,
- )
- from homeassistant.const import (
- UnitOfElectricCurrent,
- UnitOfElectricPotential,
- UnitOfEnergy,
- UnitOfFrequency,
- UnitOfPower,
- UnitOfTemperature,
- )
- from ..const import PC321TY_POWERCLAMP_PAYLOAD
- from ..mixins.sensor import MultiSensorTests
- from .base_device_tests import TuyaDeviceTestCase
- VOLTAGE1_DP = "101"
- CURRENT1_DP = "102"
- POWER1_DP = "103"
- PFACTOR1_DP = "104"
- ENERGY1_DP = "106"
- VOLTAGE2_DP = "111"
- CURRENT2_DP = "112"
- POWER2_DP = "113"
- PFACTOR2_DP = "114"
- ENERGY2_DP = "116"
- VOLTAGE3_DP = "121"
- CURRENT3_DP = "122"
- POWER3_DP = "123"
- PFACTOR3_DP = "124"
- ENERGY3_DP = "126"
- TOTALENERGY_DP = "131"
- TOTALCURRENT_DP = "132"
- TOTALPOWER_DP = "133"
- FREQUENCY_DP = "135"
- TEMPERATURE_DP = "136"
- class TestPC321TYPowerClamp(MultiSensorTests, TuyaDeviceTestCase):
- __test__ = True
- def setUp(self):
- self.setUpForConfig(
- "pc321ty_energy_meter.yaml",
- PC321TY_POWERCLAMP_PAYLOAD,
- )
- self.setUpMultiSensors(
- [
- {
- "dps": TOTALENERGY_DP,
- "name": "sensor_energy",
- "unit": UnitOfEnergy.KILO_WATT_HOUR,
- "device_class": SensorDeviceClass.ENERGY,
- "state_class": STATE_CLASS_TOTAL_INCREASING,
- "testdata": (12345, 123.45),
- },
- {
- "dps": VOLTAGE1_DP,
- "name": "sensor_voltage_a",
- "unit": UnitOfElectricPotential.VOLT,
- "device_class": SensorDeviceClass.VOLTAGE,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (2348, 234.8),
- },
- {
- "dps": CURRENT1_DP,
- "name": "sensor_current_a",
- "unit": UnitOfElectricCurrent.AMPERE,
- "device_class": SensorDeviceClass.CURRENT,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (4567, 4.567),
- },
- {
- "dps": POWER1_DP,
- "name": "sensor_power_a",
- "unit": UnitOfPower.WATT,
- "state_class": STATE_CLASS_MEASUREMENT,
- "device_class": SensorDeviceClass.POWER,
- },
- {
- "dps": PFACTOR1_DP,
- "name": "sensor_power_factor_a",
- "device_class": SensorDeviceClass.POWER_FACTOR,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (5000, 50.00),
- },
- {
- "dps": ENERGY1_DP,
- "name": "sensor_energy_a",
- "unit": UnitOfEnergy.KILO_WATT_HOUR,
- "testdata": (12345, 123.45),
- },
- {
- "dps": VOLTAGE2_DP,
- "name": "sensor_voltage_b",
- "unit": UnitOfElectricPotential.VOLT,
- "device_class": SensorDeviceClass.VOLTAGE,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (2348, 234.8),
- },
- {
- "dps": CURRENT2_DP,
- "name": "sensor_current_b",
- "unit": UnitOfElectricCurrent.AMPERE,
- "device_class": SensorDeviceClass.CURRENT,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (4567, 4.567),
- },
- {
- "dps": POWER2_DP,
- "name": "sensor_power_b",
- "unit": UnitOfPower.WATT,
- "device_class": SensorDeviceClass.POWER,
- "state_class": STATE_CLASS_MEASUREMENT,
- },
- {
- "dps": PFACTOR2_DP,
- "name": "sensor_power_factor_b",
- "device_class": SensorDeviceClass.POWER_FACTOR,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (5000, 50.00),
- },
- {
- "dps": ENERGY2_DP,
- "name": "sensor_energy_b",
- "unit": UnitOfEnergy.KILO_WATT_HOUR,
- "testdata": (12345, 123.45),
- },
- {
- "dps": VOLTAGE3_DP,
- "name": "sensor_voltage_c",
- "unit": UnitOfElectricPotential.VOLT,
- "device_class": SensorDeviceClass.VOLTAGE,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (2348, 234.8),
- },
- {
- "dps": CURRENT3_DP,
- "name": "sensor_current_c",
- "unit": UnitOfElectricCurrent.AMPERE,
- "device_class": SensorDeviceClass.CURRENT,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (4567, 4.567),
- },
- {
- "dps": POWER3_DP,
- "name": "sensor_power_c",
- "unit": UnitOfPower.WATT,
- "state_class": STATE_CLASS_MEASUREMENT,
- "device_class": SensorDeviceClass.POWER,
- },
- {
- "dps": PFACTOR3_DP,
- "name": "sensor_power_factor_c",
- "device_class": SensorDeviceClass.POWER_FACTOR,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (5000, 50.00),
- },
- {
- "dps": ENERGY3_DP,
- "name": "sensor_energy_c",
- "unit": UnitOfEnergy.KILO_WATT_HOUR,
- "testdata": (12345, 123.45),
- },
- {
- "dps": TOTALCURRENT_DP,
- "name": "sensor_total_current",
- "unit": UnitOfElectricCurrent.AMPERE,
- "device_class": SensorDeviceClass.CURRENT,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (12345, 12.345),
- },
- {
- "dps": TOTALPOWER_DP,
- "name": "sensor_total_active_power",
- "unit": UnitOfPower.WATT,
- "state_class": STATE_CLASS_MEASUREMENT,
- "device_class": SensorDeviceClass.POWER,
- },
- {
- "dps": FREQUENCY_DP,
- "name": "sensor_frequency",
- "unit": UnitOfFrequency.HERTZ,
- "state_class": STATE_CLASS_MEASUREMENT,
- "device_class": SensorDeviceClass.FREQUENCY,
- },
- {
- "dps": TEMPERATURE_DP,
- "name": "sensor_temperature",
- "unit": UnitOfTemperature.CELSIUS,
- "device_class": SensorDeviceClass.TEMPERATURE,
- "state_class": STATE_CLASS_MEASUREMENT,
- "testdata": (234, 23.4),
- },
- ]
- )
- self.mark_secondary(
- [
- "sensor_voltage_a",
- "sensor_current_a",
- "sensor_power_a",
- "sensor_power_factor_a",
- "sensor_energy_a",
- "sensor_voltage_b",
- "sensor_current_b",
- "sensor_power_b",
- "sensor_power_factor_b",
- "sensor_energy_b",
- "sensor_voltage_c",
- "sensor_current_c",
- "sensor_power_c",
- "sensor_power_factor_c",
- "sensor_energy_c",
- "sensor_total_current",
- "sensor_total_active_power",
- "sensor_frequency",
- "sensor_temperature",
- ]
- )
|