Improves battery level representation
Refactors battery level representation by using enum instead of string. Improves battery level display by adding an icon representation. Changes const BATLEVEL to BATTERY_LEVEL.pull/72/head^2
parent
de8d2a7b0c
commit
68da7aad98
|
|
@ -20,7 +20,7 @@ from homeassistant.helpers.translation import async_get_translations
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
AZIMUT,
|
AZIMUT,
|
||||||
BATLEVEL,
|
BATTERY_LEVEL,
|
||||||
DATABASE_PATH,
|
DATABASE_PATH,
|
||||||
DEV_DBG,
|
DEV_DBG,
|
||||||
OUTSIDE_HUMIDITY,
|
OUTSIDE_HUMIDITY,
|
||||||
|
|
@ -30,6 +30,7 @@ from .const import (
|
||||||
SENSORS_TO_LOAD,
|
SENSORS_TO_LOAD,
|
||||||
WIND_SPEED,
|
WIND_SPEED,
|
||||||
UnitOfDir,
|
UnitOfDir,
|
||||||
|
UnitOfBat,
|
||||||
)
|
)
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
@ -181,18 +182,32 @@ def wind_dir_to_text(deg: float) -> UnitOfDir | None:
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def battery_level_to_text(battery: int) -> str:
|
|
||||||
|
def battery_level_to_text(battery: int) -> UnitOfBat:
|
||||||
"""Return battery level in text representation.
|
"""Return battery level in text representation.
|
||||||
|
|
||||||
Returns UnitOfBat or None
|
Returns UnitOfBat
|
||||||
"""
|
"""
|
||||||
if battery is None:
|
|
||||||
return "unknown"
|
|
||||||
|
|
||||||
if battery is 0:
|
return {
|
||||||
return BATLEVEL[battery]
|
0: UnitOfBat.LOW,
|
||||||
elif battery is 1:
|
1: UnitOfBat.NORMAL,
|
||||||
return BATLEVEL[battery]
|
}.get(battery, UnitOfBat.UNKNOWN)
|
||||||
|
|
||||||
|
|
||||||
|
def battery_level_to_icon(battery: UnitOfBat) -> str:
|
||||||
|
"""Return battery level in icon representation.
|
||||||
|
|
||||||
|
Returns str
|
||||||
|
"""
|
||||||
|
|
||||||
|
icons = {
|
||||||
|
UnitOfBat.LOW: "mdi:battery-alert",
|
||||||
|
UnitOfBat.NORMAL: "mdi:battery",
|
||||||
|
}
|
||||||
|
|
||||||
|
return icons.get(battery, "mdi:battery-unknown")
|
||||||
|
|
||||||
|
|
||||||
def fahrenheit_to_celsius(fahrenheit: float) -> float:
|
def fahrenheit_to_celsius(fahrenheit: float) -> float:
|
||||||
"""Convert Fahrenheit to Celsius."""
|
"""Convert Fahrenheit to Celsius."""
|
||||||
|
|
@ -280,10 +295,12 @@ def long_term_units_in_statistics_meta():
|
||||||
db = conn.cursor()
|
db = conn.cursor()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
db.execute("""
|
db.execute(
|
||||||
|
"""
|
||||||
SELECT statistic_id, unit_of_measurement from statistics_meta
|
SELECT statistic_id, unit_of_measurement from statistics_meta
|
||||||
WHERE statistic_id LIKE 'sensor.weather_station_sws%'
|
WHERE statistic_id LIKE 'sensor.weather_station_sws%'
|
||||||
""")
|
"""
|
||||||
|
)
|
||||||
rows = db.fetchall()
|
rows = db.fetchall()
|
||||||
sensor_units = {
|
sensor_units = {
|
||||||
statistic_id: f"{statistic_id} ({unit})" for statistic_id, unit in rows
|
statistic_id: f"{statistic_id} ({unit})" for statistic_id, unit in rows
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue