ช่วยให้คุณใช้อุปกรณ์ Zigbee ของคุณได้ โดยไม่ต้องใช้ บริดจ์หรือเกตเวย์ของผู้จำหน่าย
มันเชื่อมโยงเหตุการณ์และช่วยให้คุณควบคุมอุปกรณ์ Zigbee ของคุณผ่าน MQTT ด้วยวิธีนี้ คุณสามารถรวมอุปกรณ์ Zigbee ของคุณเข้ากับโครงสร้างพื้นฐานสมาร์ทโฮมที่คุณใช้อยู่ได้
เอกสารนี้จะให้ข้อมูลทั้งหมดที่จำเป็นในการเริ่มต้นและดำเนินการ! ตรวจสอบให้แน่ใจว่าคุณไม่ข้ามส่วนต่างๆ หากนี่เป็นครั้งแรกของคุณ เนื่องจากอาจมีรายละเอียดที่สำคัญอยู่ในนั้น
หากคุณไม่คุ้นเคยกับคำศัพท์เฉพาะ ของ Zigbee โปรดอ่านบทความนี้เพื่อช่วยเหลือคุณ
Zigbee2MQTT ทำงานร่วมกับโซลูชันระบบอัตโนมัติภายในบ้านได้ดี (เกือบ) ทุกรายการเนื่องจากใช้ MQTT อย่างไรก็ตาม การบูรณาการต่อไปนี้เป็นสิ่งที่ควรค่าแก่การกล่าวถึง:
Zigbee2MQTT ประกอบด้วยสามโมดูล แต่ละโมดูลได้รับการพัฒนาในโครงการ Github ของตัวเอง เริ่มต้นจากฮาร์ดแวร์ (อะแดปเตอร์) และเลื่อนขึ้นไป zigbee-herdsman เชื่อมต่อกับอะแดปเตอร์ Zigbee ของคุณและทำให้ API พร้อมใช้งานในระดับที่สูงขึ้นของสแต็ก สำหรับฮาร์ดแวร์เช่น Texas Instruments zigbee-herdsman ใช้ TI zStack การตรวจสอบและทดสอบ API เพื่อสื่อสารกับอะแดปเตอร์ Zigbee-herdsman จัดการการสื่อสารหลักของ Zigbee โมดูล zigbee-herdsman-converters จัดการการแมปจากรุ่นอุปกรณ์แต่ละรุ่นไปยังคลัสเตอร์ Zigbee ที่พวกเขารองรับ คลัสเตอร์ Zigbee คือเลเยอร์ของโปรโตคอล Zigbee ที่อยู่ด้านบนของโปรโตคอลพื้นฐานที่กำหนดสิ่งต่างๆ เช่น วิธีที่ไฟ เซ็นเซอร์ และสวิตช์สื่อสารกันผ่านเครือข่าย Zigbee สุดท้ายนี้ โมดูล Zigbee2MQTT จะขับเคลื่อน zigbee-herdsman และแมปข้อความ zigbee กับข้อความ MQTT Zigbee2MQTT ยังติดตามสถานะของระบบอีกด้วย ใช้ไฟล์ database.db
เพื่อจัดเก็บสถานะนี้ ไฟล์ข้อความที่มีฐานข้อมูล JSON ของอุปกรณ์ที่เชื่อมต่อและความสามารถ Zigbee2MQTT มีอินเทอร์เฟซบนเว็บที่ช่วยให้สามารถตรวจสอบและกำหนดค่าได้
Zigbee2MQTT ใช้ TypeScript (บางส่วนในตอนนี้) ดังนั้นหลังจากทำการเปลี่ยนแปลงไฟล์ในไดเร็กทอรี lib/
คุณจะต้องคอมไพล์ Zigbee2MQTT ใหม่ ซึ่งสามารถทำได้โดยการรัน npm run build
เพื่อการพัฒนาที่เร็วขึ้นแทนที่จะรัน npm run build
คุณสามารถรัน npm run build-watch
ในเซสชันเทอร์มินัลอื่นได้ ซึ่งจะคอมไพล์ใหม่เมื่อคุณเปลี่ยนไฟล์ ในครั้งแรกก่อนสร้างคุณต้องรัน npm install --include=dev
ก่อนที่จะส่งการเปลี่ยนแปลง run npm run test-with-coverage
, npm run pretty:check
และ npm run eslint
ดูอุปกรณ์ที่รองรับเพื่อตรวจสอบว่าอุปกรณ์ของคุณรองรับหรือไม่ มีรายการค่อนข้างหลากหลาย รวมถึงอุปกรณ์จากผู้ขายเช่น Xiaomi, Ikea, Philips, OSRAM และอีกมากมาย
หากไม่อยู่ในรายการอุปกรณ์ที่รองรับ คุณสามารถเพิ่มการสนับสนุน (ค่อนข้าง) ได้อย่างง่ายดาย โปรดดูวิธีการสนับสนุนอุปกรณ์ใหม่
หากคุณต้องการความช่วยเหลือ คุณสามารถตรวจสอบปัญหาที่เปิดอยู่ อย่าลังเลที่จะช่วยเหลือ Pull Requests เมื่อคุณสามารถแก้ไขสิ่งต่างๆ หรือเพิ่มอุปกรณ์ใหม่ หรือเพียงแค่แบ่งปันความรักบนโซเชียลมีเดีย