Wenn ich mehr verstehe, werde ich diese Frage bearbeiten. Im Moment rate ich, was ich brauche. Um es den Menschen zu erleichtern, zu helfen, erkläre ich Ihnen den allgemeinen Zweck:
Ich habe einen ESP8266 so programmiert, dass er für das Fernsehgerät wirbt und das Fernsehgerät ein- und ausschalten kann. Der ESP8266 überträgt die absoluten Ein / Aus-Codes mithilfe von IR-Signalen an das Fernsehgerät. Ich glaube, ich habe dem gleichen ESP8266-Gerät eine zweite "Werbung" für eine weitere Ein / Aus-Funktion hinzugefügt.
Was ich jedoch wirklich hinzufügen möchte, ist ein Gerät mit "relativer Lautstärke". Ich glaube, ich muss dies mithilfe von XML tun. Das heißt, ich glaube, ich muss das an Alexa übertragene XML ändern, um nicht nur für das Ein / Aus-Gerät zu werben, sondern auch für ein Gerät mit relativem Volumen.
Wo finde ich Beispiele, bei denen Alexa für ein Gerät mit relativem Volumen geworben wird?
Lassen Sie mich zur Verdeutlichung meines Ziels ein Beispiel hinzufügen:
Wenn ich sage
"Alexa, mach den Fernseher an"
Der Fernseher schaltet sich ein. Aber wenn ich sage
"Alexa, dreh die Lautstärke am Fernseher auf"
Alexa wird antworten
"TV unterstützt das nicht"
Ich habe zunächst den Code hier in diesem github.com-Projekt verwendet und zusätzlichen Code hinzugefügt, um die Übertragung der IR-Signale zum Fernseher zu handhaben. Dieses Projekt scheint dieses XML als Antwort auf eine Frage von Alex zu übertragen, wozu der ESP8266 in der Lage ist:
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());
});
Ich gehe davon aus, dass zur Unterstützung der relativen Lautstärkeregelung (bis zu Alexa) nur eine Beschreibung der Lautstärkeregelungsfunktion zum obigen XML hinzugefügt werden muss. Ich konnte jedoch nicht herausfinden, wie das geht.