อุปกรณ์ใน Matter have a well-defined data model (DM), which is a hierarchical modeling of a Device's features. At the top level of this hierarchy there is a Device.
อุปกรณ์และปลายทาง
อุปกรณ์ทั้งหมด ซึ่งรวมถึงสมาร์ทโฟนและผู้ช่วยในบ้าน ประกอบด้วยโหนด1 โหนดเป็นทรัพยากรที่ไม่ซ้ํากันที่สามารถระบุและจัดการได้ในเครือข่ายที่ผู้ใช้สามารถรับรู้ได้ว่ามีฟังก์ชันการทํางานโดยรวม การสื่อสารของเครือข่ายใน Matter จะเริ่มต้นและสิ้นสุดลงที่โหนด
โหนดคือคอลเล็กชันของปลายทาง โดยปลายทางแต่ละรายการจะใส่ชุดฟีเจอร์ เช่น ปลายทางอาจเกี่ยวข้องกับฟังก์ชันการจัดแสง ส่วนอีกปลายทางหนึ่งเกี่ยวข้องกับการตรวจจับการเคลื่อนไหว และดีลอีกรายการที่มียูทิลิตี เช่น OTA ของอุปกรณ์

คลัสเตอร์
ในปลายทาง โหนดมีคลัสเตอร์อย่างน้อย 1 รายการ ขั้นตอนเหล่านี้เป็นอีกขั้นตอนหนึ่งในลําดับชั้นของอุปกรณ์ เนื่องจากจัดกลุ่มฟังก์ชันที่เฉพาะเจาะจง เช่น คลัสเตอร์เปิด/ปิดบนปลั๊กอัจฉริยะ หรือคลัสเตอร์การควบคุมระดับในปลายทางที่หรี่แสงได้
โหนดอาจมีปลายทางหลายจุด โดยแต่ละโหนดจะสร้างอินสแตนซ์ของฟังก์ชันเดียวกัน เช่น โคมไฟอาจมีการควบคุมของไฟแต่ละดวงแบบอิสระ หรือปลั๊กไฟอาจแสดงการควบคุมของเต้ารับแต่ละแผง
แอตทริบิวต์
ที่ระดับสุดท้าย เราจะพบแอตทริบิวต์ ซึ่งเป็นสถานะที่โหนดครอบครอง เช่น แอตทริบิวต์ระดับปัจจุบันของคลัสเตอร์การควบคุมระดับ แอตทริบิวต์อาจกําหนดเป็นประเภทข้อมูลที่แตกต่างกัน เช่น uint8, สตริง หรืออาร์เรย์

คำสั่ง
นอกจากแอตทริบิวต์แล้ว คลัสเตอร์ยังมีคําสั่ง ซึ่งเป็นการดําเนินการที่อาจใช้ด้วย ซึ่งเทียบเท่ากับ DM ของMatter ในการเรียกใช้กระบวนการระยะไกล คําสั่งต่างๆ มีลักษณะกริยา เช่น ประตูล็อก บนคลัสเตอร์ ประตูล็อก คําสั่งอาจสร้างการตอบกลับและผลลัพธ์ ใน Matter การตอบสนองดังกล่าวจะกําหนดเป็นคําสั่งด้วย ซึ่งจะไปในทิศทางย้อนกลับ
กิจกรรม
และสุดท้าย คลัสเตอร์อาจมีเหตุการณ์ ซึ่งถือได้ว่าเป็นการบันทึกการเปลี่ยนแปลงสถานะที่ผ่านมา แม้ว่าแอตทริบิวต์จะแสดงสถานะปัจจุบัน แต่เหตุการณ์คือรายการบันทึกของอดีตและมีตัวนับที่เพิ่มขึ้น การประทับเวลา และลําดับความสําคัญที่เพิ่มขึ้น โฆษณาประเภทนี้ช่วยให้จับภาพการเปลี่ยนรัฐ รวมถึงการประมาณข้อมูลที่ไม่อาจบรรลุได้ด้วยแอตทริบิวต์

