การแจ้งเตือนช่วยให้Cloud-to-cloudการผสานรวมใช้ Google Assistantเพื่อสื่อสารกับผู้ใช้เกี่ยวกับเหตุการณ์หรือการเปลี่ยนแปลงที่สำคัญซึ่งเกี่ยวข้องกับอุปกรณ์ได้ คุณสามารถใช้การแจ้งเตือนเพื่อแจ้งให้ ผู้ใช้ทราบถึงเหตุการณ์ในอุปกรณ์ที่เกิดขึ้นทันที เช่น เมื่อมีคนอยู่หน้าประตู หรือเพื่อ รายงานการเปลี่ยนแปลงสถานะของอุปกรณ์ที่ขอ เช่น เมื่อสลักล็อกประตู ทำงานสำเร็จหรือติดขัด
การผสานรวม Cloud-to-cloud สามารถส่งการแจ้งเตือนประเภทต่อไปนี้ถึงผู้ใช้
การแจ้งเตือนเชิงรุก: แจ้งเตือนผู้ใช้เกี่ยวกับsmart home เหตุการณ์ในอุปกรณ์โดยไม่ต้องมีคำขอจากผู้ใช้ก่อนหน้านี้ เช่น กริ่งประตู
การตอบกลับติดตามผล: การยืนยันว่าคำขอคำสั่งอุปกรณ์สำเร็จหรือล้มเหลว เช่น เมื่อล็อกประตู ใช้การแจ้งเตือนเหล่านี้สำหรับ คำสั่งอุปกรณ์ที่ต้องใช้เวลาในการดำเนินการให้เสร็จสมบูรณ์ ระบบจะรองรับการตอบกลับต่อเนื่องเมื่อส่งคำขอคำสั่งอุปกรณ์จากลำโพงอัจฉริยะและจออัจฉริยะเท่านั้น
Assistant จะส่งการแจ้งเตือนเหล่านี้ให้ผู้ใช้ในรูปแบบ ประกาศบนลำโพงอัจฉริยะและจออัจฉริยะ การแจ้งเตือนเชิงรุกจะปิดอยู่โดยค่าเริ่มต้น ผู้ใช้สามารถเปิดหรือปิดการแจ้งเตือนเชิงรุกทั้งหมดจาก Google Home app (GHA) ได้
เหตุการณ์ที่ทริกเกอร์การแจ้งเตือน
เมื่อเกิดเหตุการณ์ในอุปกรณ์ การดำเนินการตามคำสั่งจะส่งคำขอการแจ้งเตือน ไปยัง Google ลักษณะของอุปกรณ์ที่Cloud-to-cloudการผสานรวม รองรับจะเป็นตัวกำหนดประเภทเหตุการณ์การแจ้งเตือนที่ใช้ได้และ ข้อมูลที่คุณใส่ในการแจ้งเตือนเหล่านั้นได้
ลักษณะต่อไปนี้รองรับการแจ้งเตือนเชิงรุก
| ลักษณะ | กิจกรรม | 
|---|---|
| ObjectDetection | วัตถุที่อุปกรณ์ตรวจพบ เช่น เมื่อตรวจพบใบหน้าที่จดจำได้ที่ประตู เช่น "อลิสกับบ็อบอยู่หน้าประตู บ้าน" | 
| RunCycle | อุปกรณ์ทำงานครบวงจร เช่น "รอบการซักของเครื่องซักผ้า เสร็จสมบูรณ์แล้ว" | 
| SensorState | อุปกรณ์ตรวจพบสถานะเซ็นเซอร์ที่รองรับ เช่น "ตัวตรวจจับควันตรวจพบควัน" | 
Trait ต่อไปนี้รองรับการตอบกลับติดตามผล
| ลักษณะ | กิจกรรม | 
|---|---|
| LockUnlock | สถานะการดำเนินการเสร็จสมบูรณ์และการเปลี่ยนสถานะหลังจากเรียกใช้
     action.devices.commands.LockUnlock คำสั่งอุปกรณ์ เช่น "ล็อกประตูหน้าแล้ว" หรือ "ประตูหน้าติดขัด"
    | 
  
| NetworkControl | สถานะการดำเนินการเสร็จสมบูรณ์และการเปลี่ยนสถานะหลังจากเรียกใช้
     action.devices.commands.TestNetworkSpeed คำสั่งอุปกรณ์ เช่น "การทดสอบความเร็วเครือข่ายของคุณเสร็จแล้ว ความเร็วการดาวน์โหลดใน
     เราเตอร์ออฟฟิศตอนนี้อยู่ที่ 80.2 Kbps ส่วนความเร็วในการอัปโหลดอยู่ที่ 9.3
     Kbps"
   | 
