square-codeคู่มือนักพัฒนา & API

1. เริ่มใช้งาน

1.1 การเตรียมตัว

ขั้นตอนที่ 1 โปรดตรวจสอบว่าเกตเวย์เปิดใช้งานและทำงานอย่างถูกต้อง

ขั้นตอนที่ 2 ตรวจสอบให้แน่ใจว่าเกตเวย์และคอมพิวเตอร์เชื่อมต่อกับ LAN เดียวกัน จากนั้นป้อน URL ของ CUBE ในเบราว์เซอร์ของคุณ

ประกาศ: หากคุณมีเกตเวย์หลายเครื่อง คุณสามารถรับที่อยู่ IP ที่สอดคล้องเพื่อเข้าถึงเกตเวย์ที่ระบุได้ด้วยสองวิธีด้านล่าง

  1. เข้าสู่ระบบเราเตอร์ไร้สายของคุณและตรวจสอบที่อยู่ IP ของเกตเวย์ใน DHCP

  2. CUBE สนับสนุนการค้นหาท้องถิ่นผ่าน mDNS

1.2 เริ่มต้นใช้งาน

  • เรียกอินเทอร์เฟซ [Access Token] และได้รับการตอบกลับข้อผิดพลาด แจ้งให้คลิก <เสร็จสิ้น>. หมายเหตุ: หลังจากกดแล้ว การเข้าถึงอินเทอร์เฟซจะมีผลไม่เกิน 5 นาที

// คำขอ
curl --location --request GET 'http://<ip address>/open-api/V2/rest/bridge/access_token' --header 'Content-Type: application/json'

// การตอบกลับ
{
  "error": 401,
  "data": {},
  "message": "link button not pressed" 
}
  • คลิก <เสร็จสิ้น> และเรียกอินเทอร์เฟซ [Access Token] อีกครั้ง การตอบกลับสำเร็จ และได้รับโทเค็น

  • ยืนยันโทเค็น เรียกอินเทอร์เฟซ [Get Device List] การตอบกลับสำเร็จ และได้รับรายการอุปกรณ์

  • วิธีรับโทเค็นการเข้าถึง CUBE: หลังจากเรียกอินเทอร์เฟซ [Access Token] หน้าคอนโซลเว็บ CUBE จะแสดงป๊อปอัปทั่วทั้งหน้าเพื่อให้ผู้ใช้ยืนยันการรับข้อมูลรับรองการเรียกอินเทอร์เฟซ

  • หมายเหตุ: หากคุณเปิดหน้าคอนโซลเว็บ CUBE หลายหน้า ป๊อปอัปยืนยันจะปรากฏบนหลายหน้าพร้อมกัน และป๊อปอัปของหน้าคอนโซลเว็บอื่นจะปิดหลังจากคลิกยืนยันบนหนึ่งในหน้าคอนโซลเว็บ

2. แนวคิดหลัก

2.1 ที่อยู่ของอินเทอร์เฟซสำหรับนักพัฒนา

อินเทอร์เฟซ Web API ของเกตเวย์มีสองวิธีการเข้าถึง (ตาม IP หรือชื่อโดเมน) โดยปกติ root path จะเป็น /open-api/V2/rest/< specific function module >

// การเข้าถึงแบบ IP http:///open-api/V2/rest/bridge

// การเข้าถึงแบบโดเมน http:///open-api/V2/rest/bridge

2.2 หมวดหมู่การแสดงผลอุปกรณ์และความสามารถ

  • **หมวดหมู่การแสดงผลของอุปกรณ์ (DisplayCategory). ** หมวดหมู่การแสดงผลของอุปกรณ์ใช้ระบุประเภทเฉพาะของอุปกรณ์ เช่น สวิตช์ ปลั๊ก ไฟ เป็นต้น ข้อมูลนี้จะกำหนดผลการแสดงผล UI ของอุปกรณ์ในเกตเวย์.

  • **ความสามารถของอุปกรณ์. ** ความสามารถของอุปกรณ์ใช้บรรยายฟังก์ชันย่อยเฉพาะของอุปกรณ์ เช่น การควบคุมพลังงาน การควบคุมความสว่าง การควบคุมอุณหภูมิสี เป็นต้น อุปกรณ์หนึ่งเครื่องสามารถรองรับความสามารถ 1 รายการหรือมากกว่า.

    • capability: อธิบายชื่อความสามารถ ซึ่งต้องไม่ซ้ำทั่วโลกและเป็นชนิดสตริง คำภาษาอังกฤษหลายคำควรคั่นด้วยขีดกลาง ("-") ตัวอย่างเช่น: "thermostat-target-setpoint".

    • name: อธิบายหมวดหมู่ภายใต้ความสามารถ ซึ่งเป็นชนิดสตริงเช่นกัน คำภาษาอังกฤษหลายคำควรคั่นด้วยขีดกลาง ("-") ตัวอย่างเช่น: "auto-mode", "manual-mode".

    • permission: อธิบายสิทธิ์ที่เกี่ยวข้องกับความสามารถ ประเภทเป็นสตริง จัดรูปแบบเป็นรหัสไบนารี 8421 ตัวอย่างได้แก่:

      • อุปกรณ์สามารถถูกควบคุมได้: "1000"

      • อุปกรณ์สามารถตั้งค่าได้: "0010"

      • อุปกรณ์สามารถถูกควบคุมและตั้งค่าได้: "1010"

      • อุปกรณ์สามารถถูกควบคุมและรายงานได้: "1100"

ความหมายของแต่ละบิต จากขวาไปซ้าย มีดังนี้: ⅰ. บิต 0: อนุญาตให้สืบค้นอุปกรณ์ ⅱ. บิต 1: อนุญาตให้ตั้งค่าอุปกรณ์ ⅲ. บิต 2: อนุญาตให้อุปกรณ์รายงานข้อมูล ⅳ. บิต 3: อนุญาตให้ควบคุมอุปกรณ์

settings: อธิบารรายการการตั้งค่าสำหรับความสามารถ ซึ่งเป็นชนิดอ็อบเจ็กต์และรวมคำอธิบายของแต่ละรายการการตั้งค่า ⅰ. key: อธิบายชื่อรายการการตั้งค่า ซึ่งเป็นชนิดสตริง คำภาษาอังกฤษหลายคำควรแสดงในรูปแบบ camelCase ตัวอย่างเช่น: "temperatureUnit". ⅱ. value: อธิบายเนื้อหาของรายการการตั้งค่า ข้อกำหนดเฉพาะระบุไว้ในตารางด้านล่าง

คุณลักษณะ
ประเภท
ทางเลือก
คำอธิบาย

permission

string

N

อธิบายสิทธิ์สำหรับรายการการตั้งค่า

ค่าที่เป็นไปได้ (ตัวเลือก):

  • อนุญาตให้แก้ไขรายการการตั้งค่านี้: "10"

  • อนุญาตให้ดูรายการการตั้งค่านี้: "01"

  • อนุญาตทั้งการแก้ไขและการดูรายการการตั้งค่านี้: "11"

คำอธิบายของบิต:

  1. บิต 0: อนุญาตให้ดูรายการการตั้งค่านี้

  2. บิต 1: อนุญาตให้แก้ไขรายการการตั้งค่านี้ | | type | string | N | อธิบายชนิดข้อมูลของค่ารายการการตั้งค่า. ค่าที่เป็นไปได้ (ตัวเลือก):

  • "enum"

  • "numeric"

  • "object"

  • "boolean"

  • "string"

แนวทางเฉพาะตามประเภท:

  1. เมื่อ **type = enum**:

    • ฟิลด์ value (อธิบายค่าของรายการการตั้งค่า) เป็นภาคบังคับถ้า permission อนุญาตให้แก้ไข ("10" หรือ "11").

    • ฟิลด์ default (อธิบายค่ามาตรฐานของรายการการตั้งค่า) และ values (อธิบายค่าที่เลือกได้สำหรับรายการการตั้งค่า) เป็นฟิลด์ที่เป็นทางเลือก

  2. เมื่อ **type = numeric**:

    • ฟิลด์ value ฟิลด์เป็นภาคบังคับถ้า permission อนุญาตให้แก้ไข ("10" หรือ "11").

    • ฟิลด์ต่อไปนี้เป็นทางเลือก:

      • min (อธิบายค่าต่ำสุดของรายการการตั้งค่า)

      • max (อธิบายค่าสูงสุดของรายการการตั้งค่า)

      • step (อธิบายค่าก้าวของรายการการตั้งค่า)

      • precision (อธิบายความละเอียด)

      • unit (อธิบายหน่วยของรายการการตั้งค่า)

      • default (อธิบายค่าดีฟอลต์)

  3. เมื่อ **type = object**:

    • ฟิลด์ value ฟิลด์เป็นภาคบังคับถ้า permission อนุญาตให้แก้ไข ("10" หรือ "11").

    • ฟิลด์ default ฟิลด์เป็นทางเลือก

  4. เมื่อ **type = boolean**:

    • ฟิลด์ value ฟิลด์เป็นภาคบังคับถ้า permission อนุญาตให้แก้ไข ("10" หรือ "11").

    • ฟิลด์ default ฟิลด์เป็นทางเลือก

  5. เมื่อ **type = string**:

    • ฟิลด์ value ฟิลด์เป็นภาคบังคับถ้า permission อนุญาตให้แก้ไข ("10" หรือ "11").

    • ฟิลด์ default ฟิลด์เป็นทางเลือก. |

3. Web API

ประเภทของข้อมูล

ประเภท
คำอธิบาย

string

ชนิดข้อมูลสตริง เข้ารหัสเป็น UTF8

int

ชนิดข้อมูลจำนวนเต็ม

object

ชนิดข้อมูลอ็อบเจ็กต์ อ็อบเจ็กต์ที่เป็นไปตาม JSON

string[]

อาร์เรย์ของสตริง

int[]

อาร์เรย์ของจำนวนเต็ม

object[]

อาร์เรย์ของอ็อบเจ็กต์

bool

บูลีน

date

สตริงเวลา รูปแบบสตริงเป็น ISO (รูปแบบขยาย ISO 8601): YYYY-MM-DDTHH:mm:ss.sssZ เขตเวลาเป็น UTC เสมอ ซึ่งระบุด้วยคำต่อท้าย "Z"

ผลการตอบกลับทั่วไป

คุณลักษณะ
ประเภท
ทางเลือก
คำอธิบาย

error

int

N

รหัสข้อผิดพลาด:

0: สำเร็จ

400: พารามิเตอร์ผิดพลาด

401: การตรวจสอบสิทธิ์ล้มเหลว

500: ข้อยกเว้นของเซิร์ฟเวอร์

data

object

N

เนื้อหาข้อมูลการตอบกลับ

message

string

N

คำอธิบายการตอบกลับ:

เมื่อ error เท่ากับ 0 เนื้อหาคือ success

เมื่อ error ไม่เท่ากับ 0 จะเป็นสตริงที่ไม่ว่าง และเนื้อหาคือคำอธิบายข้อผิดพลาด

ตัวอย่างการตอบกลับ:

รายการทรัพยากร

ประเภท
คำอธิบาย

เสียงที่รองรับ

- alert1 (เสียงเตือน 1)

  • alert2 (เสียงเตือน 2)

  • alert3 (เสียงเตือน 3)

  • alert4 (เสียงเตือน 4)

  • alert5 (เสียงเตือน 5)

  • doorbell1 (เสียงกริ่งประตู 1)

  • doorbell2 (เสียงกริ่งประตู 2)

  • doorbell3 (เสียงกริ่งประตู 3)

  • doorbell4 (เสียงกริ่งประตู 4)

  • doorbell5 (เสียงกริ่งประตู 5)

  • alarm1 (เสียงสัญญาณเตือน 1)

  • alarm2 (เสียงสัญญาณเตือน 2)

  • alarm3 (เสียงสัญญาณเตือน 3)

  • alarm4 (เสียงสัญญาณเตือน 4)

  • alarm5 (เสียงสัญญาณเตือน 5) | | รองรับ deep | - bootComplete (ระบบบูตเสร็จสิ้น)

  • networkConnected (เครือข่ายเชื่อมต่อ)

  • networkDisconnected (เครือข่ายตัดการเชื่อมต่อ)

  • systemShutdown (ระบบปิดเครื่อง) -deviceDiscovered (ค้นพบอุปกรณ์)

  • system Armed (ระบบถูกตั้งให้ติดอาวุธ/เปิดใช้งาน)

  • system Disarmed (ระบบยกเลิกการติดอาวุธ/ปิดการใช้งาน)

  • factoryReset (รีเซ็ตอุปกรณ์) |

