Kani Health · Shortcuts

ต่อ Apple Health เข้าเคน
ฉบับประกอบเองทีละแอ็กชัน

ทำครั้งเดียว แล้วมันส่งข้อมูลสุขภาพเข้าระบบเคนเองทุกเช้า — ไม่ต้องจ่ายอะไรเลย

ฟรี 100%ใช้เวลา ~15 นาทีทำบนไอโฟนอย่างเดียว

ภาพรวม

ระบบนี้ทำงานยังไง

06:00 ทุกเช้า ไอโฟนตื่นมาทำงานเอง
① เปิดแอป Huawei Health → นาฬิกาซิงก์ข้อมูลเข้า Apple Health
② คำสั่งลัดอ่านค่าจาก Apple Health (ก้าว · นอน · ชีพจร · น้ำหนัก …)
③ ยิงเป็น JSON เข้า kani-health.pages.dev (พักไว้บนคลาวด์)
④ Mac ตื่นมาดูดเข้าเครื่องเอง → เคนเอาไปจัดคิวงานให้เช้านั้น
8
ค่าสุขภาพที่ส่งเข้าระบบ
27
แอ็กชันในคำสั่งลัด
0฿
ค่าใช้จ่ายทั้งหมด

ขั้นที่ 0

เช็ค 3 อย่างก่อนเริ่ม

1. นาฬิกา Huawei ต้องซิงก์เข้า Apple Health แล้ว
เปิดแอป สุขภาพ ของ Apple → แตะจำนวนก้าววันนี้ → เลื่อนล่างสุด → แหล่งข้อมูลและการเข้าถึง
ต้องเห็น Huawei Health และสวิตช์เปิดอยู่ — ถ้าไม่มี ให้เข้าแอป Huawei Health → ฉัน → การตั้งค่า → เชื่อมกับ Apple Health → เปิดทุกหมวด
2. กุญแจต้องอยู่ในคลิปบอร์ด
ที่เครื่อง Mac รันคำสั่งนี้ แล้วกุญแจจะข้ามมาไอโฟนเองผ่าน Universal Clipboard
security find-generic-password -a "$USER" -s kani-health-key -w | tr -d '\n' | pbcopy
ห้ามพิมพ์กุญแจลงในแชท/โน้ต — วางอย่างเดียวพอ
3. เปิดแอป “คำสั่งลัด” ค้างไว้
ถ้าเคยสร้างอันเก่าที่ยังไม่เสร็จไว้ ลบทิ้งก่อนได้เลย เริ่มใหม่จะเร็วกว่าตามแก้

ขั้นที่ 1

สร้างการทำงานอัตโนมัติ

1
เปิดแอป คำสั่งลัด → แท็บล่าง อัตโนมัติ → ปุ่ม + มุมขวาบน
2
เลือก เวลาของวัน → ตั้ง 06:00ทุกวัน
3
การทำงานอัตโนมัติ = “สั่งทำงานทันที” · ปิดสวิตช์ แจ้งเตือนเมื่อสั่งทำงาน (ไม่งั้นเด้งทุกเช้า)
4
กด ถัดไป → เลือก คำสั่งลัดใหม่ (ถ้ามันเสนอแอปมาให้ ข้ามไปก่อน เดี๋ยวเราใส่เอง)

ขั้นที่ 2

ใส่แอ็กชันตามตารางนี้ทีละแถว

วิธีใส่: กดช่อง ค้นหาแอปและการกระทำ ด้านล่าง → พิมพ์ชื่อแอ็กชัน → แตะเลือก → แล้วตั้งค่าตามคอลัมน์ขวา
รูปแบบซ้ำกันทุกค่า: ค้นหา → คำนวณ → ตั้งค่าตัวแปร

