I am using an ESP8266 to emulate a WeMo device with wemos and fauxmoESP arduino code found on the internet. Now that I understand the basic interaction of on and off commands, I'd like to add a status response for the state of some pins on the device. It appears that "turn on" and "turn off" are basic Alexa skills and those work. But there is no "status" or "state" verbal command.
I've found places in the code that handle the eventservice
XML for example:<binarystate>1</binarystate>
to turn it on, but I cannot find any documentation on getting status or <getdevicestate>
. Example of use: If I can't see a light on somewhere, I'd like to query the device to see if it is on or off.
Since the device emulates a belkin on/off switch, the setup.xml packet only has:
<service>
<serviceType>urn:Belkin:service:basicevent:1</serviceType>
<serviceId>urn:Belkin:serviceId:basicevent1</serviceId>
<controlURL>/upnp/control/basicevent1</controlURL>
<eventSubURL>/upnp/event/basicevent1</eventSubURL>
<SCPDURL>/eventservice.xml</SCPDURL>
</service>
and the basic event is not enough to get status or further capability.
This is all done without writing an AWS skill and is handled with direct dialog on the local LAN between the ESP8266 webserver and fauxmoESP to and from the Echo Dot. I can see the packets by sniffing the LAN (wireless)and believe it would be straightforward to add more capabilities if I could find the documentation on the control messaging XML packets.
Where can I find these control XML dialog templates and hopefully examples of how to use them? I am getting the sense that this can only be accomplished by using an AWS skill but it seems so unnecessary. Can someone give me some guidance here?
Also, what is the utterance for Alexa to check status of a device? It could be that there is no built in utterance for this and I will need to write an AWS skill (which I don't want to do if possible.)