บ้านที่ใช้ Home Assistant ไปสักพัก จะเริ่มมีจังหวะแบบนี้เกิดขึ้นบ่อยขึ้นเรื่อย ๆ เรามีอุปกรณ์ตัวหนึ่งที่มีข้อมูลสำคัญมากพอจะเอาไปใช้ต่อ แต่ข้อมูลนั้นยังอยู่นอกระบบหลักของบ้าน ไม่มี official integration ไม่มีปุ่มให้กดเพิ่มง่าย ๆ และสุดท้ายมันก็กลายเป็นข้อมูลที่เราต้องเปิดดูแยกเอง ทั้งที่จริง ๆ แล้วมันควรเป็นส่วนหนึ่งของ automation ตั้งแต่แรก

รอบนี้คือ AirVisual Outdoor

สำหรับผม ข้อมูลอากาศนอกบ้านไม่ใช่แค่ตัวเลขสวย ๆ บน dashboard แต่มันเป็น context ของชีวิตประจำวัน เป็นข้อมูลที่ควรบอกได้ว่าวันนี้ควรเปิดบ้านไหม ควรเปิดเครื่องฟอกอากาศโหมดไหน ควรเตือนคนในบ้านเรื่อง PM2.5 หรือเปล่า หรือแม้แต่ใช้เป็นส่วนหนึ่งของ daily report ตอนเช้า

ปัญหาคือ อุปกรณ์มีข้อมูล แต่ Home Assistant ยังไม่ได้มองเห็นข้อมูลนั้นในฐานะ sensor ที่เอาไปใช้ต่อได้จริง

ผมเลยสร้าง custom integration ขึ้นมาเอง

Flow การเชื่อม AirVisual Outdoor เข้ากับ Home Assistant ผ่าน public endpoint และ custom integration
เมื่อข้อมูลอากาศนอกบ้านถูกแปลงเป็น sensor ที่ Home Assistant ใช้ต่อได้ มันจึงเริ่มเข้าไปอยู่ใน automation, dashboard และ daily report ของบ้าน

งานนี้ไม่ได้เริ่มจากการอยากเขียนโค้ดเล่น แต่มาจากคำถามง่าย ๆ ว่า ถ้าบ้านเราต้องตัดสินใจจากสภาพแวดล้อมจริง ข้อมูลอากาศนอกบ้านควรอยู่ตรงไหน คำตอบคือมันควรอยู่ใน Home Assistant เหมือน sensor ตัวอื่น ๆ ไม่ใช่อยู่แค่ในแอปหรือเว็บของอุปกรณ์

สิ่งที่ทำคือดึงข้อมูลจาก public endpoint ของ AirVisual Outdoor แล้ว normalize ข้อมูลออกมาให้เป็น sensor ที่ Home Assistant เข้าใจได้ เช่น AQI, PM2.5, PM10, อุณหภูมิ, ความชื้น, ความกดอากาศ, ลม และเวลาที่ข้อมูลอัปเดตล่าสุด จากนั้นทำ config flow ให้เพิ่มผ่าน UI ได้ ใช้ DataUpdateCoordinator สำหรับจัดรอบการดึงข้อมูล และเตรียม metadata ให้พร้อมสำหรับติดตั้งผ่าน HACS custom repository

ตรงนี้เป็นจุดที่ AI เข้ามาช่วยเปลี่ยนความเร็วของงานมาก เมื่อก่อนงานแบบนี้อาจต้องเริ่มจากนั่งไล่เอกสาร ดูตัวอย่าง integration อื่น ๆ เขียน parser เอง ทดสอบเอง ไล่โครงสร้างไฟล์ของ Home Assistant เอง แล้วค่อย ๆ ทำให้มันติดตั้งได้จริง แต่รอบนี้ Codex ช่วยวางโครง repo แยก client สำหรับดึงและ normalize ข้อมูล เขียน test จาก fixture วาง integration scaffold และช่วยจัด README ให้คนอื่นติดตั้งต่อได้

แต่สิ่งที่สำคัญกว่า “AI เขียนโค้ดได้” คือ AI ช่วยลดแรงเสียดทานระหว่าง “อยากได้สิ่งนี้ในบ้าน” กับ “ทำให้มันกลายเป็นของที่ใช้งานจริง”

เพราะ requirement ยังมาจากคนอยู่ดี เราต้องเป็นคนตัดสินใจว่า sensor ไหนสำคัญ ข้อมูลไหนควรถูกแปลงให้ stable พอใช้ต่อใน automation ได้ ต้องอัปเดตถี่แค่ไหน ต้องบอกข้อจำกัดอะไรไว้บ้าง และอะไรคือจุดที่ควรเตือนตัวเองว่า public endpoint อาจเปลี่ยนได้ในอนาคต

สิ่งที่ผมชอบในงานนี้คือ มันสะท้อนวิธีที่บ้านหลังนี้ค่อย ๆ evolve

Home automation ไม่ได้เสร็จตั้งแต่วันแรก ไม่ใช่ซื้ออุปกรณ์มาวางแล้วจบ แต่มันค่อย ๆ โตจากชีวิตจริง เราใช้บ้านไป เจอช่องว่างบางอย่าง แล้วค่อยเติมระบบเข้าไปทีละชิ้น บางชิ้นเป็นไฟ บางชิ้นเป็น sensor บางชิ้นเป็น dashboard บางชิ้นเป็น notification และบางชิ้นคือ integration ที่ไม่มีใครทำไว้ให้

บ้านที่ดีสำหรับผมเลยไม่ใช่บ้านที่มี gadget เยอะที่สุด แต่เป็นบ้านที่ข้อมูลสำคัญไม่หลุดออกจากระบบ บ้านที่สิ่งแวดล้อมรอบตัวถูกแปลเป็น context ให้ระบบเข้าใจ และบ้านที่สามารถปรับตัวเข้าหาชีวิตของคนที่อยู่ในนั้นได้เรื่อย ๆ

รอบนี้ AirVisual Outdoor กลายเป็นอีกหนึ่งสัญญาณที่บ้านเริ่มฟังได้

และผมคิดว่านี่แหละคือเสน่ห์ของการทำ smart home แบบค่อย ๆ สร้างเอง มันไม่ได้ทำให้บ้านฉลาดขึ้นทันทีในวันเดียว แต่มันทำให้บ้านฉลาดขึ้นทีละ integration

สำหรับคนที่อยากดูงานจริง ผมแยกไว้เป็น custom integration repository ที่นี่: github.com/samanahavemail/ha-airvisual-outdoor