Pelo que entendi mais, editarei esta pergunta. Por enquanto, estou adivinhando o que preciso. Para facilitar a ajuda das pessoas, eu lhe direi o objetivo geral:
Programei um ESP8266 para anunciar que é a TV e que pode ligar / desligar a TV. O ESP8266 na verdade transmite os códigos absolutos de ligado / desligado para a TV usando sinais IR. Acredito que adicionei um segundo "anúncio" para mais um recurso de ativação / desativação no mesmo dispositivo ESP8266.
No entanto, o que realmente quero adicionar é um dispositivo de "volume relativo". Acredito que preciso fazer isso usando XML. Ou seja, acredito que preciso modificar o XML transmitido ao Alexa para não apenas anunciar o dispositivo on / off, mas também para anunciar um dispositivo de volume relativo.
Onde posso encontrar exemplos em que um dispositivo de volume relativo é anunciado para o Alexa?
Para esclarecer meu objetivo, deixe-me adicionar um exemplo:
Se eu disser
"Alexa, ligue a TV"
a TV liga. Mas se eu disser
"Alexa, aumente o volume na TV"
Alexa responderá
"A TV não suporta isso"
Comecei usando o código aqui neste projeto do github.com e adicionei um código adicional para lidar com a transmissão dos sinais de infravermelho para a TV. Este projeto parece transmitir esse XML em resposta a um Alex solicitando o que o ESP8266 é capaz de fazer:
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());
});
Suponho que, para oferecer suporte ao controle de volume relativo (ofereça até Alexa), tudo o que precisa ser feito é adicionar uma descrição do recurso de controle de volume ao XML acima. No entanto, não consegui descobrir como fazer isso.