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_RADIUS,
CONF_SCAN_INTERVAL, CONF_SCAN_INTERVAL,
CONF_UNIT_SYSTEM, CONF_UNIT_SYSTEM,
CONF_UNIT_SYSTEM_IMPERIAL,
LENGTH_KILOMETERS, LENGTH_KILOMETERS,
LENGTH_MILES, LENGTH_MILES,
) )
@ -26,7 +25,14 @@ from homeassistant.helpers.typing import ConfigType
from homeassistant.util.unit_conversion import DistanceConverter 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,
IMPERIAL_UNITS,
PLATFORMS,
)
_LOGGER = logging.getLogger(__name__) _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] 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 == IMPERIAL_UNITS:
radius = DistanceConverter.convert(radius, LENGTH_MILES, LENGTH_KILOMETERS) 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)

View File

@ -8,14 +8,18 @@ from homeassistant.const import (
CONF_RADIUS, CONF_RADIUS,
CONF_SCAN_INTERVAL, CONF_SCAN_INTERVAL,
CONF_UNIT_SYSTEM, CONF_UNIT_SYSTEM,
CONF_UNIT_SYSTEM_IMPERIAL,
CONF_UNIT_SYSTEM_METRIC,
) )
from homeassistant.core import callback from homeassistant.core import callback
from homeassistant.helpers import config_validation as cv from homeassistant.helpers import config_validation as cv
from homeassistant.util.unit_system import IMPERIAL_SYSTEM 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 @callback
@ -59,9 +63,9 @@ class GeonetnzVolcanoFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
return await self._show_form({"base": "already_configured"}) return await self._show_form({"base": "already_configured"})
if self.hass.config.units is IMPERIAL_SYSTEM: 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: 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) scan_interval = user_input.get(CONF_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL)
user_input[CONF_SCAN_INTERVAL] = scan_interval.total_seconds() 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) DEFAULT_SCAN_INTERVAL = timedelta(minutes=5)
PLATFORMS = [Platform.SENSOR] PLATFORMS = [Platform.SENSOR]
IMPERIAL_UNITS = "imperial"
METRIC_UNITS = "metric"

View File

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