mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 17:27:10 +00:00
Bump bimmer_connected to 0.15.3 (#118179)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
This commit is contained in:
parent
481c50f7a5
commit
10291b1ce8
@ -6,5 +6,5 @@
|
||||
"documentation": "https://www.home-assistant.io/integrations/bmw_connected_drive",
|
||||
"iot_class": "cloud_polling",
|
||||
"loggers": ["bimmer_connected"],
|
||||
"requirements": ["bimmer-connected[china]==0.15.2"]
|
||||
"requirements": ["bimmer-connected[china]==0.15.3"]
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ from __future__ import annotations
|
||||
|
||||
from collections.abc import Callable
|
||||
from dataclasses import dataclass
|
||||
import datetime
|
||||
import logging
|
||||
from typing import cast
|
||||
|
||||
@ -21,6 +22,7 @@ from homeassistant.const import LENGTH, PERCENTAGE, VOLUME, UnitOfElectricCurren
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import StateType
|
||||
from homeassistant.util import dt as dt_util
|
||||
|
||||
from . import BMWBaseEntity
|
||||
from .const import CLIMATE_ACTIVITY_STATE, DOMAIN, UNIT_MAP
|
||||
@ -219,6 +221,11 @@ class BMWSensor(BMWBaseEntity, SensorEntity):
|
||||
getattr(self.vehicle, self.entity_description.key_class),
|
||||
self.entity_description.key,
|
||||
)
|
||||
|
||||
# For datetime without tzinfo, we assume it to be the same timezone as the HA instance
|
||||
if isinstance(state, datetime.datetime) and state.tzinfo is None:
|
||||
state = state.replace(tzinfo=dt_util.get_default_time_zone())
|
||||
|
||||
self._attr_native_value = cast(
|
||||
StateType, self.entity_description.value(state, self.hass)
|
||||
)
|
||||
|
@ -553,7 +553,7 @@ beautifulsoup4==4.12.3
|
||||
bellows==0.38.4
|
||||
|
||||
# homeassistant.components.bmw_connected_drive
|
||||
bimmer-connected[china]==0.15.2
|
||||
bimmer-connected[china]==0.15.3
|
||||
|
||||
# homeassistant.components.bizkaibus
|
||||
bizkaibus==0.1.1
|
||||
|
@ -478,7 +478,7 @@ beautifulsoup4==4.12.3
|
||||
bellows==0.38.4
|
||||
|
||||
# homeassistant.components.bmw_connected_drive
|
||||
bimmer-connected[china]==0.15.2
|
||||
bimmer-connected[china]==0.15.3
|
||||
|
||||
# homeassistant.components.eq3btsmart
|
||||
# homeassistant.components.esphome
|
||||
|
@ -43,6 +43,7 @@ FIXTURE_CONFIG_ENTRY = {
|
||||
async def setup_mocked_integration(hass: HomeAssistant) -> MockConfigEntry:
|
||||
"""Mock a fully setup config entry and all components based on fixtures."""
|
||||
|
||||
# Mock config entry and add to HA
|
||||
mock_config_entry = MockConfigEntry(**FIXTURE_CONFIG_ENTRY)
|
||||
mock_config_entry.add_to_hass(hass)
|
||||
|
||||
|
@ -1706,7 +1706,23 @@
|
||||
'windows',
|
||||
]),
|
||||
'brand': 'bmw',
|
||||
'charging_profile': None,
|
||||
'charging_profile': dict({
|
||||
'ac_available_limits': None,
|
||||
'ac_current_limit': None,
|
||||
'charging_mode': 'IMMEDIATE_CHARGING',
|
||||
'charging_preferences': 'NO_PRESELECTION',
|
||||
'charging_preferences_service_pack': None,
|
||||
'departure_times': list([
|
||||
]),
|
||||
'is_pre_entry_climatization_enabled': False,
|
||||
'preferred_charging_window': dict({
|
||||
'_window_dict': dict({
|
||||
}),
|
||||
'end_time': '00:00:00',
|
||||
'start_time': '00:00:00',
|
||||
}),
|
||||
'timer_type': 'UNKNOWN',
|
||||
}),
|
||||
'check_control_messages': dict({
|
||||
'has_check_control_messages': False,
|
||||
'messages': list([
|
||||
@ -2861,7 +2877,7 @@
|
||||
]),
|
||||
'fuel_and_battery': dict({
|
||||
'charging_end_time': None,
|
||||
'charging_start_time': '2022-07-10T18:01:00+00:00',
|
||||
'charging_start_time': '2022-07-10T18:01:00',
|
||||
'charging_status': 'WAITING_FOR_CHARGING',
|
||||
'charging_target': 100,
|
||||
'is_charger_connected': True,
|
||||
@ -5263,7 +5279,7 @@
|
||||
]),
|
||||
'fuel_and_battery': dict({
|
||||
'charging_end_time': None,
|
||||
'charging_start_time': '2022-07-10T18:01:00+00:00',
|
||||
'charging_start_time': '2022-07-10T18:01:00',
|
||||
'charging_status': 'WAITING_FOR_CHARGING',
|
||||
'charging_target': 100,
|
||||
'is_charger_connected': True,
|
||||
|
@ -1,6 +1,32 @@
|
||||
# serializer version: 1
|
||||
# name: test_entity_state_attrs
|
||||
list([
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'iX xDrive50 AC current limit',
|
||||
'unit_of_measurement': <UnitOfElectricCurrent.AMPERE: 'A'>,
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.ix_xdrive50_ac_current_limit',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': '16',
|
||||
}),
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'device_class': 'timestamp',
|
||||
'friendly_name': 'iX xDrive50 Charging start time',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.ix_xdrive50_charging_start_time',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'unknown',
|
||||
}),
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
@ -115,6 +141,32 @@
|
||||
'last_updated': <ANY>,
|
||||
'state': 'inactive',
|
||||
}),
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i4 eDrive40 AC current limit',
|
||||
'unit_of_measurement': <UnitOfElectricCurrent.AMPERE: 'A'>,
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.i4_edrive40_ac_current_limit',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': '16',
|
||||
}),
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'device_class': 'timestamp',
|
||||
'friendly_name': 'i4 eDrive40 Charging start time',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.i4_edrive40_charging_start_time',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'unknown',
|
||||
}),
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
@ -318,6 +370,32 @@
|
||||
'last_updated': <ANY>,
|
||||
'state': 'inactive',
|
||||
}),
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'friendly_name': 'i3 (+ REX) AC current limit',
|
||||
'unit_of_measurement': <UnitOfElectricCurrent.AMPERE: 'A'>,
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.i3_rex_ac_current_limit',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': 'unknown',
|
||||
}),
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
'device_class': 'timestamp',
|
||||
'friendly_name': 'i3 (+ REX) Charging start time',
|
||||
}),
|
||||
'context': <ANY>,
|
||||
'entity_id': 'sensor.i3_rex_charging_start_time',
|
||||
'last_changed': <ANY>,
|
||||
'last_reported': <ANY>,
|
||||
'last_updated': <ANY>,
|
||||
'state': '2023-06-23T01:01:00+00:00',
|
||||
}),
|
||||
StateSnapshot({
|
||||
'attributes': ReadOnlyDict({
|
||||
'attribution': 'Data provided by MyBMW',
|
||||
|
@ -17,6 +17,7 @@ from . import check_remote_service_call, setup_mocked_integration
|
||||
async def test_entity_state_attrs(
|
||||
hass: HomeAssistant,
|
||||
bmw_fixture: respx.Router,
|
||||
entity_registry_enabled_by_default: None,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test button options and values."""
|
||||
|
@ -23,6 +23,7 @@ async def test_config_entry_diagnostics(
|
||||
hass: HomeAssistant,
|
||||
hass_client: ClientSessionGenerator,
|
||||
bmw_fixture,
|
||||
entity_registry_enabled_by_default: None,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test config entry diagnostics."""
|
||||
@ -42,6 +43,7 @@ async def test_device_diagnostics(
|
||||
hass_client: ClientSessionGenerator,
|
||||
device_registry: dr.DeviceRegistry,
|
||||
bmw_fixture,
|
||||
entity_registry_enabled_by_default: None,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test device diagnostics."""
|
||||
@ -66,6 +68,7 @@ async def test_device_diagnostics_vehicle_not_found(
|
||||
hass_client: ClientSessionGenerator,
|
||||
device_registry: dr.DeviceRegistry,
|
||||
bmw_fixture,
|
||||
entity_registry_enabled_by_default: None,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test device diagnostics when the vehicle cannot be found."""
|
||||
|
@ -17,6 +17,7 @@ from . import check_remote_service_call, setup_mocked_integration
|
||||
async def test_entity_state_attrs(
|
||||
hass: HomeAssistant,
|
||||
bmw_fixture: respx.Router,
|
||||
entity_registry_enabled_by_default: None,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test number options and values.."""
|
||||
|
@ -17,6 +17,7 @@ from . import check_remote_service_call, setup_mocked_integration
|
||||
async def test_entity_state_attrs(
|
||||
hass: HomeAssistant,
|
||||
bmw_fixture: respx.Router,
|
||||
entity_registry_enabled_by_default: None,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test select options and values.."""
|
||||
|
@ -19,6 +19,7 @@ from . import setup_mocked_integration
|
||||
async def test_entity_state_attrs(
|
||||
hass: HomeAssistant,
|
||||
bmw_fixture: respx.Router,
|
||||
entity_registry_enabled_by_default: None,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test sensor options and values.."""
|
||||
|
@ -17,6 +17,7 @@ from . import check_remote_service_call, setup_mocked_integration
|
||||
async def test_entity_state_attrs(
|
||||
hass: HomeAssistant,
|
||||
bmw_fixture: respx.Router,
|
||||
entity_registry_enabled_by_default: None,
|
||||
snapshot: SnapshotAssertion,
|
||||
) -> None:
|
||||
"""Test switch options and values.."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user