3.1 ฟังก์ชันของเกตเวย์

a. Access Token

อนุญาตให้ผู้ใช้เข้าถึงโทเค็น

  • ประกาศ: โทเค็นจะถูกล้างหลังจากรีเซ็ตอุปกรณ์

  • ประกาศ: หลังจากได้รับโทเค็น คุณต้องกดปุ่มอีกครั้งเพื่อรับโทเค็นใหม่อย่างสำเร็จ

:::tips

  • URL/open-api/V2/rest/bridge/access_token

  • MethodGET

  • Header

    • Content-Type: application/json ::: Request Parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

app_name

string

Y

คำอธิบายชื่อแอปพลิเคชัน

การตอบกลับข้อมูลที่สำเร็จ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

token

string

N

โทเค็นการเข้าถึงอินเทอร์เฟซ มีอายุการใช้งานนาน โปรดบันทึกไว้

app_name

string

Y

คำอธิบายชื่อแอปพลิเคชัน

:::tips เงื่อนไข : ผู้ใช้ทริกเกอร์ < command key > และเข้าถึงอินเทอร์เฟซนี้ภายในเวลาที่มีผล **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

การตอบกลับข้อมูลเมื่อล้มเหลว:วัตถุว่าง :::tips เงื่อนไข:ผู้ใช้ยังไม่ได้ทริกเกอร์ < command key > หรือเวลาที่มีผลหมดอายุ **Status Code: ** 200 OK ::: ตัวอย่างการตอบกลับ:

b. รับสถานะของเกตเวย์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตรับสถานะของเกตเวย์ผ่านอินเทอร์เฟซนี้ :::tips

  • URL/open-api/V2/rest/bridge/runtime

  • MethodGET

  • Header

    • Content-Type: application/json

    • Autorization: Bearer ::: Request Parameters: none Successful data response:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

ram_used

int

N

ร้อยละการใช้งาน RAM [0-100]

cpu_used

int

N

ร้อยละการใช้งาน CPU [0-100]

power_up_time

date

N

เวลาที่เปิดเครื่องล่าสุด

cpu_temp

int

N

อุณหภูมิ CPU:

หน่วย: เซลเซียส

cpu_temp_unit

string

N

หน่วยอุณหภูมิ CPU:

ทางเลือก

values:'c', 'f'

sd_card_used

int

Y

การใช้งานการ์ด SD (ร้อยละ):

ช่วง:[0-100] มีความละเอียดทศนิยมหนึ่งตำแหน่ง

*หมายเหตุ: หากไม่ได้ใส่การ์ด SD หรือไม่ได้ฟอร์แมต ค่าจะเป็นค่าว่าง

:::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

c. การตั้งค่าเกตเวย์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตตั้งค่าเกตเวย์ผ่านอินเทอร์เฟซนี้ :::tips

  • URL/open-api/V2/rest/bridge/config

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Autorization: Bearer ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

volume

int

Y

ระดับเสียงระบบ [0-100]

