Gỡ lỗi tích hợp Matter

1. Trước khi bắt đầu

Matter mang đến trải nghiệm thiết lập và kiểm soát thiết bị liền mạch, nhiều nền tảng cho người dùng cuối. Điều này chủ yếu là do nhiều thành phần trong hệ sinh thái hoạt động cùng nhau ở chế độ nền. Việc khắc phục sự cố cho các hệ thống như thế này thường có thể khiến các nhà phát triển mới cảm thấy khó khăn. Vì vậy, chúng tôi đã phát triển một loạt công cụ và kỹ thuật để giúp bạn dễ dàng hơn khi là nhà phát triển Matter có Google Home.

Có 3 thành phần chính của Matter được đề cập trong lớp học lập trình này. Đối với mỗi hệ thống này, Google cung cấp một bộ công cụ phân tích khắc phục sự cố cho nhà phát triển được thu thập từ điện thoại và trung tâm:

Thiết lập, Thực thi, Cập nhật qua mạng không dây

Là một nhà phát triển, bạn cần có khả năng giảm thiểu các vấn đề gặp phải trong suốt chu trình phát triển thiết bị. Sau khi ra mắt dự án, bạn cần theo dõi xu hướng về vấn đề của các thiết bị đang được sử dụng một cách tổng hợp và khắc phục các vấn đề đó thông qua bản cập nhật phần mềm. Lớp học lập trình này trình bày các kỹ thuật mà bạn có thể sử dụng cho cả hai mục đích này.

Điều kiện tiên quyết

  • Hoàn thành hướng dẫn Bắt đầu sử dụng Matter bằng một dự án Matter đang hoạt động và chế độ thiết lập thiết bị
  • Có điện thoại Android mà bạn có thể kết nối với máy trạm (để lấy nhật ký ADB)

Kiến thức bạn sẽ học được

  • Cách sử dụng các công cụ phân tích cho Nhà thông minh để theo dõi các vấn đề về Matter trên quy mô lớn.
  • Cách phân loại lỗi bằng cách truy cập vào nhật ký lỗi và thu thập thông tin.
  • Cách truy cập vào tài liệu và tài nguyên hỗ trợ của Matter để tìm sự trợ giúp.

2. Xem số liệu phân tích về Google Home

Việc theo dõi hiệu suất là yếu tố quan trọng để tích hợp thành công với hệ sinh thái Google Home. Chúng tôi cung cấp một bộ công cụ giám sát cho các nhà phát triển nhà thông minh trên Google Cloud Platform. Bạn có thể sử dụng những công cụ này để đo lường hiệu suất của dự án.

Truy cập vào các chỉ số của dự án

  • Bước đầu tiên để truy cập vào dữ liệu của bạn là kiểm tra trang tổng quan Google Home bằng cách đăng nhập vào Google Cloud Console rồi chuyển đến phần Operations > Monitoring > Dashboards (Thao tác > Giám sát > Trang tổng quan).

Dự án của bạn có một số trang tổng quan (bao gồm cả các sản phẩm khác của GCP). Các trang tổng quan dành cho nhà thông minh có tiền tố là Google Home Analytics.

Trang tổng quan Google Home Analytics

Hiện tại, chúng tôi có một trang tổng quan chung bao gồm toàn bộ dự án của bạn, cũng như trang tổng quan cho một số chế độ tích hợp cụ thể (Đám mây, Cục bộ, Matter) hoặc loại thiết bị (Camera). Những trang tổng quan này chỉ chứa dữ liệu nếu bạn có một chế độ tích hợp thuộc loại tương ứng, cùng với một dự án đang hoạt động đáp ứng các yêu cầu.

Khi mở một trong các trang tổng quan này, bạn sẽ thấy một loạt biểu đồ có dạng như sau:

Tỷ lệ thành công, độ trễ và thông tin chi tiết về loại thiết bị

Trang tổng quan của Google Home có nhiều biểu đồ cho thấy thông tin chi tiết về các sự kiện liên quan đến dự án của bạn. Với mỗi trang tổng quan về hoạt động tích hợp, bạn sẽ thấy một biểu đồ cho biết tổng số yêu cầu mà dự án của bạn xử lý, một biểu đồ cho biết tỷ lệ thành công của loại hoạt động tích hợp đó và một số biểu đồ cho biết các loại thiết bị và đặc điểm liên quan. Ngoài ra, với Matter, bạn có một bộ biểu đồ theo dõi mức độ thành công của quá trình thiết lập, cũng như việc triển khai các bản cập nhật trên thiết bị.

