Use DistanceConverter in components (#80182)
* Use DistanceConverter in components * Adjust for METRIC_SYSTEM
This commit is contained in:
parent
0daa5b55b5
commit
503434e538
7 changed files with 26 additions and 14 deletions
|
@ -12,6 +12,7 @@ from homeassistant.const import (
|
|||
CONF_RADIUS,
|
||||
CONF_SCAN_INTERVAL,
|
||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
|
@ -19,7 +20,7 @@ from homeassistant.helpers import aiohttp_client, config_validation as cv
|
|||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||
from homeassistant.helpers.event import async_track_time_interval
|
||||
from homeassistant.helpers.typing import ConfigType
|
||||
from homeassistant.util.unit_system import METRIC_SYSTEM
|
||||
from homeassistant.util.unit_conversion import DistanceConverter
|
||||
|
||||
from .const import (
|
||||
CONF_CATEGORIES,
|
||||
|
@ -88,7 +89,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||
|
||||
radius = config_entry.data[CONF_RADIUS]
|
||||
if hass.config.units.name == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||
radius = METRIC_SYSTEM.length(radius, LENGTH_MILES)
|
||||
radius = DistanceConverter.convert(radius, LENGTH_MILES, LENGTH_KILOMETERS)
|
||||
# Create feed entity manager for all platforms.
|
||||
manager = GdacsFeedEntityManager(hass, config_entry, radius)
|
||||
feeds[config_entry.entry_id] = manager
|
||||
|
|
|
@ -12,6 +12,7 @@ from homeassistant.const import (
|
|||
CONF_RADIUS,
|
||||
CONF_SCAN_INTERVAL,
|
||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
|
@ -19,7 +20,7 @@ from homeassistant.helpers import aiohttp_client, config_validation as cv
|
|||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||
from homeassistant.helpers.event import async_track_time_interval
|
||||
from homeassistant.helpers.typing import ConfigType
|
||||
from homeassistant.util.unit_system import METRIC_SYSTEM
|
||||
from homeassistant.util.unit_conversion import DistanceConverter
|
||||
|
||||
from .const import (
|
||||
CONF_MINIMUM_MAGNITUDE,
|
||||
|
@ -95,7 +96,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||
|
||||
radius = config_entry.data[CONF_RADIUS]
|
||||
if hass.config.units.name == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||
radius = METRIC_SYSTEM.length(radius, LENGTH_MILES)
|
||||
radius = DistanceConverter.convert(radius, LENGTH_MILES, LENGTH_KILOMETERS)
|
||||
# Create feed entity manager for all platforms.
|
||||
manager = GeonetnzQuakesFeedEntityManager(hass, config_entry, radius)
|
||||
feeds[config_entry.entry_id] = manager
|
||||
|
|
|
@ -15,6 +15,7 @@ from homeassistant.const import (
|
|||
CONF_SCAN_INTERVAL,
|
||||
CONF_UNIT_SYSTEM,
|
||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
|
@ -22,7 +23,7 @@ from homeassistant.helpers import aiohttp_client, config_validation as cv
|
|||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||
from homeassistant.helpers.event import async_track_time_interval
|
||||
from homeassistant.helpers.typing import ConfigType
|
||||
from homeassistant.util.unit_system import METRIC_SYSTEM
|
||||
from homeassistant.util.unit_conversion import DistanceConverter
|
||||
|
||||
from .config_flow import configured_instances
|
||||
from .const import DEFAULT_RADIUS, DEFAULT_SCAN_INTERVAL, DOMAIN, FEED, PLATFORMS
|
||||
|
@ -85,7 +86,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||
radius = config_entry.data[CONF_RADIUS]
|
||||
unit_system = config_entry.data[CONF_UNIT_SYSTEM]
|
||||
if unit_system == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||
radius = METRIC_SYSTEM.length(radius, LENGTH_MILES)
|
||||
radius = DistanceConverter.convert(radius, LENGTH_MILES, LENGTH_KILOMETERS)
|
||||
# Create feed entity manager for all platforms.
|
||||
manager = GeonetnzVolcanoFeedEntityManager(hass, config_entry, radius, unit_system)
|
||||
hass.data[DOMAIN][FEED][config_entry.entry_id] = manager
|
||||
|
|
|
@ -11,12 +11,13 @@ from homeassistant.const import (
|
|||
ATTR_LONGITUDE,
|
||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.util import dt
|
||||
from homeassistant.util.unit_system import IMPERIAL_SYSTEM
|
||||
from homeassistant.util.unit_conversion import DistanceConverter
|
||||
|
||||
from .const import (
|
||||
ATTR_ACTIVITY,
|
||||
|
@ -114,7 +115,9 @@ class GeonetnzVolcanoSensor(SensorEntity):
|
|||
# Convert distance if not metric system.
|
||||
if self._unit_system == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||
self._distance = round(
|
||||
IMPERIAL_SYSTEM.length(feed_entry.distance_to_home, LENGTH_KILOMETERS),
|
||||
DistanceConverter.convert(
|
||||
feed_entry.distance_to_home, LENGTH_KILOMETERS, LENGTH_MILES
|
||||
),
|
||||
1,
|
||||
)
|
||||
else:
|
||||
|
|
|
@ -16,6 +16,7 @@ from homeassistant.const import (
|
|||
CONF_UNIT_SYSTEM,
|
||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
LENGTH_METERS,
|
||||
LENGTH_MILES,
|
||||
Platform,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
@ -23,7 +24,7 @@ import homeassistant.helpers.config_validation as cv
|
|||
from homeassistant.helpers.location import find_coordinates
|
||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||
from homeassistant.util import dt
|
||||
from homeassistant.util.unit_system import IMPERIAL_SYSTEM
|
||||
from homeassistant.util.unit_conversion import DistanceConverter
|
||||
|
||||
from .const import (
|
||||
ATTR_DESTINATION,
|
||||
|
@ -179,7 +180,9 @@ class HereTravelTimeDataUpdateCoordinator(DataUpdateCoordinator):
|
|||
traffic_time = summary["trafficTime"]
|
||||
if self.config.units == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||
# Convert to miles.
|
||||
distance = IMPERIAL_SYSTEM.length(distance, LENGTH_METERS)
|
||||
distance = DistanceConverter.convert(
|
||||
distance, LENGTH_METERS, LENGTH_MILES
|
||||
)
|
||||
else:
|
||||
# Convert to kilometers
|
||||
distance = distance / 1000
|
||||
|
|
|
@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant
|
|||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.icon import icon_for_battery_level
|
||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||
from homeassistant.util.unit_system import IMPERIAL_SYSTEM, METRIC_SYSTEM
|
||||
from homeassistant.util.unit_conversion import DistanceConverter
|
||||
|
||||
from . import LeafEntity
|
||||
from .const import (
|
||||
|
@ -123,7 +123,7 @@ class LeafRangeSensor(LeafEntity, SensorEntity):
|
|||
return None
|
||||
|
||||
if not self.car.hass.config.units.is_metric or self.car.force_miles:
|
||||
ret = IMPERIAL_SYSTEM.length(ret, METRIC_SYSTEM.length_unit)
|
||||
ret = DistanceConverter.convert(ret, LENGTH_KILOMETERS, LENGTH_MILES)
|
||||
|
||||
return round(ret)
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ from homeassistant.const import (
|
|||
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||
EVENT_HOMEASSISTANT_STARTED,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
TIME_MINUTES,
|
||||
)
|
||||
from homeassistant.core import CoreState, HomeAssistant
|
||||
|
@ -26,7 +27,7 @@ from homeassistant.helpers.device_registry import DeviceEntryType
|
|||
from homeassistant.helpers.entity import DeviceInfo
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.location import find_coordinates
|
||||
from homeassistant.util.unit_system import IMPERIAL_SYSTEM
|
||||
from homeassistant.util.unit_conversion import DistanceConverter
|
||||
|
||||
from .const import (
|
||||
CONF_AVOID_FERRIES,
|
||||
|
@ -245,7 +246,9 @@ class WazeTravelTimeData:
|
|||
|
||||
if units == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||
# Convert to miles.
|
||||
self.distance = IMPERIAL_SYSTEM.length(distance, LENGTH_KILOMETERS)
|
||||
self.distance = DistanceConverter.convert(
|
||||
distance, LENGTH_KILOMETERS, LENGTH_MILES
|
||||
)
|
||||
else:
|
||||
self.distance = distance
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue