跳轉到主要內容

什麼是功能?

功能是執行節點可以執行的操作。每個功能定義:
  • 操作內容 (名稱和描述)
  • 輸入參數 (JSON Schema)
  • 輸出資料 (JSON Schema)
  • 觸發的事件

功能結構

必需欄位

可選欄位


JSON Schema

功能使用 JSON Schema Draft 2020-12 來定義參數和傳回值。

為什麼使用 JSON Schema?

  • ✅ 自我文件化 - 描述資料結構
  • ✅ 驗證 - Qaptly 在發送前驗證參數
  • ✅ 型別安全 - 及早捕捉錯誤
  • ✅ AI 友善 - AI 可以理解您的 API

基本型別


功能範例

1. 簡單操作 (無參數)

獲取目前 WiFi 狀態且無輸入參數:

2. 具有必需參數的操作

使用必需 SSID 和可選密碼連接到 WiFi:

3. 具有陣列參數的操作

同時控制多個 GPIO 腳位:

4. 具有列舉選項的操作

從預定義選項設定 LED 顏色:

JSON Schema 功能

驗證約束

預設值

列舉

巢狀物件


事件宣告

宣告一個功能可能觸發的事件:
最佳實踐: 只列出直接相關的事件。不要列出您的執行節點可能發出的所有可能事件。

操作命名慣例

格式

標準網域

自訂網域

對於廠商特定的操作,使用:
範例:
  • acme.motor.rotate
  • acme.motor.stop
  • acme.motor.set_speed

描述最佳實踐

良好的描述有助於 AI 理解您的執行節點:

不好的描述

良好的描述

準則

  1. 具體化 - 確切地執行什麼操作?
  2. 提及關鍵資料 - 傳回的資訊是什麼?
  3. 包括單位 - dBm、MHz、秒等
  4. 注意副作用 - 它會改變狀態嗎?
  5. 為 AI 編寫 - 未來的 AI 整合將使用描述

完整範例

包含所有功能的綜合功能:

驗證

Qaptly 在發送命令前驗證參數:

動態功能 (進階)

對於具有變化功能的執行節點 (例如,偵測到的感應器),您可以:
  1. 初始註冊 - 使用基本功能進行註冊
  2. 發現 - 偵測可用硬體
  3. 重新連接 - 斷線並使用更新的功能重新連接
功能更新需要斷線和重新註冊。相應地規劃執行節點架構。

測試功能

測試您的 JSON Schema 定義:

後續步驟

協議參考

訊息格式規格

示例

完整的工作實現

快速開始

建立您的首個執行節點

認證

安全性和金鑰管理