As I understand more I WILL edit this question. For now, I am guessing at what I need. To make it easier for people to help, I'll tell you the over all purpose:
I have programmed an ESP8266 to advertise it is the TV and that it can turn the TV on / off. The ESP8266 actually transmits the absolute on / off codes to the TV using IR signals. I believe I have added a second "advertisement" for yet another on / off feature to the same ESP8266 device.
However, what I really want to add is a "relative volume" device. I believe I need to do this by using XML. That is, I believe I need to modify the XML transmitted to Alexa to not only advertise the on / off device but to also advertise a relative volume device.
Where can I find examples where a relative volume device is advertised to Alexa?
To clarify my objective, let me add an example:
If I say
"Alexa, turn on the TV"
the TV will turn on. But, if I say
"Alexa, turn up the volume on the TV"
Alexa will respond
"TV does not support that"
I started by using the code here in this github.com project and added additional code to handle transmitting the IR signals to the TV. This project appears to transmit this XML in response to an Alex asking for what the ESP8266 is capable of doing:
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());
});
I assume, in order to support (offer up to Alexa) relative volume control, all that needs to be done is add a description of the volume control feature to the above XML. However, I have not been able to find out how to do that.