diff --git a/tests/components/growatt_server/__init__.py b/tests/components/growatt_server/__init__.py index 999e1782a9f..ad4a182979f 100644 --- a/tests/components/growatt_server/__init__.py +++ b/tests/components/growatt_server/__init__.py @@ -1 +1,12 @@ -"""Tests for the growatt_server component.""" +"""Tests for the Growatt Server integration.""" + +from homeassistant.core import HomeAssistant + +from tests.common import MockConfigEntry + + +async def setup_integration(hass: HomeAssistant, config_entry: MockConfigEntry) -> None: + """Set up the Growatt Server integration for testing.""" + config_entry.add_to_hass(hass) + await hass.config_entries.async_setup(config_entry.entry_id) + await hass.async_block_till_done() diff --git a/tests/components/growatt_server/conftest.py b/tests/components/growatt_server/conftest.py index adf6085433a..66e0dd81036 100644 --- a/tests/components/growatt_server/conftest.py +++ b/tests/components/growatt_server/conftest.py @@ -70,8 +70,19 @@ def mock_growatt_v1_api(): } # Called by MIN device coordinator during refresh - # Empty dict is sufficient for switch tests (sensor tests would need real energy data) - mock_v1_api.min_energy.return_value = {} + # Provide realistic energy data for sensor tests + mock_v1_api.min_energy.return_value = { + "eChargeToday": 5.2, + "eChargeTotal": 125.8, + "eDischargeToday": 8.1, + "eDischargeTotal": 245.6, + "eSelfToday": 12.5, + "eSelfTotal": 320.4, + "eBatChargeToday": 6.3, + "eBatChargeTotal": 150.2, + "eBatDischargeToday": 7.8, + "eBatDischargeTotal": 180.5, + } # Called by total coordinator during refresh mock_v1_api.plant_energy_overview.return_value = { diff --git a/tests/components/growatt_server/snapshots/test_init.ambr b/tests/components/growatt_server/snapshots/test_init.ambr new file mode 100644 index 00000000000..424c32d0410 --- /dev/null +++ b/tests/components/growatt_server/snapshots/test_init.ambr @@ -0,0 +1,125 @@ +# serializer version: 1 +# name: test_classic_api_setup + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'growatt_server', + 'TLX123456', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Growatt', + 'model': None, + 'model_id': None, + 'name': 'TLX123456', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- +# name: test_device_info + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'growatt_server', + 'MIN123456', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Growatt', + 'model': None, + 'model_id': None, + 'name': 'MIN123456', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- +# name: test_multiple_devices_discovered[device_min123456] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'growatt_server', + 'MIN123456', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Growatt', + 'model': None, + 'model_id': None, + 'name': 'MIN123456', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- +# name: test_multiple_devices_discovered[device_min789012] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'growatt_server', + 'MIN789012', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Growatt', + 'model': None, + 'model_id': None, + 'name': 'MIN789012', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- diff --git a/tests/components/growatt_server/snapshots/test_sensor.ambr b/tests/components/growatt_server/snapshots/test_sensor.ambr new file mode 100644 index 00000000000..cf873f4a22e --- /dev/null +++ b/tests/components/growatt_server/snapshots/test_sensor.ambr @@ -0,0 +1,11457 @@ +# serializer version: 1 +# name: test_all_sensors[sensor.min123456_ac_frequency-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_ac_frequency', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'AC frequency', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_frequency', + 'unique_id': 'MIN123456-tlx_frequency', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_ac_frequency-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'frequency', + 'friendly_name': 'MIN123456 AC frequency', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_ac_frequency', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_all_batteries_charged_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_all_batteries_charged_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'All batteries charged today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_charge_today', + 'unique_id': 'MIN123456-tlx_all_batteries_charge_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_all_batteries_charged_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 All batteries charged today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_all_batteries_charged_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_all_batteries_discharged_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_all_batteries_discharged_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'All batteries discharged today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_discharge_today', + 'unique_id': 'MIN123456-tlx_all_batteries_discharge_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_all_batteries_discharged_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 All batteries discharged today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_all_batteries_discharged_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_batteries_charged_from_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_batteries_charged_from_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Batteries charged from grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_batteries_charged_from_grid_today', + 'unique_id': 'MIN123456-tlx_batteries_charged_from_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_batteries_charged_from_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Batteries charged from grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_batteries_charged_from_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_battery_1_charging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_battery_1_charging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 1 charging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_charge_w', + 'unique_id': 'MIN123456-tlx_battery_1_charge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_battery_1_charging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Battery 1 charging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_battery_1_charging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_battery_1_discharging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_battery_1_discharging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 1 discharging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_discharge_w', + 'unique_id': 'MIN123456-tlx_battery_1_discharge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_battery_1_discharging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Battery 1 discharging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_battery_1_discharging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_battery_2_charging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_battery_2_charging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 2 charging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_charge_w', + 'unique_id': 'MIN123456-tlx_battery_2_charge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_battery_2_charging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Battery 2 charging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_battery_2_charging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_battery_2_discharging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_battery_2_discharging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 2 discharging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_discharge_w', + 'unique_id': 'MIN123456-tlx_battery_2_discharge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_battery_2_discharging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Battery 2 discharging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_battery_2_discharging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today', + 'unique_id': 'MIN123456-tlx_energy_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today_input_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today_input_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_1', + 'unique_id': 'MIN123456-tlx_energy_today_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today_input_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today input 1', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today_input_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today_input_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today_input_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_2', + 'unique_id': 'MIN123456-tlx_energy_today_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today_input_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today input 2', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today_input_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today_input_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today_input_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_3', + 'unique_id': 'MIN123456-tlx_energy_today_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today_input_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today input 3', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today_input_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today_input_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today_input_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_4', + 'unique_id': 'MIN123456-tlx_energy_today_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_energy_today_input_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today input 4', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today_input_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_export_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_export_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Export power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_grid_total', + 'unique_id': 'MIN123456-tlx_pac_to_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_export_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Export power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_export_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_export_to_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_export_to_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Export to grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_export_to_grid_today', + 'unique_id': 'MIN123456-tlx_export_to_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_export_to_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Export to grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_export_to_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_import_from_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_import_from_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Import from grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_import_from_grid_today', + 'unique_id': 'MIN123456-tlx_import_from_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_import_from_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Import from grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_import_from_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_import_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_import_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Import power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_user_total', + 'unique_id': 'MIN123456-tlx_pac_to_user_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_import_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Import power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_import_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_1_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_1_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_1', + 'unique_id': 'MIN123456-tlx_amperage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_1_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'MIN123456 Input 1 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_1_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_1_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_1_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_1', + 'unique_id': 'MIN123456-tlx_voltage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_1_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Input 1 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_1_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_1_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_1_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_1', + 'unique_id': 'MIN123456-tlx_wattage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_1_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Input 1 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_1_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_2_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_2_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_2', + 'unique_id': 'MIN123456-tlx_amperage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_2_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'MIN123456 Input 2 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_2_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_2_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_2_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_2', + 'unique_id': 'MIN123456-tlx_voltage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_2_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Input 2 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_2_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_2_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_2_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_2', + 'unique_id': 'MIN123456-tlx_wattage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_2_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Input 2 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_2_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_3_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_3_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_3', + 'unique_id': 'MIN123456-tlx_amperage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_3_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'MIN123456 Input 3 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_3_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_3_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_3_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_3', + 'unique_id': 'MIN123456-tlx_voltage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_3_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Input 3 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_3_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_3_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_3_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_3', + 'unique_id': 'MIN123456-tlx_wattage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_3_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Input 3 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_3_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_4_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_4_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_4', + 'unique_id': 'MIN123456-tlx_amperage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_4_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'MIN123456 Input 4 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_4_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_4_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_4_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_4', + 'unique_id': 'MIN123456-tlx_voltage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_4_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Input 4 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_4_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_input_4_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_4_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_4', + 'unique_id': 'MIN123456-tlx_wattage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_input_4_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Input 4 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_4_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_internal_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_internal_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Internal wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_internal_wattage', + 'unique_id': 'MIN123456-tlx_internal_wattage', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_internal_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Internal wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_internal_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_batteries_charged_from_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_batteries_charged_from_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime batteries charged from grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_batteries_charged_from_grid_total', + 'unique_id': 'MIN123456-tlx_batteries_charged_from_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_batteries_charged_from_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime batteries charged from grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_batteries_charged_from_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_energy_output-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_energy_output', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime energy output', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total', + 'unique_id': 'MIN123456-tlx_energy_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_energy_output-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime energy output', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_energy_output', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_import_from_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_import_from_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime import from grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_import_from_grid_total', + 'unique_id': 'MIN123456-tlx_import_from_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_import_from_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime import from grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_import_from_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_self_consumption-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_self_consumption', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime self consumption', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_self_consumption_total', + 'unique_id': 'MIN123456-tlx_self_consumption_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_self_consumption-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime self consumption', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_self_consumption', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_system_production-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_system_production', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime system production', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_system_production_total', + 'unique_id': 'MIN123456-tlx_system_production_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_system_production-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime system production', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_system_production', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_all_batteries_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_all_batteries_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total all batteries charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_charge_total', + 'unique_id': 'MIN123456-tlx_all_batteries_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_all_batteries_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total all batteries charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_all_batteries_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_all_batteries_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_all_batteries_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total all batteries discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_discharge_total', + 'unique_id': 'MIN123456-tlx_all_batteries_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_all_batteries_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total all batteries discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_all_batteries_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_battery_1_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_battery_1_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 1 charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_charge_total', + 'unique_id': 'MIN123456-tlx_battery_1_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_battery_1_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total battery 1 charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_battery_1_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_battery_1_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_battery_1_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 1 discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_discharge_total', + 'unique_id': 'MIN123456-tlx_battery_1_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_battery_1_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total battery 1 discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_battery_1_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_battery_2_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_battery_2_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 2 charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_charge_total', + 'unique_id': 'MIN123456-tlx_battery_2_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_battery_2_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total battery 2 charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_battery_2_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_battery_2_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_battery_2_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 2 discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_discharge_total', + 'unique_id': 'MIN123456-tlx_battery_2_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_battery_2_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total battery 2 discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_battery_2_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_energy_input_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_1', + 'unique_id': 'MIN123456-tlx_energy_total_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_energy_input_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total energy input 1', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_energy_input_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_2', + 'unique_id': 'MIN123456-tlx_energy_total_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_energy_input_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total energy input 2', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_energy_input_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_3', + 'unique_id': 'MIN123456-tlx_energy_total_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_energy_input_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total energy input 3', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_energy_input_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_4', + 'unique_id': 'MIN123456-tlx_energy_total_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_energy_input_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total energy input 4', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_export_to_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_export_to_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total export to grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_export_to_grid_total', + 'unique_id': 'MIN123456-tlx_export_to_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_export_to_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total export to grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_export_to_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_load_consumption-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_load_consumption', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total load consumption', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'mix_load_consumption_total', + 'unique_id': 'MIN123456-mix_load_consumption_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_load_consumption-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total load consumption', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_load_consumption', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_solar_energy-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_solar_energy', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total solar energy', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_solar_generation_total', + 'unique_id': 'MIN123456-tlx_solar_generation_total', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_lifetime_total_solar_energy-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total solar energy', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_solar_energy', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_load_consumption_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_load_consumption_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Load consumption today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_load_consumption_today', + 'unique_id': 'MIN123456-tlx_load_consumption_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_load_consumption_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Load consumption today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_load_consumption_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_local_load_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_local_load_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Local load power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_local_load', + 'unique_id': 'MIN123456-tlx_pac_to_local_load', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_local_load_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Local load power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_local_load_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_output_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_output_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Output power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_current_wattage', + 'unique_id': 'MIN123456-tlx_current_wattage', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_output_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Output power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_output_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_reactive_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_reactive_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Reactive voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_reactive_voltage', + 'unique_id': 'MIN123456-tlx_reactive_voltage', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_reactive_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Reactive voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_reactive_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_self_consumption_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_self_consumption_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Self consumption today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_self_consumption_today', + 'unique_id': 'MIN123456-tlx_self_consumption_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_self_consumption_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Self consumption today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_self_consumption_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_self_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_self_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Self power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_p_self', + 'unique_id': 'MIN123456-tlx_p_self', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_self_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Self power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_self_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_solar_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_solar_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Solar energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_solar_generation_today', + 'unique_id': 'MIN123456-tlx_solar_generation_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_solar_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Solar energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_solar_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_state_of_charge_soc-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_state_of_charge_soc', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'State of charge (SoC)', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_statement_of_charge', + 'unique_id': 'MIN123456-tlx_statement_of_charge', + 'unit_of_measurement': '%', + }) +# --- +# name: test_all_sensors[sensor.min123456_state_of_charge_soc-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'MIN123456 State of charge (SoC)', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.min123456_state_of_charge_soc', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_system_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_system_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'System power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_p_system', + 'unique_id': 'MIN123456-tlx_p_system', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_system_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 System power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_system_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_system_production_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_system_production_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'System production today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_system_production_today', + 'unique_id': 'MIN123456-tlx_system_production_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_system_production_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 System production today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_system_production_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_1', + 'unique_id': 'MIN123456-tlx_temperature_1', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 1', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_2', + 'unique_id': 'MIN123456-tlx_temperature_2', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 2', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_3', + 'unique_id': 'MIN123456-tlx_temperature_3', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 3', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_4', + 'unique_id': 'MIN123456-tlx_temperature_4', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 4', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_5-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_5', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 5', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_5', + 'unique_id': 'MIN123456-tlx_temperature_5', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.min123456_temperature_5-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 5', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_5', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_energy_today', + 'unique_id': 'plant_123-total_energy_today', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'Test Plant Total Energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '12.5', + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_lifetime_energy_output-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_lifetime_energy_output', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime energy output', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_energy_output', + 'unique_id': 'plant_123-total_energy_output', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_lifetime_energy_output-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'Test Plant Total Lifetime energy output', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_lifetime_energy_output', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '1250.0', + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_maximum_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_maximum_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Maximum power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_maximum_output', + 'unique_id': 'plant_123-total_maximum_output', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_maximum_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'Test Plant Total Maximum power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_maximum_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_money_lifetime-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_money_lifetime', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': 'mdi:solar-power', + 'original_name': 'Money lifetime', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_money_total', + 'unique_id': 'plant_123-total_money_total', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_money_lifetime-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test Plant Total Money lifetime', + 'icon': 'mdi:solar-power', + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_money_lifetime', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_output_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_output_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Output power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_output_power', + 'unique_id': 'plant_123-total_output_power', + 'unit_of_measurement': , + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_output_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'Test Plant Total Output power', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_output_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2500', + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_total_money_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_total_money_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': 'mdi:solar-power', + 'original_name': 'Total money today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_money_today', + 'unique_id': 'plant_123-total_money_today', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_sensors[sensor.test_plant_total_total_money_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test Plant Total Total money today', + 'icon': 'mdi:solar-power', + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_total_money_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_ac_frequency-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_ac_frequency', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'AC frequency', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_frequency', + 'unique_id': 'MIN123456-tlx_frequency', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_ac_frequency-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'frequency', + 'friendly_name': 'MIN123456 AC frequency', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_ac_frequency', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_all_batteries_charged_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_all_batteries_charged_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'All batteries charged today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_charge_today', + 'unique_id': 'MIN123456-tlx_all_batteries_charge_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_all_batteries_charged_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 All batteries charged today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_all_batteries_charged_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_all_batteries_discharged_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_all_batteries_discharged_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'All batteries discharged today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_discharge_today', + 'unique_id': 'MIN123456-tlx_all_batteries_discharge_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_all_batteries_discharged_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 All batteries discharged today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_all_batteries_discharged_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_batteries_charged_from_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_batteries_charged_from_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Batteries charged from grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_batteries_charged_from_grid_today', + 'unique_id': 'MIN123456-tlx_batteries_charged_from_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_batteries_charged_from_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Batteries charged from grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_batteries_charged_from_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_battery_1_charging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_battery_1_charging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 1 charging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_charge_w', + 'unique_id': 'MIN123456-tlx_battery_1_charge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_battery_1_charging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Battery 1 charging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_battery_1_charging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_battery_1_discharging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_battery_1_discharging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 1 discharging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_discharge_w', + 'unique_id': 'MIN123456-tlx_battery_1_discharge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_battery_1_discharging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Battery 1 discharging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_battery_1_discharging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_battery_2_charging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_battery_2_charging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 2 charging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_charge_w', + 'unique_id': 'MIN123456-tlx_battery_2_charge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_battery_2_charging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Battery 2 charging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_battery_2_charging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_battery_2_discharging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_battery_2_discharging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 2 discharging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_discharge_w', + 'unique_id': 'MIN123456-tlx_battery_2_discharge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_battery_2_discharging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Battery 2 discharging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_battery_2_discharging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today', + 'unique_id': 'MIN123456-tlx_energy_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today_input_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today_input_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_1', + 'unique_id': 'MIN123456-tlx_energy_today_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today_input_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today input 1', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today_input_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today_input_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today_input_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_2', + 'unique_id': 'MIN123456-tlx_energy_today_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today_input_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today input 2', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today_input_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today_input_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today_input_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_3', + 'unique_id': 'MIN123456-tlx_energy_today_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today_input_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today input 3', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today_input_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today_input_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_energy_today_input_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_4', + 'unique_id': 'MIN123456-tlx_energy_today_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_energy_today_input_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Energy today input 4', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_energy_today_input_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_export_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_export_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Export power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_grid_total', + 'unique_id': 'MIN123456-tlx_pac_to_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_export_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Export power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_export_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_export_to_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_export_to_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Export to grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_export_to_grid_today', + 'unique_id': 'MIN123456-tlx_export_to_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_export_to_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Export to grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_export_to_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_import_from_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_import_from_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Import from grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_import_from_grid_today', + 'unique_id': 'MIN123456-tlx_import_from_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_import_from_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Import from grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_import_from_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_import_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_import_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Import power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_user_total', + 'unique_id': 'MIN123456-tlx_pac_to_user_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_import_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Import power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_import_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_1_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_1_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_1', + 'unique_id': 'MIN123456-tlx_amperage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_1_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'MIN123456 Input 1 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_1_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_1_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_1_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_1', + 'unique_id': 'MIN123456-tlx_voltage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_1_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Input 1 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_1_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_1_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_1_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_1', + 'unique_id': 'MIN123456-tlx_wattage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_1_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Input 1 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_1_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_2_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_2_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_2', + 'unique_id': 'MIN123456-tlx_amperage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_2_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'MIN123456 Input 2 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_2_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_2_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_2_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_2', + 'unique_id': 'MIN123456-tlx_voltage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_2_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Input 2 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_2_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_2_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_2_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_2', + 'unique_id': 'MIN123456-tlx_wattage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_2_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Input 2 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_2_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_3_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_3_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_3', + 'unique_id': 'MIN123456-tlx_amperage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_3_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'MIN123456 Input 3 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_3_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_3_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_3_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_3', + 'unique_id': 'MIN123456-tlx_voltage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_3_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Input 3 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_3_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_3_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_3_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_3', + 'unique_id': 'MIN123456-tlx_wattage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_3_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Input 3 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_3_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_4_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_4_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_4', + 'unique_id': 'MIN123456-tlx_amperage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_4_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'MIN123456 Input 4 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_4_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_4_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_4_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_4', + 'unique_id': 'MIN123456-tlx_voltage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_4_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Input 4 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_4_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_4_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_input_4_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_4', + 'unique_id': 'MIN123456-tlx_wattage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_input_4_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Input 4 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_input_4_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_internal_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_internal_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Internal wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_internal_wattage', + 'unique_id': 'MIN123456-tlx_internal_wattage', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_internal_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Internal wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_internal_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_batteries_charged_from_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_batteries_charged_from_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime batteries charged from grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_batteries_charged_from_grid_total', + 'unique_id': 'MIN123456-tlx_batteries_charged_from_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_batteries_charged_from_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime batteries charged from grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_batteries_charged_from_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_energy_output-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_energy_output', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime energy output', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total', + 'unique_id': 'MIN123456-tlx_energy_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_energy_output-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime energy output', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_energy_output', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_import_from_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_import_from_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime import from grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_import_from_grid_total', + 'unique_id': 'MIN123456-tlx_import_from_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_import_from_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime import from grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_import_from_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_self_consumption-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_self_consumption', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime self consumption', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_self_consumption_total', + 'unique_id': 'MIN123456-tlx_self_consumption_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_self_consumption-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime self consumption', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_self_consumption', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_system_production-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_system_production', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime system production', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_system_production_total', + 'unique_id': 'MIN123456-tlx_system_production_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_system_production-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime system production', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_system_production', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_all_batteries_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_all_batteries_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total all batteries charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_charge_total', + 'unique_id': 'MIN123456-tlx_all_batteries_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_all_batteries_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total all batteries charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_all_batteries_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_all_batteries_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_all_batteries_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total all batteries discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_discharge_total', + 'unique_id': 'MIN123456-tlx_all_batteries_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_all_batteries_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total all batteries discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_all_batteries_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_battery_1_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_battery_1_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 1 charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_charge_total', + 'unique_id': 'MIN123456-tlx_battery_1_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_battery_1_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total battery 1 charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_battery_1_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_battery_1_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_battery_1_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 1 discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_discharge_total', + 'unique_id': 'MIN123456-tlx_battery_1_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_battery_1_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total battery 1 discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_battery_1_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_battery_2_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_battery_2_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 2 charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_charge_total', + 'unique_id': 'MIN123456-tlx_battery_2_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_battery_2_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total battery 2 charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_battery_2_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_battery_2_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_battery_2_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 2 discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_discharge_total', + 'unique_id': 'MIN123456-tlx_battery_2_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_battery_2_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total battery 2 discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_battery_2_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_energy_input_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_1', + 'unique_id': 'MIN123456-tlx_energy_total_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_energy_input_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total energy input 1', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_energy_input_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_2', + 'unique_id': 'MIN123456-tlx_energy_total_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_energy_input_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total energy input 2', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_energy_input_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_3', + 'unique_id': 'MIN123456-tlx_energy_total_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_energy_input_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total energy input 3', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_energy_input_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_4', + 'unique_id': 'MIN123456-tlx_energy_total_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_energy_input_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total energy input 4', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_energy_input_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_export_to_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_export_to_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total export to grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_export_to_grid_total', + 'unique_id': 'MIN123456-tlx_export_to_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_export_to_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total export to grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_export_to_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_load_consumption-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_load_consumption', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total load consumption', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'mix_load_consumption_total', + 'unique_id': 'MIN123456-mix_load_consumption_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_load_consumption-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total load consumption', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_load_consumption', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_solar_energy-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_lifetime_total_solar_energy', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total solar energy', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_solar_generation_total', + 'unique_id': 'MIN123456-tlx_solar_generation_total', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_lifetime_total_solar_energy-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Lifetime total solar energy', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_lifetime_total_solar_energy', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_load_consumption_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_load_consumption_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Load consumption today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_load_consumption_today', + 'unique_id': 'MIN123456-tlx_load_consumption_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_load_consumption_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Load consumption today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_load_consumption_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_local_load_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_local_load_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Local load power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_local_load', + 'unique_id': 'MIN123456-tlx_pac_to_local_load', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_local_load_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Local load power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_local_load_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_output_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_output_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Output power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_current_wattage', + 'unique_id': 'MIN123456-tlx_current_wattage', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_output_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Output power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_output_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_reactive_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_reactive_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Reactive voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_reactive_voltage', + 'unique_id': 'MIN123456-tlx_reactive_voltage', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_reactive_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'MIN123456 Reactive voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_reactive_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_self_consumption_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_self_consumption_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Self consumption today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_self_consumption_today', + 'unique_id': 'MIN123456-tlx_self_consumption_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_self_consumption_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Self consumption today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_self_consumption_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_self_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_self_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Self power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_p_self', + 'unique_id': 'MIN123456-tlx_p_self', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_self_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 Self power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_self_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_solar_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_solar_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Solar energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_solar_generation_today', + 'unique_id': 'MIN123456-tlx_solar_generation_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_solar_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 Solar energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_solar_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_state_of_charge_soc-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_state_of_charge_soc', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'State of charge (SoC)', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_statement_of_charge', + 'unique_id': 'MIN123456-tlx_statement_of_charge', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_state_of_charge_soc-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'MIN123456 State of charge (SoC)', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.min123456_state_of_charge_soc', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_system_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_system_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'System power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_p_system', + 'unique_id': 'MIN123456-tlx_p_system', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_system_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'MIN123456 System power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_system_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_system_production_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_system_production_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'System production today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_system_production_today', + 'unique_id': 'MIN123456-tlx_system_production_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_system_production_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'MIN123456 System production today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_system_production_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_1', + 'unique_id': 'MIN123456-tlx_temperature_1', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 1', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_2', + 'unique_id': 'MIN123456-tlx_temperature_2', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 2', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_3', + 'unique_id': 'MIN123456-tlx_temperature_3', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 3', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_4', + 'unique_id': 'MIN123456-tlx_temperature_4', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 4', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_5-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.min123456_temperature_5', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 5', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_5', + 'unique_id': 'MIN123456-tlx_temperature_5', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.min123456_temperature_5-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'MIN123456 Temperature 5', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.min123456_temperature_5', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_energy_today', + 'unique_id': 'plant_123-total_energy_today', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'Test Plant Total Energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '12.5', + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_lifetime_energy_output-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_lifetime_energy_output', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime energy output', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_energy_output', + 'unique_id': 'plant_123-total_energy_output', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_lifetime_energy_output-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'Test Plant Total Lifetime energy output', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_lifetime_energy_output', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '1250.0', + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_maximum_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_maximum_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Maximum power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_maximum_output', + 'unique_id': 'plant_123-total_maximum_output', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_maximum_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'Test Plant Total Maximum power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_maximum_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_money_lifetime-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_money_lifetime', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': 'mdi:solar-power', + 'original_name': 'Money lifetime', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_money_total', + 'unique_id': 'plant_123-total_money_total', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_money_lifetime-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test Plant Total Money lifetime', + 'icon': 'mdi:solar-power', + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_money_lifetime', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_output_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_output_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Output power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_output_power', + 'unique_id': 'plant_123-total_output_power', + 'unit_of_measurement': , + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_output_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'Test Plant Total Output power', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_output_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2500', + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_total_money_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_total_money_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': 'mdi:solar-power', + 'original_name': 'Total money today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_money_today', + 'unique_id': 'plant_123-total_money_today', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensor_entity_registry[sensor.test_plant_total_total_money_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test Plant Total Total money today', + 'icon': 'mdi:solar-power', + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_total_money_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_energy_today', + 'unique_id': '12345-total_energy_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'Test Plant Total Energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '12.5', + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_lifetime_energy_output-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_lifetime_energy_output', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime energy output', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_energy_output', + 'unique_id': '12345-total_energy_output', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_lifetime_energy_output-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'Test Plant Total Lifetime energy output', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_lifetime_energy_output', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '1250.0', + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_maximum_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_maximum_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Maximum power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_maximum_output', + 'unique_id': '12345-total_maximum_output', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_maximum_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'Test Plant Total Maximum power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_maximum_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_money_lifetime-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_money_lifetime', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': 'mdi:solar-power', + 'original_name': 'Money lifetime', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_money_total', + 'unique_id': '12345-total_money_total', + 'unit_of_measurement': 'USD', + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_money_lifetime-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test Plant Total Money lifetime', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': 'USD', + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_money_lifetime', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_output_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_output_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Output power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_output_power', + 'unique_id': '12345-total_output_power', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_output_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'Test Plant Total Output power', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_output_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2500', + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_total_money_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_plant_total_total_money_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': 'mdi:solar-power', + 'original_name': 'Total money today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'total_money_today', + 'unique_id': '12345-total_money_today', + 'unit_of_measurement': 'USD', + }) +# --- +# name: test_total_sensors_classic_api[sensor.test_plant_total_total_money_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test Plant Total Total money today', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': 'USD', + }), + 'context': , + 'entity_id': 'sensor.test_plant_total_total_money_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '123.45', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_ac_frequency-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_ac_frequency', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'AC frequency', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_frequency', + 'unique_id': 'TLX123456-tlx_frequency', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_ac_frequency-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'frequency', + 'friendly_name': 'TLX123456 AC frequency', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_ac_frequency', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_all_batteries_charged_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_all_batteries_charged_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'All batteries charged today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_charge_today', + 'unique_id': 'TLX123456-tlx_all_batteries_charge_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_all_batteries_charged_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 All batteries charged today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_all_batteries_charged_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_all_batteries_discharged_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_all_batteries_discharged_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'All batteries discharged today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_discharge_today', + 'unique_id': 'TLX123456-tlx_all_batteries_discharge_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_all_batteries_discharged_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 All batteries discharged today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_all_batteries_discharged_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_batteries_charged_from_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_batteries_charged_from_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Batteries charged from grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_batteries_charged_from_grid_today', + 'unique_id': 'TLX123456-tlx_batteries_charged_from_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_batteries_charged_from_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Batteries charged from grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_batteries_charged_from_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_battery_1_charging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_battery_1_charging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 1 charging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_charge_w', + 'unique_id': 'TLX123456-tlx_battery_1_charge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_battery_1_charging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Battery 1 charging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_battery_1_charging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_battery_1_discharging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_battery_1_discharging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 1 discharging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_discharge_w', + 'unique_id': 'TLX123456-tlx_battery_1_discharge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_battery_1_discharging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Battery 1 discharging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_battery_1_discharging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_battery_2_charging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_battery_2_charging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 2 charging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_charge_w', + 'unique_id': 'TLX123456-tlx_battery_2_charge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_battery_2_charging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Battery 2 charging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_battery_2_charging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_battery_2_discharging_w-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_battery_2_discharging_w', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Battery 2 discharging W', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_discharge_w', + 'unique_id': 'TLX123456-tlx_battery_2_discharge_w', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_battery_2_discharging_w-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Battery 2 discharging W', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_battery_2_discharging_w', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today', + 'unique_id': 'TLX123456-tlx_energy_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today_input_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_energy_today_input_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_1', + 'unique_id': 'TLX123456-tlx_energy_today_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today_input_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Energy today input 1', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_energy_today_input_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today_input_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_energy_today_input_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_2', + 'unique_id': 'TLX123456-tlx_energy_today_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today_input_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Energy today input 2', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_energy_today_input_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today_input_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_energy_today_input_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_3', + 'unique_id': 'TLX123456-tlx_energy_today_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today_input_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Energy today input 3', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_energy_today_input_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today_input_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_energy_today_input_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Energy today input 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_today_input_4', + 'unique_id': 'TLX123456-tlx_energy_today_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_energy_today_input_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Energy today input 4', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_energy_today_input_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_export_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_export_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Export power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_grid_total', + 'unique_id': 'TLX123456-tlx_pac_to_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_export_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Export power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_export_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_export_to_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_export_to_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Export to grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_export_to_grid_today', + 'unique_id': 'TLX123456-tlx_export_to_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_export_to_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Export to grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_export_to_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_import_from_grid_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_import_from_grid_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Import from grid today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_import_from_grid_today', + 'unique_id': 'TLX123456-tlx_import_from_grid_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_import_from_grid_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Import from grid today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_import_from_grid_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_import_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_import_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Import power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_user_total', + 'unique_id': 'TLX123456-tlx_pac_to_user_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_import_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Import power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_import_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_1_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_1_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_1', + 'unique_id': 'TLX123456-tlx_amperage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_1_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'TLX123456 Input 1 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_1_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_1_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_1_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_1', + 'unique_id': 'TLX123456-tlx_voltage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_1_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'TLX123456 Input 1 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_1_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_1_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_1_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 1 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_1', + 'unique_id': 'TLX123456-tlx_wattage_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_1_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Input 1 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_1_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_2_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_2_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_2', + 'unique_id': 'TLX123456-tlx_amperage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_2_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'TLX123456 Input 2 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_2_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_2_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_2_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_2', + 'unique_id': 'TLX123456-tlx_voltage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_2_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'TLX123456 Input 2 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_2_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_2_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_2_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 2 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_2', + 'unique_id': 'TLX123456-tlx_wattage_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_2_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Input 2 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_2_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_3_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_3_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_3', + 'unique_id': 'TLX123456-tlx_amperage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_3_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'TLX123456 Input 3 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_3_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_3_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_3_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_3', + 'unique_id': 'TLX123456-tlx_voltage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_3_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'TLX123456 Input 3 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_3_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_3_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_3_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 3 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_3', + 'unique_id': 'TLX123456-tlx_wattage_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_3_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Input 3 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_3_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_4_amperage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_4_amperage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 amperage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_amperage_input_4', + 'unique_id': 'TLX123456-tlx_amperage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_4_amperage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'current', + 'friendly_name': 'TLX123456 Input 4 amperage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_4_amperage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_4_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_4_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_voltage_input_4', + 'unique_id': 'TLX123456-tlx_voltage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_4_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'TLX123456 Input 4 voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_4_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_4_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_input_4_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Input 4 wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_wattage_input_4', + 'unique_id': 'TLX123456-tlx_wattage_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_input_4_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Input 4 wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_input_4_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_internal_wattage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_internal_wattage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Internal wattage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_internal_wattage', + 'unique_id': 'TLX123456-tlx_internal_wattage', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_internal_wattage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Internal wattage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_internal_wattage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_batteries_charged_from_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_batteries_charged_from_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime batteries charged from grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_batteries_charged_from_grid_total', + 'unique_id': 'TLX123456-tlx_batteries_charged_from_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_batteries_charged_from_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime batteries charged from grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_batteries_charged_from_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_energy_output-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_energy_output', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime energy output', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total', + 'unique_id': 'TLX123456-tlx_energy_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_energy_output-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime energy output', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_energy_output', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_import_from_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_import_from_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime import from grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_import_from_grid_total', + 'unique_id': 'TLX123456-tlx_import_from_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_import_from_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime import from grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_import_from_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_self_consumption-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_self_consumption', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime self consumption', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_self_consumption_total', + 'unique_id': 'TLX123456-tlx_self_consumption_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_self_consumption-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime self consumption', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_self_consumption', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_system_production-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_system_production', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime system production', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_system_production_total', + 'unique_id': 'TLX123456-tlx_system_production_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_system_production-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime system production', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_system_production', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_all_batteries_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_all_batteries_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total all batteries charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_charge_total', + 'unique_id': 'TLX123456-tlx_all_batteries_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_all_batteries_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total all batteries charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_all_batteries_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_all_batteries_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_all_batteries_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total all batteries discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_all_batteries_discharge_total', + 'unique_id': 'TLX123456-tlx_all_batteries_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_all_batteries_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total all batteries discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_all_batteries_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_battery_1_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_battery_1_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 1 charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_charge_total', + 'unique_id': 'TLX123456-tlx_battery_1_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_battery_1_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total battery 1 charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_battery_1_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_battery_1_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_battery_1_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 1 discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_1_discharge_total', + 'unique_id': 'TLX123456-tlx_battery_1_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_battery_1_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total battery 1 discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_battery_1_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_battery_2_charged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_battery_2_charged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 2 charged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_charge_total', + 'unique_id': 'TLX123456-tlx_battery_2_charge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_battery_2_charged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total battery 2 charged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_battery_2_charged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_battery_2_discharged-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_battery_2_discharged', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total battery 2 discharged', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_battery_2_discharge_total', + 'unique_id': 'TLX123456-tlx_battery_2_discharge_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_battery_2_discharged-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total battery 2 discharged', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_battery_2_discharged', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_energy_input_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_energy_input_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_1', + 'unique_id': 'TLX123456-tlx_energy_total_input_1', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_energy_input_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total energy input 1', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_energy_input_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_energy_input_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_energy_input_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_2', + 'unique_id': 'TLX123456-tlx_energy_total_input_2', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_energy_input_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total energy input 2', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_energy_input_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_energy_input_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_energy_input_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_3', + 'unique_id': 'TLX123456-tlx_energy_total_input_3', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_energy_input_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total energy input 3', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_energy_input_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_energy_input_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_energy_input_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total energy input 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_energy_total_input_4', + 'unique_id': 'TLX123456-tlx_energy_total_input_4', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_energy_input_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total energy input 4', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_energy_input_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_export_to_grid-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_export_to_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total export to grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_export_to_grid_total', + 'unique_id': 'TLX123456-tlx_export_to_grid_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_export_to_grid-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total export to grid', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_export_to_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_load_consumption-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_load_consumption', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total load consumption', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'mix_load_consumption_total', + 'unique_id': 'TLX123456-mix_load_consumption_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_load_consumption-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total load consumption', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_load_consumption', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_solar_energy-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_lifetime_total_solar_energy', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Lifetime total solar energy', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_solar_generation_total', + 'unique_id': 'TLX123456-tlx_solar_generation_total', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_lifetime_total_solar_energy-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Lifetime total solar energy', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_lifetime_total_solar_energy', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_load_consumption_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_load_consumption_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Load consumption today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_load_consumption_today', + 'unique_id': 'TLX123456-tlx_load_consumption_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_load_consumption_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Load consumption today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_load_consumption_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_local_load_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_local_load_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Local load power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_pac_to_local_load', + 'unique_id': 'TLX123456-tlx_pac_to_local_load', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_local_load_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Local load power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_local_load_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_output_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_output_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Output power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_current_wattage', + 'unique_id': 'TLX123456-tlx_current_wattage', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_output_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Output power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_output_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_reactive_voltage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_reactive_voltage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Reactive voltage', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_reactive_voltage', + 'unique_id': 'TLX123456-tlx_reactive_voltage', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_reactive_voltage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'voltage', + 'friendly_name': 'TLX123456 Reactive voltage', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_reactive_voltage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_self_consumption_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_self_consumption_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Self consumption today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_self_consumption_today', + 'unique_id': 'TLX123456-tlx_self_consumption_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_self_consumption_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Self consumption today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_self_consumption_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_self_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_self_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Self power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_p_self', + 'unique_id': 'TLX123456-tlx_p_self', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_self_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 Self power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_self_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_solar_energy_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_solar_energy_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Solar energy today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_solar_generation_today', + 'unique_id': 'TLX123456-tlx_solar_generation_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_solar_energy_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 Solar energy today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_solar_energy_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_state_of_charge_soc-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_state_of_charge_soc', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'State of charge (SoC)', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_statement_of_charge', + 'unique_id': 'TLX123456-tlx_statement_of_charge', + 'unit_of_measurement': '%', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_state_of_charge_soc-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'TLX123456 State of charge (SoC)', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.tlx123456_state_of_charge_soc', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_system_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_system_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'System power', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_p_system', + 'unique_id': 'TLX123456-tlx_p_system', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_system_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'power', + 'friendly_name': 'TLX123456 System power', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_system_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_system_production_today-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_system_production_today', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 2, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'System production today', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_system_production_today', + 'unique_id': 'TLX123456-tlx_system_production_today', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_system_production_today-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'energy', + 'friendly_name': 'TLX123456 System production today', + 'icon': 'mdi:solar-power', + 'state_class': , + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_system_production_today', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_1-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_temperature_1', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 1', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_1', + 'unique_id': 'TLX123456-tlx_temperature_1', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_1-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'TLX123456 Temperature 1', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_temperature_1', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_temperature_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 2', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_2', + 'unique_id': 'TLX123456-tlx_temperature_2', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'TLX123456 Temperature 2', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_temperature_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_3-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_temperature_3', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 3', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_3', + 'unique_id': 'TLX123456-tlx_temperature_3', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_3-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'TLX123456 Temperature 3', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_temperature_3', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_4-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_temperature_4', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 4', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_4', + 'unique_id': 'TLX123456-tlx_temperature_4', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_4-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'TLX123456 Temperature 4', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_temperature_4', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_5-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.tlx123456_temperature_5', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 1, + }), + }), + 'original_device_class': , + 'original_icon': 'mdi:solar-power', + 'original_name': 'Temperature 5', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'tlx_temperature_5', + 'unique_id': 'TLX123456-tlx_temperature_5', + 'unit_of_measurement': , + }) +# --- +# name: test_total_sensors_classic_api[sensor.tlx123456_temperature_5-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'temperature', + 'friendly_name': 'TLX123456 Temperature 5', + 'icon': 'mdi:solar-power', + 'unit_of_measurement': , + }), + 'context': , + 'entity_id': 'sensor.tlx123456_temperature_5', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- diff --git a/tests/components/growatt_server/snapshots/test_switch.ambr b/tests/components/growatt_server/snapshots/test_switch.ambr index 534d99ee0eb..d6c3b35b976 100644 --- a/tests/components/growatt_server/snapshots/test_switch.ambr +++ b/tests/components/growatt_server/snapshots/test_switch.ambr @@ -78,3 +78,51 @@ 'state': 'on', }) # --- +# name: test_switch_entity_attributes[entity_entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.min123456_charge_from_grid', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Charge from grid', + 'platform': 'growatt_server', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'ac_charge', + 'unique_id': 'MIN123456_ac_charge', + 'unit_of_measurement': None, + }) +# --- +# name: test_switch_entity_attributes[state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'MIN123456 Charge from grid', + }), + 'context': , + 'entity_id': 'switch.min123456_charge_from_grid', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- diff --git a/tests/components/growatt_server/test_init.py b/tests/components/growatt_server/test_init.py new file mode 100644 index 00000000000..eddbf81d770 --- /dev/null +++ b/tests/components/growatt_server/test_init.py @@ -0,0 +1,176 @@ +"""Tests for the Growatt Server integration.""" + +from datetime import timedelta +import json +from unittest.mock import patch + +from freezegun.api import FrozenDateTimeFactory +import growattServer +import pytest +from syrupy.assertion import SnapshotAssertion + +from homeassistant.components.growatt_server.const import DOMAIN +from homeassistant.config_entries import ConfigEntryState +from homeassistant.core import HomeAssistant +from homeassistant.helpers import device_registry as dr + +from . import setup_integration + +from tests.common import MockConfigEntry, async_fire_time_changed + + +@pytest.mark.usefixtures("init_integration") +async def test_load_unload_config_entry( + hass: HomeAssistant, + mock_config_entry: MockConfigEntry, +) -> None: + """Test loading and unloading the integration.""" + assert mock_config_entry.state is ConfigEntryState.LOADED + + await hass.config_entries.async_unload(mock_config_entry.entry_id) + await hass.async_block_till_done() + + assert mock_config_entry.state is ConfigEntryState.NOT_LOADED + + +@pytest.mark.usefixtures("init_integration") +async def test_device_info( + snapshot: SnapshotAssertion, + device_registry: dr.DeviceRegistry, +) -> None: + """Test device registry integration.""" + device_entry = device_registry.async_get_device(identifiers={(DOMAIN, "MIN123456")}) + assert device_entry is not None + assert device_entry == snapshot + + +@pytest.mark.parametrize( + ("exception", "expected_state"), + [ + (growattServer.GrowattV1ApiError("API Error"), ConfigEntryState.SETUP_ERROR), + ( + json.decoder.JSONDecodeError("Invalid JSON", "", 0), + ConfigEntryState.SETUP_ERROR, + ), + ], +) +async def test_setup_error_on_api_failure( + hass: HomeAssistant, + mock_growatt_v1_api, + mock_config_entry: MockConfigEntry, + exception: Exception, + expected_state: ConfigEntryState, +) -> None: + """Test setup error on API failures during device list.""" + mock_growatt_v1_api.device_list.side_effect = exception + + await setup_integration(hass, mock_config_entry) + + assert mock_config_entry.state is expected_state + + +@pytest.mark.usefixtures("init_integration") +async def test_coordinator_update_failed( + hass: HomeAssistant, + mock_growatt_v1_api, + mock_config_entry: MockConfigEntry, + freezer: FrozenDateTimeFactory, +) -> None: + """Test coordinator handles update failures gracefully.""" + # Integration should be loaded + assert mock_config_entry.state is ConfigEntryState.LOADED + + # Cause coordinator update to fail + mock_growatt_v1_api.min_detail.side_effect = growattServer.GrowattV1ApiError( + "Connection timeout" + ) + + # Trigger coordinator refresh + freezer.tick(timedelta(minutes=5)) + async_fire_time_changed(hass) + await hass.async_block_till_done(wait_background_tasks=True) + + # Integration should remain loaded despite coordinator error + assert mock_config_entry.state is ConfigEntryState.LOADED + + +async def test_classic_api_setup( + hass: HomeAssistant, + snapshot: SnapshotAssertion, + mock_growatt_classic_api, + mock_config_entry_classic: MockConfigEntry, + device_registry: dr.DeviceRegistry, +) -> None: + """Test integration setup with Classic API (password auth).""" + # Classic API doesn't support MIN devices - use TLX device instead + mock_growatt_classic_api.device_list.return_value = [ + {"deviceSn": "TLX123456", "deviceType": "tlx"} + ] + + await setup_integration(hass, mock_config_entry_classic) + + assert mock_config_entry_classic.state is ConfigEntryState.LOADED + + # Verify Classic API login was called + mock_growatt_classic_api.login.assert_called() + + # Verify device was created + device_entry = device_registry.async_get_device(identifiers={(DOMAIN, "TLX123456")}) + assert device_entry is not None + assert device_entry == snapshot + + +@pytest.mark.usefixtures("init_integration") +async def test_unload_removes_listeners( + hass: HomeAssistant, + mock_config_entry: MockConfigEntry, +) -> None: + """Test that unloading removes all listeners.""" + # Get initial listener count + initial_listeners = len(hass.bus.async_listeners()) + + # Unload the integration + await hass.config_entries.async_unload(mock_config_entry.entry_id) + await hass.async_block_till_done() + + # Verify listeners were removed (should be same or less) + final_listeners = len(hass.bus.async_listeners()) + assert final_listeners <= initial_listeners + + +async def test_multiple_devices_discovered( + hass: HomeAssistant, + snapshot: SnapshotAssertion, + mock_growatt_v1_api, + mock_config_entry: MockConfigEntry, + device_registry: dr.DeviceRegistry, +) -> None: + """Test handling multiple devices from device_list.""" + # Reset and add multiple devices + mock_config_entry_new = MockConfigEntry( + domain=DOMAIN, + data=mock_config_entry.data, + unique_id="plant_456", + ) + + mock_growatt_v1_api.device_list.return_value = { + "devices": [ + {"device_sn": "MIN123456", "type": 7}, + {"device_sn": "MIN789012", "type": 7}, + ] + } + + with patch( + "homeassistant.components.growatt_server.coordinator.SCAN_INTERVAL", + timedelta(minutes=5), + ): + await setup_integration(hass, mock_config_entry_new) + + # Verify both devices were created + device1 = device_registry.async_get_device(identifiers={(DOMAIN, "MIN123456")}) + device2 = device_registry.async_get_device(identifiers={(DOMAIN, "MIN789012")}) + + assert device1 is not None + assert device1 == snapshot(name="device_min123456") + assert device2 is not None + assert device2 == snapshot(name="device_min789012") diff --git a/tests/components/growatt_server/test_sensor.py b/tests/components/growatt_server/test_sensor.py new file mode 100644 index 00000000000..cc7b9e631a7 --- /dev/null +++ b/tests/components/growatt_server/test_sensor.py @@ -0,0 +1,133 @@ +"""Tests for the Growatt Server sensor platform.""" + +from datetime import timedelta +from unittest.mock import patch + +from freezegun.api import FrozenDateTimeFactory +import growattServer +import pytest +from syrupy.assertion import SnapshotAssertion + +from homeassistant.const import STATE_UNAVAILABLE, Platform +from homeassistant.core import HomeAssistant +from homeassistant.helpers import entity_registry as er + +from . import setup_integration + +from tests.common import MockConfigEntry, async_fire_time_changed, snapshot_platform + + +@pytest.mark.usefixtures("entity_registry_enabled_by_default") +async def test_all_sensors( + hass: HomeAssistant, + snapshot: SnapshotAssertion, + mock_growatt_v1_api, + mock_config_entry: MockConfigEntry, + entity_registry: er.EntityRegistry, +) -> None: + """Test all sensor entities with snapshot.""" + with patch("homeassistant.components.growatt_server.PLATFORMS", [Platform.SENSOR]): + await setup_integration(hass, mock_config_entry) + + await snapshot_platform(hass, entity_registry, snapshot, mock_config_entry.entry_id) + + +async def test_sensor_coordinator_updates( + hass: HomeAssistant, + mock_growatt_v1_api, + mock_config_entry: MockConfigEntry, + freezer: FrozenDateTimeFactory, +) -> None: + """Test sensors update when coordinator refreshes.""" + with patch("homeassistant.components.growatt_server.PLATFORMS", [Platform.SENSOR]): + await setup_integration(hass, mock_config_entry) + + # Verify sensor exists + state = hass.states.get("sensor.test_plant_total_energy_today") + assert state is not None + assert state.state == "12.5" + + # Update mock data + mock_growatt_v1_api.plant_energy_overview.return_value = { + "today_energy": 25.0, # Changed from 12.5 + "total_energy": 1250.0, + "current_power": 2500, + } + + # Trigger coordinator refresh + freezer.tick(timedelta(minutes=5)) + async_fire_time_changed(hass) + await hass.async_block_till_done(wait_background_tasks=True) + + # Verify state updated + state = hass.states.get("sensor.test_plant_total_energy_today") + assert state is not None + assert state.state == "25.0" + + +async def test_sensor_unavailable_on_coordinator_error( + hass: HomeAssistant, + mock_growatt_v1_api, + mock_config_entry: MockConfigEntry, + freezer: FrozenDateTimeFactory, +) -> None: + """Test sensors become unavailable when coordinator fails.""" + with patch("homeassistant.components.growatt_server.PLATFORMS", [Platform.SENSOR]): + await setup_integration(hass, mock_config_entry) + + # Verify sensor is initially available + state = hass.states.get("sensor.min123456_all_batteries_charged_today") + assert state is not None + assert state.state != STATE_UNAVAILABLE + + # Cause coordinator update to fail + mock_growatt_v1_api.min_detail.side_effect = growattServer.GrowattV1ApiError( + "Connection timeout" + ) + + # Trigger coordinator refresh + freezer.tick(timedelta(minutes=5)) + async_fire_time_changed(hass) + await hass.async_block_till_done(wait_background_tasks=True) + + # Verify sensor becomes unavailable + state = hass.states.get("sensor.min123456_all_batteries_charged_today") + assert state is not None + assert state.state == STATE_UNAVAILABLE + + +@pytest.mark.usefixtures("entity_registry_enabled_by_default") +async def test_total_sensors_classic_api( + hass: HomeAssistant, + snapshot: SnapshotAssertion, + mock_growatt_classic_api, + mock_config_entry_classic: MockConfigEntry, + entity_registry: er.EntityRegistry, +) -> None: + """Test total sensors with Classic API.""" + # Classic API uses TLX devices + mock_growatt_classic_api.device_list.return_value = [ + {"deviceSn": "TLX123456", "deviceType": "tlx"} + ] + + with patch("homeassistant.components.growatt_server.PLATFORMS", [Platform.SENSOR]): + await setup_integration(hass, mock_config_entry_classic) + + await snapshot_platform( + hass, entity_registry, snapshot, mock_config_entry_classic.entry_id + ) + + +@pytest.mark.usefixtures("entity_registry_enabled_by_default") +async def test_sensor_entity_registry( + hass: HomeAssistant, + snapshot: SnapshotAssertion, + mock_growatt_v1_api, + mock_config_entry: MockConfigEntry, + entity_registry: er.EntityRegistry, +) -> None: + """Test sensor entities are properly registered.""" + with patch("homeassistant.components.growatt_server.PLATFORMS", [Platform.SENSOR]): + await setup_integration(hass, mock_config_entry) + + await snapshot_platform(hass, entity_registry, snapshot, mock_config_entry.entry_id) diff --git a/tests/components/growatt_server/test_switch.py b/tests/components/growatt_server/test_switch.py index 926edc8874e..5ddc36906fa 100644 --- a/tests/components/growatt_server/test_switch.py +++ b/tests/components/growatt_server/test_switch.py @@ -17,7 +17,6 @@ from homeassistant.const import ( STATE_OFF, STATE_ON, STATE_UNKNOWN, - EntityCategory, Platform, ) from homeassistant.core import HomeAssistant @@ -127,19 +126,19 @@ async def test_turn_off_switch_api_error( @pytest.mark.usefixtures("entity_registry_enabled_by_default", "init_integration") async def test_switch_entity_attributes( hass: HomeAssistant, + snapshot: SnapshotAssertion, entity_registry: er.EntityRegistry, ) -> None: """Test switch entity attributes.""" # Check entity registry attributes entity_entry = entity_registry.async_get("switch.min123456_charge_from_grid") assert entity_entry is not None - assert entity_entry.entity_category == EntityCategory.CONFIG - assert entity_entry.unique_id == "MIN123456_ac_charge" + assert entity_entry == snapshot(name="entity_entry") # Check state attributes state = hass.states.get("switch.min123456_charge_from_grid") assert state is not None - assert state.attributes["friendly_name"] == "MIN123456 Charge from grid" + assert state == snapshot(name="state") @pytest.mark.usefixtures("entity_registry_enabled_by_default", "init_integration")