智能家居平台服务端安装教程——东方仙盟部署

1. 准备工作

  • 登录阿里云服务器:使用 SSH 工具(如 ssh 命令)登录到你的阿里云 Linux 服务器。确保服务器已安装并能正常运行,且网络连接正常。
  • 更新系统软件包:执行以下命令更新系统软件包到最新版本。

bash

sudo apt update
sudo apt upgrade -y

2. 安装依赖

Home Assistant 是基于 Python 的应用,需要安装 Python 及其相关依赖。

bash

sudo apt install -y python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 tk8.6-dev tcl8.6-dev

3. 创建 Python 虚拟环境

为了隔离 Home Assistant 的依赖,建议创建一个 Python 虚拟环境。

bash

python3 -m venv /srv/homeassistant
source /srv/homeassistant/bin/activate

4. 安装 Home Assistant

在激活的虚拟环境中,使用 pip 安装 Home Assistant。

bash

pip3 install homeassistant

5. 启动 Home Assistant

安装完成后,可以启动 Home Assistant 服务。

bash

hass

首次启动时,Home Assistant 会进行一些初始化操作,可能需要一些时间。启动成功后,你可以通过浏览器访问 http://<你的服务器 IP 地址>:8123 来访问 Home Assistant 的 Web 界面。

6. 配置 Home Assistant 作为系统服务(可选但推荐)

为了确保 Home Assistant 在服务器重启后能自动启动,可以将其配置为系统服务。

6.1 创建服务文件

bash

sudo nano /etc/systemd/system/home-assistant@homeassistant.service

6.2 编辑服务文件内容

plaintext

[Unit]
Description=Home Assistant
After=network-online.target[Service]
Type=simple
User=root
ExecStart=/srv/homeassistant/bin/hass -c "/root/.homeassistant"[Install]
WantedBy=multi-user.target

保存并退出文件。

6.3 重新加载 systemd 管理器配置

bash

sudo systemctl daemon-reload
6.4 启动并设置开机自启

bash

sudo systemctl start home-assistant@homeassistant
sudo systemctl enable home-assistant@homeassistant

7. 防火墙配置

如果服务器启用了防火墙,需要开放 Home Assistant 使用的端口(默认是 8123)。

bash

sudo ufw allow 8123

8. 验证部署

通过浏览器访问 http://<你的服务器 IP 地址>:8123,如果能看到 Home Assistant 的初始设置界面,则说明部署成功。

注意事项

  • 以上步骤假设你使用的是基于 Debian 或 Ubuntu 的 Linux 发行版。如果使用其他发行版,部分命令可能需要调整。
  • 确保服务器有足够的资源(CPU、内存、磁盘空间)来运行 Home Assistant。
  • 建议定期更新 Home Assistant 以获取最新的功能和安全补丁。可以在 Home Assistant 的 Web 界面中进行更新操作。

home-assistant/core

.core_files.yaml

ollecting importlib-metadata==0.23 (from homeassistant) HTTP error 502 while getting https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl#sha256=d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af (from Links for importlib-metadata) (requires-python:>=2.7,!=3.0,!=3.1,!=3.2,!=3.3) Could not install requirement importlib-metadata==0.23 from https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl#sha256=d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af (from homeassistant) because of error 502 Server Error: Bad Gateway for url: https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl Could not install requirement importlib-metadata==0.23 from https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl#sha256=d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af (from homeassistant) because of HTTP error 502 Server Error: Bad Gateway for url: https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl for URL https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl#sha256=d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af (from Links for importlib-metadata) (requires-python:>=2.7,!=3.0,!=3.1,!=3.2,!=3.3) [root@iZ2vcbr09kxsytmlhp8egbZ homeassistant]# hass -bash: hass: command not found

从你给出的错误信息来看,在安装 importlib-metadata==0.23 这个依赖时,因为阿里云镜像源返回了 502 错误(Bad Gateway),导致安装失败,并且后续尝试运行 hass 命令时系统提示找不到该命令。下面为你提供相应的解决办法:

1. 更换 PyPI 镜像源

阿里云镜像源临时出现问题,你可以暂时更换为其他镜像源,例如清华大学的镜像源。

临时更换

在使用 pip 安装依赖时,通过 -i 参数指定镜像源:

bash

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple homeassistant
永久更换

你也可以把镜像源永久配置为清华大学的镜像源,具体操作如下:

bash

mkdir ~/.pip
cat << EOF > ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
EOF

之后再重新安装 Home Assistant:

bash

pip install homeassistant