การตอบกลับข้อมูลที่สำเร็จ: วัตถุว่าง {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

d. รับข้อมูลเกตเวย์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตรับข้อมูลเกตเวย์ผ่านอินเทอร์เฟซนี้ :::tips

  • URL/open-api/V2/rest/bridge

  • MethodGET

  • Header

    • Content-Type: application/json ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

ip

string

N

ที่อยู่ IP

mac

string

N

ที่อยู่ MAC

domain

string

Y

โดเมนบริการเกตเวย์

fw_version

string

N

เวอร์ชันเฟิร์มแวร์

name

string

N

ชื่ออุปกรณ์

การตอบกลับข้อมูลที่สำเร็จ: วัตถุว่าง {} :::tips เงื่อนไข : ไม่มี **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

e. ปิดเสียงเกตเวย์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตปิดเสียงเกตเวย์ผ่านอินเทอร์เฟซนี้. :::tips

  • URL/open-api/v2/rest/bridge/mute

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: Request Parameters: none Successful data response:empty Object {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

f. ยกเลิกการปิดเสียงเกตเวย์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตเปิดเสียงเกตเวย์ผ่านอินเทอร์เฟซนี้ :::tips

  • URL/open-api/v2/rest/bridge/unmute

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: Request Parameters: none Successful data response:empty Object {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

g. ยกเลิกสัญญาณเตือนของเกตเวย์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตปิดสถานะเสียงเตือนบนเกตเวย์ผ่านอินเทอร์เฟซนี้ :::tips

  • URL/open-api/v2/rest/bridge/cancel_alarm

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: Request Parameters: none Successful data response:empty Object {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

3.2 ฟังก์ชันฮาร์ดแวร์

a. รีสตาร์ทเกตเวย์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตรีสตาร์ทเกตเวย์ผ่านอินเทอร์เฟซนี้ :::tips

  • URL/open-api/V2/rest/hardware/reboot

  • MethodPOST

  • Header

    • Content-Type: application/json

    • Autorization: Bearer ::: Request Parameters: none Successful data response: empty Object {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK :::

b. การควบคุมลำโพง

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตควบคุมลำโพงผ่านอินเทอร์เฟซนี้ :::tips

  • URL/open-api/V2/rest/hardware/speaker

  • MethodPOST

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

type

string

N

พารามิเตอร์ทางเลือก: 1.play_sound (เล่นเสียง) 2.play_beep (เล่นบี๊ป)

sound

SoundObject

Y (N หาก type เป็น play_sound.)

เสียง

beep

BeepObject

Y (N หาก type เป็น play_beep.)

บี๊ป

SoundObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อเสียง ค่าที่รองรับสามารถตรวจสอบได้ใน [Resource List - Supported sound]

volume

int

N

ระดับเสียงของเสียง [0-100]

countdown

int

N

ระยะเวลาที่ลำโพงจะเล่นเสียง และจะหยุดเล่นโดยอัตโนมัติเมื่อเวลา สิ้นสุด หน่วย: วินาที [0,1799]

BeepObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อ deep ค่าที่รองรับสามารถตรวจสอบได้ใน [Resource List - Supported deep]

volume

int

N

ระดับเสียง deep [0-100]

การตอบกลับข้อมูลที่สำเร็จ: วัตถุว่าง {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: ** 200 OK ::: ตัวอย่างการตอบกลับ:

3.3 ฟังก์ชันการจัดการอุปกรณ์

a. ประเภทอุปกรณ์ที่รองรับ

ประเภทอุปกรณ์

ค่า

iHost เวอร์ชัน

ปลั๊ก

plug

≥ 2.1.0

สวิตช์

switch

≥ 2.1.0

ไฟ

light

≥ 2.1.0

ผ้าม่าน

curtain

≥ 2.1.0

เซ็นเซอร์ประตู/หน้าต่าง

contactSensor

≥ 2.1.0

เซ็นเซอร์การเคลื่อนไหว

motionSensor

≥ 2.1.0

เซ็นเซอร์อุณหภูมิ

temperatureSensor

≥ 2.1.0

เซ็นเซอร์ความชื้น

humiditySensor

≥ 2.1.0

เซ็นเซอร์อุณหภูมิและความชื้น

temperatureAndHumiditySensor

≥ 2.1.0

ตัวตรวจจับการรั่วไหลของน้ำ

waterLeakDetector

≥ 2.1.0

ตัวตรวจจับควัน

smokeDetector

≥ 2.1.0

ปุ่มไร้สาย

button

≥ 2.1.0

กล้อง

camera

≥ 2.1.0

เซ็นเซอร์ทั่วไป

sensor

≥ 2.1.0

เซ็นเซอร์ทั่วไป

sensor

≥ 2.1.0

พัดลมพร้อมไฟ

fanLight

≥ 2.1.0

เครื่องปรับอากาศ

airConditioner

≥ 2.1.0

พัดลม

fan

≥ 2.1.0

เทอร์โมสตัท

thermostat

≥ 2.1.0

ข. ความสามารถของอุปกรณ์ที่รองรับ

สวิตช์ไฟ (power):

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์สถานะ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

เปิด:

ปิด:

สวิตช์ช่อง (toggle):

ตัวอย่างการประกาศความสามารถ:

ตัวอย่างคอมโพเนนต์เดี่ยว:

ตัวอย่างหลายคอมโพเนนต์:

แอตทริบิวต์สถานะ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

รูปแบบสวิตช์:

สวิตช์ช่องแบบหน่วงเวลา (toggle-inching):

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์สถานะ

ไม่มี

โปรโตคอล (คำสั่งสอบสถานะและควบคุม)

ไม่มี

การปรับความสว่าง (brightness):

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์สถานะ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ตั้งความสว่างเป็น 80% (0 มืดสุด และ 100 สว่างสุด)

การปรับอุณหภูมิสี (color-temperature):

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์สถานะ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ปรับอุณหภูมิสีเป็น 50%:

การปรับสี (color-rgb):

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์สถานะ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ตั้งค่าสีเป็นสีม่วง:

การปรับตามเปอร์เซ็นต์ (percentage):

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์สถานะ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ปรับเป็น 40%:

การควบคุมมอเตอร์ (motor-control):

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์สถานะ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

เปิดมอเตอร์:

การสลับทิศทางมอเตอร์ (motor-reverse):

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์สถานะ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ตั้งมอเตอร์เป็นเดินหน้า:

การปรับเทียบมอเตอร์ (motor-clb)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (การรายงานสถานะ):

รายงานสถานะมอเตอร์กำลังปรับเทียบ:

สถานะการเปิดเครื่อง (startup)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ตั้งสถานะพลังงานให้เปิดตลอด:


การเปิดใช้งานการปลุก/ปลุกเตือน (identify)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (การรายงานสถานะและคำสั่งควบคุม):

ตั้งเวลาการเปิดใช้งานการปลุก:

รายงานสถานะการเปิดใช้งาน:

สวิตช์สถิติการใช้พลังงานแบบเรียลไทม์ (power-consumption)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

เริ่ม/หยุด สถิติเรียลไทม์:

การสอบถามการใช้พลังงานตามช่วงเวลา:

ตอบกลับด้วยผลสถิติภายในช่วงเวลา:

โปรโตคอล (การรายงานสถานะและคำสั่งควบคุม):

เริ่มสถิติเรียลไทม์:

หยุดสถิติเรียลไทม์:

รับการใช้พลังงานย้อนหลัง:

รับการใช้พลังงานแบบเรียลไทม์:

การตรวจจับโหมดอุณหภูมิและความชื้น (thermostat-mode-detect)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

รูปแบบ:

ตัวอย่าง:

โหมดเทอร์โมสตัท (thermostat-mode)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สถานะการฟื้นฟูแบบปรับตัวของเทอร์โมสตัท (thermostat/adaptive-recovery-status)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตั้งค่าอุณหภูมิเป้าหมายโหมดเทอร์โมสตัท (thermostat-target-setpoint)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับเซนเซอร์ (detect)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับอุณหภูมิ (temperature)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับความชื้น (humidity)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับแบตเตอรี่ (battery)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับปุ่มเดี่ยว (press)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับปุ่มหลายปุ่ม (multi-press)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับความแรงสัญญาณ (rssi)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับการแกะ (tamper-alert)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับระดับแสง (illumination-level)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับแรงดันไฟฟ้า (voltage)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับกระแสไฟฟ้า (electric-current)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับกำลังไฟฟ้า (electric-power)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับข้อผิดพลาด (fault)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ตัวตัดเกณฑ์ (threshold-breaker)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ)

  • ไม่มี

โปรโตคอล (คำสั่งสอบสถานะและควบคุม)

  • ไม่มี

ฟังก์ชัน Inch (inching)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

  • ไม่มี

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

  • ไม่มี

สตรีมกล้อง (camera-stream)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

  • ไม่มี

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

  • ไม่มี

การควบคุมโหมด (mode)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับก๊าซคาร์บอนไดออกไซด์ (co2)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับแสง (illumination)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับควัน (smoke)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับการเปิด/ปิดแม่เหล็กประตู (contact)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับการเคลื่อนไหว (motion)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับการรั่วไหลของน้ำ (water-leak)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สวิตช์ตรวจจับหน้าต่าง (window-detection)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สวิตช์ล็อกสำหรับเด็ก (child-lock)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สวิตช์ป้องกันการเป่าตรง (anti-direct-blow)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สวิตช์สวิงแนวนอน (horizontal-swing)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สวิตช์สวิงแนวตั้ง (vertical-swing)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สวิตช์โหมดประหยัดพลังงาน (eco)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สลับการเริ่มต้น (toggle-startup)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ตรวจจับการถือค้าง (detect-hold)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สลับระบุ/กระตุ้น (toggle-identify)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สลับการตรวจจับแรงดันไฟฟ้า (toggle-voltage)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับกระแสไฟฟ้าย่อย (toggle-electric-current)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับกำลังไฟฟ้าย่อย (toggle-electric-power)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สถิติการใช้พลังงานย่อย (toggle-power-consumption)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

เริ่ม/หยุด สถิติเรียลไทม์:

การสอบถามการใช้พลังงานตามช่วงเวลา:

การตอบกลับสำหรับการใช้พลังงานภายในช่วงเวลา:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

เริ่มสถิติเรียลไทม์:

หยุดสถิติเรียลไทม์:

รับการใช้พลังงานย้อนหลัง:

รับการใช้พลังงานแบบเรียลไทม์:

ตัวชี้วัดคุณภาพลิงก์ (lqi)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การกำหนดค่าฟังก์ชัน (configuration)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ระบบ (system)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ความชื้น (moisture)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ความกดอากาศ (barometric-pressure)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ความเร็วลม (wind-speed)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ทิศทางลม (wind-direction)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ปริมาณฝน (rainfall)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ดัชนีอัลตราไวโอเลต (ultraviolet-index)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ค่าการนำไฟฟ้าไฟฟ้า (electrical-conductivity)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

กำลังส่งสัญญาณ (transmit-power)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับ PM2.5 (pm25)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ดัชนี VOC (voc-index)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตรวจจับก๊าซธรรมชาติ (gas)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

สถานะการทำงานของการชลประทาน (irrigation/work-status)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การรายงานสถานะการทำงาน:

การสืบค้นสถานะการทำงาน:

ผลการสืบค้นสถานะการทำงาน:

โหมดการทำงานการชลประทาน (irrigation/work-mode)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

ตัวควบคุมการชลประทานอัตโนมัติ (irrigation/auto-controller)

ตัวอย่างการประกาศความสามารถ:

แอตทริบิวต์ (สถานะ):

การตั้งเวลาแบบครั้งเดียวหรือแบบซ้ำ:

การตั้งค่าปริมาตรแบบครั้งเดียวหรือแบบซ้ำ:

โปรโตคอล (คำสั่งสอบสถานะและควบคุม):

การตั้งเวลาแบบครั้งเดียวหรือแบบซ้ำ:

การตั้งค่าปริมาตรแบบครั้งเดียวหรือแบบซ้ำ:

โหมดตั้งค่าล่วงหน้าที่รองรับ

**ชื่อโหมด **
**ค่าตัวเลือก **

fanLevel (ระดับพัดลม)

"low"

"medium"

"high"

thermostatMode (โหมดเทอร์โมสตัท)

"auto"

"manual"

airConditionerMode >= 1.11.0 (โหมดเครื่องปรับอากาศ)

"cool"

"heat"

"auto"

"fan"

"dry"

fanMode >= 1.11.0 (โหมดพัดลม)

"normal"

"sleep"

"child"

horizontalAngle >= 1.11.0 (มุมแนวนอน)

"30"

"60"

"90"

"120"

"180"

"360"

verticalAngle >= 1.11.0 (มุมแนวตั้ง)

"30"

"60"

"90"

"120"

"180"

"360"

ค. คำอธิบายแท็ก

  • คีย์พิเศษ toggle ใช้เพื่อกำหนดชื่อของซับคอมโพเนนต์ toggle.

  • คีย์พิเศษ temperature_unit ใช้เพื่อกำหนดหน่วยอุณหภูมิ.

ง. รหัสข้อผิดพลาดพิเศษและคำอธิบาย

รหัสข้อผิดพลาด

คำอธิบาย

iHost เวอร์ชัน

110000

ซับอุปกรณ์/กลุ่มที่ตรงกับ id ไม่มีอยู่

≥2.1.0

110001

เกตเวย์อยู่ในสถานะกำลังค้นหาอุปกรณ์ zigbee

≥2.1.0

110002

อุปกรณ์ในกลุ่มไม่มีความสามารถร่วมกัน

≥2.1.0

110003

จำนวนอุปกรณ์ไม่ถูกต้อง

≥2.1.0

110004

จำนวนกลุ่มไม่ถูกต้อง

≥2.1.0

110005

อุปกรณ์ออฟไลน์

≥2.1.0

110006

อัปเดตสถานะอุปกรณ์ล้มเหลว

≥2.1.0

110007

อัปเดตสถานะกลุ่มล้มเหลว

≥2.1.0

110008

ถึงจำนวนกลุ่มสูงสุดแล้ว สร้างได้สูงสุด 50 กลุ่ม

≥2.1.0

110009

ที่อยู่ IP ของอุปกรณ์กล้องไม่ถูกต้อง

≥2.1.0

110010

ข้อผิดพลาดการอนุญาตการเข้าถึงอุปกรณ์กล้อง

≥2.1.0

110011

ที่อยู่สตรีมของอุปกรณ์กล้องผิด

≥2.1.0

110012

การเข้ารหัสวิดีโอของอุปกรณ์กล้องไม่รองรับ

≥2.1.0

110013

อุปกรณ์มีอยู่แล้ว

≥2.1.0

110014

กล้องไม่รองรับการทำงานแบบออฟไลน์

≥2.1.0

110015

รหัสผ่านบัญชีไม่ตรงกับรหัสผ่านบัญชีในที่อยู่สตรีม RTSP

≥2.1.0

110016

เกตเวย์อยู่ในสถานะกำลังค้นหากล้อง onvif

≥2.1.0

110017

เพิ่มจำนวนกล้องเกินขีดจำกัดสูงสุด

≥2.1.0

110018

เส้นทางของกล้อง ESP ผิด

≥2.1.0

110019

เข้าถึงที่อยู่บริการของอุปกรณ์บุคคลที่สามล้มเหลว

≥2.1.0

จ. ค้นหาซับอุปกรณ์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตเปิดหรือปิดการค้นหาซับอุปกรณ์ของเกตเวย์ผ่านอินเทอร์เฟซนี้

  • 💡หมายเหตุ: ขณะนี้รองรับการค้นหาซับอุปกรณ์ Zigbee เท่านั้น.

  • 💡หมายเหตุ: ซับอุปกรณ์ Zigbee จะถูกเพิ่มโดยอัตโนมัติหลังการค้นหา ไม่จำเป็นต้องใช้หน้า "เพิ่มซับอุปกรณ์ด้วยตนเอง" :::tips

  • URL:/open-api/V2/rest/devices/discovery

  • Method: PUT

  • Header

    • Content-Type: application/json

    • Autorization: Bearer ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

เปิดใช้งาน

boolean

N

true (เริ่มจับคู่); false (หยุดจับคู่)

type

string

N

ประเภทการค้นหา: Zigbee

การตอบกลับข้อมูลที่สำเร็จ: วัตถุว่าง {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: ** 200 OK ::: ตัวอย่างการตอบกลับ:

ฉ. เพิ่มซับอุปกรณ์ด้วยตนเอง

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตเพิ่ม เดี่ยว ซับอุปกรณ์ผ่านอินเทอร์เฟซนี้.

  • หมายเหตุ: ขณะนี้รองรับเฉพาะกล้อง RTSP และกล้อง ESP32 เท่านั้น :::tips

  • URL:/open-api/V2/rest/devices

  • Method:POST

  • Header

    • Content-Type: application/json

    • Autorization: Bearer ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อซับอุปกรณ์

display_category

string

N

ประเภทอุปกรณ์. รองรับเฉพาะกล้องเท่านั้น。

capabilities

CapabilityObject[]

N

รายการความสามารถ. เมื่อ display_category = camera, capabilities จะรวมเฉพาะความสามารถ camera-stream.

protocal

string

N

โปรโตคอลอุปกรณ์. RTSP; ESP32-CAM

manufacturer

string

N

ผู้ผลิต.

model

string

N

รุ่นอุปกรณ์

firmware_version

string

N

เวอร์ชันเฟิร์มแวร์ของอุปกรณ์

CapabilityObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

capability

string

N

ชื่อความสามารถ. รองรับเฉพาะ "camera-stream" เท่านั้น

permission

string

N

สิทธิ์ของอุปกรณ์. รองรับเฉพาะการอ่านเท่านั้น.

configuration

CameraStreamConfigurationObject

Y

การกำหนดค่าสตรีมของกล้อง.

SettingsObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

streamSetting

StreamSettingObject

N

การกำหนดค่าบริการสตรีม

StreamSettingObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

type

string

N

การกำหนดค่าบริการสตรีม

permission

string

N

สิทธิความสามารถ. รองรับเฉพาะ "11" (แก้ไขได้).

value

StreamSettingValueObject

N

ค่าการกำหนดค่าเฉพาะ

StreamSettingValueObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

stream_url

string

N

รูปแบบ URL ของสตรีม

รูปแบบ:<schema>://<hostname>:<port>/<username>:<password>@<service_path>

ตัวอย่าง:rtsp://admin:[email protected]:554/streaming/channel01

ตัวเลือก Schema:

rtsp (Real-Time Streaming Protocol)

http (Hypertext Transfer Protocol) — สำหรับอุปกรณ์ ESP32-CAM

*หมายเหตุ: บางกล้องอาจไม่ต้องการชื่อผู้ใช้หรือรหัสผ่าน ในกรณีดังกล่าว สามารถละเว้น <username> และ <password> ฟิลด์จาก URL ได้.

การตอบกลับข้อมูลที่สำเร็จ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

:::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

การตอบกลับข้อมูลล้มเหลว: Object ว่าง :::tips เงื่อนไข

  1. การเข้าถึงที่อยู่สตรีมของกล้องผิด (รูปแบบผิด, การอนุญาตล้มเหลว, ข้อยกเว้นเครือข่าย ฯลฯ)

  2. อุปกรณ์มีอยู่แล้ว

  3. หากอุปกรณ์เดียวเพิ่มล้มเหลว จะคืนค่าทั้งหมดว่าเพิ่มอุปกรณ์ล้มเหลว.

รหัสสถานะ: 200 OK รหัสข้อผิดพลาด: ● 110009 ที่อยู่ IP ของกล้องผิด ● 110010 การอนุญาตการเข้าถึงกล้องผิด ● 110011 ที่อยู่สตรีมของกล้องผิด ● 110012 การเข้ารหัสวิดีโอของกล้องไม่รองรับ ● 110013 อุปกรณ์มีอยู่แล้ว ::: ตัวอย่างการตอบกลับ:

ฌ. ดึงรายการซับอุปกรณ์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตดึงรายการซับอุปกรณ์ของเกตเวย์ผ่านอินเทอร์เฟซนี้. :::tips

  • URL:/open-api/V2/rest/devices

  • Method: GET

  • Header

    • Content-Type: application/json

    • Autorization: Bearer ::: Request Parameters: none Successful data response:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

device_list

ResponseDeviceObject[]

N

รายการอุปกรณ์

ResponseDeviceObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

third_serial_number

string

"N" เมื่อเชื่อมต่ออุปกรณ์บุคคลที่สาม, มิฉะนั้น "Y"

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม

service_address

string

"N" เมื่อเชื่อมต่ออุปกรณ์บุคคลที่สาม, มิฉะนั้น "Y"

ที่อยู่บริการของบุคคลที่สาม

name

string

N

ชื่ออุปกรณ์ หากไม่ได้เปลี่ยนชื่อ จะถูกแสดงโดยส่วนหน้าตามกฎการแสดงผลเริ่มต้น.

manufacturer

string

N

ผู้ผลิต

model

string

N

รุ่นอุปกรณ์

firmware_version

string

N

เวอร์ชันเฟิร์มแวร์. อาจเป็นสตริงว่างได้.

hostname

string

Y

ชื่อโฮสต์ของอุปกรณ์

mac_address

string

Y

ที่อยู่ MAC ของอุปกรณ์

app_name

string

Y

ชื่อของแอปที่เป็นเจ้าของ หากเติม app_name เมื่อขอรับใบรับรองอินเทอร์เฟซเปิด ทุกอุปกรณ์ที่เชื่อมต่อผ่านใบรับรองนั้นจะถูกเขียนลงในฟิลด์นี้ทั้งหมด.

display_category

string

N

หมวดหมู่อุปกรณ์

capabilities

CapabilityObject[]

N

ความสามารถของอุปกรณ์

protocol

string

"N" เมื่อเชื่อมต่ออุปกรณ์บุคคลที่สาม, มิฉะนั้น "Y"

โปรโตคอลอุปกรณ์: zigbee, onvif, rtsp, esp32-cam

สถานะ

object

Y

วัตถุสถานะอุปกรณ์ สำหรับตัวอย่างสถานะของความสามารถที่แตกต่างกัน โปรดตรวจสอบ 【Support Device Capabilities】

ป้ายกำกับ

object

Y

คู่คีย์-ค่าในรูปแบบ JSON ข้อมูลอุปกรณ์แบบกำหนดเอง ฟังก์ชันมีดังนี้:- ใช้เพื่อเก็บช่องของอุปกรณ์- ใช้เพื่อเก็บหน่วยอุณหภูมิ- ข้อมูลกำหนดเองสำหรับอุปกรณ์บุคคลที่สามอื่น ๆ

ออนไลน์

boolean

N

สถานะออนไลน์: True หมายถึงออนไลน์ False หมายถึงออฟไลน์

ซับเน็ต

boolean

Y

ว่าอยู่ในซับเน็ตเดียวกับเกตเวย์หรือไม่

CapabilityObject 💡หมายเหตุ: โปรดตรวจสอบตัวอย่างความสามารถของอุปกรณ์ที่รองรับใน [Supported Device Capabilities].

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

capability

string

N

ชื่อความสามารถ สำหรับรายละเอียด ตรวจสอบ [Supported Device Capabilities]

permission

string

N

สิทธิ์ความสามารถ ค่าที่เป็นไปได้คือ "read" (อ่านได้), "write" (เขียนได้), "readWrite" (อ่านและเขียนได้).

configuration

object

Y

ข้อมูลการกำหนดค่าความสามารถ ขณะนี้ใช้สำหรับ camera-stream โปรดตรวจสอบ [Supported Device Capabilities]

name

string

Y

ฟิลด์ชื่อใน toggle หมายเลขซับ-ช่องที่ใช้ระบุอุปกรณ์หลายช่อง ตัวอย่างเช่น หาก name เป็น 1 หมายถึงช่อง 1

:::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

h. อัปเดตข้อมูลหรือสถานะอุปกรณ์ที่ระบุ

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตแก้ไขข้อมูลพื้นฐานของซับ-อุปกรณ์และออกคำสั่งควบคุมผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL:/open-api/V2/rest/devices/{serial_number}

  • Method:PUT

  • Header

    • Content-Type: application/json

    • Autorization: Bearer ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

Y

ชื่ออุปกรณ์

ป้ายกำกับ

object

Y

คู่คีย์-ค่าในรูปแบบ JSON ข้อมูลอุปกรณ์แบบกำหนดเอง

สถานะ

object

Y

วัตถุสถานะอุปกรณ์ สำหรับตัวอย่างสถานะของความสามารถที่แตกต่างกัน โปรดตรวจสอบ [Support Device Capabilities]

configuration

object

Y

ข้อมูลการกำหนดค่าความสามารถ ขณะนี้สามารถแก้ไขได้เฉพาะความสามารถ camera_stream เท่านั้น

การตอบกลับข้อมูลที่สำเร็จ: :::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และการตรวจสอบตัวตนของผู้ใช้ผ่านแล้ว **รหัสสถานะ: **200 OK รหัสข้อผิดพลาด:

  • 110000 ซับ-อุปกรณ์/กลุ่มที่สอดคล้องกับ id ไม่มีอยู่ ::: ตัวอย่างการตอบกลับ:

i. ลบซับ-อุปกรณ์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตลบซับ-อุปกรณ์ผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL:/open-api/V2/rest/devices/{serial_number}

  • Method:DELETE

  • Header

    • Content-Type: application/json

    • การอนุญาต: Bearer ::: พารามิเตอร์คำขอ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

Y

ชื่ออุปกรณ์

ป้ายกำกับ

object

Y

คู่คีย์-ค่าในรูปแบบ JSON ใช้เพื่อเก็บชื่อช่องอุปกรณ์และข้อมูลอื่น ๆ ของซับ-อุปกรณ์

สถานะ

object

Y

เปลี่ยนสถานะอุปกรณ์; สำหรับรายละเอียดโปรโตคอลเฉพาะ ให้ดู "Supported Device Capabilities."

capabilities

CapabilityObject []

Y

ข้อมูลการกำหนดค่าความสามารถ; ความสามารถทั้งหมดที่รองรับการตั้งค่าการกำหนดค่าสามารถแก้ไขได้ โปรดทราบว่าไม่สามารถเปลี่ยนสิทธิ์ได้

การตอบกลับข้อมูลที่สำเร็จ: :::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และการตรวจสอบตัวตนของผู้ใช้ผ่านแล้ว **รหัสสถานะ: **200 OK รหัสข้อผิดพลาด:

  • 110000: ซับ-อุปกรณ์/กลุ่มที่สอดคล้องกับ ID ไม่มีอยู่

  • 110006: การอัปเดตสถานะอุปกรณ์ล้มเหลว

  • 110019: การเข้าถึงที่อยู่บริการอุปกรณ์บุคคลที่สามล้มเหลว

  • 110024: การอัปเดตการกำหนดค่าอุปกรณ์ล้มเหลว ::: ตัวอย่างการตอบกลับ:

j. ลบซับ-อุปกรณ์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตลบซับ-อุปกรณ์ผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL/open-api/v2/rest/devices/{serial_number}

  • MethodDELETE

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี การตอบกลับข้อมูลที่สำเร็จ: :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

k. สืบค้นสถานะอุปกรณ์

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตสืบค้นสถานะอุปกรณ์ผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL/open-api/v2/rest/devices/:serial_number/query-state/{capability}

  • Method:POST

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

query_state

object

N

สืบค้นสถานะอุปกรณ์; สำหรับรายละเอียดโปรโตคอลเฉพาะ ให้ดู "Supported Device Capabilities."

การตอบกลับข้อมูลที่สำเร็จ: :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

3.4 การจัดการความปลอดภัย

a. รับรายการความปลอดภัย

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตแก้ไขการตั้งค่าเกตเวย์ผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL/open-api/v2/rest/security

  • MethodGET

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี การตอบกลับข้อมูลที่สำเร็จ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

security_list

ResponseSecurityObject[]

N

รายการอุปกรณ์ที่ตอบกลับ

ResponseDeviceObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

sid

int

N

รหัสความปลอดภัย

name

string

N

ชื่อความปลอดภัย

เปิดใช้งาน

bool

N

เปิดใช้งานหรือไม่

  • true เปิดใช้งาน

  • false ปิดใช้งาน |

:::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

b. เปิดใช้งานโหมดความปลอดภัยที่ระบุ

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตเปิดใช้งานโหมดความปลอดภัยที่ระบุผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL/open-api/v2/rest/security/{security_id}/enable

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี การตอบกลับข้อมูลที่สำเร็จ: วัตถุว่าง {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

c. ปิดใช้งานโหมดความปลอดภัยที่ระบุ

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตปิดใช้งานโหมดความปลอดภัยที่ระบุผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL/open-api/v2/rest/security/{security_id}/disable

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี การตอบกลับข้อมูลที่สำเร็จ: วัตถุว่าง {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

d. เปิดการตั้งค่าความปลอดภัยด้วยคลิกเดียว

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตเปิดโหมดการตั้งค่าความปลอดภัยด้วยคลิกเดียวผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL/open-api/v2/rest/security/enable

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี การตอบกลับข้อมูลที่สำเร็จ: วัตถุว่าง {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

e. ปิดความปลอดภัย

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตปิดความปลอดภัยผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL/open-api/v2/rest/security/disable

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี การตอบกลับข้อมูลที่สำเร็จ: วัตถุว่าง {} :::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: **200 OK ::: ตัวอย่างการตอบกลับ:

4. การเข้าถึงอุปกรณ์บุคคลที่สาม

4.1 คำแนะนำการเข้าถึง

การเข้าถึงอุปกรณ์

การเข้าถึงเกตเวย์บุคคลที่สาม

ขั้นตอนการเข้าถึง

  1. กำหนดการจัดหมวดหมู่ของอุปกรณ์ในเกตเวย์ รายละเอียดโปรดตรวจสอบ [Supported Device Type].

  2. กำหนดความสามารถที่อุปกรณ์สามารถเข้าถึงได้ รายละเอียดโปรดตรวจสอบ [Supported Device Capabilities].

  3. ร้องขออินเทอร์เฟซ [Discovery Request] เพื่อเพิ่มอุปกรณ์ไปยังเกตเวย์

    1. ข้อควรระวัง: คุณต้องให้ที่อยู่บริการสำหรับรับคำสั่งที่เกตเวย์ออก ซึ่งใช้ในการรับคำสั่งควบคุมอุปกรณ์ที่เกตเวย์ออก.

  4. หากสถานะของอุปกรณ์บุคคลที่สามเปลี่ยนแปลง คุณต้องเรียกใช้อินเทอร์เฟซ [Device States Change Report] เพื่อส่งสถานะล่าสุดกลับไปยังเกตเวย์

  5. หลังจากเพิ่มแล้ว อุปกรณ์บุคคลที่สามจะปรากฏในรายการอุปกรณ์ โดยมีฟังก์ชันส่วนใหญ่ของเกตเวย์ (อุปกรณ์อื่นที่ไม่ใช่บุคคลที่สาม) สามารถใช้อินเทอร์เฟซเปิดที่เกี่ยวข้องกับอุปกรณ์ได้ตามปกติ

  • เลือกหมวดหมู่อุปกรณ์ที่เหมาะสม การจัดหมวดหมู่จะส่งผลต่อผลลัพธ์การแสดง UI สุดท้ายหลังจากเชื่อมต่ออุปกรณ์กับเกตเวย์

  • เลือกความสามารถของอุปกรณ์ที่ถูกต้อง รายการความสามารถจะกำหนดสถานะของโปรโตคอลสถานะอุปกรณ์

กระบวนการโปรแกรม

a. การเข้าถึงอุปกรณ์

b. การเข้าถึงเกตเวย์บุคคลที่สาม

4.2 ตัวอย่างการเข้าถึง

สวิตช์, ปลั๊ก

ซิงค์อุปกรณ์บุคคลที่สาม

รายงานสถานะอุปกรณ์

รายงานออฟไลน์/ออนไลน์

รับคำสั่งเกี่ยวกับการควบคุมอุปกรณ์จากเกตเวย์

สืบค้นอุปกรณ์

4.3 Web API

อินเทอร์เฟซเกตเวย์คำขอของบุคคลที่สาม

รูปแบบคำขอ

อนุญาตให้ผู้ใช้ที่ได้รับอนุญาตส่งคำขอเหตุการณ์ไปยังเกตเวย์ผ่านอินเทอร์เฟซนี้ได้ :::tips

  • URL:/open-api/V2/rest/thirdparty/event

  • Method:POST

  • Header

    • Content-Type: application/json

    • Autorization: Bearer ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

event

EventObject

N

โครงสร้างวัตถุเหตุการณ์คำขอ

EventObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

endpoint

EndpointObject

Y

โครงสร้าง endpoint ของคำขอ หมายเหตุ: ฟิลด์นี้ว่างเมื่อซิงค์รายการอุปกรณ์ใหม่

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อคำขอ พารามิเตอร์ที่เลือกได้: DiscoveryRequest: ซิงค์อุปกรณ์ใหม่ DeviceStatesChangeReport: รายงานการอัปเดตสถานะอุปกรณ์ DeviceOnlineChangeReport: รายงานสถานะออนไลน์ของอุปกรณ์

message_id

string

N

รหัสข้อความคำขอ, UUID_V4

version

string

N

หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดค่าเป็น 1

EndpointObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

third_serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม

ป้ายกำกับ

object

Y

คู่คีย์-ค่าในรูปแบบ JSON ข้อมูลอุปกรณ์แบบกำหนดเอง [Device Management Function] - [Tags Description]

PayloadObject ตามค่า header.name ที่ต่างกันจะมีโครงสร้างคำขอที่แตกต่างกัน

รูปแบบการตอบกลับ

:::tips **รหัสสถานะ: **200 OK พารามิเตอร์การตอบกลับ: :::

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

ข้อมูลโครงสร้างเฮดเดอร์การตอบกลับ

payload

PayloadObject

N

ข้อมูลโครงสร้างเพย์โหลดการตอบกลับ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อเฮดเดอร์การตอบกลับ พารามิเตอร์ที่เลือกได้: Response: การตอบกลับที่สำเร็จ ErrorResponse: การตอบกลับข้อผิดพลาด

message_id

string

N

รหัสข้อความเฮดเดอร์การตอบกลับ, UUID_V4 นำ message_id ของเฮดเดอร์ข้อความคำขอใส่ที่นี่ *หากพารามิเตอร์คำขอไม่มี message_id ฟิลด์นี้จะเป็นสตริงว่างเมื่อคืนค่า

version

string

N

- หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดเป็น 1.

การตอบกลับที่สำเร็จ--PayloadObject :

ขึ้นอยู่กับประเภทคำขอ โครงสร้างการตอบกลับจะแตกต่างกัน สำหรับรายละเอียด โปรดดูเอกสารคำแนะนำคำขอเฉพาะ

การตอบกลับล้มเหลว--PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

type

string

N

ประเภทข้อผิดพลาด:

  • INVALID_PARAMETERS: พารามิเตอร์ผิดพลาด

  • AUTH_FAILURE: ข้อผิดพลาดการอนุมัติ

  • INTERNAL_ERROR: ข้อผิดพลาดบริการภายใน | | description | string | N | คำอธิบายข้อผิดพลาด |

DiscoveryRequest ซิงค์รายการอุปกรณ์ใหม่

  • หมายเหตุ: หลังจากอุปกรณ์ถูกซิงค์ไปยังเกตเวย์ จะออนไลน์โดยค่าเริ่มต้น คือ online=true การเปลี่ยนแปลงสถานะออนไลน์ในภายหลังขึ้นอยู่กับการซิงค์กับบุคคลที่สามผ่านอินเทอร์เฟซ DeviceOnlineChangeReport เท่านั้น

พารามิเตอร์คำขอ: EndpointObject**:**ไม่มี PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

endpoints

EndpointObject[]

N

รายการอุปกรณ์

EndpointObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

third_serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม

name

string

N

ชื่ออุปกรณ์

display_category

string

N

ประเภทอุปกรณ์ ดูรายละเอียดได้ใน [Supported Device Type] *อุปกรณ์บุคคลที่สามยังไม่รองรับการเพิ่มกล้องในขณะนี้

capabilities

CapabilityObject[]

N

รายการความสามารถ

สถานะ

object

N

ข้อมูลสถานะเริ่มต้น

manufacturer

string

N

ผู้ผลิต

model

string

N

รุ่นอุปกรณ์

ป้ายกำกับ

object

Y

คู่คีย์-ค่าในรูปแบบ JSON ข้อมูลอุปกรณ์แบบกำหนดเอง: ใช้เพื่อเก็บช่องของอุปกรณ์ ใช้เพื่อเก็บหน่วยอุณหภูมิ ข้อมูลกำหนดเองอื่น ๆ ของบุคคลที่สาม

firmware_version

string

N

เวอร์ชันเฟิร์มแวร์

service_address

string

N

ที่อยู่บริการ เช่น http://192.168.31.14/service_addressarrow-up-right

ตัวอย่างคำขอ :

พารามิเตอร์การตอบกลับ: PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

endpoints

EndpointObject[]

N

รายการอุปกรณ์

EndpointObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

third_serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม

ตัวอย่างการตอบกลับที่ถูกต้อง:

ตัวอย่างการตอบกลับข้อผิดพลาด:

DeviceStatesChangeReport รายงานการเปลี่ยนแปลงสถานะอุปกรณ์

  • หมายเหตุ: การรายงานสถานะซ้ำอาจทำให้ฉากที่เกี่ยวข้องถูกทริกเกอร์ผิดพลาด

พารามิเตอร์คำขอ: PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

สถานะ

object

N

สถานะอุปกรณ์ ดู [Supported device cabilities] สำหรับรายละเอียด

ตัวอย่างคำขอ :

พารามิเตอร์การตอบกลับ: PayloadObject: วัตถุว่าง ตัวอย่างการตอบกลับที่สำเร็จ:

DeviceOnlineChangeReport รายงานสถานะออนไลน์ของอุปกรณ์

  • หมายเหตุ: การรายงานสถานะซ้ำอาจทำให้ฉากที่เกี่ยวข้องถูกทริกเกอร์ผิดพลาด

พารามิเตอร์คำขอ: PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

ออนไลน์

boolean

N

สถานะออนไลน์ของอุปกรณ์ true: ออนไลน์

false: ออฟไลน์

ตัวอย่างคำขอ :

พารามิเตอร์การตอบกลับ: PayloadObject: วัตถุว่าง ตัวอย่างการตอบกลับที่สำเร็จ:

DeviceInformationUpdatedReport รายงานการอัปเดตข้อมูลอุปกรณ์

  • หมายเหตุ: การอัปเดตอาจส่งผลต่อฉากหรือฟังก์ชันความปลอดภัยที่มีอยู่

พารามิเตอร์คำขอ: PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

capabilities

| CapabilityObject[]

| N

| รายการความสามารถ รายละเอียดสามารถดูได้ในส่วนความสามารถของอุปกรณ์ที่รองรับ **หมายเหตุ: **พารามิเตอร์นี้จะอัปเดตเฉพาะ value ของ การตั้งค่า คีย์ ภายใน CapabilityObject, และอนุญาตให้อัปเดตได้ก็ต่อเมื่อ permission สำหรับ การตั้งค่า คีย์ เป็น 11 หรือ 01. สำหรับคำจำกัดความโครงสร้างเฉพาะของ การตั้งค่า ใน CapabilityObjectโปรดดูคำอธิบายโดยละเอียดในส่วน 2.3 หมวดหมู่อุปกรณ์ที่แสดง & ความสามารถของอุปกรณ์ | | tags

| object

| Y

| คู่คีย์-ค่าในรูปแบบ JSON ข้อมูลอุปกรณ์แบบกำหนดเอง.

  • สามารถใช้เพื่อเก็บช่องของอุปกรณ์

  • สามารถใช้เพื่อเก็บหน่วยอุณหภูมิ

  • ข้อมูลกำหนดเองอื่น ๆ ของบุคคลที่สาม |

ตัวอย่างคำขอ :

พารามิเตอร์การตอบกลับ: PayloadObject: วัตถุว่าง ตัวอย่างการตอบกลับที่สำเร็จ:

เกตเวย์ส่งอินเทอร์เฟซคำสั่งผ่านที่อยู่บริการของอุปกรณ์

  • หมายเหตุ:

  1. ฝ่ายที่สามจำเป็นต้องตอบกลับคำขอของเกตเวย์ภายใน 3 วินาที มิฉะนั้นเกตเวย์จะตัดสินว่าเวลาการประมวลผลคำสั่งหมดเวลา

  2. หากบริการของบุคคลที่สามออฟไลน์ เกตเวย์จะตั้งค่าสถานะอุปกรณ์เป็นออฟไลน์ และบริการบุคคลที่สามจำเป็นต้องรายงานสถานะอุปกรณ์ (DeviceStatesChangeReport) หรือสถานะออนไลน์ (DeviceOnlineChangeReport) ก่อนจะกลับมาออนไลน์ได้

รูปแบบคำขอ

เกตเวย์ส่งคำสั่งไปยังบุคคลที่สามผ่านอินเทอร์เฟซที่อยู่บริการของอุปกรณ์ :::tips

  • URL

  • Method:POST

  • Header

    • Content-Type: application/json ::: Request parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

directive

DirectiveObject

N

ข้อมูลโครงสร้างวัตถุคำสั่ง

DirectiveObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

endpoint

EndpointObject

N

ข้อมูลโครงสร้าง endpoint ของคำขอ

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อคำขอ พารามิเตอร์ที่เลือกได้: UpdateDeviceStates: อัปเดตสถานะอุปกรณ์

message_id

string

N

รหัสข้อความคำขอ, UUID_V4

version

string

N

หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดเป็น 1.

EndpointObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

third_serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม

ป้ายกำกับ

object

N

คู่คีย์-ค่าในรูปแบบ JSON ข้อมูลอุปกรณ์แบบกำหนดเอง [Device Management Function] - [Tags Description]

PayloadObject: ตามค่า header.name, จะมีโครงสร้างคำขอเฉพาะสำหรับแต่ละค่า

ตัวอย่างคำขอ :

รูปแบบการตอบกลับ

:::tips **HTTP รหัสสถานะ: **200 OK คุณสมบัติการตอบกลับ HTTP: :::

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

event

EventObject

N

ข้อมูลโครงสร้างเหตุการณ์การตอบกลับ

EventObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อเฮดเดอร์การตอบกลับ พารามิเตอร์ที่เลือกได้: UpdateDeviceStatesResponse: การตอบกลับการอัปเดตสถานะอุปกรณ์ ErrorResponse: การตอบกลับข้อผิดพลาด

message_id

string

N

รหัสข้อความเฮดเดอร์การตอบกลับ, UUID_V4 นำ message_id ของเฮดเดอร์ข้อความคำขอใส่ที่นี่

version

string

N

หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดเป็น 1.

การตอบกลับที่สำเร็จ--PayloadObject:

ขึ้นอยู่กับประเภทคำขอ โครงสร้างการตอบกลับจะแตกต่างกัน สำหรับรายละเอียด โปรดดูเอกสารคำแนะนำคำขอเฉพาะ

การตอบกลับล้มเหลว--PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

type

string

N

ประเภทข้อผิดพลาด:

  • ENDPOINT_UNREACHABLE: อุปกรณ์ไม่สามารถเข้าถึงได้หรือออฟไลน์

  • ENDPOINT_LOW_POWER: อุปกรณ์อยู่ในโหมดพลังงานต่ำและไม่สามารถควบคุมได้

  • INVALID_DIRECTIVE: คำสั่งผิดปกติจากเกตเวย์

  • NO_SUCH_ENDPOINT: อุปกรณ์ไม่มีอยู่

  • NOT_SUPPORTED_IN_CURRENT_MODE: โหมดปัจจุบันไม่รองรับการดำเนินการนี้

  • INTERNAL_ERROR: ข้อผิดพลาดบริการภายใน

  • REMOTE_KEY_CODE_NOT_LEARNED: รหัสปุ่มรีโมทยังไม่ได้เรียนรู้ |

:::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย **รหัสสถานะ: **200 OK พารามิเตอร์การตอบกลับ: :::

UpdateDeviceStates

พารามิเตอร์คำขอ: PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

สถานะ

object

N

สถานะอุปกรณ์ ดู [Supported device cabilities] สำหรับรายละเอียด.

ตัวอย่างคำขอ :

พารามิเตอร์การตอบกลับ: PayloadObject:วัตถุว่าง ตัวอย่างการตอบกลับที่สำเร็จ

QueryDeviceStates

พารามิเตอร์คำขอ: PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

สถานะ

object

N

สถานะอุปกรณ์ ดู [Supported device cabilities] สำหรับรายละเอียด.

ตัวอย่างคำขอ :

พารามิเตอร์การตอบกลับ: PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

สถานะ

object

N

สถานะอุปกรณ์ ดู [Supported device cabilities] สำหรับรายละเอียด.

ตัวอย่างการตอบกลับ:

ConfigureDeviceCapabilities

พารามิเตอร์คำขอ: PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

capabilities

CapabilityObject[]

N

รายการความสามารถ รายละเอียดดูส่วนความสามารถของอุปกรณ์ที่รองรับ โปรดทราบว่า ฟิลด์ permission ไม่สามารถเปลี่ยนแปลงได้ ให้ส่งค่าที่เหมือนกันเมื่อซิงค์

ตัวอย่างคำขอ :

พารามิเตอร์การตอบกลับ: PayloadObject:วัตถุว่าง ตัวอย่างการตอบกลับที่สำเร็จ

5. เหตุการณ์ที่ส่งจากเซิร์ฟเวอร์

คำอธิบายอินเทอร์เฟซ MDN EventSource:https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_eventsarrow-up-right

5.1 คำสั่ง

เกตเวย์รองรับการผลักข้อความไปยังไคลเอนต์โดยใช้ SSE (Server-sent events) ไคลเอนต์สามารถเฝ้าดูข้อความ SSE หลังจากได้รับข้อมูลรับรองการเข้าถึง และสามารถแยกวิเคราะห์เนื้อหาของข้อความที่ถูกผลักตามโปรโตคอลการแจ้งเหตุการณ์ของอินเทอร์เฟซการพัฒนาได้เมื่อได้รับข้อความจากเกตเวย์ ควรสังเกตว่าเกตเวย์ปัจจุบันใช้โปรโตคอล HTTP1.1 ดังนั้น SSE บนฝั่งเบราว์เซอร์จะมีข้อจำกัดการเชื่อมต่อสูงสุดไม่เกิน 6 การเชื่อมต่อ (คำแนะนำเฉพาะสามารถดูได้ในคำอธิบายอินเทอร์เฟซ MDN EventSource.)

5.2 รูปแบบทั่วไป

:::tips

  • URL:/open-api/V2/sse/bridge

  • MethodGET ::: พารามิเตอร์คำขอ:

ชื่อ
ประเภท
ทางเลือก
คำอธิบาย

access_token

string

N

Access Token

หมายเหตุ: เมื่อขอการเชื่อมต่อ SSE เกตเวย์จะตรวจสอบ access_token และจะคืนข้อผิดพลาดการตรวจสอบสิทธิ์หากไม่ถูกต้อง { "error": 401, "data": {}, "message": "invalid access_token"}

## ตัวอย่าง: ชื่อโมดูล: device เวอร์ชัน: 1,v2,v3 ประเภทข้อความ: addDevice

ตัวอย่าง:

5.3 โมดูลอุปกรณ์

a. เหตุการณ์เพิ่มอุปกรณ์

:::tips ชื่อโมดูล:device เวอร์ชัน:v2 ประเภทข้อความ:addDevice event.data พารามิเตอร์: :::

ชื่อ
ประเภท
ทางเลือก
คำอธิบาย

payload

ResponseDeviceObjectObject - อินเทอร์เฟซเหมือนกับการรับรายการอุปกรณ์

N

ข้อมูลอุปกรณ์

ตัวอย่าง:

b. เหตุการณ์อัปเดตสถานะอุปกรณ์

:::tips ชื่อโมดูล:device เวอร์ชัน:v2 ประเภทข้อความ:updateDeviceState event.data พารามิเตอร์: :::

ชื่อ
ประเภท
ทางเลือก
คำอธิบาย

endpoint

EndpointObject

N

ข้อมูลอุปกรณ์

payload

object。 โครงสร้างเหมือนกับสถานะอุปกรณ์

N

ข้อมูลสถานะอุปกรณ์

EndpointObject:

พารามิเตอร์
ประเภท
ทางเลือก
คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

third_serial_number

string

Y

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม สำหรับอุปกรณ์ที่เชื่อมต่อผ่านอินเทอร์เฟซเปิด ฟิลด์นี้เป็นข้อกำหนด

ตัวอย่าง:

c. เหตุการณ์อัปเดตข้อมูลอุปกรณ์

:::tips ชื่อโมดูล:device เวอร์ชัน:v2 ประเภทข้อความ:updateDeviceInfo event.data พารามิเตอร์: :::

ชื่อ
ประเภท
ทางเลือก
คำอธิบาย

endpoint

EndpointObject

N

ข้อมูลอุปกรณ์

payload

DeviceChangeObject

N

ข้อมูลการเปลี่ยนแปลงของอุปกรณ์

EndpointObject:

คุณลักษณะ
ประเภท
ทางเลือก
คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

third_serial_number

string

Y

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม สำหรับอุปกรณ์ที่เชื่อมต่อผ่านอินเทอร์เฟซเปิด ฟิลด์นี้เป็นข้อกำหนด

DeviceChangeObject

ชื่อ
ประเภท
ทางเลือก
คำอธิบาย

name

string

N

ชื่ออุปกรณ์

capabilities

CapabilityObject []

Y

รายการความสามารถของอุปกรณ์

ป้ายกำกับ

object

Y

ป้ายกำกับobject | เป็นค่าว่างได้ | คู่คีย์-ค่าในรูปแบบ JSON สำหรับข้อมูลอุปกรณ์แบบกำหนดเอง.

  • สามารถใช้เพื่อเก็บช่องของอุปกรณ์.

  • สามารถใช้เพื่อเก็บหน่วยอุณหภูมิ.

  • สำหรับข้อมูลกำหนดเองอื่น ๆ ของบุคคลที่สาม. |

ตัวอย่าง:

d. เหตุการณ์ลบอุปกรณ์

:::tips ชื่อโมดูล:device เวอร์ชัน:v2 ประเภทข้อความ:deleteDevice event.data พารามิเตอร์: :::

** ชื่อ **
** ประเภท **
** ตัวเลือกได้**
** คำอธิบาย **

endpoint

EndpointObject

N

ข้อมูลอุปกรณ์

EndpointObject:

คุณลักษณะ
ประเภท
ทางเลือก
คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

third_serial_number

string

Y

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม สำหรับอุปกรณ์ที่เชื่อมต่อผ่านอินเทอร์เฟซเปิด ฟิลด์นี้เป็นข้อกำหนด

ตัวอย่าง:

e. เหตุการณ์อัปเดตออนไลน์อุปกรณ์

:::tips ชื่อโมดูล:device เวอร์ชัน:v2 ประเภทข้อความ:updateDeviceOnline event.data พารามิเตอร์: :::

ชื่อ
ประเภท
ทางเลือก
คำอธิบาย

endpoint

EndpointObject

N

ข้อมูลอุปกรณ์

payload

DeviceChangeObject

N

ข้อมูลการเปลี่ยนแปลงของอุปกรณ์

EndpointObject:

คุณลักษณะ
ประเภท
ทางเลือก
คำอธิบาย

serial_number

string

N

หมายเลขซีเรียลเฉพาะของอุปกรณ์

third_serial_number

string

Y

หมายเลขซีเรียลเฉพาะของอุปกรณ์บุคคลที่สาม สำหรับอุปกรณ์ที่เชื่อมต่อผ่านอินเทอร์เฟซเปิด ฟิลด์นี้เป็นข้อกำหนด

DeviceChangeObject

ชื่อ
ประเภท
ทางเลือก
คำอธิบาย

ออนไลน์

boolean

N

สถานะออนไลน์ของอุปกรณ์

ตัวอย่าง:

5.4 โมดูลเกตเวย์

a. เหตุการณ์อัปเดตสถานะความปลอดภัย

:::tips ชื่อโมดูล:device เวอร์ชัน:v2 ประเภทข้อความ:updateDeviceOnline event.data พารามิเตอร์: :::

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

payload

SecurityStateObject

N

ข้อมูลอุปกรณ์

SecurityStateObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

สถานะสัญญาณเตือน

string

N

  • การติดตั้งระบบ (arming) | ติดอาวุธ

  • การยกเลิกการติดตั้ง (disarming) | ปลดอาวุธ |

ตัวอย่าง:

5.5 โมดูลความปลอดภัย

a. เหตุการณ์อัปเดตสถานะการติดอาวุธ

:::tips ชื่อโมดูล:device เวอร์ชัน:v2 ประเภทข้อความ:updateDeviceOnline event.data พารามิเตอร์: :::

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

payload

ArmStateObject

N

ข้อมูลการติดและยกเลิกการติด

ArmStateObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

arm_state

string

N

  • การติดตั้งระบบ (arming) | ติดอาวุธ

  • การยกเลิกการติดตั้ง (disarming) | ปลดอาวุธ | | detail | DetailObject | N | รายละเอียดการติด/ยกเลิกการติด |

DetailObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

sid

int

N

ไอดีโหมดความปลอดภัย

name

string

N

ชื่อความปลอดภัย

ตัวอย่าง

6. TTS (ฟังก์ชันเครื่องยนต์แปลงข้อความเป็นเสียง (Text-to-Speech)

6.1 คำแนะนำ

บทบาทหลัก

  • ผู้ให้บริการบริการ TTS: ผู้ให้บริการเครื่องยนต์บริการ TTS มีหน้าที่ลงทะเบียนเครื่องยนต์ TTS บนเกตเวย์และให้บริการ TTS

  • เซิร์ฟเวอร์เกตเวย์:iHost

  • ไคลเอนต์ Gateway Open API

6.1.1 การลงทะเบียนบริการเครื่องยนต์ TTS

  1. 【ผู้ให้บริการบริการ TTS】เรียกอินเทอร์เฟซเพื่อลงทะเบียนเครื่องยนต์ TTS บนเกตเวย์

  2. 【เซิร์ฟเวอร์เกตเวย์】หลังจากการลงทะเบียนสำเร็จ เกตเวย์จะเก็บข้อมูลพื้นฐานของเครื่องยนต์ TTS (รวมถึงที่อยู่เซิร์ฟเวอร์ server_address และการสื่อสารต่อไประหว่างเกตเวย์กับผู้ให้บริการบริการ TTS จะดำเนินการผ่านที่อยู่ server_address) และจัดสรร ID บริการเครื่องยนต์ TTS ภายในเกตเวย์

6.1.2 รับรายการเสียงที่สังเคราะห์แล้ว

  1. 【ไคลเอนต์ Gateway Open API】เรียกอินเทอร์เฟซเพื่อขอรับรายการบริการเครื่องยนต์ TTS ที่ลงทะเบียน คุณสามารถรับรายการเครื่องยนต์ TTS ที่ลงทะเบียนปัจจุบัน (รวมถึง ID ของเครื่องยนต์ TTS ที่เกตเวย์จัดสรร)

  2. 【ไคลเอนต์ Gateway Open API】เรียกอินเทอร์เฟซเพื่อขอรับรายการเสียงของเครื่องยนต์ TTS ที่ระบุ เกตเวย์จะส่งคำสั่งรายการเสียงแบบซิงโครไนซ์ไปยังผู้ให้บริการ TTS ที่ระบุและส่งคืนผลลัพธ์

6.1.3 การสังเคราะห์เสียงโดยระบุเครื่องยนต์เสียง

  1. 【ไคลเอนต์ Gateway Open API】เรียกอินเทอร์เฟซเพื่อขอรับรายการบริการเครื่องยนต์ TTS ที่ลงทะเบียน คุณสามารถรับรายการเครื่องยนต์ TTS ที่ลงทะเบียนปัจจุบัน (รวมถึง ID ของเครื่องยนต์ TTS ที่เกตเวย์จัดสรร)

  2. 【ไคลเอนต์ Gateway Open API】เรียกอินเทอร์เฟซเพื่อขอรับรายการเสียงของเครื่องยนต์ TTS ที่ระบุ เกตเวย์จะส่งคำสั่งรายการเสียงแบบซิงโครไนซ์ไปยังผู้ให้บริการ TTS ที่ระบุและส่งคืนผลลัพธ์

6.1.4 สังเคราะห์เสียงและเล่นคำพูด TTS

  1. 【ไคลเอนต์ Gateway Open API】เรียกอินเทอร์เฟซเพื่อขอรับรายการบริการเครื่องยนต์ TTS ที่ลงทะเบียน คุณสามารถรับรายการเครื่องยนต์ TTS ที่ลงทะเบียนปัจจุบัน (รวมถึง ID ของเครื่องยนต์ TTS ที่เกตเวย์จัดสรร)

  2. 【ไคลเอนต์ Gateway Open API】เรียกอินเทอร์เฟซเพื่อขอรับรายการเสียงของเครื่องยนต์ TTS ที่ระบุ เกตเวย์จะส่งคำสั่งรายการเสียงแบบซิงโครไนซ์ไปยังผู้ให้บริการ TTS ที่ระบุและส่งคืนผลลัพธ์ (รวมถึงที่อยู่ไฟล์เสียง TTS)

  3. 【ไคลเอนต์ Gateway Open API】บันทึกที่อยู่ไฟล์เสียง TTS จากผลลัพธ์ที่ส่งคืนในขั้นตอนก่อนหน้า เรียกอินเทอร์เฟซเล่นไฟล์เสียง และเล่นผ่านเกตเวย์

6.2 โมดูลเครื่องยนต์ TTS

6.2.1 ความสามารถที่เปิดโดยเกตเวย์

a. ดึงรายการบริการเครื่องยนต์ TTS ที่ลงทะเบียน

:::tips

  • URL/open-api/V2/rest/tts/engines

  • MethodGET

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี ข้อมูลการตอบกลับที่ถูกต้อง:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

engines

EngineObject []

N

รายการเครื่องยนต์ TTS ที่ลงทะเบียน

โครงสร้าง EngineObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

id

string

N

รหัสเครื่องยนต์ที่เกตเวย์กำหนด

name

string

N

ชื่อของบริการเครื่องยนต์ TTS

:::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ **รหัสสถานะ: **200 OK ตัวอย่างการตอบกลับ:: :::

b. ดึงรายการเสียงของเครื่องยนต์ TTS ที่ระบุ

:::tips

  • URL/open-api/V2/rest/tts/engine/{id}/audio-list

  • MethodGET

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี ข้อมูลการตอบกลับที่ถูกต้อง:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

audio_list

AudioObject []

N

รายการเสียง

โครงสร้าง AudioObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

url

string

N

URL ของไฟล์เสียง ตัวอย่างเช่น:

https://dl.espressif.cn/dl/audio/gs-16b-2c-44100hz.mp3

label

string

Y

ป้ายกำกับไฟล์เสียง

:::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ **รหัสสถานะ: **200 OK **รหัสข้อผิดพลาด: **

  • 190000 เครื่องยนต์ทำงานผิดปกติ

ตัวอย่างการตอบกลับ:: :::

c. ดำเนินการสังเคราะห์เสียงโดยใช้เครื่องยนต์ TTS ที่ระบุ

:::tips

  • URL/open-api/V2/rest/tts/engine/{id}/synthesize

  • MethodPOST

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

text

string

N

ข้อความที่ใช้เพื่อสังเคราะห์เสียง

label

string

Y

ป้ายกำกับไฟล์เสียง

language

string

Y

ฟิลด์โปร่งใส ตัวเลือกโค้ดภาษาสำหรับคำขอสังเคราะห์เสียง รายการโค้ดภาษาที่รองรับอย่างละเอียดจะถูกระบุโดยผู้ให้บริการเครื่องยนต์เสียง TTS โปรดทราบว่าบริการเครื่องยนต์ TTS ต้องรองรับภาษาปริยายสำหรับการสังเคราะห์เสียง ซึ่งหมายความว่าหากไม่ได้ส่งภาษามา เครื่องยนต์จะใช้ภาษาปริยายในการสังเคราะห์

options

object

Y

ฟิลด์โปร่งใส ใช้เพื่อส่งพารามิเตอร์การกำหนดค่าที่จำเป็นสำหรับการสังเคราะห์ไปยังบริการเครื่องยนต์เสียง TTS

ข้อมูลการตอบกลับที่ถูกต้อง:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

audio

AudioObject

N

รายการเสียง

โครงสร้าง AudioObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

url

string

N

URL ของไฟล์เสียง ตัวอย่างเช่น:

https://dl.espressif.cn/dl/audio/gs-16b-2c-44100hz.mp3

label

string

Y

ป้ายกำกับไฟล์เสียง

:::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ **รหัสสถานะ: **200 OK **รหัสข้อผิดพลาด: **

  • 190000 เครื่องยนต์ทำงานผิดปกติ

ตัวอย่างการตอบกลับ:: :::

6.2.2 การสื่อสารระหว่างเกตเวย์และบริการ TTS

a. การลงทะเบียนบริการเครื่องยนต์ TTS

ส่งคำขอไปยังเกตเวย์โดยผู้ให้บริการบริการ TTS

:::tips

  • URL/open-api/V2/rest/thirdparty/event

  • MethodPOST

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

event

EventObject

N

ข้อมูลโครงสร้างวัตถุเหตุการณ์คำขอ

EventObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อคำขอ พารามิเตอร์ไม่บังคับ

  • RegisterTTSEngine | | message_id | string | N | รหัสข้อความคำขอ, UUID_V4 | | version | string | N | หมายเลขเวอร์ชันของโปรโตคอลคำขอ ปัจจุบันกำหนดที่ 1 |

PayloadObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

service_address

string

N

ที่อยู่บริการ ตัวอย่างเช่น, http:///

name

string

N

ชื่อบริการ

ตัวอย่างคำขอ:

**พารามิเตอร์การตอบสนองที่ถูกต้อง: **

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อส่วนหัวการตอบกลับ พารามิเตอร์ไม่บังคับ:

  • การตอบกลับ (การตอบกลับที่ประสบความสำเร็จ)

  • ErrorResponse (การตอบกลับข้อผิดพลาด) | | message_id | string | N | รหัสข้อความส่วนหัวการตอบกลับ, UUID_V4 ข้อความคำขอที่เข้ามาที่นี่: header.message_id | | version | string | N | หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดที่ 1 |

PayloadObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

engine_id

string

N

รหัสเครื่องยนต์ที่เกตเวย์กำหนด

:::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ **รหัสสถานะ: **200 OK ตัวอย่างการตอบกลับ:: ::: ตัวอย่างการตอบกลับที่ถูกต้อง::

**พารามิเตอร์การตอบสนองที่ผิดปกติ: **

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

type

string

N

ประเภทข้อผิดพลาด

  • INVALID_PARAMETERS (ข้อผิดพลาดพารามิเตอร์)

  • AUTH_FAILURE (การตรวจสอบสิทธิ์ล้มเหลว)

  • INTERNAL_ERROR (ข้อผิดพลาดภายในบริการ) | | description | string | N | คำอธิบายข้อผิดพลาด |

ตัวอย่างการตอบกลับข้อผิดพลาด::

b. คำสั่งซิงโครไนซ์รายการเสียง

ส่งคำสั่งไปยังผู้ให้บริการ TTS โดยเกตเวย์

:::tips

  • URL<service address>

  • MethodPOST

  • Header

    • Content-Type: application/json ::: Request Parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

directive

DirectiveObject

N

ข้อมูลโครงสร้างวัตถุคำสั่ง

DirectiveObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อคำขอ พารามิเตอร์ไม่บังคับ:

  • SyncTTSAudioList | | message_id | string | N | รหัสข้อความคำขอ, UUID_V4 | | version | string | N | หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดที่ 1 |

ตัวอย่างคำขอ:

**พารามิเตอร์การตอบสนองที่ถูกต้อง: **

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อส่วนหัวการตอบกลับ พารามิเตอร์ไม่บังคับ:

  • การตอบกลับ (การตอบกลับที่ประสบความสำเร็จ)

  • ErrorResponse (การตอบกลับข้อผิดพลาด) | | message_id | string | N | รหัสข้อความส่วนหัวการตอบกลับ, UUID_V4 ข้อความคำขอที่เข้ามาที่นี่: header.message_id | | version | string | N | หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดที่ 1 |

PayloadObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

audio_list

AudioObject []

N

รายการเสียง TTS

โครงสร้าง AudioObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

url

string

N

URL ของไฟล์เสียง ตัวอย่างเช่น:

https://dl.espressif.cn/dl/audio/gs-16b-2c-44100hz.mp3

label

string

Y

ป้ายกำกับไฟล์เสียง

:::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ **รหัสสถานะ: **200 OK ตัวอย่างการตอบกลับ:: ::: ตัวอย่างการตอบกลับที่ถูกต้อง::

**พารามิเตอร์การตอบสนองที่ผิดปกติ: **

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

type

string

N

ประเภทข้อผิดพลาด

  • INVALID_PARAMETERS (ข้อผิดพลาดพารามิเตอร์)

  • AUTH_FAILURE (การตรวจสอบสิทธิ์ล้มเหลว)

  • INTERNAL_ERROR (ข้อผิดพลาดภายในบริการ) | | description | string | N | คำอธิบายข้อผิดพลาด |

ตัวอย่างการตอบกลับข้อผิดพลาด::

c. คำสั่งสังเคราะห์เสียง

ส่งคำสั่งไปยังผู้ให้บริการ TTS โดยเกตเวย์

:::tips

  • URL<service address>

  • MethodPOST

  • Header

    • Content-Type: application/json ::: Request Parameters:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

directive

DirectiveObject

N

ข้อมูลโครงสร้างวัตถุคำสั่ง

DirectiveObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อคำขอ พารามิเตอร์ไม่บังคับ:

  • SynthesizeSpeech | | message_id | string | N | รหัสข้อความคำขอ: UUID_V4 | | version | string | N | หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดที่ 1 |

PayloadObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

text

string

N

ข้อความที่ใช้เพื่อสังเคราะห์เสียง

label

string

Y

ป้ายกำกับไฟล์เสียง

language

string

Y

ฟิลด์โปร่งใส ตัวเลือกโค้ดภาษาสำหรับคำขอสังเคราะห์เสียง รายการโค้ดภาษาที่รองรับอย่างละเอียดจะถูกระบุโดยผู้ให้บริการเครื่องยนต์เสียง TTS โปรดทราบว่าบริการเครื่องยนต์ TTS ต้องรองรับภาษาปริยายสำหรับการสังเคราะห์เสียง ซึ่งหมายความว่าหากไม่ได้ส่งภาษามา เครื่องยนต์จะใช้ภาษาปริยายในการสังเคราะห์

options

object

Y

ฟิลด์โปร่งใส ใช้เพื่อส่งพารามิเตอร์การกำหนดค่าที่จำเป็นสำหรับการสังเคราะห์ไปยังบริการเครื่องยนต์เสียง TTS

ตัวอย่างคำขอ:

**พารามิเตอร์การตอบสนองที่ถูกต้อง: **

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

header

HeaderObject

N

โครงสร้างเฮดเดอร์คำขอ

payload

PayloadObject

N

โครงสร้างเพย์โหลดคำขอ

HeaderObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

name

string

N

ชื่อส่วนหัวการตอบกลับ พารามิเตอร์ไม่บังคับ:

  • การตอบกลับ (การตอบกลับที่ประสบความสำเร็จ)

  • ErrorResponse (การตอบกลับข้อผิดพลาด) | | message_id | string | N | รหัสข้อความส่วนหัวการตอบกลับ, UUID_V4 ข้อความคำขอที่เข้ามาที่นี่: header.message_id | | version | string | N | หมายเลขเวอร์ชันโปรโตคอลคำขอ ปัจจุบันกำหนดที่ 1 |

PayloadObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

audio

AudioObject

N

เสียง TTS

โครงสร้าง AudioObject

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

url

string

N

URL ของไฟล์เสียง ตัวอย่างเช่น:

https://dl.espressif.cn/dl/audio/gs-16b-2c-44100hz.mp3

label

string

Y

ป้ายกำกับไฟล์เสียง

:::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ **รหัสสถานะ: **200 OK ตัวอย่างการตอบกลับ:: ::: ตัวอย่างการตอบกลับที่ถูกต้อง::

**พารามิเตอร์การตอบสนองที่ผิดปกติ: **

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

type

string

N

ประเภทข้อผิดพลาด

  • INVALID_PARAMETERS (ข้อผิดพลาดพารามิเตอร์)

  • AUTH_FAILURE (การตรวจสอบสิทธิ์ล้มเหลว)

  • INTERNAL_ERROR (ข้อผิดพลาดภายในบริการ) | | description | string | N | คำอธิบายข้อผิดพลาด |

ตัวอย่างการตอบกลับข้อผิดพลาด::

7. โมดูลมัลติมีเดีย

7.1 เล่นไฟล์เสียง

:::tips

  • URL/open-api/V2/rest/media/audio-player

  • MethodPOST

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

audio_url

string

N

ที่อยู่ URL ของเสียง

ข้อมูลการตอบกลับที่ถูกต้อง: :::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ **รหัสสถานะ: **200 OK ตัวอย่างการตอบกลับ:: :::

8. การ์ด UI ที่กำหนดเอง

การ์ด UI ที่กำหนดเองช่วยให้คุณแสดงเนื้อหาใดก็ได้ภายในการ์ด เนื้อหานี้อาจเป็นหน้าเว็บ รูปภาพ หรือบริการใดๆ ที่มี UI คุณเพียงแค่ให้ URL ของเนื้อหาที่ต้องการแสดง การ์ด UI จะปรับความกว้างและความสูงโดยอัตโนมัติ และเนื้อหาจะถูกแสดงผลโดยใช้ iFrame

8.1 คำแนะนำ

บทบาทหลัก

  • ผู้ให้บริการ UI: ผู้ให้บริการที่รับผิดชอบการสร้างการ์ด UI ที่กำหนดเองบนเกตเวย์

  • เซิร์ฟเวอร์เกตเวย์: เซิร์ฟเวอร์เกตเวย์ (iHost)

  • ไคลเอนต์ Gateway Open API: ไคลเอนต์ Open API สำหรับเกตเวย์

8.1.1 การสร้างการ์ด UI ที่กำหนดเอง

  • [ผู้ให้บริการ UI]: เรียก API เพื่อสร้างการ์ด UI ที่กำหนดเองบนเกตเวย์

  • [เซิร์ฟเวอร์เกตเวย์]: เมื่อการลงทะเบียนสำเร็จ เกตเวย์จะเก็บข้อมูลพื้นฐานของการ์ด UI (รวมถึงการกำหนดค่าขนาดและ URL ทรัพยากรของการ์ด) และมอบหมาย ID การ์ด UI ภายในเกตเวย์

8.1.2 การดึงรายการการ์ด UI

  • [ผู้ให้บริการ UI]: เรียก API เพื่อนำรายการการ์ด UI

  • [เซิร์ฟเวอร์เกตเวย์]: ส่งคืนรายการการ์ด UI ที่เก็บไว้บนเกตเวย์ รวมถึงการ์ด UI ที่กำหนดเองที่ไม่ได้สร้างโดยผู้เรียก

8.1.3 การแก้ไขการกำหนดค่าของการ์ด UI ที่ระบุ

  • [ผู้ให้บริการ UI]: เรียก API เพื่อแก้ไขการกำหนดค่าของการ์ด UI ที่ระบุ เช่น การกำหนดค่าขนาดและ URL ทรัพยากร

  • [เซิร์ฟเวอร์เกตเวย์]: เมื่อแก้ไขสำเร็จ เกตเวย์จะเก็บข้อมูลการ์ด UI ที่อัปเดต รวมถึงการกำหนดค่าขนาดใหม่และ URL ทรัพยากร

8.1.4 การลบการ์ด UI ที่กำหนดเอง

  1. [ผู้ให้บริการ UI]: เรียก API เพื่อลบการ์ด UI ที่กำหนดเองที่ระบุ

  2. [เซิร์ฟเวอร์เกตเวย์]: เกตเวย์จะลบข้อมูลที่เกี่ยวข้องทั้งหมดของการ์ด UI ที่ระบุ

8.2 โมดูลการ์ด UI ที่กำหนดเอง

8.2.1 การสร้างการ์ด UI ที่กำหนดเอง

ผู้ให้บริการ UI ส่งคำขอไปยังเกตเวย์เพื่อสร้างการ์ด UI ที่กำหนดเอง

:::tips

  • URL/open-api/v2/rest/ui/cards

  • MethodPOST

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

label

string

Y

ป้ายการ์ด: ใช้เพื่ออธิบายการ์ด เป็นชื่อเล่นของการ์ด

cast_settings

CastSettingsObject

Y

การตั้งค่าการ์ด Cast: การตั้งค่าการกำหนดค่าสำหรับการ์ดแบบ cast

web_settings

WebSettingsObject

N

การตั้งค่าการ์ดเว็บ: การตั้งค่าการกำหนดค่าสำหรับการ์ดเว็บ

CastSettingsObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

dimensions

DimensionObject []

N

การกำหนดค่าขนาด: ต้องรวมการกำหนดค่าอย่างน้อยหนึ่งรายการ

default

string

N

สเปคปริยาย: สเปคขนาดปริยายใช้ได้ พารามิเตอร์ที่เป็นตัวเลือก: 2x2

WebSettingsObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

dimensions

DimensionObject []

N

การกำหนดค่าขนาด: ต้องรวมการกำหนดค่าอย่างน้อยหนึ่งรายการ

drawer_component

DrawerObject

Y

การตั้งค่าการแสดงส่วนประกอบลิ้นชัก

default

string

N

สเปคปริยาย:

  • 1x1

  • 2x1 |

DimensionObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

src

string

N

URL ทรัพยากร: ตัวอย่างเช่น: http://example.html

size

string

N

สเปคขนาด:

พารามิเตอร์ตัวเลือกของ CastSettingsObject:

  • 2×2

พารามิเตอร์ตัวเลือกของ WebSettingsObject:

  • 1x1

  • 2x1 |

DrawerObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

src

string

N

URL ทรัพยากร: ตัวอย่างเช่น: http://example.html

การตอบกลับข้อมูลที่สำเร็จ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

id

string

N

ID เอกลักษณ์ของการ์ด UI

:::tips เงื่อนไข : พารามิเตอร์คำขอถูกต้อง และการตรวจสอบตัวตนของผู้ใช้ผ่าน **Status Code: ** 200 OK ::: 请求示例:

ตัวอย่างการตอบกลับ:

8.2.2 ดึงรายการการ์ด UI

:::tips

  • URL/open-api/v2/rest/ui/cards

  • MethodGET

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี พารามิเตอร์การตอบกลับ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

data

CardObject[]

N

รายการการ์ด UI

วัตถุ CardObjec:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

id

string

N

รหัสการ์ด: ตัวระบุเอกลักษณ์ของการ์ด

label

string

Y

ป้ายการ์ด: ใช้เพื่ออธิบายการ์ด ทำหน้าที่เป็นนามแฝงหรือชื่อของการ์ด

cast_settings

CastSettingsObject

Y

ป้ายการ์ด: ใช้เพื่ออธิบายการ์ด เป็นชื่อเล่นของการ์ด

web_settings

WebSettingsObject

N

การตั้งค่าการ์ด Cast: การตั้งค่าการกำหนดค่าสำหรับการ์ดแบบ cast

app_name

string

Y

การตั้งค่าการ์ดเว็บ: การตั้งค่าการกำหนดค่าสำหรับการ์ดเว็บ

CastSettingsObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

dimensions

DimensionObject []

N

การกำหนดค่าขนาด: ต้องรวมการกำหนดค่าอย่างน้อยหนึ่งรายการ

default

string

N

สเปคปริยาย:

พารามิเตอร์ตัวเลือก: 2x2

used

string

N

สเปคปัจจุบัน:

พารามิเตอร์ตัวเลือก: 2x2

WebSettingsObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

dimensions

DimensionObject []

N

การกำหนดค่าขนาด: ต้องรวมการกำหนดค่าอย่างน้อยหนึ่งรายการ

drawer_component

DrawerObject

Y

การตั้งค่าการแสดงส่วนประกอบลิ้นชัก

default

string

N

สเปคปริยาย:

พารามิเตอร์ตัวเลือก:

  • 1x1

  • 2x1 | | used | string | N | สเปคปัจจุบัน: พารามิเตอร์ตัวเลือก:

  • 1x1

  • 2x1 |

DimensionObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

src

string

N

URL ทรัพยากร: ตัวอย่างเช่น: http://example.html

size

string

N

สเปคขนาด:

พารามิเตอร์ตัวเลือก:

  • 1x1

  • 2x1

ข้อสังเกต: ปัจจุบัน การ์ด cast รองรับเฉพาะสเปค 2x2 เท่านั้น สเปค 2x2 จะมีผล |

DrawerObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

src

string

N

URL ทรัพยากร: ตัวอย่างเช่น: http://example.html

ตัวอย่างการตอบกลับ:

8.2.3 แก้ไขการกำหนดค่าของการ์ด UI ที่ระบุ

ผู้ใช้ที่ได้รับอนุญาตได้รับอนุญาตให้แก้ไขการกำหนดค่าของการ์ด UI ที่มีอยู่ผ่านอินเทอร์เฟซนี้ ผู้ให้บริการการ์ดที่กำหนดเองสามารถแก้ไขการ์ด UI ได้เฉพาะการ์ดที่พวกเขาสร้างเท่านั้น

:::tips

  • URL/open-api/v2/rest/ui/cards/{id}

  • MethodPUT

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

label

string

Y

ใช้เพื่ออธิบายการ์ด เป็นชื่อเล่นของการ์ด

cast_settings

CastSettingsObject

Y

การตั้งค่าการ์ด Cast

web_settings

WebSettingsObject

Y

การตั้งค่าการ์ดเว็บ

CastSettingsObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

used

string

Y, อย่างใดอย่างหนึ่ง used หรือ src ต้องมีการระบุ แต่ต้องมีอย่างน้อยหนึ่งในพารามิเตอร์เหล่านี้

สเปคปัจจุบัน:

พารามิเตอร์ตัวเลือก:

  • 2x2

| | src | string | Y, อย่างใดอย่างหนึ่ง used หรือ src ต้องมีการระบุ แต่ต้องมีอย่างน้อยหนึ่งในพารามิเตอร์เหล่านี้ | URL ทรัพยากร: http://example.html |

WebSettingsObject:

คุณลักษณะ

ประเภท

ทางเลือก

คำอธิบาย

used

string

Y, อย่างใดอย่างหนึ่ง used หรือ src ต้องมีการระบุ แต่ต้องมีอย่างน้อยหนึ่งในพารามิเตอร์เหล่านี้

สเปคปัจจุบัน:

พารามิเตอร์ตัวเลือก:

  • 1x1

  • 2x1 | | src | string | Y, อย่างใดอย่างหนึ่ง used หรือ src ต้องมีการระบุ แต่ต้องมีอย่างน้อยหนึ่งในพารามิเตอร์เหล่านี้ | URL ทรัพยากร: http://example.html |

การตอบกลับข้อมูลที่สำเร็จ: :::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ การ์ด UI ที่กำลังแก้ไขต้องถูกสร้างโดยผู้ให้บริการการ์ด UI ที่กำหนดเองที่เรียกอินเทอร์เฟซนี้ **รหัสสถานะ: ** 200 OK รหัสข้อผิดพลาด:

  • 406: ไม่มีสิทธิ์เข้าถึงทรัพยากรนี้ ::: **ตัวอย่างการตอบกลับ: **

**ตัวอย่างคำขอ: **

8.2.4 ลบการ์ด UI ที่กำหนดเอง

ผู้ใช้ที่ได้รับอนุญาตได้รับอนุญาตให้ลบการ์ด UI ที่มีอยู่โดยใช้อินเทอร์เฟซนี้ ผู้ให้บริการการ์ดที่กำหนดเองสามารถลบการ์ด UI ได้เฉพาะการ์ดที่พวกเขาสร้างเท่านั้น

:::tips

  • URL/open-api/v2/rest/ui/cards/{id}

  • MethodDELETE

  • Header

    • Content-Type: application/json

    • Authorization: Bearer ::: พารามิเตอร์คำขอ: ไม่มี ข้อมูลการตอบกลับที่สำเร็จ: :::tips เงื่อนไข: พารามิเตอร์คำขอถูกต้องตามกฎหมาย และผ่านการตรวจสอบตัวตนของผู้ใช้ การ์ด UI ที่กำลังแก้ไขต้องถูกสร้างโดยผู้ให้บริการการ์ด UI ที่กำหนดเองที่เรียกอินเทอร์เฟซนี้ **รหัสสถานะ: ** 200 OK รหัสข้อผิดพลาด:

  • 406: ไม่มีสิทธิ์เข้าถึงทรัพยากรนี้. ::: **ตัวอย่างการตอบกลับ: **

Last updated