From 6d255b2521c5b51e90be7233f0bc837af72a140b Mon Sep 17 00:00:00 2001 From: johanzander Date: Fri, 12 Dec 2025 15:27:47 +0100 Subject: [PATCH] Add state_class to Growatt power and energy sensors (#158705) Co-authored-by: Claude Sonnet 4.5 --- .../components/growatt_server/sensor/mix.py | 19 +++ .../components/growatt_server/sensor/tlx.py | 15 ++ .../components/growatt_server/sensor/total.py | 1 + .../growatt_server/snapshots/test_sensor.ambr | 160 ++++++++++++++---- 4 files changed, 163 insertions(+), 32 deletions(-) diff --git a/homeassistant/components/growatt_server/sensor/mix.py b/homeassistant/components/growatt_server/sensor/mix.py index b741a589b8f..910ec447b23 100644 --- a/homeassistant/components/growatt_server/sensor/mix.py +++ b/homeassistant/components/growatt_server/sensor/mix.py @@ -27,6 +27,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="eBatChargeToday", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_battery_charge_lifetime", @@ -42,6 +43,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="eBatDisChargeToday", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_battery_discharge_lifetime", @@ -57,6 +59,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="epvToday", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_solar_generation_lifetime", @@ -72,6 +75,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pDischarge1", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_battery_voltage", @@ -101,6 +105,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="elocalLoadToday", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_load_consumption_lifetime", @@ -116,6 +121,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="etoGridToday", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_export_to_grid_lifetime", @@ -132,6 +138,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="chargePower", native_unit_of_measurement=UnitOfPower.KILO_WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_load_consumption", @@ -139,6 +146,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pLocalLoad", native_unit_of_measurement=UnitOfPower.KILO_WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_wattage_pv_1", @@ -146,6 +154,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pPv1", native_unit_of_measurement=UnitOfPower.KILO_WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_wattage_pv_2", @@ -153,6 +162,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pPv2", native_unit_of_measurement=UnitOfPower.KILO_WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_wattage_pv_all", @@ -160,6 +170,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="ppv", native_unit_of_measurement=UnitOfPower.KILO_WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_export_to_grid", @@ -167,6 +178,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pactogrid", native_unit_of_measurement=UnitOfPower.KILO_WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_import_from_grid", @@ -174,6 +186,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pactouser", native_unit_of_measurement=UnitOfPower.KILO_WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_battery_discharge_kw", @@ -181,6 +194,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pdisCharge1", native_unit_of_measurement=UnitOfPower.KILO_WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="mix_grid_voltage", @@ -196,6 +210,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="eCharge", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_load_consumption_solar_today", @@ -203,6 +218,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="eChargeToday", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_self_consumption_today", @@ -210,6 +226,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="eChargeToday1", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_load_consumption_battery_today", @@ -217,6 +234,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="echarge1", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), GrowattSensorEntityDescription( key="mix_import_from_grid_today", @@ -224,6 +242,7 @@ MIX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="etouser", native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, device_class=SensorDeviceClass.ENERGY, + state_class=SensorStateClass.TOTAL_INCREASING, ), # This sensor is manually created using the most recent X-Axis value from the chartData GrowattSensorEntityDescription( diff --git a/homeassistant/components/growatt_server/sensor/tlx.py b/homeassistant/components/growatt_server/sensor/tlx.py index 298170531de..e3689fbf7d1 100644 --- a/homeassistant/components/growatt_server/sensor/tlx.py +++ b/homeassistant/components/growatt_server/sensor/tlx.py @@ -79,6 +79,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="ppv1", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -122,6 +123,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="ppv2", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -165,6 +167,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="ppv3", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -208,6 +211,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="ppv4", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -234,6 +238,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="ppv", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -258,6 +263,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pac", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -323,6 +329,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="bdc1DischargePower", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="tlx_battery_1_discharge_total", @@ -339,6 +346,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="bdc2DischargePower", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="tlx_battery_2_discharge_total", @@ -372,6 +380,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="bdc1ChargePower", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="tlx_battery_1_charge_total", @@ -388,6 +397,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="bdc2ChargePower", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), GrowattSensorEntityDescription( key="tlx_battery_2_charge_total", @@ -445,6 +455,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pacToLocalLoad", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -453,6 +464,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pacToUserTotal", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -461,6 +473,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pacToGridTotal", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -545,6 +558,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="psystem", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), GrowattSensorEntityDescription( @@ -553,6 +567,7 @@ TLX_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="pself", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, precision=1, ), ) diff --git a/homeassistant/components/growatt_server/sensor/total.py b/homeassistant/components/growatt_server/sensor/total.py index 578745c8610..a1eb898ae1c 100644 --- a/homeassistant/components/growatt_server/sensor/total.py +++ b/homeassistant/components/growatt_server/sensor/total.py @@ -50,5 +50,6 @@ TOTAL_SENSOR_TYPES: tuple[GrowattSensorEntityDescription, ...] = ( api_key="nominalPower", native_unit_of_measurement=UnitOfPower.WATT, device_class=SensorDeviceClass.POWER, + state_class=SensorStateClass.MEASUREMENT, ), ) diff --git a/tests/components/growatt_server/snapshots/test_sensor.ambr b/tests/components/growatt_server/snapshots/test_sensor.ambr index 6a39175de95..226821e39f0 100644 --- a/tests/components/growatt_server/snapshots/test_sensor.ambr +++ b/tests/components/growatt_server/snapshots/test_sensor.ambr @@ -229,7 +229,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -268,6 +270,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Battery 1 charging W', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -283,7 +286,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -322,6 +327,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Battery 1 discharging W', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -337,7 +343,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -376,6 +384,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Battery 2 charging W', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -391,7 +400,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -430,6 +441,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Battery 2 discharging W', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -730,7 +742,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -769,6 +783,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Export power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -898,7 +913,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -937,6 +954,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Import power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -1060,7 +1078,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -1099,6 +1119,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Input 1 wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -1222,7 +1243,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -1261,6 +1284,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Input 2 wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -1384,7 +1408,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -1423,6 +1449,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Input 3 wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -1546,7 +1573,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -1585,6 +1614,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Input 4 wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -1600,7 +1630,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -1639,6 +1671,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Internal wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -2737,7 +2770,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -2776,6 +2811,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Local load power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -2791,7 +2827,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -2830,6 +2868,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Output power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -2956,7 +2995,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -2995,6 +3036,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 Self power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -3118,7 +3160,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -3157,6 +3201,7 @@ 'device_class': 'power', 'friendly_name': 'MIN123456 System power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -3613,7 +3658,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -3652,6 +3699,7 @@ 'device_class': 'power', 'friendly_name': 'Test Plant Total Maximum power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -3936,7 +3984,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -3975,6 +4025,7 @@ 'device_class': 'power', 'friendly_name': 'Test Plant Total Maximum power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -4372,7 +4423,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -4411,6 +4464,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Battery 1 charging W', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -4426,7 +4480,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -4465,6 +4521,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Battery 1 discharging W', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -4480,7 +4537,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -4519,6 +4578,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Battery 2 charging W', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -4534,7 +4594,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -4573,6 +4635,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Battery 2 discharging W', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -4873,7 +4936,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -4912,6 +4977,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Export power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -5041,7 +5107,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -5080,6 +5148,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Import power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -5203,7 +5272,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -5242,6 +5313,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Input 1 wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -5365,7 +5437,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -5404,6 +5478,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Input 2 wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -5527,7 +5602,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -5566,6 +5643,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Input 3 wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -5689,7 +5767,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -5728,6 +5808,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Input 4 wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -5743,7 +5824,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -5782,6 +5865,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Internal wattage', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -6880,7 +6964,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -6919,6 +7005,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Local load power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -6934,7 +7021,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -6973,6 +7062,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Output power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -7099,7 +7189,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -7138,6 +7230,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 Self power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': , @@ -7261,7 +7354,9 @@ 'aliases': set({ }), 'area_id': None, - 'capabilities': None, + 'capabilities': dict({ + 'state_class': , + }), 'config_entry_id': , 'config_subentry_id': , 'device_class': None, @@ -7300,6 +7395,7 @@ 'device_class': 'power', 'friendly_name': 'TLX123456 System power', 'icon': 'mdi:solar-power', + 'state_class': , 'unit_of_measurement': , }), 'context': ,