mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Add 3 new fields to LaCrosse View (#86356)
* Add BarometricPressure, FeelsLike, and WindChill * Improve test coverage
This commit is contained in:
parent
7d1dec8d31
commit
94c7f7bbb7
@ -17,6 +17,7 @@ from homeassistant.const import (
|
|||||||
DEGREE,
|
DEGREE,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
UnitOfPrecipitationDepth,
|
UnitOfPrecipitationDepth,
|
||||||
|
UnitOfPressure,
|
||||||
UnitOfSpeed,
|
UnitOfSpeed,
|
||||||
UnitOfTemperature,
|
UnitOfTemperature,
|
||||||
)
|
)
|
||||||
@ -115,6 +116,30 @@ SENSOR_DESCRIPTIONS = {
|
|||||||
name="Flex",
|
name="Flex",
|
||||||
value_fn=get_value,
|
value_fn=get_value,
|
||||||
),
|
),
|
||||||
|
"BarometricPressure": LaCrosseSensorEntityDescription(
|
||||||
|
key="BarometricPressure",
|
||||||
|
name="Barometric pressure",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
value_fn=get_value,
|
||||||
|
device_class=SensorDeviceClass.ATMOSPHERIC_PRESSURE,
|
||||||
|
native_unit_of_measurement=UnitOfPressure.HPA,
|
||||||
|
),
|
||||||
|
"FeelsLike": LaCrosseSensorEntityDescription(
|
||||||
|
key="FeelsLike",
|
||||||
|
name="Feels like",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
value_fn=get_value,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
),
|
||||||
|
"WindChill": LaCrosseSensorEntityDescription(
|
||||||
|
key="WindChill",
|
||||||
|
name="Wind chill",
|
||||||
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
value_fn=get_value,
|
||||||
|
device_class=SensorDeviceClass.TEMPERATURE,
|
||||||
|
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,3 +96,14 @@ TEST_NO_FIELD_SENSOR = Sensor(
|
|||||||
permissions={"read": True},
|
permissions={"read": True},
|
||||||
model="Test",
|
model="Test",
|
||||||
)
|
)
|
||||||
|
TEST_MISSING_FIELD_DATA_SENSOR = Sensor(
|
||||||
|
name="Test",
|
||||||
|
device_id="1",
|
||||||
|
type="Test",
|
||||||
|
sensor_id="2",
|
||||||
|
sensor_field_names=["Temperature"],
|
||||||
|
location=Location(id="1", name="Test"),
|
||||||
|
data={"Temperature": None},
|
||||||
|
permissions={"read": True},
|
||||||
|
model="Test",
|
||||||
|
)
|
||||||
|
@ -14,6 +14,7 @@ from . import (
|
|||||||
TEST_ALREADY_FLOAT_SENSOR,
|
TEST_ALREADY_FLOAT_SENSOR,
|
||||||
TEST_ALREADY_INT_SENSOR,
|
TEST_ALREADY_INT_SENSOR,
|
||||||
TEST_FLOAT_SENSOR,
|
TEST_FLOAT_SENSOR,
|
||||||
|
TEST_MISSING_FIELD_DATA_SENSOR,
|
||||||
TEST_NO_FIELD_SENSOR,
|
TEST_NO_FIELD_SENSOR,
|
||||||
TEST_NO_PERMISSION_SENSOR,
|
TEST_NO_PERMISSION_SENSOR,
|
||||||
TEST_SENSOR,
|
TEST_SENSOR,
|
||||||
@ -131,3 +132,23 @@ async def test_no_field(hass: HomeAssistant, caplog: Any) -> None:
|
|||||||
assert len(entries) == 1
|
assert len(entries) == 1
|
||||||
assert entries[0].state == ConfigEntryState.LOADED
|
assert entries[0].state == ConfigEntryState.LOADED
|
||||||
assert hass.states.get("sensor.test_temperature").state == "unavailable"
|
assert hass.states.get("sensor.test_temperature").state == "unavailable"
|
||||||
|
|
||||||
|
|
||||||
|
async def test_field_data_missing(hass: HomeAssistant) -> None:
|
||||||
|
"""Test behavior when field data is missing."""
|
||||||
|
config_entry = MockConfigEntry(domain=DOMAIN, data=MOCK_ENTRY_DATA)
|
||||||
|
config_entry.add_to_hass(hass)
|
||||||
|
|
||||||
|
with patch("lacrosse_view.LaCrosse.login", return_value=True), patch(
|
||||||
|
"lacrosse_view.LaCrosse.get_sensors",
|
||||||
|
return_value=[TEST_MISSING_FIELD_DATA_SENSOR],
|
||||||
|
):
|
||||||
|
assert await hass.config_entries.async_setup(config_entry.entry_id)
|
||||||
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
assert hass.data[DOMAIN]
|
||||||
|
entries = hass.config_entries.async_entries(DOMAIN)
|
||||||
|
assert entries
|
||||||
|
assert len(entries) == 1
|
||||||
|
assert entries[0].state == ConfigEntryState.LOADED
|
||||||
|
assert hass.states.get("sensor.test_temperature").state == "unknown"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user