ปลายทาง 0 สงวนไว้สําหรับคลัสเตอร์ยูทิลิตี คลัสเตอร์ยูทิลิตีเป็นคลัสเตอร์เฉพาะที่ครอบคลุมฟังก์ชันการให้บริการในปลายทาง เช่น การค้นพบ การจัดการ การวินิจฉัย และการอัปเดตซอฟต์แวร์ ในทางกลับกัน คลัสเตอร์แอปพลิเคชันรองรับการดําเนินการหลัก เช่น เปิด/ปิด หรือการวัดอุณหภูมิ
ประเภทอุปกรณ์
ชุดค่าผสมใดที่ควรรวมคลัสเตอร์เป็นเป็นผู้ผลิตอุปกรณ์ วางแผนอุปกรณ์ใหม่ แม้ว่าอาจมีการใช้คลัสเตอร์ร่วมกัน แต่แนวทางปฏิบัติทั่วไปคือการใช้งานและขยายประเภทอุปกรณ์บางอย่าง ประเภทอุปกรณ์ คือกลุ่มของคลัสเตอร์ที่จําเป็นและไม่บังคับในปลายทางอย่างน้อย 1 รายการที่ระบุแอตทริบิวต์ระดับบนสุดของอุปกรณ์จริง เช่น หรี่ไฟ ล็อกประตู หรือโปรแกรมเล่นวิดีโอ
แม้ว่าปลายทางจะมีข้อกําหนดที่ไม่รัดกุมว่าควรใช้ฟังก์ชันการทํางานที่สอดคล้องกัน แต่ประเภทอุปกรณ์เป็นข้อกําหนดที่มีประสิทธิภาพอย่างมาก หากโหนดใช้ประเภทอุปกรณ์ โดยต้องมีชุดคลัสเตอร์ในปลายทางอย่างน้อย 1 แห่งเพื่อกําหนดลักษณะการทํางานที่สอดคล้องกันและสอดคล้องกัน เช่น สวิตช์หรี่ไฟสีหรือเซ็นเซอร์แสง
เอกสารหลักสําหรับข้อมูลจําเพาะของ Matter ไม่ได้ระบุประเภทอุปกรณ์ แต่รวมเอกสารไลบรารีอุปกรณ์ด้วย ในทํานองเดียวกัน คลัสเตอร์แอปพลิเคชันทั้งหมดจะกําหนดอยู่ที่ไลบรารีแอปพลิเคชันแอปพลิเคชัน คุณสามารถดูเอกสารทั้ง 3 ฉบับนี้ได้ที่เว็บไซต์ของสมาชิก CSA
ไคลเอ็นต์และเซิร์ฟเวอร์
คลัสเตอร์อาจเป็นคลัสเตอร์ไคลเอ็นต์หรือคลัสเตอร์เซิร์ฟเวอร์ แม้ว่าเซิร์ฟเวอร์จะเก็บสถานะและเก็บแอตทริบิวต์ เหตุการณ์ และคําสั่งไว้ แต่ไคลเอ็นต์นั้นไม่เก็บสถานะ และมีหน้าที่ในการเริ่มการโต้ตอบกับคลัสเตอร์เซิร์ฟเวอร์ระยะไกล ซึ่งจะแสดงข้อมูลต่อไปนี้
- อ่านจากและเขียนไปยังแอตทริบิวต์ระยะไกล
- อ่านเหตุการณ์ระยะไกลได้
- การเรียกใช้คําสั่งระยะไกล
แม้ว่า DM จะเรียงตามลําดับชั้นภายในโหนด แต่ความสัมพันธ์ระหว่างโหนดไม่ได้ โหนดใน Matter ไม่มีความสัมพันธ์ระหว่างผู้ควบคุมข้อมูล/อุปกรณ์ต่อพ่วงหรือผู้นํา/ผู้ติดตาม ความสัมพันธ์เป็นแบบแนวนอน: คลัสเตอร์จะเป็นเซิร์ฟเวอร์หรือไคลเอ็นต์ก็ได้ ดังนั้นโหนดอาจเป็นทั้งเซิร์ฟเวอร์และไคลเอ็นต์เกี่ยวกับคลัสเตอร์และฟังก์ชันการทํางานต่างๆ
ตัวอย่างเช่น เราอาจมีโคมไฟตั้งโต๊ะ 2 ดวง ได้แก่ โหนด A และโหนด B โหนดทั้งสองใช้ประเภทอุปกรณ์เปิด/ปิด อุปกรณ์ประเภทนี้มีคลัสเตอร์เปิด/ปิด เซิร์ฟเวอร์ที่ควบคุมเอาต์พุตแสงทางกายภาพที่เกี่ยวข้อง
แต่เช่นเดียวกับโคมไฟตั้งโต๊ะ อุปกรณ์จริงของเราจะมีประเภทอุปกรณ์เปิด/ปิดไฟสําหรับสวิตช์เปิด/ปิดในเครื่องด้วย ประเภทอุปกรณ์นี้ต้องใช้คลัสเตอร์ On/OFF Client เพื่อให้ควบคุมคลัสเตอร์ Server ได้

