【树莓派4B】搭建HomeAssistant服务端

news2024/11/24 9:15:08

前言

发挥树莓派的剩余价值,看到知乎有大神利用siri语音控制小米生态的智能家居,他就是利用HA实现的,HA打通不同品牌智能硬件的生态壁垒,而且还是开源,而我刚好手里有一块闲置的树莓派(斜眼笑),这不得支棱起来。但是家里没有什么智能家居设备,比较可惜,但我们先尽可能创造需求。这个过程也是加深了对linux系统的理解,提高了文档、formus以及错误信息的阅读能力。

安装HomeAssistant

相关方案

https://www.home-assistant.io/installation/
树莓派4B/Raspberry Pi4B 安装Home Assistant Core以及HACS商店

实践

我基本是参照第一个链接,也就是官方文档操作的,由于树莓派还有别的用途,我选择安装core版本,安装过程基本是安装python软件包,因为HA是用python开发的。遇到两个问题:

  1. 执行pip3 install homeassistant==2023.1.2时,构建cryptography时报错:

ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

版本问题,后来我看blog提到使用2.8版本,pip install cryptography==2.8,亲测可行。

  1. hass启动后,mobile_app模块无法设置,这会导致手机无法连接,提示:

未加载mobile_app组件。请将其添加到您的配置中,然后重新启动 Home Assistant 后重试。
错误代码: Shared.HomeAssistantAPI.APIError 6

阅读报错,是导入numpy的c语言拓展时出错,
在这里插入图片描述
解决方案就在红色框url中,选择Raspberry Pi,仔细看Original error就是缺少一些依赖项,对应上了。

original error was: libcblas.so.3: cannot open shared object file: No such fileor directory

解决办法:安装依赖sudo apt-get install libatlas-base-dev

效果

网页版,局域网内浏览器输入192.168.××.××:8123访问:

在这里插入图片描述

安装HACS

目的

HA本身对各个品牌硬件生态支持是有限的,你不能要求人家用爱发那么多电,开源的目的是构建社区生态,吸引更多人、企业加入进来,HACS,Home Assistant Community Store,就是社区的产物。

相关方案

https://hacs.xyz/docs/setup/download
树莓派4B/Raspberry Pi4B 安装Home Assistant Core以及HACS商店

实践

源在github上,涉及到××,不过我的树莓派还没有相关配置,只能尽可能增加访问成功率,修改/etc/hosts文件,绑定域名和ip,在文件最后添加:

185.199.108.154 github.githubassets.com
140.82.112.21   central.github.com
185.199.108.133 desktop.githubusercontent.com
185.199.108.153 assets-cdn.github.com
185.199.108.133 camo.githubusercontent.com
185.199.108.133 github.map.fastly.net
199.232.69.194  github.global.ssl.fastly.net
140.82.113.4    gist.github.com
185.199.108.153 github.io
140.82.114.3    github.com
140.82.113.6    api.github.com
185.199.108.133 raw.githubusercontent.com
185.199.108.133 user-images.githubusercontent.com
185.199.108.133 favicons.githubusercontent.com
185.199.108.133 avatars5.githubusercontent.com
185.199.108.133 avatars4.githubusercontent.com
185.199.108.133 avatars3.githubusercontent.com
185.199.108.133 avatars2.githubusercontent.com
185.199.108.133 avatars1.githubusercontent.com
185.199.108.133 avatars0.githubusercontent.com
185.199.108.133 avatars.githubusercontent.com
140.82.112.10   codeload.github.com
52.217.161.249  github-cloud.s3.amazonaws.com
52.217.229.65   github-com.s3.amazonaws.com
52.217.96.28    github-production-release-asset-2e65be.s3.amazonaws.com
52.217.77.92    github-production-user-asset-6210df.s3.amazonaws.com
52.217.172.9    github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.108.153 githubstatus.com
64.71.144.202   github.community
185.199.108.133 media.githubusercontent.com

注意要先进入到ha工作目录下,否则会提示无法找到ha,执行wget -O - https://get.hacs.xyz | bash -,这是从https://get.hacs.xyz获取一个script到bash执行(管道命令),可能会有点慢,我多试了几次成功了。

INFO:Trying to find the correct dir
ERROR:Could not find the directory for HomeAssistant

这里有个小插曲一开始我执行的是sudo wget -O - https://get.hacs.xyz | sudo bash -,结果它提示我输入密码,当时我很疑惑,命名创建用户时并没有设置密码呀(创建命令sudo useradd -rm homeassistant -G dialout,gpio,i2c,不太了解linux的用户机制)。最后在formus上找到一个方法,将homeassistant用户加入到/etc/sudoers文件中,直接为它赋予sudo权限并取消pw,在文件最后添加homeassistant ALL=(ALL) NOPASSWD:ALL.

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

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

相关文章

【Linux】Linux调试器——gdb的使用以及一些指令

gdb的使用1.背景2.使用3.相关指令1.背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项 2.使用 使用前先确保自己的Linux上有…

MongoDB的行转列查询

项目组数据需求,需要将Mongo库中的列按日期分组转成行的格式进行显示。Mongo群里问了下,群里热心的大佬小徐 同学果断出手相助,顺利解决了数据问题。现将内容总结梳理如下,帮助有需要的其他同学 表结构 建表语句 db.class.inse…

OSCP_vulnhub digitalworld.local: DEVELOPMENT

DIGITALWORLD.LOCAL: DEVELOPMENT安装&环境下载Description攻击寻找受害主机及端口服务nmap就提示了ctrl u的内容,意思是有隐藏目录搜索slogin_lib.inc.php site:exploit-db.comubantu系统,4.15.0 查找版本漏洞第二种vim sudo提权第三种nano sudo提权…