| OpenClose | สถานะการดำเนินการเสร็จสมบูรณ์และการเปลี่ยนสถานะหลังจากเรียกใช้
     action.devices.commands.OpenClose คำสั่งอุปกรณ์ เช่น "ประตูหน้าเปิดอยู่" หรือ "เปิดประตูหน้าไม่ได้"
    | 
  
อุปกรณ์ทุกประเภทรองรับการแจ้งเตือนสำหรับลักษณะที่เกี่ยวข้อง
สร้างการแจ้งเตือนสำหรับการผสานรวมแบบคลาวด์ต่อคลาวด์
เพิ่มการแจ้งเตือนไปยังการผสานรวม Cloud-to-cloud ในขั้นตอนต่อไปนี้
- ระบุให้ Google ทราบหากเปิดใช้การแจ้งเตือนจากแอปในsmart homeอุปกรณ์ หากผู้ใช้เปิดหรือปิดการแจ้งเตือนในแอปของคุณ ให้ส่งคำขอ 
SYNCเพื่อแจ้งให้ Google ทราบถึงการเปลี่ยนแปลงอุปกรณ์ - เมื่อเกิดเหตุการณ์ในอุปกรณ์ที่เกี่ยวข้องหรือการเปลี่ยนแปลงสถานะที่ทริกเกอร์
การแจ้งเตือน ให้ส่งคำขอการแจ้งเตือนโดยเรียกใช้
Report State 
reportStateAndNotificationAPI หากสถานะอุปกรณ์เปลี่ยนแปลง คุณจะส่งทั้งเพย์โหลดสถานะและการแจ้งเตือน พร้อมกันในReport Stateและการเรียกใช้การแจ้งเตือนได้ 
ส่วนต่อไปนี้จะอธิบายขั้นตอนเหล่านี้โดยละเอียด
ระบุว่ามีการเปิดใช้การแจ้งเตือนในแอปหรือไม่
ผู้ใช้เลือกได้ว่าจะรับการแจ้งเตือนเชิงรุกหรือไม่โดย เปิดใช้ฟีเจอร์นี้ในGHA ในแอปสำหรับอุปกรณ์ smart home คุณยังเพิ่มความสามารถให้ผู้ใช้เปิด/ปิดการแจ้งเตือนจากอุปกรณ์อย่างชัดเจนได้ด้วย เช่น จากการตั้งค่าแอป
ระบุให้ Google ทราบว่ามีการเปิดใช้การแจ้งเตือนสำหรับอุปกรณ์ของคุณโดยการเรียกใช้
คำขอ SYNC
เพื่ออัปเดตข้อมูลอุปกรณ์ คุณควรส่งSYNCคำขอแบบนี้ทุกครั้งที่
ผู้ใช้เปลี่ยนการตั้งค่านี้ในแอป
ในการตอบกลับ SYNC ให้ส่งข้อมูลอัปเดตอย่างใดอย่างหนึ่งต่อไปนี้
- หากผู้ใช้เปิดการแจ้งเตือนอย่างชัดเจนในแอปอุปกรณ์ของคุณ หรือหากคุณไม่ได้ระบุตัวเลือกการเปิด/ปิด ให้ตั้งค่าพร็อพเพอร์ตี้ 
devices.notificationSupportedByAgentเป็นtrue - หากผู้ใช้ปิดการแจ้งเตือนในแอปอุปกรณ์อย่างชัดเจน ให้ตั้งค่าพร็อพเพอร์ตี้ 
devices.notificationSupportedByAgentเป็นfalse 
ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างวิธีกำหนดการตอบกลับ SYNC
devices: [{
   id: 'device123',
   ...
   notificationSupportedByAgent: true,
}]
ส่งคำขอการแจ้งเตือนไปยัง Google
หากต้องการทริกเกอร์การแจ้งเตือนใน Assistant การดำเนินการตามคำสั่งจะส่งเพย์โหลดการแจ้งเตือนไปยัง Google Home Graph ผ่านReport Stateและการเรียกใช้ Notification API
เปิดใช้ Google HomeGraph API
- 
    