2. 检查 Python 虚拟环境

确保你处于正确的 Python 虚拟环境中,因为 hass 命令是在虚拟环境里可用的。你可以使用以下命令激活虚拟环境:

bash

source /srv/homeassistant/bin/activate

激活虚拟环境之后,再次尝试运行 hass 命令:

bash

hass

3. 手动安装依赖

如果更换镜像源之后仍然无法安装 importlib-metadata,可以尝试手动安装这个依赖:

bash

pip install importlib-metadata==0.23

若手动安装成功,再尝试安装 Home Assistant:

bash

pip install homeassistant

4. 检查系统路径

要是 hass 命令依旧无法找到,你可以检查虚拟环境的 bin 目录是否已经添加到系统的 PATH 环境变量中。可以使用以下命令查看 PATH 变量:

bash

echo $PATH

确保 /srv/homeassistant/bin 在其中。如果不在,可以临时添加:

阿雪技术观

在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者。无论是分享代码、撰写技术博客,还是参与开源项目维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基生命,为科技进步添砖加瓦。

Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets, hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91299.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91299.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

360环视技术推荐的硬件平台:支持多摄像头与三屏异显的理想选择

在智能硬件不断升级的今天&#xff0c;360环视技术早已不只是豪华车型的专属。通过布置多路摄像头&#xff0c;并将其图像进行融合处理&#xff0c;360环视可以为系统提供车辆或设备周围的完整视野。 它不仅能够消除盲区&#xff0c;还能通过AI识别实现物体检测、避障判断、自动…

FFmpeg:因码流采集与封装不同步导致录制出来的MP4文件会出现黑屏、绿屏的问题

项目要求实时播放视频&#xff0c;并且需要支持播放中途可以录制视频。但是录制出来的文件会黑屏&#xff0c;过一段时间后正常显示。即&#xff1a;码流采集—>播放—>&#xff08;一段时间后&#xff09;录制MP4&#xff0c;黑屏出现的时间就在采集到录制之前。黑屏现象…

C 语言与 C++、Java、Python 等编程语言的区别

C 语言与 C、Java、Python 等编程语言在设计理念、特性和应用场景上存在显著差异&#xff0c;以下从核心区别、特性对比和适用场景三个维度详细解析&#xff1a;一、C 语言与 C 的核心区别C 是在 C 语言基础上发展而来&#xff08;最初名为 “C with Classes”&#xff09;&…

Apache Ignite 的分布式锁Distributed Locks的介绍

以下这段内容是关于 Apache Ignite 的分布式锁&#xff08;Distributed Locks&#xff09; 的介绍。这是一个非常重要的功能&#xff0c;用于在分布式系统中协调多个节点对共享资源的并发访问。 下面我们来一步步深入理解它。&#x1f3af; 一、一句话理解&#xff1a;什么是 I…

第十二天:C++ 标准库函数分类总结

C 标准库函数分类总结 数学函数&#xff08;<cmath>&#xff09; 基本运算函数 abs(x)&#xff1a;返回整数或浮点数的绝对值。int a abs(-5); // 返回 5fabs(x)&#xff1a;返回浮点数的绝对值。double b fabs(-3.14); // 返回 3.14fmod(x, y)&#xff1a;计算 x 除以…

Unity Standard Shader 解析(四)之ForwardAdd(简化版)

一、ForwardAdd// Additive forward pass (one light per pass)Pass{Name "FORWARD_DELTA"Tags { "LightMode" "ForwardAdd" }Blend [_SrcBlend] OneFog { Color (0,0,0,0) } // in additive pass fog should be blackZWrite OffZTest LEqualC…

第十九周-文档数据库MongoDB、消息队列和微服务

1. 完成redis单机安装&#xff0c;哨兵模式安装&#xff0c;主从安装&#xff0c;集群安装单机安装#安装依赖包 [rootcentos8~]#yum -y install gcc make jemalloc-devel #如果支持systemd需要安装下面包 [rootubuntu2204 ~]#apt update && apt -y install make gcc li…

C++中sizeof运算符全面详解和代码示例

sizeof 是 C 中的一个编译时运算符&#xff0c;用于获取对象或类型所占的字节数&#xff08;以 size_t 返回&#xff09;。它是掌握底层内存模型、结构体对齐、数组大小计算等的重要工具。1. 基本语法 sizeof(type) // 获取类型的大小 sizeof expression // 获取表达式结果…

内容中台:在一个地方管理多渠道内容