Xin lưu ý rằng chế độ xem mặc định có các biểu đồ mà bạn thấy trong trang tổng quan Google Home Analytics chỉ là một chế độ xem mà chúng tôi tạo cho dự án của bạn bằng cách sử dụng dữ liệu chỉ số nhà thông minh. Bạn cũng có thể sử dụng Trình khám phá chỉ số để tạo biểu đồ của riêng mình từ các chỉ số cơ bản tương tự và lưu biểu đồ đó vào trang tổng quan tuỳ chỉnh.

Truy cập vào nhật ký lỗi

Trình khám phá nhật ký là một tập hợp các công cụ để xử lý nhật ký sự kiện được tạo trên một dự án. Bạn có thể truy cập vào công cụ này trong Google Cloud Console bằng cách chuyển đến phần Operations > Logging > Logs Explorer (Thao tác > Ghi nhật ký > Trình khám phá nhật ký).

Sau khi mở Logs Explorer (Trình khám phá nhật ký), bạn sẽ thấy một chế độ xem như sau:

Trình khám phá nhật ký

Cửa sổ trình khám phá chứa nhiều công cụ để xem, lọc, truy vấn và phân tích nhật ký. Theo mặc định, chế độ xem này cho thấy nhật ký được tạo từ tất cả các hệ thống có sẵn cho dự án của bạn, bao gồm cả nhật ký được tạo bên ngoài Nhà thông minh. Đó là lý do bạn cần sử dụng các nhật ký này bằng cách lọc các sự kiện mà bạn muốn gỡ lỗi. Chúng ta sẽ nói thêm về vấn đề này trong các phần gỡ lỗi.

3. Gỡ lỗi các vấn đề về việc thiết lập

Loại chỉ số đầu tiên mà chúng ta sẽ xem xét là về các sự kiện thiết lập Matter. Thiết lập ban đầu là một bộ gồm các bước mà người dùng cần thực hiện để thiết lập thiết bị Matter lần đầu tiên.

Trong quá trình thiết lập thiết bị, một loạt các hoạt động tương tác sẽ diễn ra giữa thiết bị theo chuẩn Matter, ứng dụng Google Home và mạng lưới Matter. Hình ảnh sau đây minh hoạ một số sự kiện này:

Sự kiện thiết lập Matter

Bạn có thể xem trang chuẩn bị trong phần Kiến thức cơ bản về Matter để tìm hiểu thêm về từng bước này. Trong phần này, chúng ta sẽ tìm hiểu về các công cụ và kỹ thuật để gỡ lỗi các vấn đề về việc đưa vào hoạt động.

Sử dụng Google Home Analytics

Chúng tôi đã tạo một bộ chỉ số để bạn điều tra các vấn đề về việc uỷ quyền bằng cách theo dõi các sự kiện và tìm hiểu xem lỗi có thể xảy ra ở giai đoạn nào. Bạn có thể tìm thấy các thông tin này trong Trang tổng quan về việc tích hợp Matter, như chúng tôi đã đề cập ở phần trước.

Các biểu đồ trong trang tổng quan này cung cấp dữ liệu về việc thiết lập thiết bị:

Chỉ số về việc uỷ quyền thiết bị

Biểu đồ số lượng thiết bị cho biết số lần người dùng cố gắng thiết lập vào một ngày cụ thể. Tỷ lệ thành công cho biết tỷ lệ thành công mà Google nhận thấy đối với những sự kiện này. Mỗi lần thử thiết lập sẽ tạo ra một nhóm sự kiện có các trạng thái liên quan. Khi xảy ra lỗi ở bất kỳ trạng thái nào trong số này, lỗi đó cũng sẽ được ghi lại trong biểu đồ phân tích lỗi.

