本帖最后由 coolbug111 于 2018-9-26 23:40 编辑
本人也是个不懂程序语言的,去年的时候曾经安装成功过,但是最近重新弄的时候,发现去年的教程已经不太适用安装较新版本的HomeAssistant,会出现各种各样的问题,每一个错误都需要无数次的尝试,直到成功为止。因为不懂语言,所以不懂得解决问题的思路,只能是按照错误的提示,一次又一次的尝试,还是比较辛苦的,很容易打击一些刚入门又不懂语言的人。不过,经过无数次的折腾,终于是搞定。在此,感谢群里面的@大傻瓜-termux @杨柳(Aben Yang) ,两位兄弟的帮助,还有其他没提到的兄弟,感谢你们的无私以及不厌其烦的分享,解决了我思路上的问题,再次感谢!
--------------------------------2018.9.21更新.不再使用homebridge接入------------------
homebridge官方已经停止维护了,安装到第七个步骤 本教程已经全部完毕,请使用原生homekit接入苹果设备。
--------------------------------2018.8.24更新.原生接入homekit--------------------------- 我自己虽然搞成功了,但是还是有很多坑要填,无奈放弃了HomeBridge,直接使用原生homekit,但是目前有些东西的接入还必须依靠HomeBridge,所以请按自身情况选择性安装。已经有大佬说过这个方法了,我整合在一起,方便新手使用。
方法如下:
安装到第七步 ,剩下的就可以不用再安装了,即可使用原生的homekit,用siri控制设备了。
在你的configuration.yaml文件任意位置添加以下代码
重启HA即可在主页看见8位的pin码,输入在手机端的家庭里面,手机会自动添加你接入HA的所有设备。这个pin码如果已经输入了,那么你下次再进入的时候,就会自动消失,手机端删除接入,pin码会再次出现。pin码只能接入一个手机,再用这个主手机邀请别的用户,即可多部手机控制。
如果是用的hassio,还需要删除 .homekit.state文件,在HASS的目录下。
详见:https://bbs.hassbian.com/thread-3907-1-1.html
写在教程前面:
1.最好能自己搞清楚每一句命令的含义,和安装软件的运行原理,不懂可以自行度娘或者google。
2.如果安装过程当中出现任何的ERR 、Failed to 、Warning 请一定一定一定要查看,不懂E文可以上网翻译,起码你要懂它是在提示你什么。
3.要懂得善于使用论坛的搜索功能,会帮助你解决很多小问题,有时候不是论坛没人理你,而是很多小问题都快成月经贴了。我自己收藏的论坛帖子都有50篇左右了,有教程,有错误的解决,这些帖子会给你一个很好的思路,这个很重要。
4.我自己的这个安装方法,我不知道还有没有错误,只是经过我自己的验证,现在已经能完成整个平台的搭建安装。
5.关于hassbian和hassio的区别,版主:neroxps 已经有说过:
刷官方的 hassio就是用ios系统
自己用debian等系统搭建 hassio就是越狱后的ios
hassbian 就是 root 后的 android
hassbian适合折腾,适合玩。hassio就适合用,稳定。
6.以下我就整理一下我的安装方法,尽量做到图文并茂,希望同为新手的朋友,少走一些弯路,能体验到HomeAssistant带来的便利。
7.此教程我是一边安装一边写,同时能够再一次验证是否能够成功,同时整个过程当中没有用到科学上网。
1.烧录系统到SD卡,上机通电
系统下载 https://github.com/home-assistant/pi-gen/releases/latest
2.安装HomeAssistant
不知道是什么原因,上电以后,无论多久,我都不能进入 http://192.168.x.x:8123 。所以我是直接链接树莓派进行手动安装。
在安装前需要更新一下hassbian-config
sudo hassbian-config upgrade hassbian-script
复制代码
安装成功后显示以下字样。
更新成功后,安装homeassistant
sudo hassbian-config install homeassistant
复制代码
安装成功后显示以下字样。
以上步骤如果出错,请重复安装命令,直至成功,我就是这样安装的。
现在你就可以用浏览器进入主页了,如果主页刷新不出来,请用以下命令手动打开
sudo systemctl enable install_homeassistant.service
sudo systemctl start install_homeassistant.service
复制代码
另外,0.76开始的系统,好像装完了进主页会提示404 not fand,我没管,接着安装,安装完homebridge后,主页就能打开了,我不懂是什么原因
3.修改树莓派系统时区
sudo dpkg-reconfigure tzdata
复制代码
我选择的是亚洲ASIA,重庆chongqing
4.切换软件源
sudo nano /etc/apt/sources.list
复制代码
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ stretch main non-free contrib rpi
源的版本为:stretch
更新源:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get update
复制代码
第二步的时候,会提示Do you want to continue? [Y/n],请按Y键回车确认即可。
sudo apt-get update意思是从软件源下载最新的软件列表和你本地的软件列表经行对比。sudo apt-get upgrade意思是把你本地需要更新的软件
替换为源里面的最新版本。就像iPhone越狱以后,进cydia,会提示有新的软件更改,然后替换为最新的版本。以上步骤会因为网络问题,出现时间长短不一的情况,请耐心等待。
第一步
第二步
第三步
5.安装samba,mariadb,mqtt
sudo hassbian-config install samba
sudo hassbian-config install mariadb
sudo hassbian-config install mosquitto
复制代码
samba
mariadb
mosquitto
安装mqtt的时候会让输入帐号和密码,一定记住了,其他具体配置在后面
6.配置samba
sudo smbpasswd -a pi
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original
sudo nano /etc/samba/smb.conf
复制代码
复制一下代码粘贴,CTRL+X ,Y保存
[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 = root
force create mode = 0777
force directory mode = 0777
hosts allow =
[PI]
path = /home/pi
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 = root
force create mode = 0777
force directory mode = 0777
hosts allow =
复制代码
重启samba服务
sudo service smbd restart
复制代码
7.开启Root账户,方便winscp修改文件
1. 给root建立密码
输入两次密码
2. 切换至root帐号,测试是否可用
su root 如果可以用,su pi切换回来
3. 修改ssh配置文件,使root可以登录
sudo nano /etc/ssh/sshd_config
复制代码
用CTRL+W找到PermitRootLogin一行,把后面prohibit-password修改为 yes ,并把前面#号去掉;保存退出,然后重启系统
8.开始安装 HomeBridge
1.添加Nodejs 8.X数据源
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
这条命令完毕之后,其实会提示你安装一些依赖,最开始的时候没有注意,直接进行下一步,结果就出错了,后来一步步的排查过来,才知道是这里出错了,我们按照提示进行安装
sudo apt-get install gcc g++ make
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn
2.安装nodejs
sudo apt-get install -y nodejs
sudo apt-get -y install libavahi-compat-libdnssd-dev
复制代码
3.安装homebridge
sudo hassbian-config install homebridge
复制代码
这个时候会让你输入你的homeassistant地址和端口, 然后问你登陆HA的密码默认是raspberry(可改),就是你进主页的登录密码。然后再次询问 是否想把samba添加到HB中,点击Y,继续安装。
请记住这个密码,后期配置 config.json 会 用到。此步骤可能会因为网路问题出错,可以一直重复命令,直到安装完毕为止。
实际这个命令安装homebridge的过程当中,就会自动安装一些依赖,第一步的nodejs好像也会安装,但是会缺少npm这东西,所以在安装homebridge之前,我先安装了nodejs,因为里面会附带安装npm,如果没有这东西,homebridge就无法完成安装。因为第一步安装了,后面安装homebridge的时候,会提示某些依赖之前已经安装过。
到了这步,恭喜你,你已经差不多要全部安装成功了。
输入 homebridge 测试下~~~出现二维码就是成功了,但是会有一行黄色的文字提示找不到 config.json, 然后Ctrl+C停止homebridge的运行。
接下来配置 config.json
sudo nano /home/pi/.homebridge/config.json
复制代码
更改标字的地方,再复制进入,然后保存退出。
{
"bridge": {
"name": "MY HOME", //随意起
"username": "XX:27:XX:98:XX:0D", //树莓派的mac地址
"port": 51926, //随意填,别太大了
"pin": "325-03-326" //随意,自己能记住
},
"platforms": [
{
"platform": "HomeAssistant",
"name": "MY HOME", //homeassistant里面你配置的名字
"host": "http://192.168.x.x:8123", //树莓派的IP
"password": "SMC5528869", //进入主页[url=http://192.168.x.x:8123]http://192.168.x.x:8123[/url]的密码
"supported_types": ["automation", "binary_sensor", "climate", "cover", "device_tracker", "fan", "group", "input_boolean", "light", "lock", "media_player", "remote", "scene", "script", "sensor", "switch", "vacuum"],
"default_visibility": "visible",
"logging": true
}
]
}
复制代码
再次homebridge进行测试,此时黄色的字体已经不在了
9.将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/local/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 // 查看Homebridge运行状态
sudo reboot
复制代码
至此,整个平台的搭建已经完成,你已经可以添加你想要的东西,添加的办法请自行论坛搜索,最后再次感谢论坛里的各位大神,有了你们的铺路,才有了我们这些小白的方便。