diff --git a/homeassistant/components/huawei_lte/sensor.py b/homeassistant/components/huawei_lte/sensor.py index 4ef88eb783e..da78dc7d8cf 100644 --- a/homeassistant/components/huawei_lte/sensor.py +++ b/homeassistant/components/huawei_lte/sensor.py @@ -137,7 +137,9 @@ def format_default(value): unit = None if value is not None: # Clean up value and infer unit, e.g. -71dBm, 15 dB - match = re.match(r"(?P.+?)\s*(?P[a-zA-Z]+)\s*$", str(value)) + match = re.match( + r"([>=<]*)(?P.+?)\s*(?P[a-zA-Z]+)\s*$", str(value) + ) if match: try: value = float(match.group("value")) diff --git a/tests/components/huawei_lte/test_sensor.py b/tests/components/huawei_lte/test_sensor.py new file mode 100644 index 00000000000..f9834349750 --- /dev/null +++ b/tests/components/huawei_lte/test_sensor.py @@ -0,0 +1,14 @@ +"""Huawei LTE sensor tests.""" + +import pytest + +from homeassistant.components.huawei_lte import sensor + + +@pytest.mark.parametrize( + ("value", "expected"), + (("-71 dBm", (-71, "dBm")), ("15dB", (15, "dB")), (">=-51dBm", (-51, "dBm"))), +) +def test_format_default(value, expected): + """Test that default formatter copes with expected values.""" + assert sensor.format_default(value) == expected