『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 25655|回复: 39

[基础教程] 【9.21更新,不再使用HomeBridge】HASSBIAN 0.76.2的最新版本安装

  [复制链接]

7

主题

138

帖子

931

积分

高级会员

Rank: 4

积分
931
金钱
793
HASS币
0
发表于 2018-8-22 12:04:54 | 显示全部楼层 |阅读模式
本帖最后由 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文件任意位置添加以下代码
homekit:

重启HA即可在主页看见8位的pin码,输入在手机端的家庭里面,手机会自动添加你接入HA的所有设备。这个pin码如果已经输入了,那么你下次再进入的时候,就会自动消失,手机端删除接入,pin码会再次出现。pin码只能接入一个手机,再用这个主手机邀请别的用户,即可多部手机控制。
如果是用的hassio,还需要删除 .homekit.state文件,在HASS的目录下。
详见:https://bbs.hassbian.com/thread-3907-1-1.html

写在教程前面:
1.最好能自己搞清楚每一句命令的含义,和安装软件的运行原理,不懂可以自行度娘或者google。
2.如果安装过程当中出现任何的ERRFailed toWarning  请一定一定一定要查看,不懂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

安装成功后显示以下字样。
更新成功.png


更新成功后,安装homeassistant
sudo hassbian-config install homeassistant

安装成功后显示以下字样。
homeassistant安装成功代码.png

以上步骤如果出错,请重复安装命令,直至成功,我就是这样安装的。

现在你就可以用浏览器进入主页了,如果主页刷新不出来,请用以下命令手动打开
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,会提示有新的软件更改,然后替换为最新的版本。以上步骤会因为网络问题,出现时间长短不一的情况,请耐心等待。


第一步
sudo apt-get update.png

第二步
第二步.png

第三步
第三步.png

5.安装samba,mariadb,mqtt

sudo hassbian-config install samba
sudo hassbian-config install mariadb
sudo hassbian-config install mosquitto


samba
smmba.png

mariadb
mariadb.png

mosquitto
mosquitto1.png

MQtt.png



安装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建立密码
sudo passwd root

输入两次密码

2. 切换至root帐号,测试是否可用
su root    如果可以用,su pi切换回来


3. 修改ssh配置文件,使root可以登录
sudo nano /etc/ssh/sshd_config


用CTRL+W找到PermitRootLogin一行,把后面prohibit-password修改为 yes ,并把前面#号去掉;保存退出,然后重启系统
root.png

yes.png

8.开始安装HomeBridge


1.添加Nodejs 8.X数据源
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
这条命令完毕之后,其实会提示你安装一些依赖,最开始的时候没有注意,直接进行下一步,结果就出错了,后来一步步的排查过来,才知道是这里出错了,我们按照提示进行安装
提示.png


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

nodejs依赖.png

2.安装nodejs

sudo apt-get install -y nodejs
sudo apt-get -y install libavahi-compat-libdnssd-dev

nodejs安装.png

nodejs安装2.png

3.安装homebridge

sudo hassbian-config install homebridge


这个时候会让你输入你的homeassistant地址和端口,然后问你登陆HA的密码默认是raspberry(可改),就是你进主页的登录密码。然后再次询问是否想把samba添加到HB中,点击Y,继续安装。
homebridge 网址.png


请记住这个密码,后期配置config.json用到。此步骤可能会因为网路问题出错,可以一直重复命令,直到安装完毕为止。


实际这个命令安装homebridge的过程当中,就会自动安装一些依赖,第一步的nodejs好像也会安装,但是会缺少npm这东西,所以在安装homebridge之前,我先安装了nodejs,因为里面会附带安装npm,如果没有这东西,homebridge就无法完成安装。因为第一步安装了,后面安装homebridge的时候,会提示某些依赖之前已经安装过。


homebridge成功.png

到了这步,恭喜你,你已经差不多要全部安装成功了。


输入 homebridge  测试下~~~出现二维码就是成功了,但是会有一行黄色的文字提示找不到config.json,然后Ctrl+C停止homebridge的运行。

安装成功.png


接下来配置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进行测试,此时黄色的字体已经不在了 安装成功1.png


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

123.png

