【好玩的开源项目】Docker下部署HomeAssistant智能家居系统

news2024/11/22 17:39:57

【好玩的开源项目】Docker下部署HomeAssistant智能家居系统

  • 一、HomeAssistant介绍
    • 1.1 HomeAssistant简介
    • 1.2 HomeAssistant特点
  • 二、本地环境介绍
    • 2.1 本地环境规划
    • 2.2 本次实践介绍
  • 三、本地环境检查
    • 3.1 检查Docker服务状态
    • 3.2 检查Docker版本
    • 3.3 检查docker compose 版本
  • 四、下载HomeAssistant镜像
  • 五、部署HomeAssistant智能家居平台
    • 5.1 创建挂载目录
    • 5.2 创建HomeAssistant容器
    • 5.3 检查HomeAssistant容器状态
    • 5.4 检查HomeAssistant容器日志
  • 六、HomeAssistant初始配置
    • 6.1 设置用户名与密码
    • 6.2 设置基本信息
    • 6.3 收集信息
    • 6.4 完成初始配置
  • 七、访问HomeAssistant

一、HomeAssistant介绍

1.1 HomeAssistant简介

Home Assistant是一个自由开源的智能家居自动化平台,它可以控制并监测各种智能家居设备、传感器和其他物联网设备。Home Assistant可以运行在树莓派、NVIDIA Jetson Nano等低功耗设备上,使用户可以快速搭建自己的智能家居系统。Home Assistant支持数百种设备和平台,同时提供Web界面、Android和iOS应用程序以及API接口,供用户进行控制和监测。Home Assistant 还提供了强大的自动化功能,可以自动化处理各种家庭场景,例如灯光控制、温度调节、安防监控等。总之,Home Assistant是一款功能强大而又易于使用的智能家居自动化平台。

1.2 HomeAssistant特点

Home Assistant是一个开源的自动化系统,它提供了许多特点:

  • 灵活:Home Assistant支持多种智能家居设备和平台,包括Zigbee、Z-Wave、Wi-Fi、RF等,使你的智能家居更加灵活。

  • 自由:Home Assistant是开源的,它提供了一个自由的平台,让用户可以自由地修改和定制。

  • 可扩展性:Home Assistant支持插件式的扩展,用户可以根据需要安装适当的插件来满足自己的需求。

  • 安全性:Home Assistant提供了安全性保护措施,包括SSL/TLS加密、两步验证等,保证了系统的安全性。

  • 强大的自动化:Home Assistant提供了强大的自动化功能,可以根据用户的需求自动完成一系列的任务,如自动开关灯光、控制温度、监控安全等。

  • 移动支持:Home Assistant提供了移动APP,可以随时随地控制家居设备。

  • 多语言支持:Home Assistant支持多种语言,包括英语、中文、法语等,方便用户选择自己熟悉的语言。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostnameIP地址操作系统版本Docker版本
dokcer192.168.3.166centos 7.62 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下HomeAssistant智能家居系统。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2023-11-01 16:47:28 CST; 2h 4min ago
     Docs: https://docs.docker.com
 Main PID: 9988 (dockerd)
    Tasks: 22
   Memory: 147.1M
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载HomeAssistant镜像

从docker hub拉取HomeAssistant镜像

[root@jeven ~]# docker pull homeassistant/home-assistant:latest
latest: Pulling from homeassistant/home-assistant
a0d0a0d46f8b: Pull complete
d567b0a8a3d8: Pull complete
8e962a5cc883: Pull complete
7a7e58b8c695: Pull complete
3a54af39c26b: Pull complete
22cc6fc9aa0a: Pull complete
5a61d8e557df: Pull complete
c72924640d9e: Pull complete
4e99633ee711: Pull complete
482621e4117c: Pull complete
cad0dcfb7d48: Pull complete
02f62869bfe2: Pull complete
e7abe960e15b: Pull complete
ca147e4c5a90: Pull complete
348313674aef: Pull complete
882bba681f42: Pull complete
fd24487b4af5: Pull complete
d54dbfc3617c: Pull complete
8929cf1cf783: Pull complete
61ec4587fb6b: Pull complete
e6cb8c968c6f: Pull complete
bec28da251c3: Pull complete
4d6fa8a0042f: Pull complete
4e56e5cf2921: Pull complete
c43a64d5c8cb: Pull complete
046e0d768d75: Pull complete
77dbf3cf1171: Pull complete
bd426e9002a0: Pull complete
Digest: sha256:81d381f5008c082a37da97d8b08dd8b358dae7ecf49e62ce3ef1eeaefc4381bb
Status: Downloaded newer image for homeassistant/home-assistant:latest
docker.io/homeassistant/home-assistant:latest

