mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 18:57:06 +00:00
Use DistanceConverter in components (#80182)
* Use DistanceConverter in components * Adjust for METRIC_SYSTEM
This commit is contained in:
parent
0daa5b55b5
commit
503434e538
@ -12,6 +12,7 @@ from homeassistant.const import (
|
|||||||
CONF_RADIUS,
|
CONF_RADIUS,
|
||||||
CONF_SCAN_INTERVAL,
|
CONF_SCAN_INTERVAL,
|
||||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||||
|
LENGTH_KILOMETERS,
|
||||||
LENGTH_MILES,
|
LENGTH_MILES,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
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.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.event import async_track_time_interval
|
from homeassistant.helpers.event import async_track_time_interval
|
||||||
from homeassistant.helpers.typing import ConfigType
|
from homeassistant.helpers.typing import ConfigType
|
||||||
from homeassistant.util.unit_system import METRIC_SYSTEM
|
from homeassistant.util.unit_conversion import DistanceConverter
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
CONF_CATEGORIES,
|
CONF_CATEGORIES,
|
||||||
@ -88,7 +89,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||||||
|
|
||||||
radius = config_entry.data[CONF_RADIUS]
|
radius = config_entry.data[CONF_RADIUS]
|
||||||
if hass.config.units.name == CONF_UNIT_SYSTEM_IMPERIAL:
|
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.
|
# Create feed entity manager for all platforms.
|
||||||
manager = GdacsFeedEntityManager(hass, config_entry, radius)
|
manager = GdacsFeedEntityManager(hass, config_entry, radius)
|
||||||
feeds[config_entry.entry_id] = manager
|
feeds[config_entry.entry_id] = manager
|
||||||
|
@ -12,6 +12,7 @@ from homeassistant.const import (
|
|||||||
CONF_RADIUS,
|
CONF_RADIUS,
|
||||||
CONF_SCAN_INTERVAL,
|
CONF_SCAN_INTERVAL,
|
||||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||||
|
LENGTH_KILOMETERS,
|
||||||
LENGTH_MILES,
|
LENGTH_MILES,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
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.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.event import async_track_time_interval
|
from homeassistant.helpers.event import async_track_time_interval
|
||||||
from homeassistant.helpers.typing import ConfigType
|
from homeassistant.helpers.typing import ConfigType
|
||||||
from homeassistant.util.unit_system import METRIC_SYSTEM
|
from homeassistant.util.unit_conversion import DistanceConverter
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
CONF_MINIMUM_MAGNITUDE,
|
CONF_MINIMUM_MAGNITUDE,
|
||||||
@ -95,7 +96,7 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||||||
|
|
||||||
radius = config_entry.data[CONF_RADIUS]
|
radius = config_entry.data[CONF_RADIUS]
|
||||||
if hass.config.units.name == CONF_UNIT_SYSTEM_IMPERIAL:
|
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.
|
# Create feed entity manager for all platforms.
|
||||||
manager = GeonetnzQuakesFeedEntityManager(hass, config_entry, radius)
|
manager = GeonetnzQuakesFeedEntityManager(hass, config_entry, radius)
|
||||||
feeds[config_entry.entry_id] = manager
|
feeds[config_entry.entry_id] = manager
|
||||||
|
@ -15,6 +15,7 @@ from homeassistant.const import (
|
|||||||
CONF_SCAN_INTERVAL,
|
CONF_SCAN_INTERVAL,
|
||||||
CONF_UNIT_SYSTEM,
|
CONF_UNIT_SYSTEM,
|
||||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||||
|
LENGTH_KILOMETERS,
|
||||||
LENGTH_MILES,
|
LENGTH_MILES,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
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.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.event import async_track_time_interval
|
from homeassistant.helpers.event import async_track_time_interval
|
||||||
from homeassistant.helpers.typing import ConfigType
|
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 .config_flow import configured_instances
|
||||||
from .const import DEFAULT_RADIUS, DEFAULT_SCAN_INTERVAL, DOMAIN, FEED, PLATFORMS
|
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]
|
radius = config_entry.data[CONF_RADIUS]
|
||||||
unit_system = config_entry.data[CONF_UNIT_SYSTEM]
|
unit_system = config_entry.data[CONF_UNIT_SYSTEM]
|
||||||
if unit_system == CONF_UNIT_SYSTEM_IMPERIAL:
|
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.
|
# Create feed entity manager for all platforms.
|
||||||
manager = GeonetnzVolcanoFeedEntityManager(hass, config_entry, radius, unit_system)
|
manager = GeonetnzVolcanoFeedEntityManager(hass, config_entry, radius, unit_system)
|
||||||
hass.data[DOMAIN][FEED][config_entry.entry_id] = manager
|
hass.data[DOMAIN][FEED][config_entry.entry_id] = manager
|
||||||
|
@ -11,12 +11,13 @@ from homeassistant.const import (
|
|||||||
ATTR_LONGITUDE,
|
ATTR_LONGITUDE,
|
||||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||||
LENGTH_KILOMETERS,
|
LENGTH_KILOMETERS,
|
||||||
|
LENGTH_MILES,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.util import dt
|
from homeassistant.util import dt
|
||||||
from homeassistant.util.unit_system import IMPERIAL_SYSTEM
|
from homeassistant.util.unit_conversion import DistanceConverter
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_ACTIVITY,
|
ATTR_ACTIVITY,
|
||||||
@ -114,7 +115,9 @@ class GeonetnzVolcanoSensor(SensorEntity):
|
|||||||
# Convert distance if not metric system.
|
# Convert distance if not metric system.
|
||||||
if self._unit_system == CONF_UNIT_SYSTEM_IMPERIAL:
|
if self._unit_system == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||||
self._distance = round(
|
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,
|
1,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
@ -16,6 +16,7 @@ from homeassistant.const import (
|
|||||||
CONF_UNIT_SYSTEM,
|
CONF_UNIT_SYSTEM,
|
||||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||||
LENGTH_METERS,
|
LENGTH_METERS,
|
||||||
|
LENGTH_MILES,
|
||||||
Platform,
|
Platform,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
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.location import find_coordinates
|
||||||
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
|
||||||
from homeassistant.util import dt
|
from homeassistant.util import dt
|
||||||
from homeassistant.util.unit_system import IMPERIAL_SYSTEM
|
from homeassistant.util.unit_conversion import DistanceConverter
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_DESTINATION,
|
ATTR_DESTINATION,
|
||||||
@ -179,7 +180,9 @@ class HereTravelTimeDataUpdateCoordinator(DataUpdateCoordinator):
|
|||||||
traffic_time = summary["trafficTime"]
|
traffic_time = summary["trafficTime"]
|
||||||
if self.config.units == CONF_UNIT_SYSTEM_IMPERIAL:
|
if self.config.units == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||||
# Convert to miles.
|
# Convert to miles.
|
||||||
distance = IMPERIAL_SYSTEM.length(distance, LENGTH_METERS)
|
distance = DistanceConverter.convert(
|
||||||
|
distance, LENGTH_METERS, LENGTH_MILES
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
# Convert to kilometers
|
# Convert to kilometers
|
||||||
distance = distance / 1000
|
distance = distance / 1000
|
||||||
|
@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant
|
|||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.icon import icon_for_battery_level
|
from homeassistant.helpers.icon import icon_for_battery_level
|
||||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
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 . import LeafEntity
|
||||||
from .const import (
|
from .const import (
|
||||||
@ -123,7 +123,7 @@ class LeafRangeSensor(LeafEntity, SensorEntity):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
if not self.car.hass.config.units.is_metric or self.car.force_miles:
|
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)
|
return round(ret)
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ from homeassistant.const import (
|
|||||||
CONF_UNIT_SYSTEM_IMPERIAL,
|
CONF_UNIT_SYSTEM_IMPERIAL,
|
||||||
EVENT_HOMEASSISTANT_STARTED,
|
EVENT_HOMEASSISTANT_STARTED,
|
||||||
LENGTH_KILOMETERS,
|
LENGTH_KILOMETERS,
|
||||||
|
LENGTH_MILES,
|
||||||
TIME_MINUTES,
|
TIME_MINUTES,
|
||||||
)
|
)
|
||||||
from homeassistant.core import CoreState, HomeAssistant
|
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 import DeviceInfo
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.location import find_coordinates
|
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 (
|
from .const import (
|
||||||
CONF_AVOID_FERRIES,
|
CONF_AVOID_FERRIES,
|
||||||
@ -245,7 +246,9 @@ class WazeTravelTimeData:
|
|||||||
|
|
||||||
if units == CONF_UNIT_SYSTEM_IMPERIAL:
|
if units == CONF_UNIT_SYSTEM_IMPERIAL:
|
||||||
# Convert to miles.
|
# Convert to miles.
|
||||||
self.distance = IMPERIAL_SYSTEM.length(distance, LENGTH_KILOMETERS)
|
self.distance = DistanceConverter.convert(
|
||||||
|
distance, LENGTH_KILOMETERS, LENGTH_MILES
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
self.distance = distance
|
self.distance = distance
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user