Add TemperatureRecords module (#1814)

Adds the temp_record module, exposing thermostat temperature history
oldest first, converting missing readings to None, and refreshing every
15 minutes. Includes registration, exports, its missing-fixture
fallback, and module tests.
This commit is contained in:
ogent
2026-10-31 23:34:58 +00:00
committed by GitHub
parent 36f72ca753
commit df343f9d7d
5 changed files with 65 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
from datetime import timedelta
from kasa import Module
from kasa.smart import SmartDevice
from ...device_fixtures import parametrize
temperature_records = parametrize(
"has temperature records",
component_filter="temp_record",
protocol_filter={"SMART.CHILD"},
)
@temperature_records
async def test_temperature_records(dev: SmartDevice) -> None:
"""Test the thermostat temperature history."""
records = dev.modules[Module.TemperatureRecords]
temps = records.temperatures
assert len(temps) == 96
assert all(t is None or isinstance(t, float) for t in temps)
assert temps[-1] is not None
assert timedelta(minutes=15) == records.INTERVAL