五、部署HomeAssistant智能家居平台

5.1 创建挂载目录

创建挂载目录

 mkdir -p /data/homeassistant/config && cd /data/homeassistant/

设置挂载目录权限

chmod -R 777 /data/homeassistant/

5.2 创建HomeAssistant容器

使用docker-cli快速部署HomeAssistant容器


docker run -d \
--restart always \
--name homeassistant  \
-v /data/homeassistant/config:/config \
-e TZ=Asia/Shanghai   \
-p 8123:8123   \
homeassistant/home-assistant:latest

在这里插入图片描述

使用docker compose运行HomeAssistant容器

version: '3'
services:
  homeassistant:
    image: homeassistant/home-assistant:latest
    container_name: homeassistant
    restart: always
    volumes:
      - /data/homeassistant/config:/config
    environment:
      - TZ=Asia/Shanghai
    ports:
      - "8123:8123"


  • 使用docker-compose.yaml文件创建slash容器
docker compose up -d

在这里插入图片描述

5.3 检查HomeAssistant容器状态

检查HomeAssistant容器状态,确保HomeAssistant容器正常启动。

[root@jeven homeassistant]# docker compose ps
NAME                COMMAND             SERVICE             STATUS              PORTS
homeassistant       "/init"             homeassistant       running             0.0.0.0:8123->8123/tcp, :::8123->8123/tcp

5.4 检查HomeAssistant容器日志

检查HomeAssistant容器日志,确保HomeAssistant服务正常运行。

[root@jeven homeassistant]# docker compose  logs
homeassistant  | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
homeassistant  | [s6-init] ensuring user provided files have correct perms...exited 0.
homeassistant  | [fix-attrs.d] applying ownership & permissions fixes...
homeassistant  | [fix-attrs.d] done.
homeassistant  | [cont-init.d] executing container initialization scripts...
homeassistant  | [cont-init.d] done.
homeassistant  | [services.d] starting services
homeassistant  | [services.d] done.

六、HomeAssistant初始配置

6.1 设置用户名与密码

访问地址:http://192.168.3.166:8123/,将IP替换为自己服务器IP地址。设置用户名与密码,自定义设置即可。

在这里插入图片描述

6.2 设置基本信息

设置安装名称,时区、货币等信息,自定义设置即可。

在这里插入图片描述

6.3 收集信息

可以勾选不同要求的信息收集,这里不勾选,选择“下一步”。

在这里插入图片描述

6.4 完成初始配置

点击“完成”,完成HomeAssistant初始配置。

在这里插入图片描述

七、访问HomeAssistant

初始化完成,自动跳转到HomeAssistant首页。

在这里插入图片描述

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

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

相关文章

分享一下怎么做小程序营销活动

小程序营销活动已经成为现代营销的必备利器,它能够帮助企业提高品牌知名度、促进产品销售,以及加强与用户的互动。然而,要想成功地策划和执行一个小程序营销活动,需要精心设计和全面规划。本文将为您介绍小程序营销活动的策划和执…

谷歌浏览器中input输入框默认填充时的背景色设置

