Hướng dẫn bài tập nhẹ cho người cao tuổi nằm giường hoặc ngồi. TTS đọc từng bước chậm rãi, đếm giữ, nghỉ giữa các bài. Trigger: Gia đình nhắn "tập thể dục cho bà" hoặc cron hàng ngày. Tất cả bài tập AN TOÀN cho người 90+ nằm giường. Disabled by default — gia đình bật khi sẵn sàng.
QUAN TRỌNG: Bài tập này được thiết kế cho người cao tuổi khi nằm giường hoặc ngồi. Tuy nhiên, MỌI chương trình tập luyện nên được bác sĩ duyệt trước khi bắt đầu. Nếu bà đau hoặc khó chịu khi tập → DỪNG NGAY và thông báo gia đình.
| # | Bài tập | Mô tả TTS | Thời gian |
|---|---|---|---|
| 1 | Thở sâu | "Bà hít vào từ từ... giữ... thở ra chậm..." | 5 lần x 10s |
| 2 | Xoay cổ tay | "Bà xoay cổ tay phải tròn tròn nha... đổi bên..." | 10 vòng x 2 tay |
| 3 | Co duỗi ngón tay |
| "Bà nắm tay lại... mở ra... nắm lại..." |
| 10 lần x 2 tay |
| 4 | Nâng tay | "Bà nâng tay phải lên từ từ... hạ xuống..." | 5 lần x 2 tay |
| 5 | Co duỗi chân | "Bà co đầu gối phải lên... duỗi ra..." | 5 lần x 2 chân |
| 6 | Xoay cổ chân | "Bà xoay cổ chân phải tròn tròn..." | 10 vòng x 2 chân |
| 7 | Thở sâu kết thúc | "Bà hít thở sâu... giỏi lắm, bà tập xong rồi!" | 3 lần |
Tổng: ~10 phút
Bài 1-7 của Level 1, cộng thêm:
| # | Bài tập | Mô tả TTS | Thời gian |
|---|---|---|---|
| 8 | Xoay vai | "Bà xoay vai phải lên, ra sau, xuống... đổi bên..." | 10 vòng x 2 vai |
| 9 | Nghiêng người | "Bà nghiêng người qua phải từ từ... thẳng lại... qua trái..." | 5 lần mỗi bên |
| 10 | Nâng chân ngồi | "Bà nâng chân phải lên khỏi ghế từ từ... hạ xuống..." | 5 lần x 2 chân |
Tổng: ~15 phút
Bài 1-10 của Level 2, cộng thêm:
| # | Bài tập | Mô tả TTS | Thời gian |
|---|---|---|---|
| 11 | Đứng vịn ghế | "Bà vịn ghế đứng dậy từ từ... giữ 10 giây... ngồi xuống..." | 3 lần |
| 12 | Bước tại chỗ | "Bà bước chân tại chỗ nha... trái... phải... trái..." | 20 bước |
| 13 | Kiễng chân | "Bà kiễng gót chân lên... hạ xuống..." | 5 lần |
Tổng: ~20 phút
Khi trigger (chat hoặc cron 9h):
Check eldercare_exercise_config trong memory → enabled?
Check bà thức:
action: get_state
entity_id: sensor.grandma_room_motion_minutes
eldercare_exercise_retry_{date} → retry 10hCheck không trùng event:
eldercare_sos_active tồn tại? → skipeldercare_call_active tồn tại? → skipBắt đầu:
TTS: "Bà ơi, mình tập thể dục nhẹ nha! Bà sẵn sàng chưa?"
Dùng tool home_assistant:
action: call_service
domain: tts
service: speak
target: { entity_id: media_player.grandma_room }
data: { message: "Bà ơi, mình tập thể dục nhẹ nha!", language: "vi" }
Chờ 5 giây.
Với mỗi bài tập trong Level hiện tại:
TTS: "Bài {số}: {tên bài}"
[Chờ 2 giây]
TTS: "{Mô tả động tác chi tiết}"
[Đếm TTS: "Một... hai... ba..." — pace 1 số / 3 giây]
TTS: "Nghỉ một chút nha bà..."
[Chờ 10 giây]
Kết thúc:
TTS: "Bà tập xong rồi! Giỏi quá! Bà uống miếng nước nha!"
Lưu memory:
Key: eldercare_exercise_{YYYY-MM-DD}
{
"date": "2026-02-20",
"level": 1,
"started_at": "09:15",
"duration_min": 10,
"completed": true
}
Gửi Zalo group: "🏋️ Bà đã tập thể dục sáng nay (10 phút, Level 1)"
action: call_service
domain: media_player
service: volume_set
target: { entity_id: media_player.grandma_room }
data: { volume_level: 1.0 }
🏋️ Thể dục: Tập lúc 9:15 (Level 1, 10 phút) ✅
hoặc
🏋️ Thể dục: Chưa tập hôm nay
Skill 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 settingssensor.grandma_room_motion_minutes → elder.ha_entities.motionmedia_player.grandma_room → elder.ha_entities.media_playereldercare_exercise_config → eldercare_{elder.id}_exercise_configeldercare_exercise_{date} → eldercare_{elder.id}_exercise_{date}eldercare_exercise_retry_{date} → eldercare_{elder.id}_exercise_retry_{date}eldercare_sos_active → eldercare_{elder.id}_sos_activeeldercare_call_active → eldercare_{elder.id}_call_activeelder.tts.*, adjust exercise difficulty based on elder.mobility