ใน Google Cloud Console ให้ไปที่หน้า HomeGraph API
ไปที่หน้า HomeGraph API - เลือกโปรเจ็กต์ที่ตรงกับsmart homeรหัสโปรเจ็กต์
 - คลิกเปิดใช้
 
สร้างคีย์บัญชีบริการ
ทำตามวิธีการต่อไปนี้เพื่อสร้างคีย์บัญชีบริการจาก Google Cloud Console
- 
    
ใน Google Cloud Console ให้ไปที่หน้าบัญชีบริการ
ไปที่หน้าบัญชีบริการคุณอาจต้องเลือกโปรเจ็กต์ก่อนระบบจึงจะนำคุณไปยังหน้าบัญชีบริการ
 คลิกสร้างบัญชีบริการ
ป้อนชื่อในช่องชื่อบัญชีบริการ
ป้อนรหัสในช่องรหัสบัญชีบริการ
ป้อนคำอธิบายในช่องคำอธิบายบัญชีบริการ
คลิกสร้างและต่อไป
จากเมนูแบบเลื่อนลงบทบาท ให้เลือกบัญชีบริการ > ผู้สร้างโทเค็นระบุตัวตน OpenID Connect ของบัญชีบริการ
คลิกต่อไป
คลิกเสร็จสิ้น
เลือกบัญชีบริการที่คุณเพิ่งสร้างจากรายการบัญชีบริการ แล้วเลือกจัดการคีย์จากเมนู การดำเนินการ
เลือกเพิ่มคีย์ > สร้างคีย์ใหม่
สำหรับประเภทคีย์ ให้เลือกตัวเลือก JSON
คลิกสร้าง ระบบจะดาวน์โหลดไฟล์ JSON ที่มีคีย์ ลงในคอมพิวเตอร์
ส่งการแจ้งเตือน
เรียกคำขอการแจ้งเตือนโดยใช้ API devices.reportStateAndNotification
คำขอ JSON ต้องมี eventId ซึ่งเป็นรหัสที่ไม่ซ้ำกันที่แพลตฟอร์มของคุณสร้างขึ้นสำหรับเหตุการณ์ที่ทริกเกอร์การแจ้งเตือน eventId ควร
เป็นรหัสแบบสุ่มที่แตกต่างกันทุกครั้งที่คุณส่งคำขอการแจ้งเตือน
ในออบเจ็กต์ notifications ที่คุณส่งในการเรียก API ให้ระบุค่า priority ซึ่งกำหนดวิธีแสดงการแจ้งเตือน ออบเจ็กต์ 
notifications อาจมีฟิลด์ที่แตกต่างกันไปตามลักษณะของอุปกรณ์
ทำตามเส้นทางใดเส้นทางหนึ่งต่อไปนี้เพื่อตั้งค่าเพย์โหลดและเรียกใช้ API
ส่งเพย์โหลดการแจ้งเตือนเชิงรุก
หากต้องการเรียก API ให้เลือกตัวเลือกจากแท็บใดแท็บหนึ่งต่อไปนี้
HTTP
Home Graph API มี ปลายทาง HTTP
- ใช้ไฟล์ JSON ของบัญชีบริการที่ดาวน์โหลดมาเพื่อสร้าง JSON Web Token (JWT) ดูข้อมูลเพิ่มเติมได้ที่ การตรวจสอบสิทธิ์โดยใช้บัญชีบริการ
 - รับโทเค็นการเข้าถึง OAuth 2.0 ที่มีขอบเขต
    
https://www.googleapis.com/auth/homegraphโดยใช้ oauth2l - สร้างคำขอ JSON ด้วย 
agentUserIdต่อไปนี้คือตัวอย่างคำขอ JSON สำหรับ Report State และการแจ้งเตือน - รวม Report State และ JSON ของการแจ้งเตือน รวมถึงโทเค็นในคำขอ HTTP POST
    ไปยังปลายทาง Google Home Graph ตัวอย่างวิธีส่งคำขอในบรรทัดคำสั่งโดยใช้ 
