一. 安装 HA 环境
HA 有两种方式安装,一种是安装python3 及ha 运行程序,插件等;一种是直接安装别人已经做好的树莓派镜像文件;建议刚玩的小伙伴,先用镜像文件安装,毕竟安装的时候随便一个问题都有可能让你失去兴趣。
1.下载树莓派镜像,根据自己版本需求下载
https://pan.baidu.com/s/1a0qRrb0694h-JzxJ1Z5Bbw#list/path=%2F
2.下载 etcher,并用etcher进行镜像烧写
下载路径https://etcher.io
选择前面下载的镜像文件,并flash 到SD 卡
3.连接wifi,并开启ssh
将烧好后的SD 卡 插入电脑,在boot 分区中新建wpa_supplicant.conf 和 ssh(没有后缀,并且为空) 两个文件,并在wpa_supplicant.conf 文件中写入如下配置
#多个wifi ,只需要增加一个network 并修改其中的 ssid 和psk 即可
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="连接的wifi名称"
psk="wifi的密码"
key_mgmt=WPA-PSK
priority=1
}
4.一些常用的命令
ha-start: 启动HomeAssistant
ha-stop: 停止HomeAssistant
ha-restart: 重启HomeAssistant
ha-log: 查看HomeAssistant输出
node-red-start: 启动node-red
5.ssh 登录 树莓派
这里有三种方式
一,通过ipScan 等工具,搜索名叫“raspberry”的设备的IP
二,通过路由器设备列表,查看名叫“raspberry”的设备的IP
三,树莓派是默认开启了mDns, 就可以在本地通过树莓派的计算机名称+.local 登录了
ps:最新版的HA-china pi用户密码设置为hachina
6.常用端口
dashboard访问端口5050
Jupyter Notebook 访问端口8888
assistance 范文端口8123
二, 设备接入
本人这里选的是基于mqtt 协议接入的
1.配置mqtt 服务器
在configuration.yaml 中找到mqtt 加入如下配置
```
mqtt:
broker: iot.eclipse.org #ha 是有自带一个mqtt 代理服务器的,也可以使用自身的服务器
port: 1883
discovery: true #自动发现,
discovery_prefix: homeassistant #使用自动发现功能时,topic 包的前缀
```
1.开关设备接入
在configuration.yaml 文件中加入如下配置
light:
- platform: mqtt
name: "LED light over MQTT"
state_topic: "hachina/hardware/led01/state"
command_topic: "hachina/hardware/led01/switch"
payload_on: "on"
payload_off: "off"
接下来就可以通过mqtt 客户端,订阅 ha 服务器发来的”hachina/hardware/led01/switch“ 控制命令 开灯时 payload=“on”,和轮询的往“hachina/hardware/led01/state”,发送当前灯的状态信息,灯亮时,payload 依然是"on "
2.传感器的接入
在configuration.yaml 文件中 sensor 下加入如下配置
- platform: mqtt
name: pm25
state_topic: "tele/888/sensor"
value_template: "{{ value_json.SDSOX1.PM25 }}"
unit_of_measurement: "ug/m3"
- platform: mqtt
name: pm10
state_topic: "tele/888/sensor"
value_template: "{{ value_json.SDSOX1.PM10 }}"
unit_of_measurement: "ug/m3"
然后就可以通过向 tele/888/sensor 主题中发送如下payload,即可在ha 中显示传感器的值了
{
"SDSOX1": {
"PM25": 14,
"PM10": 20
}
}