当前位置: 首页 > news >正文

linux安装homeassistant(智能设备远程控制开源框架)

1、安装docker

先切换到root 用户,先安装一些基本环境:

yum install -y yum-utils device-mapper-persistent-data lvm2

添加阿里云软件源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

然后安装 Docker 社区版

yum -y install docker-ce

启动 docker

systemctl start docker  

设定开机自动启动docker

systemctl enable docker

查看docker运行状态

systemctl status docker   

查看 docker 版本信息

docker version

在这里插入图片描述
docker 服务显示为绿色的 running 了,表示运行中

2、部署hass

拉取hass的最新版镜像(注意:根据自己需求选择对应版本,并不是越新越好)

可访问docker官网搜索:homeassistant
在这里插入图片描述
或通过命令行在linux中搜索

docker search homeassistant

在这里插入图片描述

拉取docker镜像

docker pull homeassistant/home-assistant:latest

创建容器并运行

docker run -d --name="hass" -v ${HOME}/hass/mac_config -p 8123:8123 homeassistant/home-assistant

注:这里启动docker容器之后每次启动docker容器都会数据初始化建议进行数据挂载

docker run -d --name="hass" -v /var/lib/docker/volumes/mydata/_data/homeassistant:/config -p 8125:8123 homeassistant/home-assistant

将homeassistant/home-assistant容器内的config目录挂载到服务器本地目录的/var/lib/docker/volumes/mydata/_data/homeassistant文件下,相同容器下的目录可以共享