Trạng thái uỷ quyền:

  • COMMISSIONING_STARTED
  • ONBOARDING_PAYLOAD_GENERATED
  • LOCAL_DISCOVERY_SUCCESSFUL
  • PASE_CONNECTION_SUCCESSFUL
  • NOC_ADDED_SUCCESSFULLY
  • COMMISSIONING_COMPLETE

Để xem phiên bản chi tiết của các sự kiện này, hãy chuyển đến phần Operations > Logging > Logs Explorer (Thao tác > Ghi nhật ký > Trình khám phá nhật ký). Để lọc các lỗi khởi tạo, bạn có thể tìm kiếm "clientUpdateLog" cùng với "severity>=ERROR" trong trường truy vấn.

Nhật ký lỗi khởi tạo cho Matter có dạng như sau:

{
  "insertId": "1a32ry0f6xpzzn",
  "jsonPayload": {
    "clientUpdateLog": {
      "MatterUpdate": {
        "reportedProductId": 55,
        "sessionId": "1584879052892229997",
        "reportedVendorId": 4800,
        "commissioningState": "GENERIC_COMMISSIONING_ERROR",
        "status": "GENERIC_ERROR"
      }
    }
  },
  "resource": {
    "type": "assistant_action_project",
    "labels": {
      "project_id": "<project-id>"
    }
  },
  "timestamp": "2023-03-01T07:09:55.216425297Z",
  "severity": "ERROR",
  "logName": "projects/<project-id>/logs/assistant_smarthome%2Fassistant_smarthome_logs",
  "receiveTimestamp": "2023-03-01T07:09:55.216425297Z"
}

Ngoài trạng thái khởi tạo và mã trạng thái, nhật ký lỗi còn chứa dấu thời gian cho lỗi đã ghi lại, cũng như Mã sản phẩm Matter giúp bạn xác định sản phẩm nào gây ra lỗi. Tập hợp nhật ký được tạo từ cùng một lần thử nghiệm khởi tạo sẽ dùng chung một sessionId.

Việc sử dụng các chỉ số từ Google Home Analytics giúp bạn có được ý tưởng ban đầu về giai đoạn có thể xảy ra vấn đề. Để tìm ra nguyên nhân gốc rễ gây ra lỗi khi thiết lập thiết bị, đôi khi bạn có thể cần gỡ lỗi thêm bằng cách sử dụng nhật ký do thiết bị di động dùng trong quy trình thiết lập tạo ra. Đối với những thao tác này, bạn cần có Cầu gỡ lỗi Android.

Sử dụng Cầu gỡ lỗi Android (ADB)

Một cách khác để khắc phục sự cố khi thiết lập là sử dụng công cụ dòng lệnh Cầu gỡ lỗi Android (ADB). Vì quá trình thiết lập chủ yếu được xử lý giữa thiết bị di động và thiết bị Matter, nên bạn có thể dùng công cụ ADB để truy cập vào nhật ký do ứng dụng Google Home tạo trong suốt quá trình thiết lập.

Cài đặt các công cụ nền tảng

ADB là một phần của Công cụ nền tảng SDK Android. Bạn có thể cài đặt công cụ này bằng Android Studio hoặc thông qua công cụ dòng lệnh sdkmanager.

Sau khi bạn cài đặt thành công các công cụ nền tảng trên hệ thống, hãy xác minh ADB bằng cách kiểm tra số phiên bản từ thiết bị đầu cuối bằng lệnh sau:

$ adb -- version

Lệnh này sẽ hiển thị số phiên bản của tiện ích ADB đã cài đặt mà không gặp lỗi nào.

Bật tính năng gỡ lỗi qua USB

Tiếp theo là bật chế độ gỡ lỗi qua USB trên thiết bị Android.

Trước tiên, hãy làm theo các bước để bật tuỳ chọn cho nhà phát triển trên thiết bị của bạn, sau đó bật tính năng gỡ lỗi qua USB.

Nhờ đó, ADB có thể truy cập vào nhật ký do các ứng dụng hiện đang chạy trên thiết bị tạo ra.

Truy xuất mã thiết bị

  1. Chạy máy chủ ADB bằng lệnh sau:
$ adb start-server
  1. Kết nối điện thoại với máy tính đang chạy máy chủ ADB.

Bạn có thể nhận được một thông báo cảnh báo trên điện thoại về tính năng gỡ lỗi qua USB, hỏi xem bạn có muốn cho phép máy tính truy cập vào thông tin trên điện thoại hay không:

