20221219-HomeAssistant智能家居系统搭建指南

Home assistant 是一个成熟完整的基于python 的智能家居系统,设备支持度高,支持自动化 automation 群组化,ui 客制化等等高度定制化设置,背后又有庞大的社群基础,且不断更新,最重要的是我们可以通过homeassistant-homebridge 插件打通两个平台,同样实现设备的siri 控制,整套体系的框架如下

本系列将围绕安装,配置、开发等内容,详细介绍HASS 平台的方方面面,同时针对HASS 与hb 兼容与选择,自动化配置方法等等问题给出自己的观点和探索

HASS 支持大部分平台,简而言之,只要你的主机能跑python 基本就能安装hass 配合魔镜项目,以及便捷性的考虑,
本系列教程也将基于树莓派展开

初始安装

在树莓派安装HASS 有2种方法供选择

以其他操作系统,(这里以树莓派 官方系统 raspbian 为例) 为根系统,再通过指令安装

直接安装集成了HASS 的hassbian 操作系统

以上2种方法从性能上来说并无二异,均能实现hass全部功能,hassbian 实际上亦基于raspbian 唯一需要纳入考虑的是图形化操作界面的需求。由于树莓派基金官方尚未公开单独安装图形化操作界面的方法,在当下,如果有该需求,只能通过官方图形化操作系统 raspbian with desktop 实现

方法1
安装前,请参考 梓姵君文章 对树莓派进行初始基础设置,重点关注地区、WiFi、源替换的内容,这里不再展开,特别注意,2016年11月 后的官方系统默认关闭ssh 功能,请务必打开

使用任何方法连接到树莓派终端、输入以下安装代码

1
$ curl -O https://raw.GitHubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh && sudo chown pi:pi hass_rpi_installer.sh && bash hass_rpi_installer.sh

注意,不要以sudo 运行,然后泡杯茶,做点别的事情,等待程序跑完,安装时间根据网络情况不等,大约需要1-2 个小时,国内网络环境大家自行改善

如果你是使用此方法安装hass 的话,未来更新指令如下

1
2
3
4
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/homeassistant_venv/bin/activate
pip3 install --upgrade homeassistant
exit

方法2

参考 copriwolf 的

教程

使用 Etcher 安装官方最新

固件

镜像。

感谢少数派友 DJ 千辛万苦的搬运至度娘盘(password: 2e98)

要注意的是,hassbian 初次启动时需要联网进行原始设置,由于无法在初次启动前设置无限网络,因此务必将树莓派与电脑或者路由器有线连接起来,以保证树莓派在有网环境下顺利设置

官方教程告知初次启动需要等待5分钟左右,基于国内的网络环境,我这里测试多次,都需要等待近10分钟,所以大家不要焦躁,可以看部番剧或者往下研究一下此篇文章以便接下来顺利进展。

如果等待时间过久却没有出现初始界面,可尝试使用以下命令强制初始安装

1
2
sudo systemctl enable install_homeassistant.service
sudo systemctl start install_homeassistant.service

如果使用此方法,未来更新指令如下

1
2
3
4
5
6
$ sudo systemctl stop home-assistant@homeassistant.service
$ sudo su -s /bin/bash homeassistant
$ source /srv/homeassistant/bin/activate
$ pip3 install --upgrade homeassistant
$ exit
$ sudo systemctl start home-assistant@homeassistant.service

无论使用哪种方法,等待过后,在浏览器输入 http://树莓派的ip 地址:8123 查找树莓派ip 地址可以直接前往路由器界面

如果出现类似下图,则表示初始安装完成,如若没有出现界面,或者无法连接,有很大可能是尚未安装完毕,不要着急再等等,注意地址冒号为英文字符,请勿输入中文冒号

Hassbian 安装注意,初次启动请等待安装出现以下界面,再进行后续操作,否则你的一切工作都是前功尽弃,并且除此启动时,勿SSH ,勿输入任何代码,保持通电,联网,静置状态,非常重要

macOS

macos 自带python,如果你不小心误删,请先重新安装,macos 下安装hass 也相当简单

pip3 install homeassistant

附加功能

SMB 必须

