diff --git a/homeassistant/components/v2c/sensor.py b/homeassistant/components/v2c/sensor.py index 01b89adea4d..799d6c3d03c 100644 --- a/homeassistant/components/v2c/sensor.py +++ b/homeassistant/components/v2c/sensor.py @@ -35,7 +35,7 @@ class V2CSensorEntityDescription(SensorEntityDescription): value_fn: Callable[[TrydanData], StateType] -_SLAVE_ERROR_OPTIONS = [error.name.lower() for error in SlaveCommunicationState] +_METER_ERROR_OPTIONS = [error.name.lower() for error in SlaveCommunicationState] TRYDAN_SENSORS = ( V2CSensorEntityDescription( @@ -80,12 +80,12 @@ TRYDAN_SENSORS = ( value_fn=lambda evse_data: evse_data.fv_power, ), V2CSensorEntityDescription( - key="slave_error", - translation_key="slave_error", + key="meter_error", + translation_key="meter_error", value_fn=lambda evse_data: evse_data.slave_error.name.lower(), entity_registry_enabled_default=False, device_class=SensorDeviceClass.ENUM, - options=_SLAVE_ERROR_OPTIONS, + options=_METER_ERROR_OPTIONS, ), V2CSensorEntityDescription( key="battery_power", diff --git a/homeassistant/components/v2c/strings.json b/homeassistant/components/v2c/strings.json index bafbbe36e0c..bc0d870b635 100644 --- a/homeassistant/components/v2c/strings.json +++ b/homeassistant/components/v2c/strings.json @@ -54,18 +54,18 @@ "battery_power": { "name": "Battery power" }, - "slave_error": { - "name": "Slave error", + "meter_error": { + "name": "Meter error", "state": { "no_error": "No error", "communication": "Communication", "reading": "Reading", - "slave": "Slave", + "slave": "Meter", "waiting_wifi": "Waiting for Wi-Fi", "waiting_communication": "Waiting communication", "wrong_ip": "Wrong IP", - "slave_not_found": "Slave not found", - "wrong_slave": "Wrong slave", + "slave_not_found": "Meter not found", + "wrong_slave": "Wrong Meter", "no_response": "No response", "clamp_not_connected": "Clamp not connected", "illegal_function": "Illegal function", diff --git a/tests/components/v2c/snapshots/test_sensor.ambr b/tests/components/v2c/snapshots/test_sensor.ambr index 0ef9bfe8429..859e5f83e15 100644 --- a/tests/components/v2c/snapshots/test_sensor.ambr +++ b/tests/components/v2c/snapshots/test_sensor.ambr @@ -1,289 +1,4 @@ # serializer version: 1 -# name: test_sensor - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'power', - 'friendly_name': 'EVSE 1.1.1.1 Photovoltaic power', - 'state_class': , - 'unit_of_measurement': , - }), - 'context': , - 'entity_id': 'sensor.evse_1_1_1_1_photovoltaic_power', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '0.0', - }) - list([ - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.evse_1_1_1_1_charge_power', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': 'mdi:ev-station', - 'original_name': 'Charge power', - 'platform': 'v2c', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'charge_power', - 'unique_id': '45a36e55aaddb2137c5f6602e0c38e72_charge_power', - 'unit_of_measurement': , - }), - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.evse_1_1_1_1_charge_energy', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Charge energy', - 'platform': 'v2c', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'charge_energy', - 'unique_id': '45a36e55aaddb2137c5f6602e0c38e72_charge_energy', - 'unit_of_measurement': , - }), - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.evse_1_1_1_1_charge_time', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Charge time', - 'platform': 'v2c', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'charge_time', - 'unique_id': '45a36e55aaddb2137c5f6602e0c38e72_charge_time', - 'unit_of_measurement': , - }), - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.evse_1_1_1_1_house_power', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'House power', - 'platform': 'v2c', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'house_power', - 'unique_id': '45a36e55aaddb2137c5f6602e0c38e72_house_power', - 'unit_of_measurement': , - }), - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.evse_1_1_1_1_photovoltaic_power', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Photovoltaic power', - 'platform': 'v2c', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'fv_power', - 'unique_id': '45a36e55aaddb2137c5f6602e0c38e72_fv_power', - 'unit_of_measurement': , - }), - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'options': list([ - 'no_error', - 'communication', - 'reading', - 'slave', - 'waiting_wifi', - 'waiting_communication', - 'wrong_ip', - 'slave_not_found', - 'wrong_slave', - 'no_response', - 'clamp_not_connected', - 'illegal_function', - 'illegal_data_address', - 'illegal_data_value', - 'server_device_failure', - 'acknowledge', - 'server_device_busy', - 'negative_acknowledge', - 'memory_parity_error', - 'gateway_path_unavailable', - 'gateway_target_no_resp', - 'server_rtu_inactive244_timeout', - 'invalid_server', - 'crc_error', - 'fc_missmatch', - 'server_id_missmatch', - 'packet_length_error', - 'parameter_count_error', - 'parameter_limit_error', - 'request_queue_full', - 'illegal_ip_or_port', - 'ip_connection_failed', - 'tcp_head_missmatch', - 'empty_message', - 'undefined_error', - ]), - }), - 'config_entry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': , - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.evse_1_1_1_1_slave_error', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Slave error', - 'platform': 'v2c', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'slave_error', - 'unique_id': '45a36e55aaddb2137c5f6602e0c38e72_slave_error', - 'unit_of_measurement': None, - }), - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': , - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.evse_1_1_1_1_battery_power', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Battery power', - 'platform': 'v2c', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'battery_power', - 'unique_id': '45a36e55aaddb2137c5f6602e0c38e72_battery_power', - 'unit_of_measurement': , - }), - ]) -# --- # name: test_sensor[sensor.evse_1_1_1_1_battery_power-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -540,6 +255,128 @@ 'state': '0.0', }) # --- +# name: test_sensor[sensor.evse_1_1_1_1_meter_error-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'no_error', + 'communication', + 'reading', + 'slave', + 'waiting_wifi', + 'waiting_communication', + 'wrong_ip', + 'slave_not_found', + 'wrong_slave', + 'no_response', + 'clamp_not_connected', + 'illegal_function', + 'illegal_data_address', + 'illegal_data_value', + 'server_device_failure', + 'acknowledge', + 'server_device_busy', + 'negative_acknowledge', + 'memory_parity_error', + 'gateway_path_unavailable', + 'gateway_target_no_resp', + 'server_rtu_inactive244_timeout', + 'invalid_server', + 'crc_error', + 'fc_mismatch', + 'server_id_mismatch', + 'packet_length_error', + 'parameter_count_error', + 'parameter_limit_error', + 'request_queue_full', + 'illegal_ip_or_port', + 'ip_connection_failed', + 'tcp_head_mismatch', + 'empty_message', + 'undefined_error', + ]), + }), + 'config_entry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.evse_1_1_1_1_meter_error', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Meter error', + 'platform': 'v2c', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'meter_error', + 'unique_id': 'da58ee91f38c2406c2a36d0a1a7f8569_meter_error', + 'unit_of_measurement': None, + }) +# --- +# name: test_sensor[sensor.evse_1_1_1_1_meter_error-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'enum', + 'friendly_name': 'EVSE 1.1.1.1 Meter error', + 'options': list([ + 'no_error', + 'communication', + 'reading', + 'slave', + 'waiting_wifi', + 'waiting_communication', + 'wrong_ip', + 'slave_not_found', + 'wrong_slave', + 'no_response', + 'clamp_not_connected', + 'illegal_function', + 'illegal_data_address', + 'illegal_data_value', + 'server_device_failure', + 'acknowledge', + 'server_device_busy', + 'negative_acknowledge', + 'memory_parity_error', + 'gateway_path_unavailable', + 'gateway_target_no_resp', + 'server_rtu_inactive244_timeout', + 'invalid_server', + 'crc_error', + 'fc_mismatch', + 'server_id_mismatch', + 'packet_length_error', + 'parameter_count_error', + 'parameter_limit_error', + 'request_queue_full', + 'illegal_ip_or_port', + 'ip_connection_failed', + 'tcp_head_mismatch', + 'empty_message', + 'undefined_error', + ]), + }), + 'context': , + 'entity_id': 'sensor.evse_1_1_1_1_meter_error', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'waiting_wifi', + }) +# --- # name: test_sensor[sensor.evse_1_1_1_1_photovoltaic_power-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -591,125 +428,3 @@ 'state': '0.0', }) # --- -# name: test_sensor[sensor.evse_1_1_1_1_slave_error-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'options': list([ - 'no_error', - 'communication', - 'reading', - 'slave', - 'waiting_wifi', - 'waiting_communication', - 'wrong_ip', - 'slave_not_found', - 'wrong_slave', - 'no_response', - 'clamp_not_connected', - 'illegal_function', - 'illegal_data_address', - 'illegal_data_value', - 'server_device_failure', - 'acknowledge', - 'server_device_busy', - 'negative_acknowledge', - 'memory_parity_error', - 'gateway_path_unavailable', - 'gateway_target_no_resp', - 'server_rtu_inactive244_timeout', - 'invalid_server', - 'crc_error', - 'fc_mismatch', - 'server_id_mismatch', - 'packet_length_error', - 'parameter_count_error', - 'parameter_limit_error', - 'request_queue_full', - 'illegal_ip_or_port', - 'ip_connection_failed', - 'tcp_head_mismatch', - 'empty_message', - 'undefined_error', - ]), - }), - 'config_entry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.evse_1_1_1_1_slave_error', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Slave error', - 'platform': 'v2c', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'slave_error', - 'unique_id': 'da58ee91f38c2406c2a36d0a1a7f8569_slave_error', - 'unit_of_measurement': None, - }) -# --- -# name: test_sensor[sensor.evse_1_1_1_1_slave_error-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'enum', - 'friendly_name': 'EVSE 1.1.1.1 Slave error', - 'options': list([ - 'no_error', - 'communication', - 'reading', - 'slave', - 'waiting_wifi', - 'waiting_communication', - 'wrong_ip', - 'slave_not_found', - 'wrong_slave', - 'no_response', - 'clamp_not_connected', - 'illegal_function', - 'illegal_data_address', - 'illegal_data_value', - 'server_device_failure', - 'acknowledge', - 'server_device_busy', - 'negative_acknowledge', - 'memory_parity_error', - 'gateway_path_unavailable', - 'gateway_target_no_resp', - 'server_rtu_inactive244_timeout', - 'invalid_server', - 'crc_error', - 'fc_mismatch', - 'server_id_mismatch', - 'packet_length_error', - 'parameter_count_error', - 'parameter_limit_error', - 'request_queue_full', - 'illegal_ip_or_port', - 'ip_connection_failed', - 'tcp_head_mismatch', - 'empty_message', - 'undefined_error', - ]), - }), - 'context': , - 'entity_id': 'sensor.evse_1_1_1_1_slave_error', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': 'waiting_wifi', - }) -# --- diff --git a/tests/components/v2c/test_sensor.py b/tests/components/v2c/test_sensor.py index a4a7fe6ca34..93f7e36327c 100644 --- a/tests/components/v2c/test_sensor.py +++ b/tests/components/v2c/test_sensor.py @@ -26,7 +26,7 @@ async def test_sensor( await init_integration(hass, mock_config_entry) await snapshot_platform(hass, entity_registry, snapshot, mock_config_entry.entry_id) - from homeassistant.components.v2c.sensor import _SLAVE_ERROR_OPTIONS + from homeassistant.components.v2c.sensor import _METER_ERROR_OPTIONS assert [ "no_error", @@ -64,4 +64,4 @@ async def test_sensor( "tcp_head_mismatch", "empty_message", "undefined_error", - ] == _SLAVE_ERROR_OPTIONS + ] == _METER_ERROR_OPTIONS