Use UnitOfLength in integrations (#84034)
parent
bf4c399b19
commit
d72c28a135
|
@ -1,10 +1,5 @@
|
|||
"""Const file for the MyBMW integration."""
|
||||
from homeassistant.const import (
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
VOLUME_GALLONS,
|
||||
VOLUME_LITERS,
|
||||
)
|
||||
from homeassistant.const import VOLUME_GALLONS, VOLUME_LITERS, UnitOfLength
|
||||
|
||||
DOMAIN = "bmw_connected_drive"
|
||||
ATTRIBUTION = "Data provided by MyBMW"
|
||||
|
@ -20,8 +15,8 @@ CONF_REFRESH_TOKEN = "refresh_token"
|
|||
DATA_HASS_CONFIG = "hass_config"
|
||||
|
||||
UNIT_MAP = {
|
||||
"KILOMETERS": LENGTH_KILOMETERS,
|
||||
"MILES": LENGTH_MILES,
|
||||
"KILOMETERS": UnitOfLength.KILOMETERS,
|
||||
"MILES": UnitOfLength.MILES,
|
||||
"LITERS": VOLUME_LITERS,
|
||||
"GALLONS": VOLUME_GALLONS,
|
||||
}
|
||||
|
|
|
@ -24,8 +24,7 @@ from homeassistant.const import (
|
|||
CONF_LONGITUDE,
|
||||
CONF_NAME,
|
||||
CONF_RADIUS,
|
||||
LENGTH_FEET,
|
||||
LENGTH_METERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.exceptions import PlatformNotReady
|
||||
|
@ -172,7 +171,9 @@ async def async_setup_platform(
|
|||
radius = config.get(CONF_RADIUS, 0)
|
||||
name = config[CONF_NAME]
|
||||
if hass.config.units is US_CUSTOMARY_SYSTEM:
|
||||
radius = DistanceConverter.convert(radius, LENGTH_FEET, LENGTH_METERS)
|
||||
radius = DistanceConverter.convert(
|
||||
radius, UnitOfLength.FEET, UnitOfLength.METERS
|
||||
)
|
||||
|
||||
# Create a single instance of CityBikesNetworks.
|
||||
networks = hass.data.setdefault(CITYBIKES_NETWORKS, CityBikesNetworks(hass))
|
||||
|
|
|
@ -7,7 +7,7 @@ import async_timeout
|
|||
|
||||
from homeassistant.components.sensor import SensorEntity, SensorStateClass
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import LENGTH_METERS
|
||||
from homeassistant.const import UnitOfLength
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||
from homeassistant.helpers.device_registry import DeviceEntryType
|
||||
|
@ -23,7 +23,7 @@ from .const import DOMAIN
|
|||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
UNIT_MAPPING = {
|
||||
"http://qudt.org/1.1/vocab/unit#Meter": LENGTH_METERS,
|
||||
"http://qudt.org/1.1/vocab/unit#Meter": UnitOfLength.METERS,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -11,8 +11,7 @@ from homeassistant.const import (
|
|||
CONF_LONGITUDE,
|
||||
CONF_RADIUS,
|
||||
CONF_SCAN_INTERVAL,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import aiohttp_client, config_validation as cv
|
||||
|
@ -89,7 +88,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||
|
||||
radius = config_entry.data[CONF_RADIUS]
|
||||
if hass.config.units is US_CUSTOMARY_SYSTEM:
|
||||
radius = DistanceConverter.convert(radius, LENGTH_MILES, LENGTH_KILOMETERS)
|
||||
radius = DistanceConverter.convert(
|
||||
radius, UnitOfLength.MILES, UnitOfLength.KILOMETERS
|
||||
)
|
||||
# Create feed entity manager for all platforms.
|
||||
manager = GdacsFeedEntityManager(hass, config_entry, radius)
|
||||
feeds[config_entry.entry_id] = manager
|
||||
|
|
|
@ -10,7 +10,7 @@ from aio_georss_gdacs.feed_entry import GdacsFeedEntry
|
|||
|
||||
from homeassistant.components.geo_location import GeolocationEvent
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import LENGTH_KILOMETERS, LENGTH_MILES
|
||||
from homeassistant.const import UnitOfLength
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
|
@ -89,7 +89,7 @@ class GdacsEvent(GeolocationEvent):
|
|||
self._feed_manager = feed_manager
|
||||
self._external_id = external_id
|
||||
self._attr_unique_id = f"{integration_id}_{external_id}"
|
||||
self._attr_unit_of_measurement = LENGTH_KILOMETERS
|
||||
self._attr_unit_of_measurement = UnitOfLength.KILOMETERS
|
||||
self._alert_level = None
|
||||
self._country = None
|
||||
self._description = None
|
||||
|
@ -108,7 +108,7 @@ class GdacsEvent(GeolocationEvent):
|
|||
async def async_added_to_hass(self) -> None:
|
||||
"""Call when entity is added to hass."""
|
||||
if self.hass.config.units is US_CUSTOMARY_SYSTEM:
|
||||
self._attr_unit_of_measurement = LENGTH_MILES
|
||||
self._attr_unit_of_measurement = UnitOfLength.MILES
|
||||
self._remove_signal_delete = async_dispatcher_connect(
|
||||
self.hass, f"gdacs_delete_{self._external_id}", self._delete_callback
|
||||
)
|
||||
|
@ -151,7 +151,7 @@ class GdacsEvent(GeolocationEvent):
|
|||
# Convert distance if not metric system.
|
||||
if self.hass.config.units is US_CUSTOMARY_SYSTEM:
|
||||
self._attr_distance = DistanceConverter.convert(
|
||||
feed_entry.distance_to_home, LENGTH_KILOMETERS, LENGTH_MILES
|
||||
feed_entry.distance_to_home, UnitOfLength.KILOMETERS, UnitOfLength.MILES
|
||||
)
|
||||
else:
|
||||
self._attr_distance = feed_entry.distance_to_home
|
||||
|
|
|
@ -18,7 +18,7 @@ from homeassistant.const import (
|
|||
CONF_SCAN_INTERVAL,
|
||||
CONF_URL,
|
||||
EVENT_HOMEASSISTANT_START,
|
||||
LENGTH_KILOMETERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import Event, HomeAssistant, callback
|
||||
from homeassistant.helpers import aiohttp_client
|
||||
|
@ -146,7 +146,7 @@ class GeoJsonLocationEvent(GeolocationEvent):
|
|||
|
||||
_attr_should_poll = False
|
||||
_attr_source = SOURCE
|
||||
_attr_unit_of_measurement = LENGTH_KILOMETERS
|
||||
_attr_unit_of_measurement = UnitOfLength.KILOMETERS
|
||||
|
||||
def __init__(self, feed_manager: GenericFeedManager, external_id: str) -> None:
|
||||
"""Initialize entity with data from feed entry."""
|
||||
|
|
|
@ -22,7 +22,7 @@ from homeassistant.const import (
|
|||
CONF_RADIUS,
|
||||
CONF_UNIT_OF_MEASUREMENT,
|
||||
CONF_URL,
|
||||
LENGTH_KILOMETERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
@ -162,7 +162,9 @@ class GeoRssServiceSensor(SensorEntity):
|
|||
# And now compute the attributes from the filtered events.
|
||||
matrix = {}
|
||||
for entry in feed_entries:
|
||||
matrix[entry.title] = f"{entry.distance_to_home:.0f}{LENGTH_KILOMETERS}"
|
||||
matrix[
|
||||
entry.title
|
||||
] = f"{entry.distance_to_home:.0f}{UnitOfLength.KILOMETERS}"
|
||||
self._state_attributes = matrix
|
||||
elif status == UPDATE_OK_NO_DATA:
|
||||
_LOGGER.debug("Update successful, but no data received from %s", self._feed)
|
||||
|
|
|
@ -11,8 +11,7 @@ from homeassistant.const import (
|
|||
CONF_LONGITUDE,
|
||||
CONF_RADIUS,
|
||||
CONF_SCAN_INTERVAL,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import aiohttp_client, config_validation as cv
|
||||
|
@ -96,7 +95,9 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||
|
||||
radius = config_entry.data[CONF_RADIUS]
|
||||
if hass.config.units is US_CUSTOMARY_SYSTEM:
|
||||
radius = DistanceConverter.convert(radius, LENGTH_MILES, LENGTH_KILOMETERS)
|
||||
radius = DistanceConverter.convert(
|
||||
radius, UnitOfLength.MILES, UnitOfLength.KILOMETERS
|
||||
)
|
||||
# Create feed entity manager for all platforms.
|
||||
manager = GeonetnzQuakesFeedEntityManager(hass, config_entry, radius)
|
||||
feeds[config_entry.entry_id] = manager
|
||||
|
|
|
@ -9,7 +9,7 @@ from aio_geojson_geonetnz_quakes.feed_entry import GeonetnzQuakesFeedEntry
|
|||
|
||||
from homeassistant.components.geo_location import GeolocationEvent
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import ATTR_TIME, LENGTH_KILOMETERS, LENGTH_MILES
|
||||
from homeassistant.const import ATTR_TIME, UnitOfLength
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
|
@ -81,7 +81,7 @@ class GeonetnzQuakesEvent(GeolocationEvent):
|
|||
self._feed_manager = feed_manager
|
||||
self._external_id = external_id
|
||||
self._attr_unique_id = f"{integration_id}_{external_id}"
|
||||
self._attr_unit_of_measurement = LENGTH_KILOMETERS
|
||||
self._attr_unit_of_measurement = UnitOfLength.KILOMETERS
|
||||
self._depth = None
|
||||
self._locality = None
|
||||
self._magnitude = None
|
||||
|
@ -94,7 +94,7 @@ class GeonetnzQuakesEvent(GeolocationEvent):
|
|||
async def async_added_to_hass(self) -> None:
|
||||
"""Call when entity is added to hass."""
|
||||
if self.hass.config.units is US_CUSTOMARY_SYSTEM:
|
||||
self._attr_unit_of_measurement = LENGTH_MILES
|
||||
self._attr_unit_of_measurement = UnitOfLength.MILES
|
||||
self._remove_signal_delete = async_dispatcher_connect(
|
||||
self.hass,
|
||||
f"geonetnz_quakes_delete_{self._external_id}",
|
||||
|
@ -138,7 +138,7 @@ class GeonetnzQuakesEvent(GeolocationEvent):
|
|||
# Convert distance if not metric system.
|
||||
if self.hass.config.units is US_CUSTOMARY_SYSTEM:
|
||||
self._attr_distance = DistanceConverter.convert(
|
||||
feed_entry.distance_to_home, LENGTH_KILOMETERS, LENGTH_MILES
|
||||
feed_entry.distance_to_home, UnitOfLength.KILOMETERS, UnitOfLength.MILES
|
||||
)
|
||||
else:
|
||||
self._attr_distance = feed_entry.distance_to_home
|
||||
|
|
|
@ -14,8 +14,7 @@ from homeassistant.const import (
|
|||
CONF_RADIUS,
|
||||
CONF_SCAN_INTERVAL,
|
||||
CONF_UNIT_SYSTEM,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import aiohttp_client, config_validation as cv
|
||||
|
@ -92,7 +91,9 @@ 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 == IMPERIAL_UNITS:
|
||||
radius = DistanceConverter.convert(radius, LENGTH_MILES, LENGTH_KILOMETERS)
|
||||
radius = DistanceConverter.convert(
|
||||
radius, UnitOfLength.MILES, UnitOfLength.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
|
||||
|
|
|
@ -5,12 +5,7 @@ import logging
|
|||
|
||||
from homeassistant.components.sensor import SensorEntity
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
ATTR_LATITUDE,
|
||||
ATTR_LONGITUDE,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
)
|
||||
from homeassistant.const import ATTR_LATITUDE, ATTR_LONGITUDE, UnitOfLength
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
@ -115,7 +110,9 @@ class GeonetnzVolcanoSensor(SensorEntity):
|
|||
if self._unit_system == IMPERIAL_UNITS:
|
||||
self._distance = round(
|
||||
DistanceConverter.convert(
|
||||
feed_entry.distance_to_home, LENGTH_KILOMETERS, LENGTH_MILES
|
||||
feed_entry.distance_to_home,
|
||||
UnitOfLength.KILOMETERS,
|
||||
UnitOfLength.MILES,
|
||||
),
|
||||
1,
|
||||
)
|
||||
|
|
|
@ -13,7 +13,7 @@ from homeassistant.components.sensor import (
|
|||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import LENGTH_METERS, SIGNAL_STRENGTH_DECIBELS_MILLIWATT
|
||||
from homeassistant.const import SIGNAL_STRENGTH_DECIBELS_MILLIWATT, UnitOfLength
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
@ -58,7 +58,7 @@ SENSOR_DESCRIPTIONS = (
|
|||
key="estimated_distance",
|
||||
name="Estimated Distance",
|
||||
icon="mdi:signal-distance-variant",
|
||||
native_unit_of_measurement=LENGTH_METERS,
|
||||
native_unit_of_measurement=UnitOfLength.METERS,
|
||||
value_fn=lambda ibeacon_advertisement: ibeacon_advertisement.distance,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
device_class=SensorDeviceClass.DISTANCE,
|
||||
|
|
|
@ -19,7 +19,7 @@ from homeassistant.const import (
|
|||
CONF_RADIUS,
|
||||
CONF_SCAN_INTERVAL,
|
||||
EVENT_HOMEASSISTANT_START,
|
||||
LENGTH_KILOMETERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import Event, HomeAssistant, callback
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
@ -146,7 +146,7 @@ class IgnSismologiaLocationEvent(GeolocationEvent):
|
|||
_attr_icon = "mdi:pulse"
|
||||
_attr_should_poll = False
|
||||
_attr_source = SOURCE
|
||||
_attr_unit_of_measurement = LENGTH_KILOMETERS
|
||||
_attr_unit_of_measurement = UnitOfLength.KILOMETERS
|
||||
|
||||
def __init__(
|
||||
self, feed_manager: IgnSismologiaFeedEntityManager, external_id: str
|
||||
|
|
|
@ -11,12 +11,7 @@ from typing import Any
|
|||
from life360 import Life360, Life360Error, LoginError
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
LENGTH_FEET,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_METERS,
|
||||
LENGTH_MILES,
|
||||
)
|
||||
from homeassistant.const import UnitOfLength
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.exceptions import ConfigEntryAuthFailed
|
||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||
|
@ -211,7 +206,7 @@ class Life360DataUpdateCoordinator(DataUpdateCoordinator[Life360Data]):
|
|||
speed = max(0, float(loc["speed"]) * SPEED_FACTOR_MPH)
|
||||
if self._hass.config.units is METRIC_SYSTEM:
|
||||
speed = DistanceConverter.convert(
|
||||
speed, LENGTH_MILES, LENGTH_KILOMETERS
|
||||
speed, UnitOfLength.MILES, UnitOfLength.KILOMETERS
|
||||
)
|
||||
|
||||
data.members[member_id] = Life360Member(
|
||||
|
@ -225,7 +220,9 @@ class Life360DataUpdateCoordinator(DataUpdateCoordinator[Life360Data]):
|
|||
# gps_accuracy in meters.
|
||||
round(
|
||||
DistanceConverter.convert(
|
||||
float(loc["accuracy"]), LENGTH_FEET, LENGTH_METERS
|
||||
float(loc["accuracy"]),
|
||||
UnitOfLength.FEET,
|
||||
UnitOfLength.METERS,
|
||||
)
|
||||
),
|
||||
dt_util.utc_from_timestamp(int(loc["timestamp"])),
|
||||
|
|
|
@ -12,12 +12,7 @@ from homeassistant.components.sensor import (
|
|||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
PERCENTAGE,
|
||||
PRESSURE_PSI,
|
||||
)
|
||||
from homeassistant.const import PERCENTAGE, PRESSURE_PSI, UnitOfLength
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import StateType
|
||||
|
@ -52,8 +47,8 @@ class MazdaSensorEntityDescription(
|
|||
def _get_distance_unit(unit_system: UnitSystem) -> str:
|
||||
"""Return the distance unit for the given unit system."""
|
||||
if unit_system is US_CUSTOMARY_SYSTEM:
|
||||
return LENGTH_MILES
|
||||
return LENGTH_KILOMETERS
|
||||
return UnitOfLength.MILES
|
||||
return UnitOfLength.KILOMETERS
|
||||
|
||||
|
||||
def _fuel_remaining_percentage_supported(data):
|
||||
|
@ -109,14 +104,18 @@ def _ev_remaining_range_supported(data):
|
|||
def _fuel_distance_remaining_value(data, unit_system):
|
||||
"""Get the fuel distance remaining value."""
|
||||
return round(
|
||||
unit_system.length(data["status"]["fuelDistanceRemainingKm"], LENGTH_KILOMETERS)
|
||||
unit_system.length(
|
||||
data["status"]["fuelDistanceRemainingKm"], UnitOfLength.KILOMETERS
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def _odometer_value(data, unit_system):
|
||||
"""Get the odometer value."""
|
||||
# In order to match the behavior of the Mazda mobile app, we always round down
|
||||
return int(unit_system.length(data["status"]["odometerKm"], LENGTH_KILOMETERS))
|
||||
return int(
|
||||
unit_system.length(data["status"]["odometerKm"], UnitOfLength.KILOMETERS)
|
||||
)
|
||||
|
||||
|
||||
def _front_left_tire_pressure_value(data, unit_system):
|
||||
|
@ -148,7 +147,7 @@ def _ev_remaining_range_value(data, unit_system):
|
|||
"""Get the remaining range value."""
|
||||
return round(
|
||||
unit_system.length(
|
||||
data["evStatus"]["chargeInfo"]["drivingRangeKm"], LENGTH_KILOMETERS
|
||||
data["evStatus"]["chargeInfo"]["drivingRangeKm"], UnitOfLength.KILOMETERS
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
@ -16,9 +16,8 @@ from homeassistant.const import (
|
|||
CONF_LATITUDE,
|
||||
CONF_LONGITUDE,
|
||||
EVENT_CORE_CONFIG_UPDATE,
|
||||
LENGTH_FEET,
|
||||
LENGTH_METERS,
|
||||
Platform,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import Event, HomeAssistant
|
||||
from homeassistant.exceptions import HomeAssistantError
|
||||
|
@ -161,7 +160,11 @@ class MetWeatherData:
|
|||
|
||||
if not self._is_metric:
|
||||
elevation = int(
|
||||
round(DistanceConverter.convert(elevation, LENGTH_FEET, LENGTH_METERS))
|
||||
round(
|
||||
DistanceConverter.convert(
|
||||
elevation, UnitOfLength.FEET, UnitOfLength.METERS
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
coordinates = {
|
||||
|
|
|
@ -6,7 +6,7 @@ import logging
|
|||
from voluptuous.validators import Number
|
||||
|
||||
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
|
||||
from homeassistant.const import LENGTH_KILOMETERS, LENGTH_MILES, PERCENTAGE
|
||||
from homeassistant.const import PERCENTAGE, UnitOfLength
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.icon import icon_for_battery_level
|
||||
|
@ -117,7 +117,9 @@ class LeafRangeSensor(LeafEntity, SensorEntity):
|
|||
return None
|
||||
|
||||
if self.car.hass.config.units is US_CUSTOMARY_SYSTEM or self.car.force_miles:
|
||||
ret = DistanceConverter.convert(ret, LENGTH_KILOMETERS, LENGTH_MILES)
|
||||
ret = DistanceConverter.convert(
|
||||
ret, UnitOfLength.KILOMETERS, UnitOfLength.MILES
|
||||
)
|
||||
|
||||
return round(ret)
|
||||
|
||||
|
@ -125,5 +127,5 @@ class LeafRangeSensor(LeafEntity, SensorEntity):
|
|||
def native_unit_of_measurement(self) -> str:
|
||||
"""Battery range unit."""
|
||||
if self.car.hass.config.units is US_CUSTOMARY_SYSTEM or self.car.force_miles:
|
||||
return LENGTH_MILES
|
||||
return LENGTH_KILOMETERS
|
||||
return UnitOfLength.MILES
|
||||
return UnitOfLength.KILOMETERS
|
||||
|
|
|
@ -21,7 +21,7 @@ from homeassistant.const import (
|
|||
CONF_SCAN_INTERVAL,
|
||||
EVENT_HOMEASSISTANT_START,
|
||||
EVENT_HOMEASSISTANT_STOP,
|
||||
LENGTH_KILOMETERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import Event, HomeAssistant, callback
|
||||
from homeassistant.helpers import aiohttp_client, config_validation as cv
|
||||
|
@ -181,7 +181,7 @@ class NswRuralFireServiceLocationEvent(GeolocationEvent):
|
|||
|
||||
_attr_should_poll = False
|
||||
_attr_source = SOURCE
|
||||
_attr_unit_of_measurement = LENGTH_KILOMETERS
|
||||
_attr_unit_of_measurement = UnitOfLength.KILOMETERS
|
||||
|
||||
def __init__(
|
||||
self, feed_manager: NswRuralFireServiceFeedEntityManager, external_id: str
|
||||
|
|
|
@ -11,10 +11,10 @@ from homeassistant.components.sensor import (
|
|||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
LENGTH_CENTIMETERS,
|
||||
PERCENTAGE,
|
||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||
TEMP_CELSIUS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.entity import EntityCategory
|
||||
|
@ -28,7 +28,7 @@ _LOGGER = logging.getLogger(__name__)
|
|||
SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
|
||||
SensorEntityDescription(
|
||||
key="dist",
|
||||
native_unit_of_measurement=LENGTH_CENTIMETERS,
|
||||
native_unit_of_measurement=UnitOfLength.CENTIMETERS,
|
||||
device_class=SensorDeviceClass.DISTANCE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
|
|
|
@ -14,8 +14,7 @@ from homeassistant.const import (
|
|||
CONF_LONGITUDE,
|
||||
CONF_NAME,
|
||||
CONF_RADIUS,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_METERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
@ -107,7 +106,7 @@ class OpenSkySensor(SensorEntity):
|
|||
self._latitude = latitude
|
||||
self._longitude = longitude
|
||||
self._radius = DistanceConverter.convert(
|
||||
radius, LENGTH_KILOMETERS, LENGTH_METERS
|
||||
radius, UnitOfLength.KILOMETERS, UnitOfLength.METERS
|
||||
)
|
||||
self._altitude = altitude
|
||||
self._state = 0
|
||||
|
|
|
@ -11,11 +11,7 @@ from homeassistant.const import (
|
|||
CONF_DEVICES,
|
||||
CONF_UNIT_OF_MEASUREMENT,
|
||||
CONF_ZONE,
|
||||
LENGTH_FEET,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_METERS,
|
||||
LENGTH_MILES,
|
||||
LENGTH_YARD,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, State
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
@ -42,11 +38,11 @@ DEFAULT_TOLERANCE = 1
|
|||
DOMAIN = "proximity"
|
||||
|
||||
UNITS = [
|
||||
LENGTH_METERS,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_FEET,
|
||||
LENGTH_YARD,
|
||||
LENGTH_MILES,
|
||||
UnitOfLength.METERS,
|
||||
UnitOfLength.KILOMETERS,
|
||||
UnitOfLength.FEET,
|
||||
UnitOfLength.YARDS,
|
||||
UnitOfLength.MILES,
|
||||
]
|
||||
|
||||
ZONE_SCHEMA = vol.Schema(
|
||||
|
@ -236,7 +232,7 @@ class Proximity(Entity):
|
|||
continue
|
||||
distances_to_zone[device] = round(
|
||||
DistanceConverter.convert(
|
||||
proximity, LENGTH_METERS, self.unit_of_measurement
|
||||
proximity, UnitOfLength.METERS, self.unit_of_measurement
|
||||
),
|
||||
1,
|
||||
)
|
||||
|
|
|
@ -19,7 +19,7 @@ from homeassistant.const import (
|
|||
CONF_RADIUS,
|
||||
CONF_SCAN_INTERVAL,
|
||||
EVENT_HOMEASSISTANT_START,
|
||||
LENGTH_KILOMETERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import Event, HomeAssistant, callback
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
@ -154,7 +154,7 @@ class QldBushfireLocationEvent(GeolocationEvent):
|
|||
_attr_icon = "mdi:fire"
|
||||
_attr_should_poll = False
|
||||
_attr_source = SOURCE
|
||||
_attr_unit_of_measurement = LENGTH_KILOMETERS
|
||||
_attr_unit_of_measurement = UnitOfLength.KILOMETERS
|
||||
|
||||
def __init__(
|
||||
self, feed_manager: QldBushfireFeedEntityManager, external_id: str
|
||||
|
|
|
@ -24,10 +24,10 @@ from homeassistant.components.sensor import (
|
|||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
LENGTH_KILOMETERS,
|
||||
PERCENTAGE,
|
||||
TEMP_CELSIUS,
|
||||
TIME_MINUTES,
|
||||
UnitOfLength,
|
||||
UnitOfPower,
|
||||
UnitOfVolume,
|
||||
)
|
||||
|
@ -246,7 +246,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
|
|||
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
|
||||
icon="mdi:ev-station",
|
||||
name="Battery autonomy",
|
||||
native_unit_of_measurement=LENGTH_KILOMETERS,
|
||||
native_unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
RenaultSensorEntityDescription(
|
||||
|
@ -287,7 +287,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
|
|||
entity_class=RenaultSensor[KamereonVehicleCockpitData],
|
||||
icon="mdi:sign-direction",
|
||||
name="Mileage",
|
||||
native_unit_of_measurement=LENGTH_KILOMETERS,
|
||||
native_unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||
state_class=SensorStateClass.TOTAL_INCREASING,
|
||||
value_lambda=_get_rounded_value,
|
||||
),
|
||||
|
@ -299,7 +299,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
|
|||
entity_class=RenaultSensor[KamereonVehicleCockpitData],
|
||||
icon="mdi:gas-station",
|
||||
name="Fuel autonomy",
|
||||
native_unit_of_measurement=LENGTH_KILOMETERS,
|
||||
native_unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
requires_fuel=True,
|
||||
value_lambda=_get_rounded_value,
|
||||
|
|
|
@ -11,9 +11,9 @@ from homeassistant.components.sensor import (
|
|||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
ELECTRIC_POTENTIAL_VOLT,
|
||||
LENGTH_KILOMETERS,
|
||||
PERCENTAGE,
|
||||
TEMP_CELSIUS,
|
||||
UnitOfLength,
|
||||
UnitOfVolume,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
@ -80,7 +80,7 @@ SENSOR_TYPES: tuple[StarlineSensorEntityDescription, ...] = (
|
|||
StarlineSensorEntityDescription(
|
||||
key="mileage",
|
||||
name_="Mileage",
|
||||
native_unit_of_measurement=LENGTH_KILOMETERS,
|
||||
native_unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||
device_class=SensorDeviceClass.DISTANCE,
|
||||
icon="mdi:counter",
|
||||
),
|
||||
|
|
|
@ -13,13 +13,7 @@ from homeassistant.components.sensor import (
|
|||
SensorStateClass,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
PERCENTAGE,
|
||||
PRESSURE_HPA,
|
||||
UnitOfVolume,
|
||||
)
|
||||
from homeassistant.const import PERCENTAGE, PRESSURE_HPA, UnitOfLength, UnitOfVolume
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import entity_registry as er
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
@ -55,7 +49,7 @@ FUEL_CONSUMPTION_LITERS_PER_HUNDRED_KILOMETERS = "L/100km"
|
|||
FUEL_CONSUMPTION_MILES_PER_GALLON = "mi/gal"
|
||||
|
||||
L_PER_GAL = VolumeConverter.convert(1, UnitOfVolume.GALLONS, UnitOfVolume.LITERS)
|
||||
KM_PER_MI = DistanceConverter.convert(1, LENGTH_MILES, LENGTH_KILOMETERS)
|
||||
KM_PER_MI = DistanceConverter.convert(1, UnitOfLength.MILES, UnitOfLength.KILOMETERS)
|
||||
|
||||
# Sensor available to "Subaru Safety Plus" subscribers with Gen1 or Gen2 vehicles
|
||||
SAFETY_SENSORS = [
|
||||
|
@ -64,7 +58,7 @@ SAFETY_SENSORS = [
|
|||
device_class=SensorDeviceClass.DISTANCE,
|
||||
icon="mdi:road-variant",
|
||||
name="Odometer",
|
||||
native_unit_of_measurement=LENGTH_KILOMETERS,
|
||||
native_unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||
state_class=SensorStateClass.TOTAL_INCREASING,
|
||||
),
|
||||
]
|
||||
|
@ -83,7 +77,7 @@ API_GEN_2_SENSORS = [
|
|||
device_class=SensorDeviceClass.DISTANCE,
|
||||
icon="mdi:gas-station",
|
||||
name="Range",
|
||||
native_unit_of_measurement=LENGTH_KILOMETERS,
|
||||
native_unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
|
@ -123,7 +117,7 @@ EV_SENSORS = [
|
|||
device_class=SensorDeviceClass.DISTANCE,
|
||||
icon="mdi:ev-station",
|
||||
name="EV range",
|
||||
native_unit_of_measurement=LENGTH_MILES,
|
||||
native_unit_of_measurement=UnitOfLength.MILES,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
|
|
|
@ -16,7 +16,7 @@ from homeassistant.const import (
|
|||
CONF_NAME,
|
||||
CONF_RADIUS,
|
||||
CONF_SHOW_ON_MAP,
|
||||
LENGTH_KILOMETERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.data_entry_flow import FlowResult
|
||||
|
@ -204,7 +204,7 @@ class FlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
min=1.0,
|
||||
max=25,
|
||||
step=0.1,
|
||||
unit_of_measurement=LENGTH_KILOMETERS,
|
||||
unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||
),
|
||||
),
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ from homeassistant.const import (
|
|||
ELECTRIC_CURRENT_AMPERE,
|
||||
ELECTRIC_POTENTIAL_VOLT,
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
LENGTH_CENTIMETERS,
|
||||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
PRESSURE_HPA,
|
||||
|
@ -36,6 +35,7 @@ from homeassistant.const import (
|
|||
TEMP_KELVIN,
|
||||
UnitOfApparentPower,
|
||||
UnitOfFrequency,
|
||||
UnitOfLength,
|
||||
UnitOfMass,
|
||||
UnitOfPower,
|
||||
)
|
||||
|
@ -217,7 +217,7 @@ SENSOR_UNIT_MAP = {
|
|||
hc.ELECTRICAL_VOLT_AMPERE: UnitOfApparentPower.VOLT_AMPERE,
|
||||
hc.ENERGY_KILO_WATT_HOUR: ENERGY_KILO_WATT_HOUR,
|
||||
hc.FREQUENCY_HERTZ: UnitOfFrequency.HERTZ,
|
||||
hc.LENGTH_CENTIMETERS: LENGTH_CENTIMETERS,
|
||||
hc.LENGTH_CENTIMETERS: UnitOfLength.CENTIMETERS,
|
||||
hc.LIGHT_LUX: LIGHT_LUX,
|
||||
hc.MASS_KILOGRAMS: UnitOfMass.KILOGRAMS,
|
||||
hc.PERCENTAGE: PERCENTAGE,
|
||||
|
|
|
@ -20,7 +20,7 @@ from homeassistant.const import (
|
|||
CONF_RADIUS,
|
||||
CONF_SCAN_INTERVAL,
|
||||
EVENT_HOMEASSISTANT_START,
|
||||
LENGTH_KILOMETERS,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers import aiohttp_client
|
||||
|
@ -48,7 +48,7 @@ CONF_MINIMUM_MAGNITUDE = "minimum_magnitude"
|
|||
|
||||
DEFAULT_MINIMUM_MAGNITUDE = 0.0
|
||||
DEFAULT_RADIUS_IN_KM = 50.0
|
||||
DEFAULT_UNIT_OF_MEASUREMENT = LENGTH_KILOMETERS
|
||||
DEFAULT_UNIT_OF_MEASUREMENT = UnitOfLength.KILOMETERS
|
||||
|
||||
SCAN_INTERVAL = timedelta(minutes=5)
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@ from homeassistant.config_entries import ConfigEntry
|
|||
from homeassistant.const import (
|
||||
ELECTRIC_CURRENT_AMPERE,
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
LENGTH_KILOMETERS,
|
||||
PERCENTAGE,
|
||||
UnitOfLength,
|
||||
UnitOfPower,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
@ -86,7 +86,7 @@ SENSOR_TYPES: dict[str, WallboxSensorEntityDescription] = {
|
|||
icon="mdi:map-marker-distance",
|
||||
name="Added Range",
|
||||
precision=0,
|
||||
native_unit_of_measurement=LENGTH_KILOMETERS,
|
||||
native_unit_of_measurement=UnitOfLength.KILOMETERS,
|
||||
device_class=SensorDeviceClass.DISTANCE,
|
||||
state_class=SensorStateClass.TOTAL_INCREASING,
|
||||
),
|
||||
|
|
|
@ -16,9 +16,8 @@ from homeassistant.const import (
|
|||
CONF_NAME,
|
||||
CONF_REGION,
|
||||
EVENT_HOMEASSISTANT_STARTED,
|
||||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILES,
|
||||
TIME_MINUTES,
|
||||
UnitOfLength,
|
||||
)
|
||||
from homeassistant.core import CoreState, HomeAssistant
|
||||
from homeassistant.helpers.device_registry import DeviceEntryType
|
||||
|
@ -210,7 +209,7 @@ class WazeTravelTimeData:
|
|||
if units == IMPERIAL_UNITS:
|
||||
# Convert to miles.
|
||||
self.distance = DistanceConverter.convert(
|
||||
distance, LENGTH_KILOMETERS, LENGTH_MILES
|
||||
distance, UnitOfLength.KILOMETERS, UnitOfLength.MILES
|
||||
)
|
||||
else:
|
||||
self.distance = distance
|
||||
|
|
Loading…
Reference in New Issue