curlเพื่อเป็นการทดสอบมีดังนี้ 
oauth2l fetch --credentials service-account.json \ --scope https://www.googleapis.com/auth/homegraph
{ "agentUserId": "PLACEHOLDER-USER-ID", "eventId": "PLACEHOLDER-EVENT-ID", "requestId": "PLACEHOLDER-REQUEST-ID", "payload": { "devices": { "notifications": { "PLACEHOLDER-DEVICE-ID": { "ObjectDetection": { "priority": 0, "detectionTimestamp": 1534875126750, "objects": { "named": [ "Alice" ], "unclassified": 2 } } } } } } }
curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d @request-body.json \ "https://homegraph.googleapis.com/v1/devices:reportStateAndNotification"
gRPC
Home Graph API มี ปลายทาง gRPC
- รับ คำจำกัดความของบริการ Protocol Buffers สำหรับ Home Graph API
 - ทำตามเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ gRPC เพื่อสร้างต้นขั้วไคลเอ็นต์สำหรับ ภาษาที่รองรับ ภาษาใดภาษาหนึ่ง
 - เรียกใช้เมธอด ReportStateAndNotification
 
Node.js
ไคลเอ็นต์ Node.js ของ Google APIs มีการเชื่อมโยงสำหรับ Home Graph API
- เริ่มต้นบริการ 
google.homegraphโดยใช้ ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน - เรียกใช้เมธอด 
      
