diff --git a/homeassistant/components/teslemetry/diagnostics.py b/homeassistant/components/teslemetry/diagnostics.py index 57e0b571a30b..00532eecdb77 100644 --- a/homeassistant/components/teslemetry/diagnostics.py +++ b/homeassistant/components/teslemetry/diagnostics.py @@ -13,6 +13,7 @@ VEHICLE_REDACT = [ "vehicle_id", "vin", "tokens", + "backseat_token", "id_s", "drive_state_active_route_latitude", "drive_state_active_route_longitude", @@ -22,8 +23,8 @@ VEHICLE_REDACT = [ "drive_state_native_longitude", ] -ENERGY_LIVE_REDACT = ["vin"] -ENERGY_INFO_REDACT = ["installation_date"] +ENERGY_LIVE_REDACT = ["vin", "din"] +ENERGY_INFO_REDACT = ["id", "installation_date", "din", "serial_number"] async def async_get_config_entry_diagnostics( @@ -41,7 +42,16 @@ async def async_get_config_entry_diagnostics( ] energysites = [ { - "live": async_redact_data(x.live_coordinator.data, ENERGY_LIVE_REDACT) + # Wall connectors are keyed by DIN, which embeds the serial number + "live": async_redact_data( + { + **x.live_coordinator.data, + "wall_connectors": list( + x.live_coordinator.data["wall_connectors"].values() + ), + }, + ENERGY_LIVE_REDACT, + ) if x.live_coordinator else None, "info": async_redact_data(x.info_coordinator.data, ENERGY_INFO_REDACT), diff --git a/tests/components/teslemetry/fixtures/site_info.json b/tests/components/teslemetry/fixtures/site_info.json index bdbd0ad58e3e..6a6c4aadb842 100644 --- a/tests/components/teslemetry/fixtures/site_info.json +++ b/tests/components/teslemetry/fixtures/site_info.json @@ -1,6 +1,6 @@ { "response": { - "id": "1233-abcd", + "id": "1152100-14-J--CN00000000J50D", "site_name": "Site", "backup_reserve_percent": 0, "default_real_mode": "self_consumption", @@ -44,7 +44,7 @@ "gateways": [ { "device_id": "gateway-id", - "din": "gateway-din", + "din": "1152100-14-J--CN00000000J50D", "serial_number": "CN00000000J50D", "part_number": "1152100-14-J", "part_type": 10, @@ -58,7 +58,7 @@ "batteries": [ { "device_id": "battery-1-id", - "din": "battery-1-din", + "din": "3012170-10-B--TG000000001DA5", "serial_number": "TG000000001DA5", "part_number": "3012170-10-B", "part_type": 2, @@ -69,7 +69,7 @@ }, { "device_id": "battery-2-id", - "din": "battery-2-din", + "din": "3012170-05-C--TG000000002DA5", "serial_number": "TG000000002DA5", "part_number": "3012170-05-C", "part_type": 2, diff --git a/tests/components/teslemetry/fixtures/vehicle_data.json b/tests/components/teslemetry/fixtures/vehicle_data.json index 051c7199d000..a39aef23d56e 100644 --- a/tests/components/teslemetry/fixtures/vehicle_data.json +++ b/tests/components/teslemetry/fixtures/vehicle_data.json @@ -15,7 +15,7 @@ "id_s": "1234", "calendar_enabled": true, "api_version": 71, - "backseat_token": null, + "backseat_token": "backseat-token", "backseat_token_updated_at": null, "ble_autopair_enrolled": false, "charge_state": { diff --git a/tests/components/teslemetry/snapshots/test_diagnostics.ambr b/tests/components/teslemetry/snapshots/test_diagnostics.ambr index 8c238975c72d..c8af8fe8ea67 100644 --- a/tests/components/teslemetry/snapshots/test_diagnostics.ambr +++ b/tests/components/teslemetry/snapshots/test_diagnostics.ambr @@ -35,25 +35,25 @@ 'components_batteries': list([ dict({ 'device_id': 'battery-1-id', - 'din': 'battery-1-din', + 'din': '**REDACTED**', 'nameplate_energy': 13500, 'nameplate_max_charge_power': 5000, 'nameplate_max_discharge_power': 5000, 'part_name': 'Powerwall 2', 'part_number': '3012170-10-B', 'part_type': 2, - 'serial_number': 'TG000000001DA5', + 'serial_number': '**REDACTED**', }), dict({ 'device_id': 'battery-2-id', - 'din': 'battery-2-din', + 'din': '**REDACTED**', 'nameplate_energy': 13500, 'nameplate_max_charge_power': 5000, 'nameplate_max_discharge_power': 5000, 'part_name': 'Powerwall 2', 'part_number': '3012170-05-C', 'part_type': 2, - 'serial_number': 'TG000000002DA5', + 'serial_number': '**REDACTED**', }), ]), 'components_battery': True, @@ -71,13 +71,13 @@ 'components_gateways': list([ dict({ 'device_id': 'gateway-id', - 'din': 'gateway-din', + 'din': '**REDACTED**', 'firmware_version': '24.4.0 0fe780c9', 'is_active': True, 'part_name': 'Tesla Backup Gateway 2', 'part_number': '1152100-14-J', 'part_type': 10, - 'serial_number': 'CN00000000J50D', + 'serial_number': '**REDACTED**', 'site_id': '1234-abcd', 'updated_datetime': '2024-05-14T00:00:00.000Z', }), @@ -100,20 +100,20 @@ 'components_wall_connectors': list([ dict({ 'device_id': '123abc', - 'din': 'abd-123', + 'din': '**REDACTED**', 'is_active': True, 'part_name': 'Gen 3 Wall Connector', }), dict({ 'device_id': '234bcd', - 'din': 'bcd-234', + 'din': '**REDACTED**', 'is_active': True, 'part_name': 'Gen 3 Wall Connector', }), ]), 'components_wifi_commissioning_enabled': True, 'default_real_mode': 'self_consumption', - 'id': '1233-abcd', + 'id': '**REDACTED**', 'installation_date': '**REDACTED**', 'installation_time_zone': 'Australia/Brisbane', 'max_site_meter_power_ac': 1000000000, @@ -298,20 +298,20 @@ 'storm_mode_active': False, 'timestamp': '2024-01-01T00:00:00+00:00', 'total_pack_energy': 40727, - 'wall_connectors': dict({ - 'abd-123': dict({ - 'din': 'abd-123', + 'wall_connectors': list([ + dict({ + 'din': '**REDACTED**', 'wall_connector_fault_state': 2, 'wall_connector_power': 0, 'wall_connector_state': 2, }), - 'bcd-234': dict({ - 'din': 'bcd-234', + dict({ + 'din': '**REDACTED**', 'wall_connector_fault_state': 2, 'wall_connector_power': 0, 'wall_connector_state': 2, }), - }), + ]), }), }), ]), @@ -331,7 +331,7 @@ 'data': dict({ 'access_type': 'OWNER', 'api_version': 71, - 'backseat_token': None, + 'backseat_token': '**REDACTED**', 'backseat_token_updated_at': None, 'ble_autopair_enrolled': False, 'calendar_enabled': True,