ในตัวอย่างนี้ คลัสเตอร์ไคลเอ็นต์เปิด/ปิดในโหนด A จะเปลี่ยนแอตทริบิวต์ของคลัสเตอร์ On/OFF Server ในโหนด A และ Node B ในขณะที่คลัสเตอร์ Client ของ Node B จะเปลี่ยนเฉพาะคลัสเตอร์เซิร์ฟเวอร์ในโหนด B เท่านั้น
ในส่วนถัดไป เราจะอธิบายวิธีการโต้ตอบของกลุ่มไคลเอ็นต์และเซิร์ฟเวอร์ ซึ่งได้แก่ โมเดลการโต้ตอบ
คลัสเตอร์ข้อบ่งชี้
เหมือนกับชื่อโดยนัย เซิร์ฟเวอร์คลัสเตอร์ Descriptor จะให้ข้อมูลการตรวจสอบ ซึ่งอธิบายปลายทางที่อธิบายถึงสิ่งต่อไปนี้
- คลัสเตอร์เซิร์ฟเวอร์
- คลัสเตอร์ไคลเอ็นต์
- ประเภทอุปกรณ์
- ปลายทางเพิ่มเติมหรือที่เรียกว่าชิ้นส่วน
อุปกรณ์ทุกประเภทต้องใช้คลัสเตอร์ข้อบ่งชี้ ประเภทอุปกรณ์รูท กําหนดอยู่ในปลายทาง 0 การอ่านคลัสเตอร์ข้อบ่งชี้จะทําให้ลูกค้าได้เห็นความสามารถในการข้ามลําดับชั้นแบบเต็มของปลายทางที่พร้อมใช้งานและดําเนินการที่เกี่ยวข้อง
ค่าคอมมิชชันหรืออุปกรณ์ควบคุม เช่น โทรศัพท์หรือฮับ สามารถใช้ข้อมูลที่พบในคลัสเตอร์ข้อบ่งชี้เพื่อสร้างโมเดลอุปกรณ์ (สว่าง สวิตช์ ปั๊ม ตัวควบคุมอุณหภูมิ) และฟีเจอร์บางอย่างที่อินสแตนซ์ดังกล่าวของอุปกรณ์นํามาใช้ โดยแสดง UI ที่ถูกต้องแก่ผู้ใช้
คลัสเตอร์เซิร์ฟเวอร์
แอตทริบิวต์ ServerList
จะแสดงรายการเซิร์ฟเวอร์คลัสเตอร์ในปลายทาง
คลัสเตอร์ไคลเอ็นต์
แอตทริบิวต์ ClientList
จะแสดงรายการไคลเอ็นต์คลัสเตอร์ในปลายทาง
รายการประเภทอุปกรณ์
แอตทริบิวต์ DeviceTypeList
เป็นรายการประเภทอุปกรณ์ที่ปลายทางรองรับ รวมถึงการแก้ไขที่เกี่ยวข้อง และต้องมีอุปกรณ์อย่างน้อย 1 ประเภท
รายการชิ้นส่วน
PartsList
มีรายการปลายทางที่ใช้สําหรับการใช้อุปกรณ์ประเภทนี้
PartsList
ของปลายทาง 0 (โหนดราก) มีปลายทางทั้งหมดของอุปกรณ์นอกเหนือจากตัวเอง (ปลายทาง 0)
PartsList
ของปลายทางอื่นๆ มักจะว่างเปล่า ตัวอย่างเช่น เซ็นเซอร์อุณหภูมิจะบอกการควบคุมคลัสเตอร์เซิร์ฟเวอร์การวัดอุณหภูมิและไม่มีสิ่งใดเลย
อุปกรณ์ประเภทอื่นๆ อาจประกอบด้วยโครงสร้างแบบต้นไม้ของอินสแตนซ์ประเภทอุปกรณ์มากกว่า 1 ประเภท เช่น ประเภทอุปกรณ์โปรแกรมเล่นวิดีโออาจประกอบด้วยทีวี โปรแกรมเล่นวิดีโอ ลําโพง และประเภทอุปกรณ์แอปเนื้อหาประเภทต่างๆ โดยแต่ละประเภทจะอยู่ในปลายทางที่แตกต่างกัน
-
ข้อมูลจําเพาะของ Matter กําหนดว่าอุปกรณ์อาจมีโหนดหลายรายการได้ เช่น สมาร์ทโฟนอาจมีหลายแอป แต่ละแอปมีโหนดต่างกัน วัตถุประสงค์ของ Primer นี้ อุปกรณ์ทั้งหมดจะมีโหนดเดียว อุปกรณ์จริงส่วนใหญ่จะใช้รูปแบบนี้↩