Lời nhắc gỡ lỗi qua USB

  1. Nếu bạn nhận được thông báo cảnh báo này, hãy nhấp vào Cho phép.
  2. Đưa ra lệnh liệt kê thiết bị từ thiết bị đầu cuối để xem máy tính của bạn có thể truy cập vào điện thoại thông qua ADB hay không, bằng cách sử dụng lệnh sau:
$ adb devices

Thao tác này sẽ cho ra phản hồi tương tự như sau:

List of devices attached
<phone-id>    device

<phone-id> là một chuỗi gồm chữ và số dùng để nhận dạng duy nhất thiết bị của bạn.

  1. Hãy nhớ giá trị <phone-id> để sử dụng trong các bước tiếp theo.

Thu thập thông tin hệ thống

Tiếp theo, hãy kiểm tra thông tin phiên bản của các ứng dụng và hệ thống trên thiết bị của bạn.

  • Cách kiểm tra phiên bản hệ điều hành Android:
$ adb -s <phone-id> shell getprop ro.build.version.release
  • Cách kiểm tra phiên bản ứng dụng Google Home:
$ adb -s <phone-id> shell dumpsys package com.google.android.apps.chromecast.app | grep versionName
  • Cách kiểm tra phiên bản Dịch vụ Google Play:
$ adb -s <phone-id> shell dumpsys package com.google.android.gms | grep "versionName"
  • Cách kiểm tra xem bạn có các mô-đun điều khiển nhà / Matter thông qua Dịch vụ Play hay không:
$ adb -s <phone-id> shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep "com.google.android.gms.home"

Đảm bảo rằng những giá trị trả về này được hệ sinh thái của chúng tôi hỗ trợ. Khi liên hệ để được hỗ trợ về lỗi khởi tạo, vui lòng luôn cung cấp thông tin hệ thống trong phiếu yêu cầu hỗ trợ.

Thu thập nhật ký lỗi

Tiếp theo, hãy bắt đầu quy trình thu thập nhật ký, sau đó thực hiện các bước thiết lập để tạo ra các sự kiện lỗi mà bạn muốn gỡ lỗi.

  1. Chạy lệnh sau bằng cách cung cấp <phone-id>, cũng như <file-name> nơi nhật ký sẽ được lưu trong máy tính của bạn (ví dụ: debug_file.txt).
$ adb -s <phone-id> logcat > <file-name>

Thao tác này sẽ bắt đầu ngay quá trình ghi nhật ký. Một tệp có tên được cung cấp sẽ được tạo nếu chưa tồn tại và nhật ký từ điện thoại sẽ được thêm vào tệp sau mỗi sự kiện.

Tiến hành các bước thiết lập cho thiết bị Matter.

  1. Sau khi bạn gặp lỗi cần gỡ lỗi, hãy dừng ghi nhật ký bằng cách nhấn Control+C trong cửa sổ dòng lệnh đang chạy.

Giờ đây, nhật ký của bạn sẽ được lưu trữ trong tệp ghi nhật ký <file-name>. Vì quy trình này ghi lại nhật ký của mọi quy trình đang chạy được theo dõi trong thiết bị, nên sẽ có rất nhiều nhật ký trong tệp này. Đó là lý do bạn nên luôn sử dụng các nhật ký này bằng cách tìm kiếm những mục bạn cần.

Phân tích nhật ký lỗi

Các quy trình thiết lập được xử lý thông qua một hệ thống con có tên là MatterCommissioner trong GHA.

  1. Theo chiến lược chính được dùng khi phân tích lỗi khởi tạo, hãy tìm lỗi do hệ thống con MatterCommissioner tạo bằng lệnh sau:
$ grep "MatterCommissioner" <file-name>

Thao tác này sẽ tạo ra một đầu ra chứa các sự kiện trong quy trình thiết lập.

  1. Nếu thiết bị Matter của bạn đang dùng Thread, bạn cũng có thể tìm lỗi do hệ thống con Thread tạo ra thông qua lệnh sau:
$ grep -E "(ThreadNetworkManager|BorderAgentScannerImpl|ThreadBrSynchronizer)" <file-name>