至此,整个平台的搭建已经完成,你已经可以添加你想要的东西,添加的办法请自行论坛搜索,最后再次感谢论坛里的各位大神,有了你们的铺路,才有了我们这些小白的方便。








评分

参与人数 3金钱 +46 收起 理由
Aiden1 + 6 分享是一种美德!
windgo + 10 谢谢分享!
+ 30 楼主辛苦,很详细的教程,非常给力!.

查看全部评分

回复

使用道具 举报

0

主题

316

帖子

1732

积分

金牌会员

Rank: 6Rank: 6

积分
1732
金钱
1416
HASS币
0
发表于 2018-8-22 14:09:45 | 显示全部楼层
感谢楼主大大提供这么详细的一条龙服务教程   
回复

使用道具 举报

3

主题

206

帖子

954

积分

论坛积极会员

积分
954
金钱
748
HASS币
0
发表于 2018-8-22 15:03:10 | 显示全部楼层
感謝啊!2年前壞掉的樹梅派又可以再重新安裝了
回复

使用道具 举报

65

主题

853

帖子

3044

积分

论坛元老

Rank: 8Rank: 8

积分
3044
金钱
2184
HASS币
40
发表于 2018-8-22 16:16:53 | 显示全部楼层
homebridge 不是已经内置了吗?还需要单独装么?
回复

使用道具 举报

6

主题

386

帖子

2045

积分

金牌会员

Rank: 6Rank: 6

积分
2045
金钱
1657
HASS币
0
发表于 2018-8-22 16:58:31 | 显示全部楼层
其实这篇文章https://bbs.hassbian.com/thread-1985-1-1.html已经很完整了,还包含了后续的维护。但是无论如何,还是感谢分享
回复

使用道具 举报

0

主题

41

帖子

164

积分

注册会员

Rank: 2

积分
164
金钱
123
HASS币
0
发表于 2018-8-22 19:03:59 | 显示全部楼层
我这几天都在折腾,, 感谢楼主无私奉献,, 指路明灯啊
回复

使用道具 举报

0

主题

41

帖子

164

积分

注册会员

Rank: 2

积分
164
金钱
123
HASS币
0
发表于 2018-8-23 07:05:14 | 显示全部楼层
pi@hassbian:~ $ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:
Added user pi.
pi@hassbian:~ $ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original
pi@hassbian:~ $ udo nano /etc/samba/smb.conf
-bash: udo: command not found
pi@hassbian:~ $ sudo smbpasswd -a pi
Can't load /etc/samba/smb.conf - run testparm to debug it
pi@hassbian:~ $ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original
mv: cannot stat '/etc/samba/smb.conf': No such file or directory
pi@hassbian:~ $ udo nano /etc/samba/smb.conf
-bash: udo: command not found
pi@hassbian:~ $ sudo service smbd restart
Job for smbd.service failed because the control process exited with error code.
See "systemctl status smbd.service" and "journalctl -xe" for details.
pi@hassbian:~ $ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original
mv: cannot stat '/etc/samba/smb.conf': No such file or directory
pi@hassbian:~ $ udo nano /etc/samba/smb.conf
-bash: udo: command not found
楼主,我在这一步除了问题,无法进入配置
回复

使用道具 举报

0

主题

41

帖子

164

积分

注册会员

Rank: 2

积分
164
金钱
123
HASS币
0
发表于 2018-8-23 09:29:29 | 显示全部楼层
楼主还在吗
回复

使用道具 举报

7

主题

138

帖子

931

积分

高级会员

Rank: 4

积分
931
金钱
793
HASS币
0
 楼主| 发表于 2018-8-23 10:05:58 | 显示全部楼层
本帖最后由 coolbug111 于 2018-8-23 10:11 编辑
yyhtc 发表于 2018-8-23 07:05
pi@hassbian:~ $ sudo smbpasswd -a pi
New SMB password:
Retype new SMB password:

不好意思,命令少打一个s 应该是sudo nano /etc/samba/smb.conf
回复

使用道具 举报

0

主题

41

帖子

164

积分

注册会员

Rank: 2

积分
164
金钱
123
HASS币
0
发表于 2018-8-23 15:04:21 | 显示全部楼层
sudo smbpasswd -a pi
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original
sudo nano /etc/samba/smb.conf
一致呢???
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 01:28 , Processed in 0.201859 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表