add sleep_stage
This commit is contained in:
parent
f30a3bdb89
commit
2f47b68778
29
main.py
29
main.py
@ -287,6 +287,33 @@ class GadgetbridgeMQTT:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug(f"Sleep query failed: {e}")
|
logger.debug(f"Sleep query failed: {e}")
|
||||||
|
|
||||||
|
# Sleep Stage Data (current stage)
|
||||||
|
try:
|
||||||
|
cursor.execute(
|
||||||
|
"""
|
||||||
|
SELECT STAGE, TIMESTAMP
|
||||||
|
FROM XIAOMI_SLEEP_STAGE_SAMPLE
|
||||||
|
WHERE DEVICE_ID = ?
|
||||||
|
ORDER BY TIMESTAMP DESC
|
||||||
|
LIMIT 1
|
||||||
|
""",
|
||||||
|
(self.device_id,)
|
||||||
|
)
|
||||||
|
row = cursor.fetchone()
|
||||||
|
if row:
|
||||||
|
stage_code, stage_timestamp = row
|
||||||
|
|
||||||
|
stage_names = {
|
||||||
|
0: "awake", 1: "light_sleep", 2: "deep_sleep",
|
||||||
|
3: "rem_sleep", 4: "deep_sleep_v2", 5: "light_sleep_v2"
|
||||||
|
}
|
||||||
|
|
||||||
|
data["sleep_stage"] = stage_names.get(stage_code, f"unknown_{stage_code}")
|
||||||
|
data["sleep_stage_code"] = stage_code
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
logger.debug(f"Sleep stage query failed: {e}")
|
||||||
|
|
||||||
# Weight (not device-specific, from scale)
|
# Weight (not device-specific, from scale)
|
||||||
try:
|
try:
|
||||||
cursor.execute("SELECT WEIGHT_KG FROM MI_SCALE_WEIGHT_SAMPLE ORDER BY TIMESTAMP DESC LIMIT 1")
|
cursor.execute("SELECT WEIGHT_KG FROM MI_SCALE_WEIGHT_SAMPLE ORDER BY TIMESTAMP DESC LIMIT 1")
|
||||||
@ -325,6 +352,8 @@ class GadgetbridgeMQTT:
|
|||||||
("calories", "Calories", "kcal", "mdi:fire", "total_increasing", None),
|
("calories", "Calories", "kcal", "mdi:fire", "total_increasing", None),
|
||||||
("sleep_duration", "Sleep Duration", "h", "mdi:sleep", "measurement", None),
|
("sleep_duration", "Sleep Duration", "h", "mdi:sleep", "measurement", None),
|
||||||
("is_awake", "Is Awake", None, "mdi:power-sleep", None, None),
|
("is_awake", "Is Awake", None, "mdi:power-sleep", None, None),
|
||||||
|
("sleep_stage", "Sleep Stage", None, "mdi:sleep-cycle", "measurement", None),
|
||||||
|
("sleep_stage_code", "Sleep Stage Code", None, "mdi:numeric", "measurement", None),
|
||||||
("weight", "Weight", "kg", "mdi:scale-bathroom", "measurement", None),
|
("weight", "Weight", "kg", "mdi:scale-bathroom", "measurement", None),
|
||||||
("server_time", "Last Update", None, "mdi:clock-outline", None, "timestamp"),
|
("server_time", "Last Update", None, "mdi:clock-outline", None, "timestamp"),
|
||||||
]
|
]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user