Khi bạn phân tích tệp nhật ký do quy trình gỡ lỗi ADB tạo, hãy tìm một số mẫu nhất định. Nhiều lỗi khởi tạo có chứa chuỗi "commissioning failure" trong thông báo lỗi.

  1. Tìm thông báo lỗi khởi tạo bằng lệnh sau:
$ grep "SetupDevice" $phonelog | grep -A 20 "Commissioning failed"

4. Gỡ lỗi các vấn đề về tính năng điều khiển thiết bị

Sau khi thiết lập và đưa các thiết bị Matter vào hệ sinh thái Google Home, người dùng có thể đưa ra lệnh bằng giọng nói thông qua Trợ lý Google (ví dụ: "Ok Google, bật đèn trong phòng khách") hoặc bằng cách sử dụng giao diện người dùng trên ứng dụng Home hoặc các thiết bị màn hình Google Nest.

Vì thông số kỹ thuật điều khiển giữa các thiết bị đầu cuối và Google Hub được điều chỉnh bằng Matter, nên dự kiến sẽ có ít lỗi hơn ở phía điều khiển thiết bị. Bất kể điều gì xảy ra, chúng tôi đều cung cấp các chỉ số và nhật ký để bạn gỡ lỗi cho các loại vấn đề này.

Sử dụng chỉ số

Trong Trang tổng quan về tích hợp Matter, bạn sẽ thấy một số chỉ số liên quan đến chế độ điều khiển thiết bị. Có 3 biểu đồ quan trọng để đánh giá hiệu suất của các thiết bị tại hiện trường:

Biểu đồ phân tích thành công, độ trễ và lỗi

Trong các vấn đề về quyền kiểm soát, bạn thường thấy xu hướng giảm về tỷ lệ thành công và xu hướng tăng trong biểu đồ phân tích lỗi. Biểu đồ phân tích lỗi cho biết những lỗi mà Google Nest Hub ghi nhận được về lý do khiến bạn không thể điều khiển thiết bị.

Sử dụng nhật ký

Mỗi vấn đề về chế độ điều khiển thiết bị Matter cũng tạo ra một nhật ký lỗi trong hệ thống. Bạn có thể lọc những lỗi này khỏi Trình khám phá nhật ký bằng cách tìm kiếm "executionLog".

Nhật ký lỗi điều khiển thiết bị Matter có dạng như sau:

{
  "insertId": "1a32ry0f6xpzzn",
  "jsonPayload": {
    "executionLog": {
      "executionResults": [
        {
          "executionType": "MATTER",
          "latencyMsec": "6000",
          "actionResults": [
            {
              "action": {
                "actionType": "ONOFF_OFF",
                "trait": "TRAIT_ON_OFF"
              },
              "status": {
                "externalDebugString": "No message was received before the deadline.",
                "statusType": "RESPONSE_TIMEOUT",
                "fallbackToCloud": false,
                "isSuccess": false
              },
              "device": {
                "deviceType": "OUTLET"
              }
            }
          ],
          "requestId": "1487232799486580805"
        }
      ]
    },
    "locale": "en-US"
  },
  "resource": {
    "type": "assistant_action_project",
    "labels": {
      "project_id": "<project-id>"
    }
  },
  "timestamp": "2023-03-01T15:47:27.311673018Z",
  "severity": "ERROR",
  "logName": "projects/<project-id>/logs/assistant_smarthome%2Fassistant_smarthome_logs",
  "receiveTimestamp": "2023-03-01T15:47:27.311673018Z"
}

Mỗi nhật ký lỗi chứa dấu thời gian, loại thiết bị và đặc điểm, cũng như lỗi liên quan đến yêu cầu kiểm soát trong statusType. Nhiều lỗi điều khiển cũng bao gồm một externalDebugString, một thông báo lỗi ngắn giải thích lỗi đó là gì.

5. Gỡ lỗi các tính năng khác

Đến đây, bạn đã tìm hiểu cách xử lý các vấn đề về việc thiết lập và kiểm soát thiết bị cho Matter. Ngoài ra, bạn có thể sử dụng các tính năng khác trong hệ sinh thái hoặc các kỹ thuật được đề xuất để đảm bảo tích hợp chất lượng cao.

