步骤1:设置Homeassistant .yaml文件
您需要转到文件的HTTP部分,而与password部分不同的是,并为homeassistant实例创建密码。
然后,您需要将alexa部分添加到您的homeassantant配置yaml文件中。检查我的其他Instructables来配置homeassistant以获取更多信息。
在文件中,您需要拖放到文件底部并添加以下内容:
Alexa
Intents:
动作:
服务:scene.turn_on template:
entity_id:场景。{{Scene | replace(“”,“ _”)}}
语音:
类型:plaintext
文本:OK
现在,您需要设置Scene,以便可以打开和关闭内容。因此,在此文本输入之后,您将添加以下内容(这是我的示例,我将名称“ test”命名为您可以选择自己的名字)
场景:
-名称:Test_light_on
实体:
Switch.TestLED1:开
-名称:Test_light_off
实体:
Switch.TestLed1:关
现在,您将需要添加GPIO部分,以便可以选择要分配的GPIO引脚。要添加,将放置以下内容(这仍然是我的示例,您可以随时更改GPIO编号)
开关:
-平台:rpi_gpio
端口:
11:TestLED1
添加这些行以保存.yaml文件并重新启动homeassistant。
步骤2:创建技能
您首先需要在Amazon中使用您的开发人员帐户。
登录后,您需要转到developer.amazon.com,选择alexa,然后选择alexa技能套件。
您现在将添加新技能。
现在填写您要命名的技能和调用名称。调用名称将是您要激活技能时要说的名称。
还请注意应用程序ID,因为稍后将需要它来设置lambda函数。
现在转到交互模型并输入以下内容:
{
“意图”:[
{
“意图”:“ ActivateSceneIntent”,
“广告位”:
[
{
”名称”:“场景”,
“类型”:“场景”
}
]
}
]
}
现在您将添加一个插槽。
添加插槽后,您将需要输入名称“ Scene”,并在homeassistant中输入在.yaml文件中指定的名称,但不能使用下划线字符“ _”,因为当名称为时,alexa将无法正确识别它们。
例如:
测试灯打开
测试灯关闭
添加后,您需要添加语音。这就是您向Alexa讲命令的方式。我选择了以下选项:
ActivateSceneIntent Activate {Scene}
这将允许您说出“ activate”命令,然后您可以从上方说出插槽的名称,例如“ Test light on”打开
请参考以下视频进行现场演示:
第3步:路由器设置
首先,您需要转发您的路由器。为此,您首先需要查看您是否具有静态IP。对于我们大多数人来说,我们都是通过DHCP从ISP获得IP地址的。因此,如果由于某种原因与ISP断开连接,此地址可能会更改。因此,您需要使用DDNS。我们有很多服务可以做到这一点,其中之一就是duckdns。我有一个华硕路由器,所以华硕有自己的服务。在您的WAN设置下,您将找到DDNS选项卡或类似名称。从您使用的任何ddns站点获取您的网址后,您都将其输入到路由器中,然后选择要使用的ddns服务,以便您的路由器将使用您的ISP IP地址更新该ddns服务器,以防万一由于任何原因而改变
一旦设置好,您将需要将家庭辅助端口8123转发到树莓派。
为此,您需要进入路由器的端口转发设置,并将tcp/udp端口8123都转发到您的树莓派的IP地址。要从树莓派获取IP地址,只需从树莓派登录到终端,然后键入ifconfig。
请访问www.portforward.com,了解如何转发品牌路由器上的端口。
设置后,您就可以开始构建lambda函数了。
步骤4:Lambda函数设置
对于HTTPS设置,我使用了Amazon aws的lambda函数。因此,请转到console.aws.amazon.com并创建一个帐户。
创建aws帐户后,您将转到所有服务,然后在“计算机”部分下选择lambda
选择创建新的lambda函数。 br》您将在以下网址上找到的代码添加到lambda函数的代码部分:
https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill -当您不拥有-https/5230
添加后,您将需要更改以下部分:
‘amzn1.ask.skill.xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx’更改为我们在第2步中讨论过的亚马逊开发人员技能的应用程序ID。
http://xxxxxxxx:8123/api/alexa?api_password = pas将需要更新为您的ddns网址和您创建的密码对于设置1中的homeassantant,在配置选项卡下,您需要确保运行时为node.js处理程序为index.handler并且角色将为现有角色。在现有角色下,我只是将其命名为mine lmabda_basic_execution。
为了说明起见,我将其标记为automatic home
将内存更改为128 MB,并将超时设置为0min 10sec
在触发条件下,它将需要具有alexa技能套件。
以下是有关如何设置所有内容的视频,供您参考:
步骤5:最终测试
您最终将需要进行全部测试。
责任编辑:wv
-
软件
+关注
关注
69文章
4970浏览量
87712 -
GPIO
+关注
关注
16文章
1211浏览量
52179 -
树莓派
+关注
关注
117文章
1710浏览量
105721
发布评论请先 登录
相关推荐
评论