#แอ็กชันตั้งค่า
เตรียม — ปลุกให้นาฬิกาซิงก์ก่อน
1เปิดแอปเลือก Huawei Health
2รอ15 วินาที
ค่าที่ 1 — จำนวนก้าว
3ค้นหาตัวอย่างสุขภาพประเภท คือ Steps · เพิ่มฟิลเตอร์ วันที่เริ่มต้น คือวันนี้ · หน่วย จำนวน
4คำนวณสถิติผลรวม
5ตั้งค่าตัวแปรชื่อ steps
ค่าที่ 2 — การนอน (บล็อกนี้มี 4 แอ็กชัน ไม่ใช่ 3)
6ค้นหาตัวอย่างสุขภาพประเภท คือ Sleep Analysis · ฟิลเตอร์ วันที่สิ้นสุด คือวันนี้ ⚠️ ไม่ใช่วันที่เริ่มต้น
7รับรายละเอียดของตัวอย่างสุขภาพ
แอ็กชันนี้มีเฉพาะบล็อกการนอน
รายละเอียด = ระยะเวลา
ถ้าไม่ใส่จะขึ้น error “คำสั่งลัดไม่สามารถแปลงจากข้อความเป็นตัวเลขได้”
8คำนวณสถิติผลรวม
9ตั้งค่าตัวแปรชื่อ sleep
ค่าที่ 3 — ชีพจรขณะพัก
10ค้นหาตัวอย่างสุขภาพประเภท Resting Heart Rate · วันที่เริ่มต้น คือวันนี้
11คำนวณสถิติค่าเฉลี่ย
12ตั้งค่าตัวแปรชื่อ rhr
ค่าที่ 4 — HRV (ตัวชี้ว่าร่างกายฟื้นตัวไหม)
13ค้นหาตัวอย่างสุขภาพประเภท Heart Rate Variability · วันที่เริ่มต้น คือวันนี้
14คำนวณสถิติค่าเฉลี่ย
15ตั้งค่าตัวแปรชื่อ hrv
ค่าที่ 5 — แคลอรีที่เผา
16ค้นหาตัวอย่างสุขภาพประเภท Active Energy · วันที่เริ่มต้น คือวันนี้ · หน่วย แคลอรี
17คำนวณสถิติผลรวม
18ตั้งค่าตัวแปรชื่อ kcal
ค่าที่ 6 — นาทีออกกำลังกาย
19ค้นหาตัวอย่างสุขภาพประเภท Exercise Time (หรือ Apple Exercise Time) · วันที่เริ่มต้น คือวันนี้ · หน่วย นาที
20คำนวณสถิติผลรวม
21ตั้งค่าตัวแปรชื่อ exmin
ค่าที่ 7 — ระยะทางเดิน/วิ่ง
22ค้นหาตัวอย่างสุขภาพประเภท Walking + Running Distance · วันที่เริ่มต้น คือวันนี้ · หน่วย กิโลเมตร
23คำนวณสถิติผลรวม
24ตั้งค่าตัวแปรชื่อ km
ค่าที่ 8 — น้ำหนัก (ตั้งค่าไม่เหมือนอันอื่น)
25ค้นหาตัวอย่างสุขภาพประเภท Weight · ไม่ต้องใส่ฟิลเตอร์วัน · เรียงตาม วันที่เริ่มต้น แบบ ล่าสุดก่อน · เปิด จำกัด = 1 รายการ · หน่วย กิโลกรัม
26คำนวณสถิติค่าเฉลี่ย (มีค่าเดียวอยู่แล้ว จะได้เลขนั้นเลย)
27ตั้งค่าตัวแปรชื่อ weight
⚠️ ทำไมการนอนต้องมีแอ็กชันเพิ่มมา 1 อัน
ข้อมูลการนอนไม่ใช่ตัวเลข มันเป็น หมวดหมู่ (หลับ / อยู่บนเตียง / ตื่น) — “คำนวณสถิติ” เลยบวกให้ไม่ได้
ต้องผ่าน รับรายละเอียดของตัวอย่างสุขภาพ → ระยะเวลา ก่อน ถึงจะกลายเป็นตัวเลขที่บวกได้
ค่าที่ได้จะเป็นวินาทีหรือนาทีก็ไม่เป็นไร ระบบฝั่งเราแปลงเป็นชั่วโมงให้เองอัตโนมัติ
⚠️ ทำไมน้ำหนักต้องตั้งต่างจากอันอื่น
น้ำหนักไม่ได้ชั่งทุกวัน — ถ้ากรอง “วันนี้” แล้ววันไหนไม่ได้ชั่ง ค่าจะว่างและทั้งคำสั่งลัดอาจพัง
เลยใช้วิธี หยิบค่าล่าสุดที่มีมา 1 อัน แทน ไม่ว่าจะชั่งวันไหนก็ตาม

