智能家居折腾记 篇二:Homeassistant在小米1手机上的安装过程

2018-12-18 18:06:22 84点赞 637收藏 126评论

追加修改(2018-12-24 12:50:39):
针对第二篇文章《智能家居折腾记 篇二:Homeassistant在小米1手机上的安装过程》中热心朋友的提问,我发现了写作过程中的一个疏漏,其实在我推荐的第一个文章中写到了这个步骤,被我不小心忘记了,造成很多朋友运行过程中遇到的了权限问题。 这个问题我回头仔细看了一下,是建立用户以后忘记把文件夹/srv/homeassistant的管理权限给新建的homeassistant用户了,这里把坑补上,在这里谢谢这位热心朋友。输入代码如下: 安装 HomeAssistant 首先要添加一个用户 sudo useradd -rm homeassistant 在 /srv 目录下面添加 python 运行环境, sudo mkdir /srv/homeassistant sudo chown homeassistant:homeassistant /srv/homeassistant 后续命令按照sudo apt-get install python3-pip python3-dev这样往下弄,创建环境,在环境中运行pip3 install --upgrade homeassistant 就可以了。

前面一篇文章中,我们已经在小米1手机上安装了deploy,并且在deploy中的chroot环境中安装了ubuntu 18.04,这篇文章中将介绍homeassistant系统的安装过程。本文所使用的工具请到这个百度云盘的连接下载

1. homeassistant安装过程

homeassistant是一个基于python3平台的智能家居管理系统,能够介入超过3000多种设备,当然这个数字只是说说,目前我还没找到京东微联sp mini接入的方法,我的建议是遇到问题多到hassbian论坛或者hass.io中文论坛上去看看,随着系统的更新说不定有些设备就支持了。闲言少叙,这里我把homeassistant的安装分为两部,第一步是安装必要的依赖和建立虚拟环境,第二部就是安装homeassistant平台并设置开机启动。

1.1 python安装环境的配置以及homeassistant安装

首先,在deploy最上面有一行ip地址,可以通过ssh客户端访问到这个地址,端口号是22。推荐使用xshell或者putty,以putty为例,

这里ip地址是我手机deploy软件上显示的地址,大家根据自己的情况填写,端口默认22,不需要更改。这里ip地址是我手机deploy软件上显示的地址,大家根据自己的情况填写,端口默认22,不需要更改。

第一次登录会有提示,不用害怕,点“是”就行了。第一次登录会有提示,不用害怕,点“是”就行了。

随后出现登录界面,这里输入我们安装时候设置的用户名,如果记不住回手机安装ubuntu系统的设置界面看一下。随后出现登录界面,这里输入我们安装时候设置的用户名,如果记不住回手机安装ubuntu系统的设置界面看一下。

随后输入密码,我的是1234,这里输入1234,输入的时候不会有任何变化,输入好以后回车,出现欢迎界面。随后输入密码,我的是1234,这里输入1234,输入的时候不会有任何变化,输入好以后回车,出现欢迎界面。

随后按照步骤输入命令,命令输入结束后点回车。

1. 激活系统

sudo apt-get update

Homeassistant在小米1手机上的安装过程

Homeassistant在小米1手机上的安装过程

因为我更新过,所以这里提示很少,正常情况下会更新出很多行,末尾还是会回到命令提示符,这时候我们输入下一条命令。

2.升级系统

sudo apt-get upgrade

Homeassistant在小米1手机上的安装过程

然后我们安装nano,这是一个文本编辑器,和vi比起来对新手更友好一些。

sudo apt-get install nano

我已经安装过,所以这里没有安装提示,当问到y/n的时候输入y确认安装。我已经安装过,所以这里没有安装提示,当问到y/n的时候输入y确认安装。

接下来,安装必要的依赖环境。这些都是homeassistant安装必须的,这里把命令复制下来,通过命令行的地方右键点击就能粘贴上,非常方便。

sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev -y

依赖安装可能比较慢,等待装好就可以了。

Homeassistant在小米1手机上的安装过程

如果大家用的系统python 3.5.3就需要通过编译安装python或者升级系统到最新版。因为ubuntu 18.04的python版本是3.6.5,,所以安装编译python这步就不用了。

接着要安装python3必要的依赖和pip3

sudo apt-get install python3-pip python3-dev -y

通过pip3安装虚拟环境

sudo pip3 install --upgrade virtualenv

新建用户和组

sudo adduser --system homeassistant

sudo addgroup homeassistant

sudo usermod -G dialout -a homeassistant

这里打开deploy软件查看ubuntu安装设置中是否添加了homeassistant用户,如果没有请添加。

Homeassistant在小米1手机上的安装过程

