Hướng dẫn về đèn nhà thông minh
action.devices.types.LIGHT
– Bạn có thể bật và tắt các thiết bị phát sáng. Các thiết bị này có thể có các tính năng bổ sung, chẳng hạn như giảm độ sáng và đổi màu.
Loại này cho biết thiết bị sẽ nhận được biểu tượng Ánh sáng cũng như một số từ đồng nghĩa và biệt hiệu có liên quan.
Khả năng của thiết bị
Hãy tham khảo tài liệu về đặc điểm tương ứng để biết thông tin chi tiết về cách triển khai, chẳng hạn như các thuộc tính và trạng thái mà dịch vụ của bạn cần hỗ trợ cũng như cách tạo các phản hồi EXECUTE và QUERY.
Trait bắt buộc
Những đặc điểm và lệnh này là bắt buộc, nếu áp dụng cho thiết bị của bạn. Nếu thiết bị của bạn không hỗ trợ các trait này, hãy nhập mã lỗi functionNotSupported
vào phản hồi QUERY hoặc EXECUTE. Hãy xem phần Lỗi và ngoại lệ để biết thêm thông tin.
Trait được đề xuất
Bạn nên sử dụng những đặc điểm này (nếu phù hợp với thiết bị của mình). Tuy nhiên, bạn có thể tuỳ ý kết hợp và so khớp từ tất cả các đặc điểm có sẵn sao cho phù hợp nhất với chức năng sản phẩm hiện có.
Yêu cầu về chất lượng
- Độ trễ: phải nhỏ hơn hoặc bằng 700 mili giây.
- Độ tin cậy: phải lớn hơn hoặc bằng 99%.
Thiết bị mẫu: Đèn đơn giản
Phần này chứa các tải trọng ý định mẫu đại diện cho một "Light" phổ biến dựa trên loại thiết bị và đặc điểm ở trên. Nếu bạn thêm hoặc xoá đặc điểm trong quá trình triển khai, hãy sửa đổi các phản hồi cho phù hợp để phản ánh những thay đổi đó.
Phản hồi SYNC mẫu
{ "requestId": "6894439706274654512", "inputs": [ { "intent": "action.devices.SYNC" } ] }
{ "requestId": "6894439706274654512", "payload": { "agentUserId": "user123", "devices": [ { "id": "123", "type": "action.devices.types.LIGHT", "traits": [ "action.devices.traits.ColorSetting", "action.devices.traits.Brightness", "action.devices.traits.OnOff" ], "name": { "name": "Simple light" }, "willReportState": true, "attributes": { "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 6500 } }, "deviceInfo": { "manufacturer": "smart-home-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" } } ] } }
Phản hồi QUERY mẫu
{ "requestId": "6894439706274654514", "inputs": [ { "intent": "action.devices.QUERY", "payload": { "devices": [ { "id": "123" } ] } } ] }
{ "requestId": "6894439706274654514", "payload": { "devices": { "123": { "status": "SUCCESS", "online": true, "on": true, "brightness": 65, "color": { "temperatureK": 4000 } } } } }
Lệnh EXECUTE mẫu
ColorAbsolute
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.ColorSetting
.
{ "requestId": "6894439706274654520", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.ColorAbsolute", "params": { "color": { "name": "Warm White", "temperature": 3000 } } } ] } ] } } ] }
{ "requestId": "6894439706274654520", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "color": { "temperatureK": 3000 } } } ] } }
BrightnessAbsolute
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.Brightness
.
{ "requestId": "6894439706274654518", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 65 } } ] } ] } } ] }
{ "requestId": "6894439706274654518", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "brightness": 65 } } ] } }
OnOff
Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo về
action.devices.traits.OnOff
.
{ "requestId": "6894439706274654516", "inputs": [ { "intent": "action.devices.EXECUTE", "payload": { "commands": [ { "devices": [ { "id": "123" } ], "execution": [ { "command": "action.devices.commands.OnOff", "params": { "on": true } } ] } ] } } ] }
{ "requestId": "6894439706274654516", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "online": true, "on": true } } ] } }