解释:
d:表示在后台运行
name:给容器设置别名(不然会随机生成,为了方便管理)
v:配置数据卷(容器内的数据直接映射到本地主机环境,参考路径配置
p:映射端口(容器内的端口直接映射到本地主机端口最后便是刚才下载的镜像了,运行该容器。

3、访问hass

运行需要放开端口8123,访问链接:ip:8123

4、安装hacs

首先去github官网下载hacs包
https://github.com/hacs/integration/releases
在这里插入图片描述
将其上传至服务器,然后使用命令cp到docker容器中,注意homeassistant容器是叫hass,比如将hacs.zip上传至服务器的/opt/文件夹下
在这里插入图片描述

1:进入docker容器中:docker exec -it hass bash
2:在config下创建文件夹:custom_components/hacs
3:将下载好的hacs.zip上传值/opt/目录下并使用命令拷贝至docker中:
docker cp /opt/hacs.zip hass:/config/custom_components/hacs
4:进入docker容器中并cd之hacs目录下解压:unzip hacs.zip
5:重启homeassistant并在配置中加入HACS

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、安装MQTT

安装 Mosquitto MQTT Broker

sudo yum install epel-release
sudo yum install mosquitto

启动 Mosquitto 服务

sudo systemctl start mosquitto

安装 Mosquitto MQTT 客户端

sudo yum install mosquitto-clients

测试 Mosquitto 是否正常工作

mosquitto_sub -h localhost -t test

在打开另外一个终端输入:

mosquitto_pub -h localhost -t test -m "hello world"

如果一切正常,您应该会在第一个终端窗口中看到 “hello world”。

创建用户名和密码、打开命令窗口 键入如下命令

mosquitto_passwd -c /etc/mosquitto/pwfile.example 自定义用户名

输入密码:自定义密码

修改配置文件连接MQTT服务器

在homeassistant配置文件configuration.yaml中添加以下代码

MQTT配置 注意格式

mqtt:  broker: 192.168.1.207    # MQTT服务器地址  port: 1883               # MQTT端口,默认是1883  username:         # MQTT用户名  password:         # MQTT密码  # 配置自动发现  discovery: true  # 自动发现使用的主题位置前缀,缺省为homeassistantdiscovery_prefix: homeassistant##以下的配置不常用,如果需要使用,可以删除前面的注释###连接MQTT服务器使用的Client ID。不同的客户端应该具有不同的client_id。如果不填,会是一个随机数。#client_id: 32osiwmm23##发送保持连接包的间隔时间(秒),缺省为60秒#keepalive: 60##使用MQTT协议版本,缺省情况下使用3.1.1,如果服务器端不支持,会回退到3.1#protocol: 3.1.1

添加完成后集成homeassistant

在这里插入图片描述
配置完成后即可对其进行测试
在这里插入图片描述
!

添加MQTT开关(未使用过)

在homeassistant配置文件configuration.yaml中添加以下代码
此配置添加系统内实体light.led_light_over_mqt

light:- platform: mqtt #设备类型 MQTTname: "LED light over MQTT" # 设备名字optimistic: true  #打开订阅状态功能state_topic: "outTopic"  #状态话题  command_topic: "inTopic"     #命令话题  HASS发送控制设备的命令payload_on: "1"payload_off: "0" #命令格式 qos:  0  retain: true  #是否保留标志

保存后重启系统。
在Home Assistant系统WEB概览页面编辑仪表盘添加卡片,按卡片下添加名称为LED light over MQTT的按钮,默认保存完成在概览页添加按钮。
启动NodeMCU板,在概览页点击名为LED light over MQTT的按钮即可控制板载LED并反馈在面板上。

参考文档:https://www.home-assistant.io/integrations/switch.mqtt/#retain

6、添加设备

在homeassistant上添加设备并能控制,比如添加一个小米的开关
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意

这里需要注意的一点是目前市面上大部分的智能设备都需要通过蓝牙或者内网才能进行设备控制,如果你的服务器和智能设备连接的同一网段那么没有问题,如果不是的话可在内网弄一台树莓派(树莓派的homeassistant安装可以在淘宝上购买对应的教程,docker树莓派安装且需要能持久化)

手上没有树莓派自己随便找了一个刷ha就好
在这里插入图片描述
后续还有一篇文章:java对接homeassistant实现远程控制(配置frp实现内网穿透)

相关文章:

linux安装homeassistant(智能设备远程控制开源框架)

1、安装docker 先切换到root 用户,先安装一些基本环境: yum install -y yum-utils device-mapper-persistent-data lvm2添加阿里云软件源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo然后安装 D…...

TensorRT Triton Inference Server: 版本 error魔术标记不匹配 , NGC使用

魔术标记不匹配错误Serialization assertion magicTagRead kMAGIC_TAG failed.Magic tag does not match 原因: 转换和推理使用的镜像的标签是相同的,但是转换的镜像中pip list得到trt版本为8.6.0,但是推理环境中 rootf2c810ba3976:/# /usr/…...

Elasticsearch 文本分析器(下)

字符过滤器 注意:字符过滤器用于在将字符流传递给分词器之前对其进行预处理 html_strip HTML元素替换过滤器 此过滤器会替换掉HTML标签,且会转换HTML实体 如:& 会被替换为 &。 {"tokenizer": "keyword","…...

Git操作方法

目录 Git是什么 Git特点 Git作用 Git原理 集中式 分布式 Git安装 修改语言 Git操作 1.初始化Git仓库 2.提交工作区的内容到版本库 3.查看版本记录 4.版本回退 5.版本前进 Git 命令 通用操作 工作状态 版本回退 版本前进 远程仓 1.GitHub 2.GitLab 3.码云…...

CorelDRAW矢量绘图2023中文版下载

市面上的矢量绘图工具虽然很多,但权威又专业的却不多,选到不好用的工具,会极大的影响自己创作,CorelDRAW简称cdr,是一款功能强大的矢量图制作软件,一说到矢量图制作,大家都会不由自主地想到cdr。…...

Java-API简析_java.lang.Float类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131129886 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…...

pycharm的基本使用

废话文学 本人记录笔记始终遵循“能动手绝不动脑,能动脑绝不动手”的基本原则。不会的操作,跟着笔记干就完事了,还动啥脑袋?留着脑细胞刷抖音擦边小姐姐他不香吗? 什么是IDE IDE即【集成开发环境】,Inte…...

为什么要使用微软的 Application Framework?

我是荔园微风,作为一名在IT界整整25年的老兵,今天来看一下我们为什么要使用微软的 Application Framework? 虽然Application Framework 并不是新观念,它们却在最近数年才成为 PC 平台上软件开发的主流工具。面向对象语言是具体实…...

Python爬虫基础知识点

Python爬虫是使用Python编写的程序,可以自动抓取互联网上的数据。常用的Python爬虫框架包括Scrapy、BeautifulSoup、Requests等。Python爬虫可以应用于众多场合,如大数据分析、信息监测、数据挖掘和机器学习等领域。那么新手应该如何学习python爬虫呢&am…...

K8s运维备忘

1.服务器集群搭建: VagrantFile中加入以下代码,创建3个虚拟机: Vagrant.configure("2") do |config| (1..3).each do |i| config.vm.define "k8s-node#{i}" do |node| # 设置虚拟机的Box …...

激光雷达+rtk+rgb联合使用(4)

因为一直在忙一些乱七八糟的事情,就没顾得上继续写,想着快速收尾算了。 前面写到,我在点云的匹配上花了大量的时间,不断的调参数,换方法,一共几百个点云,想着先每50个匹配一次,得到几…...

【K8S系列】快速初始化⼀个最⼩集群

序言 走得最慢的人,只要不丧失目标,也比漫无目的地徘徊的人走得快。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记一级重要蓝色:用来标记二级重要 希望这篇文章能让你不仅有…...

Exploit/CVE-2010-0738

打开JBoss的潘多拉魔盒:JBoss高危漏洞分析 *本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。 前言 JBoss是一个基于J2EE的开放源代码应用服务器&#xff0…...

Go单元测试及框架使用

Go自带测试框架 单元测试 建议Go 语言推荐测试文件和源代码文件放在一块,测试文件以 _test.go 结尾。函数名必须以 Test 开头,后面一般跟待测试的函数名参数为 t *testing.T 简单测试用例定义如下: func TestXXXX(t *testing.T) {// ...}…...

TreeMap类型实体类数据进行排序

实体类Student类代码如下所示&#xff1a; package com.test.Test11;public class Student implements Comparable<Student>{private int age;private String name;private Double height;public int getAge() {return age;}public void setAge(int age) {this.age age…...

HOOPS助力AVEVA数字化转型:支持多种3D模型格式转换!

行业&#xff1a; 电力和公用事业、化工、造船、能源、采矿业 挑战&#xff1a; 创建大规模复杂资产的客户需要汇集多种类型的数据&#xff0c;以支持初始设计和创建强大的数字双胞胎&#xff1b;现有版本的产品只支持半打CAD格式&#xff1b;有限的内部开发资源限制了增加对新…...

(转载)基于遗传模拟退火的聚类算法(matlab实现)

1 理论基础 1.1 模糊聚类分析 模糊聚类是目前知识发现以及模式识别等诸多领域中的重要研究分支之一。随着研究范围的拓展&#xff0c;不管是科学研究还是实际应用&#xff0c;都对聚类的结果从多方面提出了更高的要求。模糊C-均值聚类(FCM)是目前比较流行的一种聚类方法。该…...

【C++】struct 和 class 的区别

欢迎来到博主 Apeiron 的博客&#xff0c;祝您旅程愉快。时止则止&#xff0c;时行则行。动静不失其时&#xff0c;其道光明。 目录 1、缘起 2、示例代码 3、总结 1、缘起 在 C 中&#xff0c;struct 和 class 唯一的区别就在于 默认的访问权限不同。区别如下&#xff1a; …...

活动笔记丨物业行业人效提升与灵活用工新路径

近日&#xff0c;盖雅工场成功举办物业行业人效提升专场交流&#xff0c;来自广深地区央企和民营的领先物业企业和现场服务业的多位代表齐聚深圳招商积余大厦&#xff0c;共同研讨行业人效提升的挑战和实践。 本次闭门交流会聚焦于人效提升&#xff0c;讨论话题包括各自企业在人…...

学习笔记:吴恩达ChatGPT提示工程

以下为个人笔记&#xff0c;原课程网址Short Courses | Learn Generative AI from DeepLearning.AI 01 Introduction 1.1 基础LLM 输入 从前有一只独角兽&#xff0c;输出 它和其他独角兽朋友一起住在森林里输入 法国的首都在哪&#xff1f;输出 法国的首都在哪&#xf…...

POI in Action

POI 组件依赖 按需引入对应依赖 (给出官方的指引) 组件作用Maven依赖POIFSOLE2 FilesystempoiHPSFOLE2 Property SetspoiHSSFExcel XLSpoiHSLFPowerPoint PPTpoi-scratchpadHWPFWord DOCpoi-scratchpadHDGFVisio VSDpoi-scratchpadHPBFPublisher PUBpoi-scratchpadHSMFOutloo…...

苹果Vision Pro将引爆人机交互的重大变革

2023年6月6日&#xff0c;苹果发布了大家期待已久的Vision Pro&#xff0c;Vision Pro是一款专业级MR设备&#xff0c;融合了虚拟现实(VR)和增强现实(AR)技术&#xff0c;可以让用户完全沉浸在高分辨率显示内容中。允许用户以一种全新的方式在其周围的空间中查看APP。用户可以用…...

MMDetection学习记录(二)之配置文件

文件结构 config文件 在 config_base_ 文件夹下有 4 个基本组件类型&#xff0c;分别是&#xff1a;数据集(dataset)&#xff0c;模型(model)&#xff0c;训练策略(schedule)和运行时的默认设置(default runtime)。 命名风格 {model}_[model setting]_{backbone}_{neck}_[no…...

Python数据分析:NumPy、Pandas和Matplotlib的使用和实践

在现代数据分析领域中&#xff0c;Python已成为最受欢迎的编程语言之一。Python通过庞大的社区和出色的库支持&#xff0c;成为了数据科学家和分析师的首选语言。在Python的库中&#xff0c;NumPy、Pandas和Matplotlib是三个最为重要的库&#xff0c;它们分别用于处理数值数组、…...

实习生面试问题及回答记录

文章目录 文章简介技术类1、DFS和BFS算法的区别是什么&#xff1f;2、解释一下什么是快速排序&#xff1f;3、 如果让你写一个排序算法&#xff1f;你会怎么写&#xff1f;&#xff08;大概说出代码的思路&#xff09;4、解释一下二分查找的具体逻辑&#xff1f;5、在代码的数据…...

设计模式(十):结构型之外观模式

设计模式系列文章 设计模式(一)&#xff1a;创建型之单例模式 设计模式(二、三)&#xff1a;创建型之工厂方法和抽象工厂模式 设计模式(四)&#xff1a;创建型之原型模式 设计模式(五)&#xff1a;创建型之建造者模式 设计模式(六)&#xff1a;结构型之代理模式 设计模式…...

买法拍房需要注意什么

法拍房&#xff0c;由于其价格亲民、房屋信息透明度高、竞拍过程公平公正而受到越来越多的人开始关注。但是其中又有着许多的风险及相关的注意事项。那么&#xff0c;如何做到成功“捡漏”&#xff0c;买法拍房需要注意什么呢? 买法拍房需要注意什么 1、隐藏的各种收费 税费&a…...

linux命令输出结果但不显示在屏幕上的通用办法

linux命令输出结果但不显示在屏幕上的通用办法 这个针对于我这种小白马大哈很简单的一个命令&#xff0c;记给自己备用 举个例子&#xff1a;unzip命令不输出结果 unzip xx.zip > /dev/null 2>&1 unzip xx.zip > /dev/null 前半部分是将标准输出重定向到空设备&a…...

【Linux系统进阶详解】Linux字符权限rwx-权限组合原理,对应类型ugo,user,group,other,+-=详解及权限管理实战

在Linux系统中,每个文件和目录都有三种权限:读权限(r)、写权限(w)和执行权限(x)。这些权限可以被分配给三个不同的用户组:用户(user)、组(group)和其他人(other)。此外,权限可以使用“+”、“-”和“=”符号进行修改。 权限组合原理 Linux系统中的权限由字母…...

凡人修C传——专栏从凡人到成仙系列目录

这里先感谢博主THUNDER王给我提出来的一个创作建议&#xff0c;让我有了创作的灵感来创建这一篇博客以及凡人修C传这一个系列的文章。 本文最主要的目的就是给大家一个凡人修C传的一个目录&#xff0c;让大家更加容易学到自己想学的地方。 &#x1f4dd;【个人主页】&#xff1…...

海外公司注册在哪里比较好/我是seo关键词

print([x*11 for x in range(10)]) 转载于:https://www.cnblogs.com/sea-stream/p/11192554.html...

廊坊网站建设技术外包/百度推广登录平台官网

目录 一、安装mongoDB安装包 二、配置 三、启动服务端 四、启动客户端 五、关闭服务端 六、关闭客户端 一、安装mongoDB安装包 1. cd /usr/local 2. mkdir mongodb 3. cd mongodb 4. wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.7.tgz 5. tar…...

网站建设添加资料/怎么做网站宣传

MySQL5.6.6版本之后增加了密码强度验证插件validate_password&#xff0c;相关参数设置的较为严格。 如下错误&#xff1a; 有时&#xff0c;在开发和测试环境中&#xff0c;不想密码设置得那么复杂&#xff0c;譬如只想设置root的密码为123456。 SET PASSWORD FOR rootlocal…...

著名的网站建设平台/西安百度seo

(1)对勒索软件采取积极防御的态度 企业的计算环境对其业务开展至关重要&#xff0c;包括外部系统。例如&#xff0c;考虑电子商务系统和内部系统&#xff0c;例如客户的信用卡信息在潜在客户数据库和库存系统中。现在&#xff0c;想象一下&#xff0c;他们再也无法访问它们那是…...

wordpress搬家跳回首页/教育培训机构有哪些

题目传送&#xff1a; P3373 【模板】线段树 2 P2023 [AHOI2009]维护序列 该题较传统线段树模板相比多了一个区间乘的操作。一提到线段树的区间维护问题&#xff0c;就自然想到了“懒标记”&#xff1a;为了降低时间复杂度&#xff0c;我们只需将要要查询的区间的真实值更新出…...

找大学生做网站靠谱吗/seo排名软件怎么做

《河西篇》04年&#xff0c;河西&#xff0c;我随便买&#xff1b; 06年&#xff0c;河西&#xff0c;我可以买&#xff1b;08年&#xff0c;河西&#xff0c;努力努力还是可以买&#xff1b; 10年&#xff0c;河西感觉买不起了&#xff1b;12年&#xff0c;贵&#xff0c;买不…...