接着设置用户权限,命令行中输入:

sudo visudo

Homeassistant在小米1手机上的安装过程

大家请按照我图里面黄色线的地方去修改,nano编辑器上下左右选择光标要修改的地方,这里编辑方式和记事本差不多,很容易,修改好以后按住键盘上的ctrl键再按x键,这时会问是否保存,点y,再回车确认文件名称就行了。

下面要设置root和homeassitant的密码,输入:

sudo passwd root

出现Enter new unix password:

这时候设置,后面用winscp的时候需要用root账号登陆。同理,搞定homeassistant

sudo passwd homeassistant

Homeassistant在小米1手机上的安装过程

至此,安装的准备活动就做好了,已经走过了多一半的路,下面我们需要在虚拟环境中安装homeassistant。

1.2 设置虚拟环境,在虚拟环境中安装homeassistant

sudo su -s /bin/bash homeassistant

virtualenv -p python3 /srv/homeassistant

source /srv/homeassistant/bin/activate

如果环境部署好就和图上一样,我设置的用户名是abc。前面有(homeassistant)homeassistant就可以了。

Homeassistant在小米1手机上的安装过程


在环境下安装HA,注意前面是(homeassistant)$ 复制后边的代码,输入代码如下:

pip3 install --upgrade pip

pip3 install --upgrade setuptools

pip3 install netdisco

pip3 install --upgrade homeassistant

不出意外的话homeassistant就安装好了,在环境中输入hass启动。第一次启动时间很长,需要耐心等待。


Homeassistant在小米1手机上的安装过程


见到路由器出来就差不多了,用浏览器访问你的deploy的ip地址:8123看下页面是不是已经出来了。出来后可以设置下用户名密码,看看主页,如果没问题就在putty上按ctrl+c退出命令行。至此,homeassistant安装完成。朋友们可以退出putty或者输入exit推出homeassitant用户,为后续设置开机启动做准备。

2 设置hass开机启动

因为deploy是一种chroot容器,与真正在计算机不太一样,无法用常规方式做开机启动,这也是我在一开始的设置里就说要勾选INIT enable的原因。

2.1 采用网盘中附件安装方式

从我分享的网盘中找到这个hass-daemon的文件,通过网盘里面的winscp工具把文件拷贝到/etc/init.d目录下。winscp软件登录方式和putty差不多,可以同时登录,输入ip地址和端口号以后,使用root用户名和密码登录。文件类型选择SCP。

Homeassistant在小米1手机上的安装过程

进入winscp以后找到/etc/init.d文件夹,网盘里面的hass-daemon文件拷贝进去。拷贝进去文件上点击右键选择属性,在权限这里输入0755点击确认。

Homeassistant在小米1手机上的安装过程

保存配置文件之后在putty中执行下面的命令

sudo update-rc.d hass-daemon defaults
sudo service hass-daemon install

最后可以手动尝试启动服务

sudo /etc/init.d/hass-daemon start

接着在winscp中进入/etc目录,找到rc.local文件,如果没有这个文件自己创建一个文件命名为rc.local并进入编辑,这里最好在winscp中右键点击选择内部编辑器,如果双击打开需要在编辑器上方的编码中选择utf-8编码。否则正常启动。把下段文字粘贴进去点保存,然后在文件上右键选择属性,权限设置成0755。

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other value on error.

# In order to enable or disable this script just change the execution bits.

#

# By default this script does nothing.


sudo /etc/init.d/hass-daemon start

exit 0

2.2 如果没有从网盘下载附件,linux基础比较好的朋友可以采用putty安装请参考如下代码,这里不需要打开winscp。

先参考项目文档 最下面找到python environment的脚本,把整段代码复制下来,自己创建文件后编辑。

sudo touch /etc/init.d/hass-daemon
sudo nano /etc/init.d/hass-daemon

需要修改 RUN_AS 和 PRE_EXEC 这两个值

RUN_AS="homeassistant"
PRE_EXEC="source /srv/homeassistant/bin/activate;"

保存配置文件之后接着执行下面的命令

sudo chmod +x /etc/init.d/hass-daemon
sudo update-rc.d hass-daemon defaults
sudo service hass-daemon install

最后可以手动尝试启动服务

sudo /etc/init.d/hass-daemon start

启动脚本中定义了日志输出,可以通过下面的命令查看日志

tail /var/opt/homeassistant/home-assistant.log

另外需要注意的是,官方文档中的启动脚本是指定了配置文件的路径的

CONFIG_DIR="/var/opt/homeassistant"

如果需要编辑配置文件需要到该目录下编辑。

当然也可以修改会默认的目录下面

CONFIG_DIR="/home/homeassistant/.homeassistant