【前端修炼场】— table 表格的构建

此文为【前端修炼场】第七篇,上一篇文章链接:超链接 文章目录前言一、table 表格的引入二、table 表格属性2.1 边框( border )2.2 宽度( width )2.3 高度( height )2.4 水平对齐( align"left 或 right 或 center )2.5 单元格间距( cellspacing)2.6 …

极客时间学习笔记:04芯片-设计之路

其实一颗芯片项目就是一个标准的产品项目,项目的起点是市场需求分析,接着是设计和制造,如果产品成功完成了商业落地,那么就可以开启下一代产品的迭代升级新周期了。 如果只看芯片设计,它主要包含需求分析、架构设计、逻…

基于Openl启智平台如何提交代码至远程仓库

基于Openl启智平台如何提交代码至远程仓库Openl启智简介快速创建项目克隆项目到本地提交和更新文件Openl启智简介 面向新一代人工智能开源共性技术,面向AI领域的一站式协同开发环境,提供集代码开发环境,数据管理、模型调试、推理和评测为一体…

【Linux】常用基本指令(始)

文章目录🎪 Linux下基本指令1.1 🚀 登录相关指令1.2 🚀 ls1.3 🚀 pwd1.4 🚀 cd1.5 🚀 touch1.6 🚀mkdir1.7 🚀rmdir && rm1.8 🚀man1.9 🚀cp2.0 &…

windows环境使用PHPStudy安装Redis

windows环境使用PHPStudy安装Redis 目录 安装Redis 开启php redis扩展 查看php扩展 启动redis 连接测试 总结 安装Redis 从软件管理中找到redis,点击安装 开启php redis扩展 选择相应网站管理 > php扩展> redis 查看是否勾选,如果未勾…

力扣刷题记录——412. Fizz Buzz、414. 第三大的数、415. 字符串相加

本专栏主要记录力扣的刷题记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《412. Fizz Buzz、414. 第三大的数、415. 字符串相加》。…

ccc-sklearn-15-XGBoost(1)

文章目录XGBoost集成算法介绍xgboost 库与sklearn中的XGB APIXGBoost的三大板块梯度提升树-集成算法参数n_estimators建模使用sklearn中的XBGboost:参数subsample使用波士顿房价数据集,来看学习曲线参数eta探索eta参数的性质n_estimators,lea…

【操作系统实验/Golang】实验2:进程(线程)同步

1 实验问题描述以生产者-消费者模型为基础,在Windows环境下创建一个控制台进程,在该进程中创建读者写者线程模拟生产者和消费者。Writer线程写入数据,然后将数据放置在一个空缓冲区buffer中供Reader线程读取。Reader线程从缓冲区中获得数据&a…

YOLOv5+Tesseract-OCR 实现车牌号文本识别

来源:投稿 作者:王同学 编辑:学姐 最近看到了各种各样的车牌识别,觉得挺有意思,自己也简单搞一个玩玩。 1.预期效果2.整体流程3.准备数据集4.训练YOLOv5模型 4.1 下载源码 4.2 安装环境 4.3 修改配置文件 4.4 训练模型…

史上最详python中while语句循环(建议收藏)

名字:阿玥的小东东 学习:python正在学习c 主页:阿玥的小东东 目录 前言 1. 什么是while语句? 2. while语句可以干啥吖 3.while的详细讲解 4.死循环 5.用while语句写个小游戏 前言 今天呢我们来学习一下python中的while语句 …

「Moonbeam社区之声」首期活动回顾

感谢大家参加本次Moonbeam Community Voice「社区之声」新系列活动。Moonbeam计划定期举行这个系列活动,分享Moonbeam社区近期状况,以及来自社区的建议和分享。顾名思义,这是基于社区的分享活动。 Community Voice「社区之声」旨在成为讨论影…

第8章:切片

1.切片的引入 【1】切片(slice)是golang中一种特有的数据类型 【2】数组有特定的用处,但是却有一些呆板(数组长度固定不可变),所以在 Go 语言的代码里并不是特别常见。相对的切片却是随处可见的,切片是一种建立在数组类型之上的抽象&#xf…

AVL平衡树

前置知识 平衡树 平衡树指的是任意节点的子树的高度差都小于等于 111 的二叉查找树。 因为他是平衡的,我们做树上的操作就可以降到 O(logn)O(log_n)O(logn​) 的时间复杂度。 AVL平衡树 因为对于树有可能进行插入或删除操作,使得树有可能不平衡&…

抓取HTTPS失败和乱码

第一步:电脑安装SSL证书 选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,如果设置了安全防护,会ranging输入系统的帐号密码 这时开始安装charles证书,一路点击下一步即可 第二步&#xf…

【MySQL进阶教程】锁的详细介绍

前言 本文为 【MySQL进阶教程】锁 相关知识,下边将对锁的概述,全局锁(包含全局锁的介绍,语法与特点),表级锁(包含表级锁的介绍,表锁,元数据锁,意向锁&#xf…

第一封信|感觉孤独?找个借口联系

首发:https://bornforthis.cn/letter/2023/01.html 孤独不等于寂寞 你好,我是悦创。 这里是《悦创来信去无方向的信》,给你邮寄的第一封信,信的主题是“孤独 vs 寂寞”,很高兴你拆开此信。 一到冬季,情…

10条必备的markdown常用语法

10条必备的markdown常用语法markdown笔记写起来会比较方便,而且也方便复制,下面我总结一下常用的markdown常用语法可能不同的程序markdown语法不太一样,但是都差不多的1.标题一级标题、二级标题等等这个不多说了。最多支持六级标题## 内容1 …