Khi tôi hiểu thêm tôi sẽ chỉnh sửa câu hỏi này. Hiện tại, tôi đang đoán những gì tôi cần. Để giúp mọi người giúp đỡ dễ dàng hơn, tôi sẽ nói với bạn về tất cả các mục đích:
Tôi đã lập trình một chiếc ESP8266 để quảng cáo nó là TV và nó có thể bật / tắt TV. ESP8266 thực sự truyền mã bật / tắt tuyệt đối đến TV bằng tín hiệu IR. Tôi tin rằng tôi đã thêm một "quảng cáo" thứ hai cho một tính năng bật / tắt khác cho cùng một thiết bị ESP8266.
Tuy nhiên, thứ tôi thực sự muốn thêm là một thiết bị "âm lượng tương đối". Tôi tin rằng tôi cần phải làm điều này bằng cách sử dụng XML. Đó là, tôi tin rằng tôi cần sửa đổi XML được truyền tới Alexa để không chỉ quảng cáo thiết bị bật / tắt mà còn quảng cáo một thiết bị có khối lượng tương đối.
Tôi có thể tìm thấy các ví dụ nơi thiết bị âm lượng tương đối được quảng cáo cho Alexa ở đâu?
Để làm rõ mục tiêu của tôi, hãy để tôi thêm một ví dụ:
Nếu tôi nói
"Alexa, bật TV lên"
TV sẽ bật. Nhưng, nếu tôi nói
"Alexa, tăng âm lượng trên TV"
Alexa sẽ trả lời
"TV không hỗ trợ điều đó"
Tôi đã bắt đầu bằng cách sử dụng mã ở đây trong dự án github.com này và thêm mã bổ sung để xử lý việc truyền tín hiệu IR đến TV. Dự án này dường như truyền tải XML này để đáp lại một Alex yêu cầu ESP8266 có khả năng làm gì:
HTTP.on("/eventservice.xml", HTTP_GET, [](){
Serial.println(" ########## Responding to eventservice.xml ... ########\n");
String eventservice_xml = "<scpd xmlns=\"urn:Belkin:service-1-0\">"
"<actionList>"
"<action>"
"<name>SetBinaryState</name>"
"<argumentList>"
"<argument>"
"<retval/>"
"<name>BinaryState</name>"
"<relatedStateVariable>BinaryState</relatedStateVariable>"
"<direction>in</direction>"
"</argument>"
"</argumentList>"
"</action>"
"<action>"
"<name>GetBinaryState</name>"
"<argumentList>"
"<argument>"
"<retval/>"
"<name>BinaryState</name>"
"<relatedStateVariable>BinaryState</relatedStateVariable>"
"<direction>out</direction>"
"</argument>"
"</argumentList>"
"</action>"
"</actionList>"
"<serviceStateTable>"
"<stateVariable sendEvents=\"yes\">"
"<name>BinaryState</name>"
"<dataType>Boolean</dataType>"
"<defaultValue>0</defaultValue>"
"</stateVariable>"
"<stateVariable sendEvents=\"yes\">"
"<name>level</name>"
"<dataType>string</dataType>"
"<defaultValue>0</defaultValue>"
"</stateVariable>"
"</serviceStateTable>"
"</scpd>\r\n"
"\r\n";
HTTP.send(200, "text/plain", eventservice_xml.c_str());
});
Tôi giả sử, để hỗ trợ (cung cấp tối đa Alexa) điều khiển âm lượng tương đối, tất cả những gì cần làm là thêm một mô tả về tính năng điều khiển âm lượng cho XML ở trên. Tuy nhiên, tôi đã không thể tìm ra cách để làm điều đó.