mirror of
https://github.com/home-assistant/core.git
synced 2026-08-24 10:13:52 -05:00
Remove battery_level property from Tractive device tracker (#172756)
This commit is contained in:
@@ -8,11 +8,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
||||
|
||||
from . import Trackables, TractiveClient, TractiveConfigEntry
|
||||
from .const import (
|
||||
SERVER_UNAVAILABLE,
|
||||
TRACKER_HARDWARE_STATUS_UPDATED,
|
||||
TRACKER_POSITION_UPDATED,
|
||||
)
|
||||
from .const import SERVER_UNAVAILABLE, TRACKER_POSITION_UPDATED
|
||||
from .entity import TractiveEntity
|
||||
|
||||
|
||||
@@ -42,10 +38,9 @@ class TractiveDeviceTracker(TractiveEntity, TrackerEntity):
|
||||
client,
|
||||
item.trackable,
|
||||
item.tracker_details,
|
||||
f"{TRACKER_HARDWARE_STATUS_UPDATED}-{item.tracker_details['_id']}",
|
||||
f"{TRACKER_POSITION_UPDATED}-{item.tracker_details['_id']}",
|
||||
)
|
||||
|
||||
self._battery_level: int | None = item.hw_info.get("battery_level")
|
||||
self._attr_latitude = item.pos_report["latlong"][0]
|
||||
self._attr_longitude = item.pos_report["latlong"][1]
|
||||
self._attr_location_accuracy: float = item.pos_report["pos_uncertainty"]
|
||||
@@ -59,17 +54,6 @@ class TractiveDeviceTracker(TractiveEntity, TrackerEntity):
|
||||
return SourceType.BLUETOOTH
|
||||
return SourceType.GPS
|
||||
|
||||
@property
|
||||
def battery_level(self) -> int | None:
|
||||
"""Return the battery level of the device."""
|
||||
return self._battery_level
|
||||
|
||||
@callback
|
||||
def _handle_hardware_status_update(self, event: dict[str, Any]) -> None:
|
||||
self._battery_level = event["battery_level"]
|
||||
self._attr_available = True
|
||||
self.async_write_ha_state()
|
||||
|
||||
@callback
|
||||
def _handle_position_update(self, event: dict[str, Any]) -> None:
|
||||
self._attr_latitude = event["latitude"]
|
||||
@@ -85,14 +69,6 @@ class TractiveDeviceTracker(TractiveEntity, TrackerEntity):
|
||||
if not self._client.subscribed:
|
||||
self._client.subscribe()
|
||||
|
||||
self.async_on_remove(
|
||||
async_dispatcher_connect(
|
||||
self.hass,
|
||||
self._dispatcher_signal,
|
||||
self._handle_hardware_status_update,
|
||||
)
|
||||
)
|
||||
|
||||
self.async_on_remove(
|
||||
async_dispatcher_connect(
|
||||
self.hass,
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
# name: test_device_tracker[device_tracker.tracker_device_id_123-state]
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'battery_level': 88,
|
||||
'friendly_name': 'Tracker device_id_123',
|
||||
'gps_accuracy': 99,
|
||||
'in_zones': list([
|
||||
|
||||
@@ -94,27 +94,6 @@ async def test_source_type_gps(
|
||||
)
|
||||
|
||||
|
||||
async def test_device_tracker_with_empty_hw_info(
|
||||
hass: HomeAssistant,
|
||||
mock_tractive_client: AsyncMock,
|
||||
mock_config_entry: MockConfigEntry,
|
||||
) -> None:
|
||||
"""Test that the device tracker sets up correctly when hw_info is empty."""
|
||||
mock_tractive_client.tracker.return_value.hw_info = AsyncMock(return_value={})
|
||||
|
||||
with patch(
|
||||
"homeassistant.components.tractive.PLATFORMS", [Platform.DEVICE_TRACKER]
|
||||
):
|
||||
await init_integration(hass, mock_config_entry)
|
||||
|
||||
mock_tractive_client.send_position_event(mock_config_entry)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
state = hass.states.get("device_tracker.tracker_device_id_123")
|
||||
assert state is not None
|
||||
assert state.attributes.get("battery_level") is None
|
||||
|
||||
|
||||
async def test_device_tracker_device_assignment(
|
||||
hass: HomeAssistant,
|
||||
entity_registry: er.EntityRegistry,
|
||||
|
||||
Reference in New Issue
Block a user