mirror of
https://github.com/home-assistant/core.git
synced 2025-07-20 11:47:06 +00:00
Fix withings bug that grabbed oldest value instead of the newest (#37362)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
This commit is contained in:
parent
58a9142f42
commit
a7cf76491b
@ -770,8 +770,13 @@ class DataManager:
|
|||||||
|
|
||||||
response = await self._hass.async_add_executor_job(self._api.measure_get_meas)
|
response = await self._hass.async_add_executor_job(self._api.measure_get_meas)
|
||||||
|
|
||||||
groups = query_measure_groups(
|
# Sort from oldest to newest.
|
||||||
response, MeasureTypes.ANY, MeasureGroupAttribs.UNAMBIGUOUS
|
groups = sorted(
|
||||||
|
query_measure_groups(
|
||||||
|
response, MeasureTypes.ANY, MeasureGroupAttribs.UNAMBIGUOUS
|
||||||
|
),
|
||||||
|
key=lambda group: group.created.datetime,
|
||||||
|
reverse=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
"""Tests for the Withings component."""
|
"""Tests for the Withings component."""
|
||||||
import time
|
|
||||||
from typing import Any
|
from typing import Any
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
@ -40,8 +39,8 @@ PERSON0 = new_profile_config(
|
|||||||
MeasureGetMeasGroup(
|
MeasureGetMeasGroup(
|
||||||
attrib=MeasureGetMeasGroupAttrib.DEVICE_ENTRY_FOR_USER,
|
attrib=MeasureGetMeasGroupAttrib.DEVICE_ENTRY_FOR_USER,
|
||||||
category=MeasureGetMeasGroupCategory.REAL,
|
category=MeasureGetMeasGroupCategory.REAL,
|
||||||
created=time.time(),
|
created=arrow.utcnow().shift(hours=-1),
|
||||||
date=time.time(),
|
date=arrow.utcnow().shift(hours=-1),
|
||||||
deviceid="DEV_ID",
|
deviceid="DEV_ID",
|
||||||
grpid=1,
|
grpid=1,
|
||||||
measures=(
|
measures=(
|
||||||
@ -87,11 +86,61 @@ PERSON0 = new_profile_config(
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
MeasureGetMeasGroup(
|
||||||
|
attrib=MeasureGetMeasGroupAttrib.DEVICE_ENTRY_FOR_USER,
|
||||||
|
category=MeasureGetMeasGroupCategory.REAL,
|
||||||
|
created=arrow.utcnow().shift(hours=-2),
|
||||||
|
date=arrow.utcnow().shift(hours=-2),
|
||||||
|
deviceid="DEV_ID",
|
||||||
|
grpid=1,
|
||||||
|
measures=(
|
||||||
|
MeasureGetMeasMeasure(type=MeasureType.WEIGHT, unit=0, value=71),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.FAT_MASS_WEIGHT, unit=0, value=51
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.FAT_FREE_MASS, unit=0, value=61
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.MUSCLE_MASS, unit=0, value=51
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(type=MeasureType.BONE_MASS, unit=0, value=11),
|
||||||
|
MeasureGetMeasMeasure(type=MeasureType.HEIGHT, unit=0, value=21),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.TEMPERATURE, unit=0, value=41
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.BODY_TEMPERATURE, unit=0, value=41
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.SKIN_TEMPERATURE, unit=0, value=21
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.FAT_RATIO, unit=-3, value=71
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.DIASTOLIC_BLOOD_PRESSURE, unit=0, value=71
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.SYSTOLIC_BLOOD_PRESSURE, unit=0, value=101
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.HEART_RATE, unit=0, value=61
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(type=MeasureType.SP02, unit=-2, value=96),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.HYDRATION, unit=-2, value=96
|
||||||
|
),
|
||||||
|
MeasureGetMeasMeasure(
|
||||||
|
type=MeasureType.PULSE_WAVE_VELOCITY, unit=0, value=101
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
MeasureGetMeasGroup(
|
MeasureGetMeasGroup(
|
||||||
attrib=MeasureGetMeasGroupAttrib.DEVICE_ENTRY_FOR_USER_AMBIGUOUS,
|
attrib=MeasureGetMeasGroupAttrib.DEVICE_ENTRY_FOR_USER_AMBIGUOUS,
|
||||||
category=MeasureGetMeasGroupCategory.REAL,
|
category=MeasureGetMeasGroupCategory.REAL,
|
||||||
created=time.time(),
|
created=arrow.utcnow(),
|
||||||
date=time.time(),
|
date=arrow.utcnow(),
|
||||||
deviceid="DEV_ID",
|
deviceid="DEV_ID",
|
||||||
grpid=1,
|
grpid=1,
|
||||||
measures=(
|
measures=(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user