Home Assistant入门1-3:在树莓派Raspbian官方系统的Python中安装Home Assistant

Home Assistant入门1-3:在树莓派Raspbian官方系统的Python中安装Home Assistant

写在前面
做目录时画了一个大饼,想着能按照原计划慢慢写,但实际上每次更新都要更新所有文章的目录,太麻烦了,而且自己也不断在搞东搞西弄一些其他项目,想很细致地把所有文章写完需要占用非常多时间。所以现在打算另外开专栏,只写一些比较重要的项目。这一篇也就大概写一个流程了。这里的目录不会再更新,其他相关文章请搜索我其他文章。


一、安装系统
1、Home Assistant OS在树莓派上安装的教程
2、在Docker中安装Home Assistant系统(以群晖系统为例)
3、在树莓派Raspbian官方系统的Python中安装Home Assistant教程(本篇)(已更新,可能会整理)

二、Home Assistant入门
1、注册并初始化Home Assistant OS系统(由于不断在搞不同项目,可能会在其他专栏加入相关文章,就不在这个目录下更新了,具体可以搜索我的其他文章,已具体更新为准)



在安装之前你需要了解的问题:
Home Assistant官方系统是由一个叫Supervisor的功能的,如果你是初学者,先不要管Supervisor是什么,就是类似于安装插件的东西。,只有在官方推荐的安装包和安装方式上才有Supervisor功能,其他安装方式需要另外安装Supervisor功能,比较麻烦。所以建议通过官方的方法安装Home Assistant。

本安装方式无该功能



介绍
Home Assistant 是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备。想要入门的话主要是要看两个网站:
Home Assistant官网:https://www.home-assistant.io/
Home Assistant中文文档:https://home-assistant.cc/

官网是Home Assistant官方构建的网站,都是跟原生态Home Assistant相关的资料。官网主要提供可以直接烧写到内存卡的Home Assistant系统,能够使用的设备以树莓派为主,同时也支持Tinkerboard、Odroid、Intel NUC等设备。

另一个网站Home Assistant中文文档是国内一些很牛逼开发者基于官方的系统和文档进行总结分享。主要提供安装在Python内部的Home Assistant系统安装教程,一般来说支持python的设备都可以安装Home Assistant系统,当然,按照网站推荐的设备安装肯定会有更好的体验。


正文

(大概描述一下流程,图是很在以前截的,都有些忘了,但重要的代码还是有保留)

前置步骤配置更新系统啥的我就不说了,具体看教程

1、不同的HomeAssistant系统对python有不同要求,建议先把python进行升级

然后需要把python3作为系统默认python,代码如下(第二条):

//把pythone2作为系统默认python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

//把pythone3作为系统默认python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

效果如图:
在这里插入图片描述
2、Home Assistant 官方推荐使用 Python 虚拟环境安装 Home Assistant 以避免影响生产环境。

安装依赖:
sudo apt-get install python3 python3-venv python3-pip

创建名为 homeassistant 的用户:
sudo useradd -rm homeassistant

创建安装文件夹:
cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant

创建虚拟环境:
sudo su -s /bin/bash homeassistant
cd /srv/homeassistant
python3 -m venv .
source bin/activate

安装 Home Assistant:
pip3 install homeassistant

初次启动 Home assistant:
hass --open-ui

等待几分钟让后台下载依赖,之后你便可以从局域网内任意终端浏览器访问 http://树莓派的 IP 地址:8123,进入 Home Asssitant
在这里插入图片描述
在这里插入图片描述

3、安装完之后默认还是在python虚拟环境中,如果不小心重启了,需要进入虚拟环境则按如下步骤(没有退出虚拟环境的可以跳过该步骤):

进入homeassistant用户的虚拟环境:
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate

4、介绍一下如何把Home Assistant 安装成服务 进行自启动。

首先终端连接树莓派,使用vi编辑器编辑服务的配置文件,终端输入:
sudo vi  /etc/systemd/system/home-assistant@pi.service

然后拷贝如下指令:
[Unit]
Description=Home Assistant
After=network.target
[Service]
Type=simple
User=%i
ExecStart=/usr/local/bin/hass
[Install]
WantedBy=multi-user.target

保存退出。

然后输入指令,将配置文件加入系统中
sudo systemctl enable  home-assistant@pi

手动启动 刚刚安装的两个服务。
sudo systemctl start home-assistant@pi

这样下次就不用在终端输入命令来启动服务了,直接开启树莓派就可以使用。




安装完成





可能会用到的知识

1、卸载方法

1、进入homeassistant用户的虚拟环境
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate

2、执行卸载hass命令
pip3 uninstall homeassistant

3、卸载python3虚拟空间,只需要删除虚拟空间所在的homeassistant文件夹即可
注意 这一步操作你首先是重新进入pi账户登录或者root目录的根目录 (退出虚拟空间的命令是 deactivate )

sudo su -s /bin/bash homeassistant
cd /srv
sudo rm -rf homeassistant

4、彻底删除homeassistant用户用户

sudo userdel -r homeassistant

接下来你就可以重新安装了!!!

使用命令检查Home Assistant的 8123 端口是否开放。netstat -an|grep 8123


2、更换 Python 的第三方仓库源

方法一:文件替换

树莓派 Raspbian、Hassbian、Mossbian: /etc/pip.conf

Linux: ~/.pip/pip.conf

Windows 10: %APPDATA%\pip\pip.ini

macOS:$HOME/Library/Application Support/pip/pip.conf

复制粘贴以下内容并保存:

[global]
trusted-host=mirrors.aliyun.com
index-url=https://mirrors.aliyun.com/pypi/simple/

方法二:使用插件

pip install pqi
pqi ls
pqi use aliyun

阿里云源当前同步的 homeassistant 版本查询地址:https://mirrors.aliyun.com/pypi/simple/homeassistant/


3、服务相关命令(以home-assistant@pi服务为例)

重载服务配置: sudo systemctl --system daemon-reload

将服务加入自启动: sudo systemctl enable home-assistant@pi

将服务移除自启动: sudo systemctl disable home-assistant@pi

手工启动服务: sudo systemctl start home-assistant@pi

手工停止服务: sudo systemctl stop home-assistant@pi

手工重启服务: sudo systemctl restart home-assistant@pi

查看服务输出: sudo journalctl -f -u home-assistant@pi


4、xxx is not in the sudoers file.This incident will be reported.的解决方法

1.切换到root用户下,怎么切换就不用说了吧,不会的自己百度去.

2.添加sudo文件的写权限,命令是:
chmod u+w /etc/sudoers

3.编辑sudoers文件
vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)

ps:这里说下你可以sudoers添加下面四行中任意一条
youuser ALL=(ALL) ALL
%youuser ALL=(ALL) ALL
youuser ALL=(ALL) NOPASSWD: ALL
%youuser ALL=(ALL) NOPASSWD: ALL

第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

4.撤销sudoers文件写权限,命令:
chmod u-w /etc/sudoers

这样普通用户就可以使用sudo了

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值