Use local UNIT constants in geonetnz_volcano (#80323)

This commit is contained in:
epenet 2022-10-14 14:53:04 +02:00 committed by GitHub
parent b42e26fbdd
commit 70702f3377
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 10 deletions

View File

@ -14,7 +14,6 @@ from homeassistant.const import (
CONF_RADIUS,
CONF_SCAN_INTERVAL,
CONF_UNIT_SYSTEM,
CONF_UNIT_SYSTEM_IMPERIAL,
LENGTH_KILOMETERS,
LENGTH_MILES,
)
@ -26,7 +25,14 @@ from homeassistant.helpers.typing import ConfigType
from homeassistant.util.unit_conversion import DistanceConverter
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,
IMPERIAL_UNITS,
PLATFORMS,
)
_LOGGER = logging.getLogger(__name__)
@ -85,7 +91,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:
if unit_system == IMPERIAL_UNITS:
radius = DistanceConverter.convert(radius, LENGTH_MILES, LENGTH_KILOMETERS)
# Create feed entity manager for all platforms.
manager = GeonetnzVolcanoFeedEntityManager(hass, config_entry, radius, unit_system)

View File

@ -8,14 +8,18 @@ from homeassistant.const import (
CONF_RADIUS,
CONF_SCAN_INTERVAL,
CONF_UNIT_SYSTEM,
CONF_UNIT_SYSTEM_IMPERIAL,
CONF_UNIT_SYSTEM_METRIC,
)
from homeassistant.core import callback
from homeassistant.helpers import config_validation as cv
from homeassistant.util.unit_system import IMPERIAL_SYSTEM
from .const import DEFAULT_RADIUS, DEFAULT_SCAN_INTERVAL, DOMAIN
from .const import (
DEFAULT_RADIUS,
DEFAULT_SCAN_INTERVAL,
DOMAIN,
IMPERIAL_UNITS,
METRIC_UNITS,
)
@callback
@ -59,9 +63,9 @@ class GeonetnzVolcanoFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
return await self._show_form({"base": "already_configured"})
if self.hass.config.units is IMPERIAL_SYSTEM:
user_input[CONF_UNIT_SYSTEM] = CONF_UNIT_SYSTEM_IMPERIAL
user_input[CONF_UNIT_SYSTEM] = IMPERIAL_UNITS
else:
user_input[CONF_UNIT_SYSTEM] = CONF_UNIT_SYSTEM_METRIC
user_input[CONF_UNIT_SYSTEM] = METRIC_UNITS
scan_interval = user_input.get(CONF_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL)
user_input[CONF_SCAN_INTERVAL] = scan_interval.total_seconds()

View File

@ -18,3 +18,6 @@ DEFAULT_RADIUS = 50.0
DEFAULT_SCAN_INTERVAL = timedelta(minutes=5)
PLATFORMS = [Platform.SENSOR]
IMPERIAL_UNITS = "imperial"
METRIC_UNITS = "metric"

View File

@ -9,7 +9,6 @@ from homeassistant.const import (
ATTR_ATTRIBUTION,
ATTR_LATITUDE,
ATTR_LONGITUDE,
CONF_UNIT_SYSTEM_IMPERIAL,
LENGTH_KILOMETERS,
LENGTH_MILES,
)
@ -27,6 +26,7 @@ from .const import (
DEFAULT_ICON,
DOMAIN,
FEED,
IMPERIAL_UNITS,
)
_LOGGER = logging.getLogger(__name__)
@ -113,7 +113,7 @@ class GeonetnzVolcanoSensor(SensorEntity):
"""Update the internal state from the provided feed entry."""
self._title = feed_entry.title
# Convert distance if not metric system.
if self._unit_system == CONF_UNIT_SYSTEM_IMPERIAL:
if self._unit_system == IMPERIAL_UNITS:
self._distance = round(
DistanceConverter.convert(
feed_entry.distance_to_home, LENGTH_KILOMETERS, LENGTH_MILES