我正在使用 ESP8266 来模拟 WeMo 设备,其中包含在互联网上找到的 wemos 和 fauxmoESP arduino 代码。现在我了解了开和关命令的基本交互,我想为设备上的某些引脚的状态添加一个状态响应。似乎“打开”和“关闭”是基本的 Alexa 技能和这些工作。但是没有“状态”或“状态”的口头命令。
我在代码中找到了处理eventservice
XML 的位置,例如:<binarystate>1</binarystate>
打开它,但我找不到任何关于获取状态或<getdevicestate>
. 使用示例:如果我在某处看不到灯,我想查询设备以查看它是打开还是关闭。
由于设备模拟 belkin 开/关开关,因此 setup.xml 数据包只有:
<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>
并且基本事件不足以获得状态或进一步的能力。
这一切都是在没有编写 AWS 技能的情况下完成的,并且通过 ESP8266 网络服务器和 fauxmoESP 与 Echo Dot 之间的本地 LAN 上的直接对话进行处理。我可以通过嗅探 LAN(无线)来查看数据包,并相信如果我能找到有关控制消息传递 XML 数据包的文档,添加更多功能会很简单。
我在哪里可以找到这些控件 XML 对话框模板以及如何使用它们的示例?我觉得这只能通过使用 AWS 技能来完成,但这似乎没有必要。有人可以在这里给我一些指导吗?
另外,Alexa 检查设备状态的语句是什么?可能没有内置的表达方式,我需要编写 AWS 技能(如果可能的话,我不想这样做。)