reportStateAndNotificationด้วย ReportStateAndNotificationRequest โดยจะแสดงPromiseพร้อมด้วย ReportStateAndNotificationResponse 
const homegraphClient = homegraph({ version: 'v1', auth: new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/homegraph' }) }); const res = await homegraphClient.devices.reportStateAndNotification({ requestBody: { agentUserId: 'PLACEHOLDER-USER-ID', eventId: 'PLACEHOLDER-EVENT-ID', requestId: 'PLACEHOLDER-REQUEST-ID', payload: { devices: { notifications: { 'PLACEHOLDER-DEVICE-ID': { ObjectDetection: { priority: 0, detectionTimestamp: 1534875126750, objects: { named: ['Alice'], unclassified: 2 } } } } } } } });
Java
ไลบรารีของไคลเอ็นต์ HomeGraph API สำหรับ Java มี Binding สำหรับ Home Graph API
- เริ่มต้น 
      
HomeGraphApiServiceโดยใช้ ข้อมูลรับรองเริ่มต้น ของแอปพลิเคชัน - เรียกใช้เมธอด 
      
reportStateAndNotificationด้วยReportStateAndNotificationRequestโดยจะแสดงผลReportStateAndNotificationResponse 
// Get Application Default credentials. GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(List.of("https://www.googleapis.com/auth/homegraph")); // Create Home Graph service client. HomeGraphService homegraphService = new HomeGraphService.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), new HttpCredentialsAdapter(credentials)) .setApplicationName("HomeGraphExample/1.0") .build(); // Build device notification payload. Map<?, ?> notifications = Map.of( "ObjectDetection", Map.of( "priority", 0, "detectionTimestamp", 1534875126, "objects", Map.of("named", List.of("Alice"), "unclassifed", 2))); // Send notification. ReportStateAndNotificationRequest request = new ReportStateAndNotificationRequest() .setRequestId("PLACEHOLDER-REQUEST-ID") .setAgentUserId("PLACEHOLDER-USER-ID") .setEventId("PLACEHOLDER-EVENT-ID") .setPayload( new StateAndNotificationPayload() .setDevices( new ReportStateAndNotificationDevice() .setNotifications(Map.of("PLACEHOLDER-DEVICE-ID", notifications)))); homegraphService.devices().reportStateAndNotification(request);
ส่งเพย์โหลดการตอบกลับติดตามผล
เพย์โหลดสำหรับการตอบกลับแบบติดตามผลจะมีสถานะของคำขอ รหัสข้อผิดพลาด
สำหรับเหตุการณ์ที่ไม่สำเร็จ (หากมี) และ followUpToken ที่ถูกต้อง
ซึ่งระบุไว้ในคำขอ Intent EXECUTE คุณต้องใช้ followUpToken ภายใน 5 นาทีเพื่อให้ยังคงใช้งานได้และเชื่อมโยงคำตอบกับคำขอเดิมอย่างถูกต้อง
ข้อมูลโค้ดต่อไปนี้แสดงตัวอย่างเพย์โหลดคำขอ EXECUTE ที่มีฟิลด์ followUpToken
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [{
    "intent": "action.devices.EXECUTE",
    "payload": {
      "commands": [{
        "devices": [{
          "id": "123",
        }],
        "execution": [{
          "command": "action.devices.commands.TestNetworkSpeed",
          "params": {
            "testDownloadSpeed": true,
            "testUploadSpeed": false,
            "followUpToken": "PLACEHOLDER"
          }
        }]
      }]
    }
  }]
};
Google ใช้ followUpToken เพื่อแสดงการแจ้งเตือนในอุปกรณ์ที่ผู้ใช้โต้ตอบด้วยในตอนแรกเท่านั้น และจะไม่ส่งการแจ้งเตือนไปยังอุปกรณ์ทั้งหมดของผู้ใช้
หากต้องการเรียก API ให้เลือกตัวเลือกจากแท็บใดแท็บหนึ่งต่อไปนี้
HTTP
Home Graph API มี ปลายทาง HTTP
- ใช้ไฟล์ JSON ของบัญชีบริการที่ดาวน์โหลดมาเพื่อสร้าง JSON Web Token (JWT) ดูข้อมูลเพิ่มเติมได้ที่ การตรวจสอบสิทธิ์โดยใช้บัญชีบริการ
 - รับโทเค็นการเข้าถึง OAuth 2.0 ที่มีขอบเขต
    
https://www.googleapis.com/auth/homegraphโดยใช้ oauth2l - สร้างคำขอ JSON ด้วย 
agentUserIdต่อไปนี้คือตัวอย่างคำขอ JSON สำหรับ Report State และการแจ้งเตือน - รวม Report State และ JSON ของการแจ้งเตือน รวมถึงโทเค็นในคำขอ HTTP POST
    ไปยังปลายทาง Google Home Graph ตัวอย่างวิธีส่งคำขอในบรรทัดคำสั่งโดยใช้ 
curlเพื่อเป็นการทดสอบมีดังนี้ 
oauth2l fetch --credentials service-account.json \ --scope https://www.googleapis.com/auth/homegraph
{ "agentUserId": "PLACEHOLDER-USER-ID", "eventId": "PLACEHOLDER-EVENT-ID", "requestId": "PLACEHOLDER-REQUEST-ID", "payload": { "devices": { "notifications": { "PLACEHOLDER-DEVICE-ID": { "NetworkControl": { "priority": 0, "followUpResponse": { "status": "SUCCESS", "followUpToken": "PLACEHOLDER", "networkDownloadSpeedMbps": 23.3, "networkUploadSpeedMbps": 10.2 } } } } } } }
curl -X POST -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d @request-body.json \ "https://homegraph.googleapis.com/v1/devices:reportStateAndNotification"
gRPC
Home Graph API มี ปลายทาง gRPC
- รับคำจำกัดความของบริการ Protocol Buffers สำหรับ Home Graph API
 - ทำตามเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ gRPC เพื่อสร้างต้นขั้วไคลเอ็นต์สำหรับ ภาษาที่รองรับภาษาใดภาษาหนึ่ง
 - เรียกใช้เมธอด ReportStateAndNotification
 
Node.js
ไคลเอ็นต์ Node.js ของ Google APIs มีการเชื่อมโยงสำหรับ Home Graph API
- เริ่มต้นบริการ 
google.homegraphโดยใช้ ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน - เรียกใช้เมธอด 
      
reportStateAndNotificationด้วย ReportStateAndNotificationRequest โดยจะแสดงPromiseพร้อมด้วย ReportStateAndNotificationResponse 
const followUpToken = executionRequest.inputs[0].payload.commands[0].execution[0].params.followUpToken; const homegraphClient = homegraph({ version: 'v1', auth: new GoogleAuth({ scopes: 'https://www.googleapis.com/auth/homegraph' }) }); const res = await homegraphClient.devices.reportStateAndNotification({ requestBody: { agentUserId: 'PLACEHOLDER-USER-ID', eventId: 'PLACEHOLDER-EVENT-ID', requestId: 'PLACEHOLDER-REQUEST-ID', payload: { devices: { notifications: { 'PLACEHOLDER-DEVICE-ID': { NetworkControl: { priority: 0, followUpResponse: { status: 'SUCCESS', followUpToken, networkDownloadSpeedMbps: 23.3, networkUploadSpeedMbps: 10.2, } } } } } } } });
Java
ไลบรารีของไคลเอ็นต์ HomeGraph API สำหรับ Java มี Binding สำหรับ Home Graph API
- เริ่มต้น 
      
HomeGraphApiServiceโดยใช้ ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน - เรียกใช้เมธอด
      
      
reportStateAndNotificationด้วยReportStateAndNotificationRequestโดยจะแสดงผลReportStateAndNotificationResponse 
// Get Application Default credentials. GoogleCredentials credentials = GoogleCredentials.getApplicationDefault() .createScoped(List.of("https://www.googleapis.com/auth/homegraph")); // Create Home Graph service client. HomeGraphService homegraphService = new HomeGraphService.Builder( GoogleNetHttpTransport.newTrustedTransport(), GsonFactory.getDefaultInstance(), new HttpCredentialsAdapter(credentials)) .setApplicationName("HomeGraphExample/1.0") .build(); // Extract follow-up token. ExecuteRequest.Inputs executeInputs = (Inputs) executeRequest.getInputs()[0]; String followUpToken = (String) executeInputs .getPayload() .getCommands()[0] .getExecution()[0] .getParams() .get("followUpToken"); // Build device follow-up response payload. Map<?, ?> followUpResponse = Map.of( "NetworkControl", Map.of( "priority", 0, "followUpResponse", Map.of( "status", "SUCCESS", "followUpToken", followUpToken, "networkDownloadSpeedMbps", 23.3, "networkUploadSpeedMbps", 10.2))); // Send follow-up response. ReportStateAndNotificationRequest request = new ReportStateAndNotificationRequest() .setRequestId("PLACEHOLDER-REQUEST-ID") .setAgentUserId("PLACEHOLDER-USER-ID") .setEventId("PLACEHOLDER-EVENT-ID") .setPayload( new StateAndNotificationPayload() .setDevices( new ReportStateAndNotificationDevice() .setNotifications(Map.of("PLACEHOLDER-DEVICE-ID", followUpResponse)))); homegraphService.devices().reportStateAndNotification(request);
การบันทึก
การแจ้งเตือนรองรับการบันทึกเหตุการณ์ตามที่ระบุไว้ในการบันทึกของ Cloud สำหรับ Cloud-to-Cloud บันทึกเหล่านี้มีประโยชน์สำหรับการทดสอบและรักษาคุณภาพการแจ้งเตือนภายใน Action ของคุณ
ต่อไปนี้คือสคีมาของรายการ notificationLog
| พร็อพเพอร์ตี้ | คำอธิบาย | 
|---|---|
requestId | 
    รหัสคำขอการแจ้งเตือน | 
structName | 
    ชื่อของโครงสร้างการแจ้งเตือน เช่น "ObjectDetection" | 
status | 
    ระบุสถานะของการแจ้งเตือน | 
ฟิลด์ status มีสถานะต่างๆ ที่อาจบ่งบอกถึงข้อผิดพลาดใน
เพย์โหลดการแจ้งเตือน โดยบางอย่างอาจใช้ได้เฉพาะใน Actions ที่ยัง
ไม่ได้เปิดตัวในเวอร์ชันที่ใช้งานจริง
ตัวอย่างสถานะมีดังนี้
| สถานะ | คำอธิบาย | 
|---|---|
EVENT_ID_MISSING | 
   ระบุว่าไม่มีช่อง eventId ที่ต้องกรอก
    | 
  
PRIORITY_MISSING | 
   ระบุว่าไม่มีฟิลด์ priority
    | 
  
NOTIFICATION_SUPPORTED_BY_AGENT_FALSE | 
    ระบุว่าพร็อพเพอร์ตี้
   notificationSupportedByAgent ของอุปกรณ์ที่แจ้งเตือนซึ่งระบุไว้ใน
   SYNC เป็นเท็จ
   | 
NOTIFICATION_ENABLED_BY_USER_FALSE | 
   บ่งบอกว่าผู้ใช้ไม่ได้เปิดใช้การแจ้งเตือนในอุปกรณ์ที่แจ้งเตือน ใน GHA สถานะนี้ใช้ได้เฉพาะกับการผสานรวมที่ยังไม่ได้เปิดตัวในเวอร์ชันที่ใช้งานจริงเท่านั้น | 
NOTIFYING_DEVICE_NOT_IN_STRUCTURE | 
    ระบุว่าผู้ใช้ไม่ได้มอบหมายอุปกรณ์ที่แจ้งเตือนให้กับ บ้าน/โครงสร้าง สถานะนี้ใช้ได้เฉพาะกับการผสานรวมที่ยังไม่ได้เปิดตัวในเวอร์ชันที่ใช้งานจริง เท่านั้น | 
นอกเหนือจากสถานะทั่วไปเหล่านี้ที่ใช้กับการแจ้งเตือนทั้งหมดได้แล้ว ฟิลด์
status อาจมีสถานะเฉพาะลักษณะด้วย (เช่น OBJECT_DETECTION_DETECTION_TIMESTAMP_MISSING)