Theo dõi các bản cập nhật OTA

Để theo dõi các bản phát hành bản cập nhật qua mạng không dây (OTA) cho các thiết bị Matter do Google Home phát hành, chúng tôi cung cấp một bộ chỉ số cho biết phiên bản phần cứng và phần mềm của các thiết bị đang được sử dụng.

Sau khi bạn phát hành bản cập nhật trên bảng điều khiển, hãy theo dõi các chỉ số sau:

Phân tích phần mềm và phần cứng

Bạn sẽ thấy rằng trong những ngày sau khi phát hành, ngày càng có nhiều thiết bị trên thực tế nhận được phiên bản phần mềm mới liên kết với bản phát hành phần mềm OTA của bạn.

6. Hỗ trợ tính năng tua

Google cung cấp các công cụ và tài liệu để bạn gỡ lỗi cho các vấn đề về Matter. Tuy nhiên, vì hệ sinh thái Matter còn mới nên sẽ có những vấn đề mà các tài nguyên này không đề cập đến. Trong những trường hợp này, bạn luôn có thể liên hệ với chúng tôi hoặc cộng đồng để được hỗ trợ.

Truy cập vào các kênh nhà phát triển

Có 3 kênh nhà phát triển được giám sát thường xuyên trong Google:

Stack Overflow, Trình theo dõi sự cố, Diễn đàn nhà phát triển

Mặc dù mỗi kênh trong số này đều được cùng một nhóm giám sát định kỳ, nhưng có một số điểm khác biệt chính về thời điểm sử dụng từng kênh.

  • Stack Overflow: Bạn có thể liên hệ với chúng tôi và cộng đồng nhà phát triển Nhà thông minh nếu có thắc mắc về cách triển khai hoặc cần được hướng dẫn. Đây là kênh phù hợp nhất để hỏi cách khắc phục sự cố hoặc triển khai một tính năng cụ thể.
  • Trình theo dõi sự cố: Đây là hệ thống trình theo dõi sự cố chính thức do Google điều hành, nơi đối tượng bên ngoài có thể báo cáo lỗi trên hệ sinh thái. Ứng dụng này cung cấp các công cụ trên web để đính kèm tệp và chia sẻ thông tin nhạy cảm khi cần. Sử dụng Trình theo dõi sự cố là cách tốt nhất để báo cáo các vấn đề về hệ sinh thái hoặc chia sẻ yêu cầu về tính năng.
  • Diễn đàn dành cho nhà phát triển: Để được hướng dẫn từ nhóm hỗ trợ chính thức của Google và các chuyên gia trong cộng đồng, bạn có thể liên hệ thông qua Diễn đàn dành cho nhà phát triển Nest. Diễn đàn này phù hợp nhất để \ nhận hướng dẫn chính thức về hoạt động phát triển.

Đăng ký nhận bản tin dành cho nhà phát triển

Ngoài việc truy cập vào các kênh dành cho nhà phát triển để đặt câu hỏi, chúng tôi cũng phát hành bản tin hằng quý để nêu bật các tính năng mới và cung cấp tin tức về trạng thái của hệ sinh thái Nhà thông minh của Google.

Bạn có thể sử dụng biểu mẫu đăng ký để nhận bản tin dành cho nhà phát triển.

7. Xin chúc mừng

Google Home

Xin chúc mừng! Bạn đã tìm hiểu thành công cách gỡ lỗi các hoạt động tích hợp Matter bằng cách sử dụng các công cụ và kỹ thuật mà chúng tôi đề xuất. Chúc bạn có những trải nghiệm thú vị khi tích hợp Matter với Google Home.

Các bước tiếp theo

Hãy thử các bài tập sau và khám phá các tài nguyên khác:

  • Ngoài việc sử dụng số liệu phân tích để khắc phục vấn đề, bạn cũng có thể sử dụng Bộ thử nghiệm để kiểm tra phương thức tích hợp nhằm phát hiện mọi vấn đề tiềm ẩn.
  • Sau khi quá trình tích hợp đã sẵn sàng để chia sẻ với mọi người, bước tiếp theo là nhận được Chứng nhận WWGH cho dự án của bạn. Để làm việc này, bạn có thể làm theo các bước trên trang Chứng chỉ.