想要在Home Assistant中通过智能遥控发送红外信号控制空调需有两个步骤:
一、智能遥控接入Home Assistant;
二、Home Assistant将红外信号数据发往智能遥控,智能遥控收到后发送对应红外信号;
下面将详细介绍这两个流程,为了减少字数以下Home Assistant会简称为:HA;
设备接入
将设备接入HA就是建立设备与HA平台的通讯能力,使之HA能够将数据发送到相应的设备;在Home Assistant平台的如下路径:配置-》设备与服务-》添加新集成》
在搜索框中输入:Broadlink,添加博联设备,
从路由器或其他地方获取到智能遥控的IP地址;输入到Connect to the device窗口Host中;
通过如上步骤,Home Assistant已经完成博联黑豆WiFi智能遥控的接入;
设备控制
在Home Assistant中可以有两种方式配置设备的控制,通过Web界面配置场景联动或编写脚本还有可以通过直接修改HA配置文件实现;
这里主要将演示两种方式对智能遥控器的访问并通过它控制空调;
由于各个厂商的空调红外指令协议都不相同,Home Assistant初始并不集成这类红外指令码数据,WiFi智能遥控也只是一个红外发射器,还需通过厂商App云服务获取对应的IrCode红外指令码,以便智能遥控发送红外信号给空调;
在此要实现HA通过智能遥控发送红外信号控制空调还需,HA知道各个按钮的红外码,并在HA中存储该信息;
学习红外指令
HA集成了Broadlink后我们可以通过HA的WebUI即可完成按钮红外指令的学习;
在HA的Web页面中,进入 开发者工具页面,进入 服务Tab项;
在此界面可以通过UI或YAML编写两种方式配置相关command;在服务下拉框中选择或输入:遥控: Learn Command,此时需要做的是学习遥控红外按钮指令,在文本框中输入如下YAML格式的信息;
service: remote.learn_command
data:
entity_id: remote.zhi_neng_yao_kong_remote
device: yaokong
command: power
command_type: ir
alternative: true
代码介绍:
service: 服务名称
data: 具体数据
entity_id: 对应的设备,这里一定是对应HA中注册的遥控器ID
device: 设备名字,可随意
command: power 指令名称,对应的按钮,自定义
command_type:ir 指令类型,ir就是红外信号
alternative:true 按钮存在两种状态需为true,如开关按钮
编写完成后,此时点击 《调用服务》按钮,如无意外智能遥控灯亮起,使用空调遥控器对着智能遥控按开关机键,因为配置了alternative参数,这里需要按两下,开机、关机;
此时HA就完成了对空调遥控 开关机按钮的红外码学习;在HA的/config/.storage目录中也会看到学习完成后所成的文件:
发送红外指令
学习好对应按钮指令后,红外指令的发送也有两种方式,1、开发者页面服务调用;2、将对应的红外指令配置成按钮;
开发者页面
service: remote.send_command
data:
entity_id: remote.zhi_neng_yao_kong_remote
device: yaokong
command: power
输入如上代码,点击调用服务后即可完成 开机 红外指令的发送,再次 点击服务调用,发送 关机 红外指令,这次空调有反应就说明红外的学习、发送正常;
配置空调开关
在HA中配置空调开关实现空调的控制,编写如下代码:
switch:
- platform: broadlink
mac: 34:EA:34:40:86:27
switches:
- name: KongTiao
command_on:"JgDoAGRlZZIVNBUQEjcSFBEUETcV......
command_off:"JgDoAGRlZZISNxIUETcUE.......
代码介绍
switch: 代表开关
platform:平台
mac: 智能遥控的mac地址
name : 开关名字
command_on: 开 所学习红外码
command_off: 关 所学习红外码
将所编写的代码写入到configuration.yaml文件中,重启HA即可,此时在HA首页将看到所配置的开关,使用此开关也对空调进行相应的控制;