如果,到这里hass能正常启动说明服务安装成功了,现在添加到开机启动项。


Homeassistant在小米1手机上的安装过程


首先在设置里面确认INIT的设置是/etc/rc.local目录。

然后继续在putty中输入命令

sudo nano /etc/rc.local

这里字有点多,我把我的代码贴出来分享给大家。

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other value on error.

# In order to enable or disable this script just change the execution bits.

#

# By default this script does nothing.


sudo /etc/init.d/hass-daemon start

exit 0

然后ctrl+x保存退出就可以了。在手机的deploy软件下点停止再启动,看下rc.local是不是正常启动,过一会就能通过浏览器访问到homeassistant了。

一般用户到这里就可以结束了,对于喜欢折腾的朋友可以继续看,我要做微信访问和内网穿透访问以及远控手机。

3. 安装MoloHub通过手机微信访问HA。

MoloHub是一个可以让用户通过微信,google以及github访问到homeassistant的插件,这个插件可以穿透内网,不需要复杂的设置。点击下面的项目地址,找到一键安装,把下面命令复制到命令行,运行。如果提示没有找到curl命令,需要安装curl。

首先,安装curl

sudo apt-get install curl

然后,点击项目地址,进入molohub项目,在一键安装里面将命令行粘贴到命令行。

curl --silent --show-error --retry 5 https://raw.githubusercontent.com/haoctopus/molohub/master/auto_install.py | sudo python

Homeassistant在小米1手机上的安装过程

粘贴后通过homeassistant的网页重启就行了,重启的方法是在网页左侧找到配置-通用-服务管理下面有重启服务,点击,等一会重新进入网页就看到如下页面。molohub安装成功。

Homeassistant在小米1手机上的安装过程

正常情况下进入homeassistant会出现molo,点击之后会让你扫描二维码,用微信扫描关注后就可以访问了,非常简单。

展开 收起

Xiaomi 小米 Buds 4 皮质保护壳

Xiaomi 小米 Buds 4 皮质保护壳

99元起

Xiaomi 小米 1S 显示器挂灯

Xiaomi 小米 1S 显示器挂灯

209元起

小米智能门锁E20WiFi版指纹锁密码锁防盗门家用电子锁nfc智能门锁

小米智能门锁E20WiFi版指纹锁密码锁防盗门家用电子锁nfc智能门锁

1109元起

MI 小米 QiCYCLE 骑记 电助力折叠自行车

MI 小米 QiCYCLE 骑记 电助力折叠自行车

暂无报价

小米米家智能墙壁插座小爱远程控制超控定时语音联动插座开关86型

小米米家智能墙壁插座小爱远程控制超控定时语音联动插座开关86型

46.9元起

QICYCLE 骑记 MI 小米 QICYCLE 骑记 MI 小米 QICYCLE 骑记 电动自行车

QICYCLE 骑记 MI 小米 QICYCLE 骑记 MI 小米 QICYCLE 骑记 电动自行车

暂无报价

小米手环4/5/6/7腕带小米手环3/2表带3NFC版智能运动硅胶个性潮男女二三四五六代定制非原装正品替换带手腕带

小米手环4/5/6/7腕带小米手环3/2表带3NFC版智能运动硅胶个性潮男女二三四五六代定制非原装正品替换带手腕带

3.86元起

MI 小米 CyberGear 微电机

MI 小米 CyberGear 微电机

499元起

小米米家人体传感器2智能感应器移动检测智能家庭联动传感器

小米米家人体传感器2智能感应器移动检测智能家庭联动传感器

65元起

MI 小米 X4尊享礼盒套装

MI 小米 X4尊享礼盒套装

暂无报价

子擎 存在传感器SoloTrio多目标多场景分区定位智能联动已接入米家

子擎 存在传感器SoloTrio多目标多场景分区定位智能联动已接入米家

249元起

Xiaomi 小米 米家翻译机 翻译机

Xiaomi 小米 米家翻译机 翻译机

暂无报价

Xiaomi 小米 MJYD05YL 蓝牙智能光感夜灯 白色

Xiaomi 小米 MJYD05YL 蓝牙智能光感夜灯 白色

暂无报价

Xiaomi 小米 智能门铃2 「米家」

Xiaomi 小米 智能门铃2 「米家」

暂无报价

Xiaomi 小米 人体传感器2S高灵敏度光照度检测智能设备联动3年长续航节能

Xiaomi 小米 人体传感器2S高灵敏度光照度检测智能设备联动3年长续航节能

75元起

Xiaomi 小米 F6M1A AI翻译机

Xiaomi 小米 F6M1A AI翻译机

388元起
126评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
637
扫一下,分享更方便,购买更轻松