发新帖

[试用评测] 【Raspberry Pi 3A+试用体验】树莓派学习之HA 初体验

[复制链接]
发表于 2019-5-28 10:16:54
| 686 查看 | 0 回复
本帖最后由 1d58e5847fae904e 于 2019-5-28 18:14 编辑

一. 安装 HA 环境
HA 有两种方式安装,一种是安装python3 及ha 运行程序,插件等;一种是直接安装别人已经做好的树莓派镜像文件;建议刚玩的小伙伴,先用镜像文件安装,毕竟安装的时候随便一个问题都有可能让你失去兴趣。
1.下载树莓派镜像,根据自己版本需求下载
可以去HAchina 搜索 定制镜像,就可以查到百度链接

2.下载 etcher,并用etcher进行镜像烧写

选择前面下载的镜像文件,并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": {
                "M25": 14,
                "M10": 20
        }
}

我要点赞 0

举报

您需要登录后才可以回帖 登录 | 立即注册