Journal

Home Assistant Mobile App + Cloudflare Tunnel: ควบคุมบ้านจากทุกที่ไม่ต้อง Port Forward

Home Assistant Mobile App + Cloudflare Tunnel: Remote Home Control Without Port Forwarding

12 พฤษภาคม 2569 · 1 นาที
24.5°C · 52%

ทำไมถึงไม่ควร Port Forward ตรงๆ

การเปิด Port Forward (เช่น Port 8123 ตรงไปยัง Home Assistant) มีความเสี่ยงสูง: เปิดช่องให้ Bot Scan Port และโจมตี Brute Force บน Login Page, CVE Vulnerabilities ของ Home Assistant เวอร์ชันเก่าสามารถถูก Exploit ได้ Cloudflare Tunnel เป็น Zero-Trust Network Access (ZTNA) ที่ปลอดภัยกว่ามาก

Cloudflare Tunnel สำหรับ Home Assistant

สถาปัตยกรรม: Home Assistant รัน Cloudflared Docker Container → เชื่อมต่อ Outbound ไปยัง Cloudflare Network → Cloudflare ทำหน้าที่ Reverse Proxy ให้ Access ผ่าน URL เช่น โดยไม่เปิด Port ใดๆ ในเราเตอร์ การตั้งค่า Step-by-Step:

  1. สมัคร Cloudflare Free Plan + เพิ่ม Domain 2. ติดตั้ง บน Home Assistant Host (Docker หรือ HA OS Add-on) 3. รัน 4. Config Tunnel ให้ Forward → 5. เพิ่ม DNS Record CNAME ใน Cloudflare Dashboard 6. ตั้ง ใน HA Security Layer: เพิ่ม Cloudflare Access Policy ให้ Login ด้วย Google/GitHub OTP ก่อน Access Home Assistant URL ได้ ป้องกัน Unauthorized Access แม้ URL รู้

Home Assistant Companion App

รองรับ iOS (iPhone/iPad) และ Android ฟีเจอร์หลัก: - Dashboard แบบ Full ควบคุมทุก Entity - WebSocket Real-time Update: สถานะอุปกรณ์อัปเดตทันทีแบบ Push ไม่ต้อง Poll - Sensors จาก Smartphone: Battery Level, Step Count, Location (GPS), Screen State, Network Type → ส่งกลับมาเป็น Sensor ใน HA ใช้ใน Automation ได้ - Action Shortcuts: Widget บน Home Screen iOS กด 1 ครั้ง เปิดไฟ/ปิดแอร์

Geofencing สำหรับ Home/Away Automation

HA Companion App ใช้ GPS + Wi-Fi SSID Detection กำหนด Home Zone (รัศมี 50–100m) เมื่อออกจากบ้าน: ปิดไฟทั้งหมด ปรับ AC เป็น Economy Mode ล็อคประตู เมื่อกลับบ้าน: เปิดไฟเส้นทางเข้า ปรับ AC เป็น Comfort Mode แจ้งเตือนสมาชิกในบ้าน Multi-person Geofencing: ปิดแอร์เมื่อทุกคนออกจากบ้านแล้วเท่านั้น ใช้ + Condition ป้องกันการปิดแอร์ขณะที่ยังมีคนอยู่บ้าน

iOS Critical Alerts สำหรับเหตุฉุกเฉิน

Notification ทั่วไปถูก Silent เมื่อตั้ง Do Not Disturb iOS Critical Alert เป็น Permission พิเศษที่เสียงดังแม้ใน Silent Mode ใช้สำหรับ: - แจ้งเตือน Gas Leak Detector (TGS2611) - Carbon Monoxide Alarm - ผู้สูงอายุ Fall Detection - น้ำท่วมจาก Flood Sensor ใต้ซิงค์ Configuration ใน HA :

Actionable Notifications

ส่ง Notification พร้อม Action Button ตอบกลับโดยตรงจาก Notification: กด ปิดไฟ → HA ปิดไฟทันที ไม่ต้องเปิด App กด ดูกล้อง → เปิด Camera Stream ใน App กด โทรหาลูก → เปิด Phone Call

WebSocket vs Polling

HA Companion App ใช้ WebSocket Long-lived Connection สถานะอัปเดตทันที <100ms Latency เทียบกับ HTTP Polling ทุก 30 วินาที ช่วยให้ Dashboard แสดงสถานะ Real-time เหมือนอยู่บ้าน

คำถามที่พบบ่อย

Cloudflare Tunnel ปลอดภัยกว่า Port Forward อย่างไร?
Port Forward เปิด Port บน Router ตรงสู่ Internet ให้ Bot Scan และโจมตีได้ Cloudflare Tunnel เชื่อมต่อ Outbound เท่านั้น ไม่เปิด Port ใดๆ ในเราเตอร์ เพิ่ม Cloudflare Access OTP ก่อน Access ได้ เป็น Zero-Trust Architecture
iOS Critical Alert ต่างจาก Notification ปกติอย่างไร?
Notification ปกติถูก Silent ใน Do Not Disturb Mode Critical Alert เป็น Permission พิเศษที่ต้องขอจาก Apple เสียงดังเต็มที่แม้ Silent Mode เหมาะกับ Alert ฉุกเฉิน เช่น Gas Leak หรือ Fall Detection ผู้สูงอายุ
Geofencing ใน Home Assistant Companion App ใช้ GPS หรือ Wi-Fi?
ใช้ทั้งสอง: GPS สำหรับตำแหน่งนอกบ้าน และ Wi-Fi SSID Detection เมื่ออยู่ในบ้าน (ตรวจสอบชื่อ Wi-Fi บ้าน) ทำให้ตรวจจับการเข้า/ออกบ้านได้แม่นยำและประหยัด Battery มากกว่าการใช้ GPS ตลอดเวลา
Actionable Notification ใน HA คืออะไร?
Notification ที่มีปุ่ม Action ผู้ใช้กดได้จาก Notification Banner โดยตรงโดยไม่ต้องเปิด App เช่น HA ส่งแจ้งเตือนว่าประตูหน้าบ้านเปิดอยู่ มีปุ่ม ปิดประตู กดแล้ว HA ส่งคำสั่งปิดประตูทันที
Home Assistant Mobile App + Cloudflare Tunnel: ควบคุมบ้านจากทุกที่ไม่ต้อง Port Forward · HappySmart