ขั้นที่ 3

แอ็กชันสุดท้าย — ตัวยิงข้อมูลออก

ค้นคำว่า “รับเนื้อหาของ URL” → ใส่ตามนี้ (กด แสดงเพิ่มเติม เพื่อให้เห็นช่องวิธี/ส่วนหัว/เนื้อหา)

ช่องใส่อะไร
URLhttps://kani-health.pages.dev/api/ingest
วิธีPOST
ส่วนหัวแถวนี้มี 2 ช่องช่องซ้าย (คีย์) พิมพ์ x-kani-key · ช่องขวา (ค่า) วางกุญแจ
⚠️ ใส่สลับช่องกันบ่อยมาก — ช่องซ้ายที่ขึ้นคำว่า “ป้อน” คือช่องคีย์
เนื้อหาคำขอJSON

แล้วกดปุ่ม ➕ เพิ่มช่องใหม่ (อยู่ล่างสุด ใต้บรรทัด “ขอเนื้อหา JSON”) ทีละอัน ให้ครบ 9 ช่อง (ชนิด ข้อความ ทุกอัน · ค่าให้แตะแล้วเลือก ตัวแปร ที่ตั้งไว้):

ชื่อช่องค่าคือค่าอะไร
sourceพิมพ์ว่า shortcutsบอกระบบว่าข้อมูลมาจากทางไหน
stepsตัวแปร stepsจำนวนก้าว
sleep_hoursตัวแปร sleepชั่วโมงที่นอน
resting_hrตัวแปร rhrชีพจรขณะพัก
hrvตัวแปร hrvความแปรปรวนหัวใจ
kcalตัวแปร kcalแคลอรีที่เผา
workout_minตัวแปร exminนาทีออกกำลัง
kmตัวแปร kmระยะทาง
weight_kgตัวแปร weightน้ำหนักล่าสุด
วิธีใส่ค่าที่เป็นตัวแปร
แตะช่องค่า → แถบเหนือคีย์บอร์ดจะโชว์ชื่อตัวแปรที่ตั้งไว้ (steps · sleep · rhr …) → แตะเลือกอันที่ต้องการ
ชนิดของช่องเลือก ข้อความ ได้ทุกอัน ระบบฝั่งเราแปลงเป็นตัวเลขให้เอง
✅ ชื่อช่องชุดนี้ทดสอบกับระบบจริงแล้ว
ยิงเข้าไปแล้วฝั่ง Mac อ่านได้ครบทุกค่า (8 ส.ค. 2569) — ถ้าสะกดตรงตามตารางนี้ รับรองว่าเข้าระบบแน่นอน

ขั้นที่ 4

ทดสอบก่อนปล่อยจริง

1
กดปุ่ม ▶️ เล่น มุมล่างขวา — ครั้งแรกจะขึ้นขออนุญาตอ่านข้อมูลสุขภาพ ให้กด อนุญาต ทุกอัน
2
ผลลัพธ์ต้องขึ้นประมาณนี้ {"ok":true,"date":"2026-08-08","saved":1}
ถ้าขึ้น กุญแจไม่ถูก = วางกุญแจผิด/มีช่องว่างติดมา ให้ก๊อปใหม่แล้ววางซ้ำ
3
กด เสร็จสิ้น เพื่อบันทึก แล้วบอกเคน — ฝั่ง Mac จะเช็คด้วยคำสั่ง health.py status ว่าข้อมูลเข้าจริงไหม