在数字化竞争愈演愈烈的今天&#xff0c;企业官网、社交平台、移动应用、邮件营销等渠道已成为品牌触达用户的关键接口。内容仍是连接企业与客户的核心资产。然而&#xff0c;内容创作与分发的复杂性持续攀升&#xff0c;多平台运营面临重复维护、更新不一致、资源冗余等诸多挑…

【刷题】东方博宜oj 1307 - 数的计数

样例输入&#xff1a; 6输出&#xff1a; 16 26 126 36 136原版是直接输出总数量&#xff0c;但我修改了一些&#xff0c;输出所有的新数。 #include <iostream> #include <vector> #include <string> using namespace std; //int c; void g(int num, string…

阿里云AI代码助手通义灵码开发指导

与阿里云一起轻松实现数智化让算力成为公共服务&#xff1a;用大规模的通用计算&#xff0c;帮助客户做从前不能做的事情&#xff0c;做从前做不到的规模。让数据成为生产资料&#xff1a;用数据的实时在线&#xff0c;帮助客户以数据为中心改变生产生活方式创造新的价值。智能…

设计模式(二十三)行为型:模板方法模式详解

设计模式&#xff08;二十三&#xff09;行为型&#xff1a;模板方法模式详解模板方法模式&#xff08;Template Method Pattern&#xff09;是 GoF 23 种设计模式中的行为型模式之一&#xff0c;其核心价值在于定义一个操作中的算法骨架&#xff0c;而将一些步骤延迟到子类中实…

Postgresql 查询使用正则

今天接到任务&#xff0c;要从数据库中查询数据&#xff0c;对于postgresql 我并不熟悉&#xff0c;问了百度&#xff0c;问了通义千问。发现Postgresql 在写query sql 的时候&#xff0c;可以使用正则匹配&#xff0c;不单是使用like 这种关键字。我像发现了新大陆一样的兴奋。…

【WRF-Chem Emissions教程第八期】转换实用程序

转换实用程序 8.1 将中间二进制文件转换为 WRF-Chem 数据文件 文件命名规范与风格 8.2 Binary data file format(中间二进制排放数据文件的格式和结构) FORTRAN 示例程序说明 8.3 Building the WRF-Chemistry emissions conversion code 编译步骤 验证编译结果 8.4 Namelist …

Qt Ribbon效果界面

实现效果&#xff1a;头文件&#xff1a;#pragma once #include <QMdiArea> #include <QMdiSubWindow> #include <QMainWindow> #include "ui_MainFrame1.h" #include "DockManager.h" #include "DockAreaWidget.h"class Main…

如何修改 MySQL 8.0 的密码,和忘记密码时如何修改

要修改 MySQL 8.0 的密码&#xff0c;可以通过以下几种方法实现&#xff1a;方法 1&#xff1a;使用 ALTER USER 命令&#xff08;推荐&#xff09;这是 MySQL 8.0 推荐的修改密码方式&#xff1a;-- 修改当前登录用户的密码 ALTER USER USER() IDENTIFIED BY 新密码;-- 修改指…

图像处理控件Aspose.Imaging教程:使用 C# 编程将 CMX 转换为 PNG

PNG图像文件格式是广泛使用的图像格式之一。这种图像文件格式提供了增强的共享和显示功能。另一方面&#xff0c;CMX也是 Corel 应用程序主要使用的图像文件格式。然而&#xff0c;将 CMX 转换为 PNG 可以帮助用户在网络上查看和共享文件。因此&#xff0c;在本指南中&#xff…

迪丽热巴写真壁纸

下载&#xff1a;https://pan.quark.cn/s/a740dbac8274迪丽热巴绝美写真&#xff0c;高清壁纸展现独特魅力&#xff0c;每一张都是视觉盛宴

C++11 std::function 详解:通用多态函数包装器

在C11标准中&#xff0c;引入了std::function这一通用多态函数包装器&#xff0c;定义于<functional>头文件中。它彻底改变了C中函数对象的使用方式&#xff0c;为不同类型的可调用实体提供了统一的接口。std::function能够存储、复制和调用任何可复制构造的可调用目标&a…

Kafka运维实战 16 - kafka 分区重新分配【实战】

💻 Kafka运维实战 (17篇) 📝Kafka运维实战 17 - kafka 分区副本从 1 增加到 3【实战】 📝Kafka运维实战 16 - kafka 分区重新分配【实战】 📝Kafka运维实战 15 - kafka 重设消费者组位移入门和实战【实战】 📝Kafka运维实战 14 - kafka消费者组消费进度(Lag)深入理…