智能家居折腾记 篇二:Homeassistant在小米1手机上的安装过程
追加修改(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,不需要更改。
随后出现登录界面,这里输入我们安装时候设置的用户名,如果记不住回手机安装ubuntu系统的设置界面看一下。
随后输入密码,我的是1234,这里输入1234,输入的时候不会有任何变化,输入好以后回车,出现欢迎界面。
随后按照步骤输入命令,命令输入结束后点回车。
1. 激活系统
sudo apt-get update
因为我更新过,所以这里提示很少,正常情况下会更新出很多行,末尾还是会回到命令提示符,这时候我们输入下一条命令。
2.升级系统
sudo apt-get upgrade
然后我们安装nano,这是一个文本编辑器,和vi比起来对新手更友好一些。
sudo apt-get install nano
我已经安装过,所以这里没有安装提示,当问到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
依赖安装可能比较慢,等待装好就可以了。
如果大家用的系统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用户,如果没有请添加。
接着设置用户权限,命令行中输入:
sudo visudo
大家请按照我图里面黄色线的地方去修改,nano编辑器上下左右选择光标要修改的地方,这里编辑方式和记事本差不多,很容易,修改好以后按住键盘上的ctrl键再按x键,这时会问是否保存,点y,再回车确认文件名称就行了。
下面要设置root和homeassitant的密码,输入:
sudo passwd root
出现Enter new unix password:
这时候设置,后面用winscp的时候需要用root账号登陆。同理,搞定homeassistant
sudo passwd homeassistant
至此,安装的准备活动就做好了,已经走过了多一半的路,下面我们需要在虚拟环境中安装homeassistant。
1.2 设置虚拟环境,在虚拟环境中安装homeassistant
sudo su -s /bin/bash homeassistant
virtualenv -p python3 /srv/homeassistant
source /srv/homeassistant/bin/activate
如果环境部署好就和图上一样,我设置的用户名是abc。前面有(homeassistant)homeassistant就可以了。
在环境下安装HA,注意前面是(homeassistant)$ 复制后边的代码,输入代码如下:
pip3 install --upgrade pip
pip3 install --upgrade setuptools
pip3 install netdisco
pip3 install --upgrade homeassistant
不出意外的话homeassistant就安装好了,在环境中输入hass启动。第一次启动时间很长,需要耐心等待。
见到路由器出来就差不多了,用浏览器访问你的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。
进入winscp以后找到/etc/init.d文件夹,网盘里面的hass-daemon文件拷贝进去。拷贝进去文件上点击右键选择属性,在权限这里输入0755点击确认。
保存配置文件之后在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能正常启动说明服务安装成功了,现在添加到开机启动项。
首先在设置里面确认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的网页重启就行了,重启的方法是在网页左侧找到配置-通用-服务管理下面有重启服务,点击,等一会重新进入网页就看到如下页面。molohub安装成功。
正常情况下进入homeassistant会出现molo,点击之后会让你扫描二维码,用微信扫描关注后就可以访问了,非常简单。
杠精鉴定器
校验提示文案
penny_sws
校验提示文案
久慈川理世
校验提示文案
Walkline
校验提示文案
爱好就是买便宜的好货
校验提示文案
多的不知道
校验提示文案
值友4804862422
校验提示文案
Titanium2333
校验提示文案
专打小胖纸
校验提示文案
Allengxy
校验提示文案
浩浩爱学习
校验提示文案
研究-V
校验提示文案
斯蒂文在张大妈
校验提示文案
杰克约翰s
校验提示文案
长风几万里
校验提示文案
liufeixuan
校验提示文案
玉面小白狼
校验提示文案
夏达丶控
校验提示文案
panaxell
校验提示文案
Abby1223
校验提示文案
GARRETTz
校验提示文案
GARRETTz
校验提示文案
mkrio
校验提示文案
值友2749764600
校验提示文案
上方山下
校验提示文案
上方山下
校验提示文案
停车__枫林晚
校验提示文案
Timerunnning
校验提示文案
龙之将腾
校验提示文案
ljhong25
校验提示文案
hzmove
校验提示文案
不是刚需就是反撸
校验提示文案
值友9811462488
校验提示文案
青红造白痴
校验提示文案
了啦啦
校验提示文案
命里缺钱
校验提示文案
雅典娜么美
校验提示文案
米尔是我
校验提示文案
風是外衣
校验提示文案
值友9188458622
校验提示文案