Nhắc uống thuốc cho người cao tuổi. Gia đình cấu hình toa thuốc qua Zalo hoặc config UI. Hệ thống nhắc đúng giờ qua TTS + Zalo. Hỗ trợ nhiều thuốc, nhiều giờ, ghi nhận đã uống / chưa uống. Disabled by default — chỉ bật khi gia đình thêm toa thuốc.
Skill nhắc uống thuốc theo toa cho người cao tuổi. Disabled by default — chỉ hoạt động khi gia đình config toa thuốc.
Gia đình cấu hình qua chat hoặc lưu trực tiếp vào memory key eldercare_medication_list.
{
"enabled": true,
"medications": [
{
"name": "Thuốc huyết áp Amlodipine 5mg",
"short_name": "huyết áp",
"times": ["07:00", "21:00"],
"with_food": true,
"notes": "Uống sau ăn 30 phút"
},
{
"name": "Vitamin D3",
"short_name": "vitamin D",
"times": ["07:00"],
"with_food": false,
"notes": ""
},
{
"name": "Metformin 500mg",
"short_name": "tiểu đường",
"times": ["07:00", "18:00"],
"with_food": true,
"notes": "Uống ngay trước ăn"
}
]
}
Gia đình có thể nhắn chat:
Thêm thuốc: "thêm thuốc: huyết áp lúc 7h và 21h" hoặc "thêm thuốc Amlodipine 5mg lúc 7h sáng 21h tối"
eldercare_medication_list.medications[]Bỏ thuốc: "bỏ thuốc huyết áp" hoặc "xóa thuốc vitamin D"
Danh sách: "danh sách thuốc bà" hoặc "thuốc bà"
Tắt/bật: "tắt nhắc thuốc" → enabled = false, "bật nhắc thuốc" → enabled = true
Khi cron trigger:
eldercare_medication_listenabled === false → skip, không làm gìmedications rỗng → skiptimes[]: giờ hiện tại khớp với time nào? (±30 phút window)
b. Nếu không khớp → skip medication nàyVới mỗi thuốc cần nhắc:
eldercare_med_taken_{YYYYMMDD}_{short_name_normalized}
Nếu có thuốc CHƯA uống:
TTS qua loa phòng bà (dùng tool home_assistant với service tts.speak hoặc media_player.play_media):
with_food === true: thêm "Bà uống sau khi ăn nha!"Gửi Zalo/Telegram group gia đình (dùng messaging tool):
Nếu đây là cron buổi sau (ví dụ 12h) và thuốc buổi trước (7h) CHƯA uống:
eldercare_med_missed_{date}_{short_name})Gia đình hoặc bà xác nhận qua chat hoặc voice:
Lưu key eldercare_med_taken_{YYYYMMDD}_{short_name_normalized}:
{
"medication": "Thuốc huyết áp Amlodipine 5mg",
"short_name": "huyết áp",
"scheduled_time": "07:00",
"taken_time": "07:15",
"confirmed_by": "Con Lan (Zalo)",
"confirmed_at": "2026-02-20T07:15:00+07:00"
}
Reply: "✅ Đã ghi nhận bà uống thuốc {short_name} lúc {time}"
Skill eldercare-daily-report query medication status:
eldercare_medication_list → lấy danh sách thuốceldercare_med_taken_{today}_{name} → uống hay quên💊 Thuốc:
Huyết áp (Amlodipine): ✅ 7:15 + ✅ 21:00
Vitamin D: ✅ 7:15
Tiểu đường (Metformin): ✅ 7:15 + ⚠️ quên 18h
eldercare_medication_list tồn tại và enabled: trueSkill này hỗ trợ nhiều người thân:
eldercare_profiles từ memoryelder.ha_entities.* thay vì hardcoded entity nameseldercare_{elder.id}_* làm memory key prefixelder.name trong messages/TTSelder.contacts cho alert recipients (fallback global contacts)elder.tts.* cho TTS settingsmedia_player.grandma_room → elder.ha_entities.media_playereldercare_medication_list → eldercare_{elder.id}_medication_listeldercare_med_taken_{date}_{name} → eldercare_{elder.id}_med_taken_{date}_{name}eldercare_med_missed_{date}_{name} → eldercare_{elder.id}_med_missed_{date}_{name}elder.tts.rate (0.8), elder.tts.volume cho reminders