SMB 可以帮助我们开启树莓派的网盘模式,方便未来文件传输,这里我们除安装外把该功能加入了系统自启项目

通用安装指令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
sudo apt-get install samba 
sudo smbpasswd -a homeassistant -n
sudo nano /etc/samba/smb.conf
[global]
netbios name = raspberrypi
server string = The Pi File Center
workgroup = WORKGROUP
hosts allow =
remote announce =
remote browse sync =
[HOME ASSISTANT]
path = /home/homeassistant/.homeassistant
comment = No comment
browsable = yes
read only = no
valid users =
writable = yes
guest ok = yes
public = yes
create mask = 0777
directory mask = 0777
force user = homeassistant
force create mode = 0777
force directory mode = 0777
hosts allow =

Ctrl+X,Y,回车

1
sudo systemctl restart smbd.service

hassbian 提供了一个附加功能工具包hassbian-config 这使我们的安装更加简单,使用工具包安装原则上已经自动配置好一切,建议大家还是修改一下权限和密码

安装指令

1
2
sudo hassbian-config install samba
sudo smbpasswd -a pi

重启服务

1
sudo systemctl restart home-assistant@homeassistant.service

2.2 MQTT
MQTT 是基于二进制消息的发布,订阅编程模式的消息协议,广泛用于物联网部署中,部分智能家居设备需要MQTT 连接

通用安装指令

1
2
sudo apt-get install mosquitto mosquitto-clients python-mosquitto
sudo systemctl start mosquitto

hassbian 工具包安装

1
2
sudo hassbian-config install mosquitto
sudo systemctl start mosquitto
  1. Homebridge 安装
    HASS 本身可以通过网页控制,这也赋予了其全平台的控制能力,当然,想必不少人还是冲着语言控制功能考虑智能家居的,对于ios 用户来说,想要更自由地使用homekit HB依然是绕不开的环节

HB 的安装我就更不多说了,欢迎大家参考另外几篇文章,这里我根据之前指导派友的经验简单概括一下。

HB 提供一行安装指令:sudo npm install -g –unsafe-perm homebridge 但是安装成功率比较低,推荐大家使用下面的手动安装指令。

sudo apt-get install git make
sudo apt-get install g++
curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo apt-get install libavahi-compat-libdnssd-dev
sudo npm install -g –unsafe-perm homebridge hap-nodejs node-gyp
cd /usr/local/lib/node_modules/homebridge/
(注意这里如果显示不存在文件夹,替换成 cd /usr/lib/node_modules/homebridge/)
sudo npm install –unsafe-perm bignum
cd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdns
(注意这里如果显示不存在文件夹,替换成 cd /usr/lib/node_modules/hap-nodejs/node_modules/mdns)
sudo node-gyp BUILDTYPE=Release rebuild

运行到这里,HB就已经安装完成了,这里建议大家直接输入homebridge 运行一次,以生成示例配置文件,然后ctrl+C退出

接着,安装homeassistant-homebridge 插件,实现平台联动

sudo npm install -g homebridge-homeassistant

  1. 添加自启任务

忙活了那么久,即将大功告成了,最后临门一脚,我们把HASS和HB 添加至树莓派开机任务中,这样每次启动后就会自动运行上述2个进程

注意:配置 HB 前程序会运行错误,提示缺少配置文件,可先不理会。

cd /
sudo useradd –system homebridge
sudo mkdir /var/homebridge
sudo cp ~/.homebridge/config.json /var/homebridge/
sudo cp -r ~/.homebridge/persist /var/homebridge
sudo chmod -R 0777 /var/homebridge
cd /etc/default
sudo nano homebridge 复制粘贴

Defaults / Configuration options for homebridge

The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)

HOMEBRIDGE_OPTS=-U /var/homebridge

If you uncomment the following line, homebridge will log more

You can display this via systemd’s journalctl: journalctl -f -u homebridge

DEBUG=*

Ctrl+X,Y,回车

cd /etc/systemd/system
sudo nano homebridge.service
复制粘贴

[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/lib/node_modules/homebridge/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Ctrl+X,Y,回车

cd /
sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo systemctl start homebridge
sudo systemctl status homebridge
sudo systemctl enable mosquitto

最后重启,sudo reboot

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~