问题如下: 解决办法如下(通过css3): input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active {-webkit-transition-delay: 111111s;-webkit-transition: color 11111s…

iOS报错命名空间“std”中的“unary_function”

刚刚将我的 Xcode 升级到 15.0,突然它开始在 RCT_Folly 中出现以下错误 No template named unary_function in namespace std; did you mean __unary_function?我尝试删除缓存数据和派生数据并清理构建。也尝试删除 pod 和 node_modules。但没有任何帮助。 于是我…

回文日期题解

【问题描述】 2020年春节期间,有一个特殊的日期引起了大家的注意:2020年2月2日。因为如果将这个日期按“yyyymmdd”的格式写成一个8位数是20200202,恰好是一个回文数。我们称这样的日期是回文日期。 有人表示20200202是“千年一遇”的特殊日子。对此小明很不认同&am…

Unity之NetCode多人网络游戏联机对战教程(5)--ConnectionData与MemoryPack

文章目录 前言使用场景ConnectionData数据序列化处理MemoryPack安装MemoryPack日志输出后话学习链接 前言 ConnectionData 与 ConnectionApproval 是搭配使用的,在ConnectionApproval系列讲解中涉及的几个使用场景将会在这里讲解 使用场景 使用密码加入房间 玩家选…

极致分离卷积块 XSepConv 学习笔记 (附代码)

论文地址:https://arxiv.org/pdf/2002.12046.pdf 代码地址: 1.是什么? XSepConv是由清华大学提出的,它是一种新型的卷积神经网络模块,可以在保持计算量不变的情况下提高模型的性能。XSepConv的特点是将深度卷积和逐…

group by用法和SQL执行顺序详解

一、group by 1、作用 数据分组 -> 组内数据处理(求组内的最大值、最小值、平均值等) 2、案例: Order Details(订单详情表) 表结构:每个Order,都对应着好几个不同的Product,每…

尚硅谷大数据项目《在线教育之实时数仓》笔记005

视频地址:尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第9章 数仓开发之DWD层 P031 P032 P033 P034 P035 P036 P037 P038 P039 P040 第9章 数仓开发之DWD层 P031 DWD层设计要点: (1)DWD层的设计依…

Azure 机器学习 - 使用 Visual Studio Code训练图像分类 TensorFlow 模型

了解如何使用 TensorFlow 和 Azure 机器学习 Visual Studio Code 扩展训练图像分类模型来识别手写数字。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员…

免费(daoban)gpt,同时去除广告

一. 内容简介 免费(daoban)gpt,同时去除广告,https://chat18.aichatos.xyz/,也可当gpt用,就是有点广告,大家也可以支持一下 二. 软件环境 2.1 Tampermonkey 三.主要流程 3.1 创建javascript脚本 点击添加新脚本 …

超详细!!!顺序表的实现

顺链表的实现 顺序表的概念及结构概念顺序表与数组的区别顺序表的结构 动态顺序表的实现头文件 "SeqList.h"定义结构体 SL 源文件顺列表的实现初始化顺列表 void SLInit(SL* ps)检查顺列表空间大小 void SLCheckCapacity(SL* ps)尾插数据 void SLPushBack(SL* ps,SLD…

java强转实验

不存在继承关系时,强转会出现编译时异常。即:无法将两个不同类型的对象做转换 当存在继承关系时,强转正常。备注:同名字段,类型一致,可以强转替代getset。同名字段,类型不一致,强转会…

网络安全之XSS漏洞

一. 引言 Cross-Site Scripting(跨站脚本攻击)简称XSS,是一种代码注入攻击。XSS 攻击通常指的是利用网页的漏洞,攻击者通过巧妙的方法注入 XSS 代码到网页,因为浏览器无法分辨哪些脚本是可信的,导致 XSS 脚…

matlab求解时变系统的Riccati矩阵微分方程

对于代数Riccati方程的求解网上能找到很多的资源,matlab也有成熟的函数,但是对于时变系统的Riccati矩阵微分方程,能找到的资料还比较少。 一、求解代数Riccati方程 可以在网上找到很多资料,如 https://blog.csdn.net/m0_622999…

python中有哪些你觉得超级牛的模块?

之前在做数据分析的时候,用过一个自动化生成数据探索报告的Python库:ydata_profiling 一般我们在做数据处理前会进行数据探索,包括看统计分布、可视化图表、数据质量情况等,这个过程会消耗很多时间,可能需要上百行代码…

Linux--线程--互斥锁

1.互斥量 a)互斥量(mutex)从本质上来说是一把锁,一般在主线程中定义一个互斥量,就是定义一把锁。然后根据我们的需求来对线程操作这把锁。 b)如果给所有的线程都加上锁了,线程们会去争取内存空…

2018年第三届 美亚杯电子取证 个人赛题解

1 Victor的笔记本电脑己成功取证并制作成法证映像档 (Forensic Image),下列哪个是其MD5哈希值? (2分) A. FC20782C21751AB76B2A93F3A17922D0 B. 5F1BDEB87EE9F710C90CFB3A0BB01616 C. A0BB016160CFB3A0BB0161661670CFB3 D. 917ED59083C8B35C54D3FCBFE4C4BB0B E. F…

当你在浏览器地址栏输入一个URL后,将会发生的事情?个人笔记

客户端 在浏览器输入 URL 回车之后发生了什么(超详细版) - 知乎 (zhihu.com) 大致流程是: URL 解析DNS 查询TCP 连接处理请求接受响应渲染页面 1.URL解析 地址解析: 首先判断你输入是否是一个合法的URL还是一个待搜索的关键…

上市公司-供应链效率数据集(2000-2022年)

参照张倩肖(2023)、Feng(2015)、张树山(2023)的做法,团队以库存周转天数来衡量供应链效率 库存周转天数有效克服了因企业保留安全库存而导致供应链效率较低的测算误差,体现供应链上…

回归预测 | Matlab实现POA-CNN-SVM鹈鹕算法优化卷积神经网络-支持向量机多变量回归预测

Matlab实现POA-CNN-SVM鹈鹕算法优化卷积神经网络-支持向量机多变量回归预测 目录 Matlab实现POA-CNN-SVM鹈鹕算法优化卷积神经网络-支持向量机多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.POS-CNN-SVM鹈鹕算法优化卷积神经网络-支持向量机的多变量回归…