Como entiendo más, editaré esta pregunta. Por ahora, adivino lo que necesito. Para facilitar la ayuda de las personas, le diré todo sobre el propósito:
He programado un ESP8266 para anunciar que es el televisor y que puede encenderlo o apagarlo. El ESP8266 realmente transmite los códigos absolutos de encendido / apagado al televisor mediante señales IR. Creo que he agregado un segundo "anuncio" para otra función de encendido / apagado al mismo dispositivo ESP8266.
Sin embargo, lo que realmente quiero agregar es un dispositivo de "volumen relativo". Creo que necesito hacer esto usando XML. Es decir, creo que necesito modificar el XML transmitido a Alexa para no solo anunciar el dispositivo de encendido / apagado sino también para anunciar un dispositivo de volumen relativo.
¿Dónde puedo encontrar ejemplos donde un dispositivo de volumen relativo se anuncia a Alexa?
Para aclarar mi objetivo, permítanme agregar un ejemplo:
Si yo digo
"Alexa, enciende la TV"
El televisor se encenderá. Pero si digo
"Alexa, sube el volumen del televisor"
Alexa responderá
"La televisión no es compatible con eso"
Comencé usando el código aquí en este proyecto de github.com y agregué código adicional para manejar la transmisión de las señales IR al televisor. Este proyecto parece transmitir este XML en respuesta a un Alex que pregunta qué es capaz de hacer el ESP8266:
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());
});
Supongo que, para admitir (ofrecer hasta Alexa) el control de volumen relativo, todo lo que debe hacerse es agregar una descripción de la función de control de volumen al XML anterior. Sin embargo, no he podido averiguar cómo hacerlo.