ขั้นที่ 5

เจอปัญหาแบบนี้ แก้ยังไง

นอนได้ 0 ชั่วโมง
กรองผิดช่อง — ต้องใช้ วันที่สิ้นสุด คือวันนี้ เพราะการนอนเริ่มตั้งแต่เมื่อคืน ถ้ากรองด้วยวันที่เริ่มต้นจะไม่เจออะไรเลย
ค่าเป็น 0 หมดทุกอัน แต่ในแอปสุขภาพมีข้อมูล
คำสั่งลัดยังไม่ได้สิทธิ์อ่าน — เข้า ตั้งค่า → ความเป็นส่วนตัวและความปลอดภัย → สุขภาพ → คำสั่งลัด แล้วเปิดให้ครบทุกชนิด
ก้าว/ชีพจรมา แต่ค่าจากนาฬิกาไม่มา
นาฬิกา Huawei ซิงก์เข้า Apple Health เฉพาะตอนเปิดแอป — ต้องมีแอ็กชัน เปิด Huawei Health + รอ 15 วินาที เป็น 2 อันแรกเสมอ
น้ำหนักว่าง
อย่ากรองวัน ให้ใช้ เรียงล่าสุดก่อน + จำกัด 1 รายการ ตามตารางแถวที่ 24
ตอนเช้าไม่วิ่งเอง
เข้าไปแก้ที่ automation ให้เป็น “สั่งทำงานทันที” ไม่ใช่ “ถามก่อนเรียกใช้” · และเครื่องต้องไม่อยู่ในโหมดพลังงานต่ำจัด
อยากได้เฟสการนอน (ลึก / ตื้น / REM)
คำสั่งลัดทำไม่ได้ — ได้แค่ชั่วโมงรวม ถ้าอยากได้ละเอียดต้องใช้แอป Health Webhook (฿249 จ่ายครั้งเดียว) ซึ่งตั้งแค่ URL กับกุญแจเหมือนกันเป๊ะ ท่อฝั่งเรารับได้อยู่แล้ว

ภาคผนวก

ฝั่งเครื่องทำไว้ให้หมดแล้ว

คำสั่งทำอะไร
health.py statusเช็คว่าท่อมีชีวิต + ไอโฟนส่งเข้ามาล่าสุดเมื่อไหร่
health.py pullดูดของใหม่เข้าเครื่อง (รูทีนเช้าของเคนเรียกให้เองอยู่แล้ว)
health.py todayสรุปของวันนี้
health.py week --days 7ย้อนหลัง 7 วัน + ค่าเฉลี่ย
health_import.py export.zipแกะข้อมูลย้อนหลังทั้งชีวิตจากแอปสุขภาพเข้าคลัง
เคนจะเอาไปใช้ยังไง
ใช้ จัดคิวงาน ไม่ใช่วินิจฉัยโรค — เช่นนอนน้อย 2 คืนติดหรือชีพจรพักสูงกว่าปกติ เคนจะไม่อัดงานที่ต้องคิดหนักไว้ช่วงเช้าวันนั้น
Kani Health · ท่อข้อมูลสุขภาพส่วนตัวของโบ๊ท
ข้อมูลวิ่งผ่าน HTTPS เข้าที่พักบนคลาวด์ของเราเอง ไม่ผ่านเซิร์ฟเวอร์ของใคร · ทุกปลายทางต้องมีกุญแจ
คู่มือฉบับข้อความ: ~/kani-cos/health/SETUP-IPHONE.md · อัปเดต 8 ส.ค. 2569