### 初始化配置HomeAssistant #### 首次打开HomeAssistant 首次打开HomeAssistant通过,路由器为其分配的IP地址加端口号即可进行HomeAssistant. 格式如下: ``` http://Ip:Port 如:http://192.168.3.2:8123 基中:8123为其默认的端口后,当然,系统初始化成功后,可以改. ``` 如下图所示: 点击"创建我智能家家居"按进行下一步 在这里我们输入姓名,用户名,密码,确认密码 这里我们使用统一的信息 ``` 姓名:岱特智能 用户名:dtuser 密码:****** 确认密码:***** ``` **注意:上述密码为了安全,没有显示,请咨询系统管理员获取真正的密码.** 点击"创建帐户", 这一步,会要求你输入位置,输入城市点获取,如果取下到会报错.没关系,直接下一步即可,系统配置完成后,还可更改. 这一步是要求,你输下所属的国家与地区,它会自动判断出来,国家,直接点下一步即可. 此时,它可能还会弹出一个对话框框,帮你检测位置 ,点确定即可 如果不想让其检测,直接点取消即可,因为其检测折可能很慢,所以,直接点取消,选择中国即可. 这里的几项,全部不用选,直接下一步 这一步,系统会自动扫描局域网中的能直接入的设备.直接点击完成, 然后,系统会转到如下界面 可能要持续一阵,等待其完成即可. 开始第一次,可能很慢 首次完成如下显示 #### 更新必要的组件 首次登录,可能会显示更新,如此时显示 提示更新Home Assistnat Operating System Update,点击如下按钮,以弹出的对话框中,点更新按钮 如下图所示,系统将会,进行更新 注意,这个操作,一般是从两个地方获取更新包,一是github一个是docker的仓库,所以,**要保持科学上网的畅通**。这个过程 ,估计要几分钟,需要耐心等等,也有可能会更新失败,然后,再次更新。 更新时,如果网络有问题可能会出在日志 中报出如下错误 ``` aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.438 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.439 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') 2025-04-16 17:26:15.440 ERROR (MainThread) [homeassistant] Error doing job: Future exception was never retrieved (None) aiodns.error.DNSError: (12, 'Timeout while contacting DNS servers') [09:26:17] INFO: Home Assistant Core finish process exit code 0 [09:26:17] INFO: Home Assistant Core service shutdown s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun home-assistant (no readiness notification) s6-rc: info: service legacy-services successfully started 2025-04-16 17:28:26.876 ERROR (MainThread) [homeassistant.components.homeassistant_alerts.coordinator] Timeout fetching homeassistant_alerts data 2025-04-16 17:51:56.276 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.update 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain cloud.tts 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain mobile_app.notify 2025-04-16 17:51:56.278 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain backup.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain energy.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain sun.sensor 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain homeassistant.scene 2025-04-16 17:51:56.279 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.binary_sensor 2025-04-16 17:51:56.280 WARNING (MainThread) [homeassistant.helpers.translation] Failed to load integration for translation: Invalid domain hassio.sensor ``` 上述错误多是由于网络问题引起的,要去检是科学上网是否还正常. 更完完成后,再次启动后,会显示没有可用的更新 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417092912822.png) #### 配置-通用 点击,开始,通用 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250416183224006.png) 更改名称为:岱特智能 其它的不变 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250416183309109.png) #### 配置-网络-主机名 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417094434315.png) 把主机名配置成为局域网中唯一的,实际让就是计算机名,因为同一局域网中,计算机名,不允许相同 #### 配置-设置-加载项 加载项中有许多必装组件,需要一一安装,首次进入时,可能会显示如下页面 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417102735914.png) 点击下角的"加载项商店" ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250417103041576.png) ##### 安装File editor ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250417103159193.png) File editor 是一个用于修改HA的配置文件的集成工具,属必装项,点击安装 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417103608598.png) 点击安装,系统会在后台自动安装此插件, ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417104146679.png) 安装完成后,会自动重启 有时也会提示安装失败 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417105230073.png) 这种经查看日志 多为网强行问题无法访问.docker.io,这是因为科学上风的原因,重点排查网络,安装成功后,再次进入会显示如下界面 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417105547700.png) 勾选,开机启动,自动恢复,显示于侧边栏 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417105644468.png) 点击启动,或重启,将会在侧边栏看到此图标,点击打开网页界面 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417105820902.png) 能看到如下界面,说明安装成功 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417105918681.png) 此时加载项中,就多出了File editor选项 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417105949676.png) ##### 安装Samba share插件 Samba share插件是一个提供共享目录的方式允行其它计算机用这种方式查看编辑ha的文件的组件. ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417111104287.png) 点击安装 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417111140693.png) 安装失败时,会有如下提下提示 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417111731068.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417111959381.png) 打开自动恢复 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417112429893.png) 接下来我们需要到配置选项中 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417112959837.png) 此处我们设置如下信息 ``` Username:dtuser Password:***** # 此处请咨询管理员 Workgroup:WORKGROUP # 保持不变 ``` 更改完成后,有如下配置 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417113757884.png) 配置 完成后,点击启动 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417113840938.png) 启动成功后,会出下图显示 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417114018464.png) 此时,如果,与HA在同一局域网,我们可以使用如下方式查看HA的文件目录 在地址栏输入\\HA的IP ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417114610432.png) 输入预设的用户名与密码,即可查看,编辑HA的各种文件。 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417114720695.png) ##### 安装Terminal & SSH Terminal & SSH 插件为HA提供了在web端使用控制台终端功能,及开启了ssh服务,使之可以远程使用SSH访问HA终端。 在搜索中输入Terminal & SSH 结果有可能显示 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417115643048.png) 搜索不到,这时,可能是因为仓库没有配置,还是使用的默认的仓库,我们可以增加一下仓库,如下: ``` https://github.com/AlexxIT/hassio-addons ``` ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417115838631.png) 点击右上解的三个点,选中仓库 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417115914947.png) 在弹出折对话框中输入,我们记录的仓库地址,然后点添加 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417120018086.png) 完成后,点击关闭. 然后,点击返回,重新搜索 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417120233117.png) 这次找到了Advance SSH & Web Terminal ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417120233117.png) 点击安装,打开如下页面 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417120802786.png) 点击安装,有时会安装失败, 失败后,需再次安装,同时检查日志中提到的哪个网址无法访问 ,把其加科学上网的代理名单中. ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417122414637.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417122910533.png) 安装完成后,就变成如下 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417141712061.png) 开启自动恢得,显示侧边栏 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417141740843.png) 接下来,我们配置ssh的登录信息,如下 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417143151994.png) 相关信息如下: ``` username:dtuser passsword:**** # 此处需要咨询管理员 ``` 其它配置选项如下,注意选项,选错了ssh可能启不起来,sftp关闭,zsh关闭.compatibility_mode要开启 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417160113415.png) 然后,点击启动按钮 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417143931697.png) 启动后如下 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417143953506.png) 我们可以通过两个地方进入 ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250417144032876.png) 在日志 端能看到 ssh已启动成功 ``` s6-rc: info: service base-addon-banner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service base-addon-log-level: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service base-addon-log-level successfully started s6-rc: info: service legacy-cont-init: starting s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service init-ssh: starting s6-rc: info: service init-mysql: starting s6-rc: info: service init-mosquitto: starting s6-rc: info: service init-docker: starting s6-rc: info: service init-docker successfully started s6-rc: info: service init-mysql successfully started s6-rc: info: service init-mosquitto successfully started [14:51:05] WARNING: [14:51:05] WARNING: Logging in with a SSH password is security wise, a bad idea! [14:51:05] WARNING: Please, consider using a public/private key pair. [14:51:05] WARNING: What is this? https://kb.iu.edu/d/aews [14:51:05] WARNING: [14:51:05] NOTICE: RSA host key missing, generating one... Generating public/private rsa key pair. Your identification has been saved in /data/ssh_host_rsa_key Your public key has been saved in /data/ssh_host_rsa_key.pub The key fingerprint is: SHA256:+9pEl2QvyUqsu4B3gnPjhL/Ab71iBIDjWRdYvgZeg0c root@a0d7b954-ssh The key's randomart image is: +---[RSA 3072]----+ | . oE. | |o .o+. | |..o+.= o | | o. = o . + + | | . + S + * . | | ..+. = o . | | B.B.+ o | | X+=.= | | o=o=+o | +----[SHA256]-----+ [14:51:08] NOTICE: ED25519 host key missing, generating one... Generating public/private ed25519 key pair. Your identification has been saved in /data/ssh_host_ed25519_key Your public key has been saved in /data/ssh_host_ed25519_key.pub The key fingerprint is: SHA256:MgbUsAJ+23skjVTwD0pWVRBCmZ0BjU3jwV/99gGnNVc root@a0d7b954-ssh The key's randomart image is: +--[ED25519 256]--+ |. o+o*%O*. . E| |.. . .=+o*o o =.| | ...o+ o .. . = +| | ..*.+ o . . .o| | . =+oS. .o| | .+o .| | . . | | . | | | +----[SHA256]-----+ s6-rc: info: service init-ssh successfully started s6-rc: info: service init-user: starting [14:51:08] NOTICE: Session sharing has been disabled! s6-rc: info: service init-user successfully started s6-rc: info: service ttyd: starting s6-rc: info: service sshd: starting s6-rc: info: service sshd successfully started s6-rc: info: service ttyd successfully started s6-rc: info: service legacy-services: starting [14:51:09] INFO: Starting the ttyd daemon... [14:51:09] INFO: Starting the SSH daemon... s6-rc: info: service legacy-services successfully started Server listening on 0.0.0.0 port 22. Server listening on :: port 22. ``` 配置成功后,可以通过如下命令来测试是否可以远程SSH连入 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417150734570.png) 输入yes后会要求 输入密码,验证正确后,会进入看到如个图,就说明ssh已正常的开启成功了 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417155921995.png) 以下界面是在ha中看到的内置的ssh ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417160212333.png) 其它,当访问一些系统操作无权限时,可以关闭保护开关 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417171751950.png) ##### 安装Mosquitto broker Mosquitto broker是一个重要的插件,其提供的MQTT 服务为公司大多数数设备折集成,mqtt通信通道,所以,此为必装插件。 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417160954518.png) 点击安装 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417161858614.png) 看到如下界面,说明安装成功, ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417162347432.png) 接下来是配置mqtt ###### 开启自动恢复 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417162755148.png) ###### 配置mqtt的用户名密码及定制配置 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417165820612.png) ``` username:dtuser password:****** #此处的密码请咨询管理员 ``` 配置完成后,启动mqtt服务 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417163342388.png) 日志中显示如下信息,说明成功 ``` s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/mosquitto.sh [16:33:27] INFO: Setting up user dtuser [16:33:28] INFO: SSL is not enabled cont-init: info: /etc/cont-init.d/mosquitto.sh exited 0 cont-init: info: running /etc/cont-init.d/nginx.sh cont-init: info: /etc/cont-init.d/nginx.sh exited 0 s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting services-up: info: copying legacy longrun mosquitto (no readiness notification) services-up: info: copying legacy longrun nginx (no readiness notification) [16:33:29] INFO: Starting NGINX for authentication handling... s6-rc: info: service legacy-services successfully started [16:33:29] INFO: Starting mosquitto MQTT broker... 2025-04-17 16:33:29: Warning: Mosquitto should not be run as root/administrator. 2025-04-17 16:33:29: mosquitto version 2.0.20 starting 2025-04-17 16:33:29: Config loaded from /etc/mosquitto/mosquitto.conf. 2025-04-17 16:33:29: Loading plugin: /usr/share/mosquitto/go-auth.so 2025-04-17 16:33:29: ├── Username/password checking enabled. 2025-04-17 16:33:29: ├── TLS-PSK checking enabled. 2025-04-17 16:33:29: └── Extended authentication not enabled. 2025-04-17 16:33:29: Opening ipv4 listen socket on port 1883. 2025-04-17 16:33:29: Opening ipv6 listen socket on port 1883. 2025-04-17 16:33:29: Opening websockets listen socket on port 1884. 2025-04-17 16:33:29: mosquitto version 2.0.20 running 2025-04-17 16:33:29: New connection from ::1:56336 on port 1883. 2025-04-17 16:33:29: Client disconnected due to protocol error. [16:33:30] INFO: Successfully send discovery information to Home Assistant. [16:33:31] INFO: Successfully send service information to the Supervisor. ``` 当消息,提示发现设备时,点击,弹出的消息中,点check it out,然后,看到已发现mqtt,点击添加 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417163617741.png) 然后,点击完成 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417163633687.png) 然后就会在设置-设备与服务-集成中,显示Mqtt,以后,所有增加的MQTT类设备,都会显示在这个类别中。 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417163705382.png) ##### 安装Node-RED插件 Node-Red插件是我们集中各种设备的重要消息处理转换插件,属必装插件. 在加载项中,搜索nod显示如下 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417164340639.png) 点击,进入详细页面 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417164440484.png) 点击安装 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417164711564.png) 如果安装出错,多半是科学上网的问题, 如现如下页面,说明安装成功 ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250417165013539.png) 开启自动恢复,关闭侧边栏 ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250417165048899.png) 配置nod-red ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417170501565.png) 此处的配置信息为 ``` username:admin password:**** #此处的密码,请向管理员获取 ### 默认情况下关闭ssl ``` 然后启动node-red ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417170754947.png) 点击打开web-页面如下 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250417170638780.png) ##### 安装go2rtc插件 go2rtc插件是为了对视流转发用的专用插件,如果想把监控视频流接入,则可以使用这个插件,安装方法是,加载项中,搜索go2rtc, ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418150624562.png) 点击安装 ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250418150851886.png) 安装完成后开启自动恢复,自动更新 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418151926288.png) 其设置中基本没什么要改的. ##### 安装VLC可以播放视频等功能,需要的话可以安装 在加载商店中搜索vlc ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418153825278.png) 点击安装 ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250418153923072.png) 安装成功如下所示 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418154157793.png) 配置中基本没要要配置的东西 #### 利用 Docker 安装 PostgreSQL 虽然 Home Assistant OS 本身不允许直接访问系统底层,但它内置了 Docker 支持,因此可以直接运行 PostgreSQL 的 Docker 容器。 ###### **步骤** 1. **确保您有 SSH 访问权限** - 安装 Home Assistant 的 SSH & Web Terminal Add-on(高级模式)。 - 开启 SSH 访问,具体步骤如下: 1. 前往 **Supervisor > Add-on Store**。 2. 搜索并安装 **SSH & Web Terminal**(官方插件)。 3. 配置 SSH 插件,确保 `protected` 设置为 `false`,然后启动它。 2. **运行 PostgreSQL 容器** - 在 SSH 或 Web Terminal 中运行以下命令: ``` docker run -d \ --name=postgresql \ -e POSTGRES_USER=dtuser \ -e POSTGRES_PASSWORD= **pwd** \ -e POSTGRES_DB=dtha \ -v /db/pgsqldata:/var/lib/postgresql/data \ -p 5432:5432 \ postgres ``` - 替换 `**pwd**` 为您想要设置的数据库密码,些密码,需要管理员咨询 - 数据库名称为 `dtha`,用户名为 `dtuser`。 - 数据将存储在 `/mnt/data/supervisor/postgresql`,确保数据在重启后不会丢失。 登录ssh,并查看已安装的docker镜像如下 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418154852933.png) 先创建pgsql存储卷需要的目录,这个我们统一定为如下目录,并给777权限 ``` /db/pgsqldata ``` 即在根目录下,创建db目录,然后在db目录中创建pgsqldata,并给足权限 ``` / # cd homeassistant homeassistant # ls automations.yaml configuration.yaml home-assistant.log home-assistant.log.fault home-assistant_v2.db-shm scenes.yaml secrets.yaml blueprints deps home-assistant.log.1 home-assistant_v2.db home-assistant_v2.db-wal scripts.yaml tts homeassistant # mkdir db homeassistant # sudo chmod -R 7777 ./db homeassistant # cd db db # ls db # pwd /homeassistant/db db # sudo mkdir pgsqldata db # sudo chmod -R 7777 ./pgsqldata db # ls pgsqldata db # cd pgsqldata pgsqldata # ls -l ./ total 0 pgsqldata # cd .. db # ls -l ./ total 4 drwsrwsrwt 2 root root 4096 Apr 18 16:30 pgsqldata ``` 接下来,拉取镜pgsql的镜像,并指向/mnt/data/pgsqldata,此处要注意不是所有的目录都有写入权限,homeAssitant中大部份目录都没有写入权限,要注意找有写入权限的目录 ``` data # docker run -d \ --name=postgresql \ -e POSTGRES_USER=dtuser \ -e POSTGRES_PASSWORD=Dtuse1r \ -e POSTGRES_DB=dtha \ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \ -p 5432:5432 \ --restart unless-stopped postgres # 执行完成后,返回: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 ``` 系统会自动拉取镜像,并启动,此过程务必保证秒学上网的畅通 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418160447867.png) 如下图,所示, ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418160956787.png) 说明目录没有权限, ``` chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata ``` 给够目录权限后,再次运行,安装指令 ``` data # docker run -d \ --name=postgresql \ -e POSTGRES_USER=dtuser \ -e POSTGRES_PASSWORD=Dtuse1r \ -e POSTGRES_DB=dtha \ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \ -p 5432:5432 \ --restart unless-stopped postgres # 执行完成后,返回: docker: Error response from daemon: Conflict. The container name "/postgresql" is already in use by container "f5b838e28f30ff3bde9f90276b8aa4924b4f1ecec2cdbd4e38dfe27e2c988edb". You have to remove (or rename) that container to be able to reuse that name. See 'docker run --help ``` 上述说明pgswl的容器已经存在,需要删除 ``` docker stop postgresql docker rm postgresql ``` 然后,再次执行,即可成功 ``` data # docker run -d \ --name=postgresql \ -e POSTGRES_USER=dtuser \ -e POSTGRES_PASSWORD=Dtuse1r \ -e POSTGRES_DB=dtha \ -v /mnt/data/pgsqldata:/var/lib/postgresql/data \ -p 5432:5432 \ --restart unless-stopped postgres # 执行完成后,返回: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 ``` 用ps -a 查询一下,如下图所示,说明docker 启动成功, ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418164459153.png) 为了验证重新启动后,pgsql容器是否启动,可以重启后,再次查看一下,此容器是否跟随系统启动成功. 接下来,我们可以在局域网中找台机器来做一下数据库连接测试 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418165956219.png) 如上图,说明pgsql已经安装成功了,并能正常访问. ###### 更改homeAssistant默认的数据库为pgSql HomeAssistant默认的数据库为sqlite,我们需要把其换成我们新安装的pgsql, 通过我们安装的插件File editor 打开配置文件 /homeassistant/configruration.yaml 增加recorder中的配置如下 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418174329014.png) 然后,保存退出,重启,看看ha有滑的给出错误提示,也可以通过,连接工具来查看,ha有没有在数据库中建表,写入数据 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418174634684.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418174713239.png) 如上图,说明数据已功功折写入PGSQL,此时,我们可以把系统默认的数据库删除了 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418175114702.png) 这个文件是homeAssistant默认的sqlite数据库文件,可以删除了,点右则的三个点,在弹出的菜单中,点delete ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418175225430.png) 点击yes确认 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418175508507.png) 然后重启,再次查看,是否重新生成此文件, 如果没有重新生成此文件 ,说明,系统已经在用pgsql了 #### 安装HACS ###### hacs简介 HACS,全称 Home Assistant Community Store(Home Assistant 社区商店),是一个用于 Home Assistant 的第三方扩展插件管理器。它为用户提供了一个方便的方式来安装和管理社区开发的自定义集成、插件、主题和其他扩展组件。 这个插件集中了许多大屏用的主题与插件,属于必装插件. ###### 安装hacs  ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418181153341.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418181342200.png) 进入ssh登 录后,输入如下指令 ``` wget -O - https://get.hacs.xyz | bash - ``` 回车后,系统会自动下载HACS,并放到指定的目录,且提示重启,我们按要求重启,即可。 ###### 启用HACS 安装完成后,您需要在 Home Assistant 的界面中启用 HACS: 1. 打开 Home Assistant UI。 2. 点击 **设置** > **设备与服务** > **集成**。 3. 点击右下角 **添加集成**。 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418182141542.png) 4. 搜索并选择 **HACS**,然后按照屏幕上的提示完成设置。 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418182217781.png) 点击后,在弹出的窗口中,全打勾,点提交 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418182302438.png) 引时,弹出新的窗口,验证github授权 ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250418182504439.png) 点击这个github链接,并记住下方的授权码后面会用到 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418182735517.png) 在弹出的页面中,输入,记住的授权码,点Continue 提示具体的授权对像为hacs,点击Autuorize hacs ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418182839101.png) 授权成功 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418182924523.png) 返回hacs后,提示成功,并显示已发现如下设备,hacs,选择区域,可以自定义个区域,然后点完成 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418183032110.png) 看到如下界面hacs就安装好了 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418183101328.png) 点击配置,启用App Daemon apps discovery & tgracking. ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418183240218.png) 以上配置 完成后,重新启动HA,则可以在左侧栏中找到HACS菜单了 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418183847192.png) #### 更改HomeAssistant左上角LOGO标题 homeAssistant 左上角默认的标题为 Home Assistant 我们希望改成自已的标识如:岱特智能 ###### 下载第三方插件hass-favicon的Releases到本地目录 [点击链接]([thomasloven/hass-favicon: 🔹 Change the favicon of your Home Assistant instance](https://github.com/thomasloven/hass-favicon)),到其github的官方页面 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418184710407.png) 下载其源码 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418184735514.png) ###### 解压下载的源码 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418184843193.png) ###### 将插件复制到ha上 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418184913549.png) 打开源码目录,进入custom_commponents目录,把favicon目录整体复制 然后,进入ha的config-custom_compoents目录粘贴,复制到的favicon ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418185131376.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418185659978.png) 然后创建目录 ``` \\ha-o[\config\www\favicons ``` 并把胜透的logo文件st-logo.,png放到目录中 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418185756212.png) 然后在配置文件中增加如下内容 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418190110615.png) 然后,重启HomeAssistant即可 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250418190515179.png) 重启后,左上脚的LOGO,已变为岱特智能. #### 安装米家集成插件 米家集成是一个由小米官方提供支持的 Home Assistant 的集成组件,它可以让您在 Home Assistant 中使用小米 IoT 智能设备。 这个插件,可以直接把所有小米的各种传感器集成到HomeAssistant中,所以这个是必装插件. 其官方仓库地址为:[ Xiaomi Home Integration for Home Assistant](https://github.com/XiaoMi/ha_xiaomi_home) ``` https://github.com/XiaoMi/ha_xiaomi_home ``` 其安装方法有三种,我们为了方便选择第一种,其它两种方法,可以自行尝试.官方描述的方装主式如下: ``` cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config ``` 其也提供[中文的安装说明]([ha_xiaomi_home/doc/README_zh.md at main · XiaoMi/ha_xiaomi_home](https://github.com/XiaoMi/ha_xiaomi_home/blob/main/doc/README_zh.md)) ###### 安装 首先,登录SSH.然后进入config目录 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419091154969.png) 先拉取代码 ``` config # git clone https://github.com/XiaoMi/ha_xiaomi_home.git Cloning into 'ha_xiaomi_home'... remote: Enumerating objects: 1322, done. remote: Counting objects: 100% (761/761), done. remote: Compressing objects: 100% (342/342), done. remote: Total 1322 (delta 628), reused 419 (delta 419), pack-reused 561 (from 2) Receiving objects: 100% (1322/1322), 847.87 KiB | 1.64 MiB/s, done. Resolving deltas: 100% (817/817), done. ``` ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419091433438.png) 然后,再切换到ha_xiaomi_home目录 ``` cd ha_xiaomi_home ``` ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419091407697.png) 然后执行安装指令 ``` ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. ``` ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419091913176.png) 安装完成,提示需要重启. ###### 配置 在重新启动后,在设置-设备与服务-添加集成中,搜索“`Xiaomi Home`” ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419092851229.png) 点击,会提示风险提示 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419092928630.png) 勾选,我知悉,点击下一步,会进入基础配置页面,如下图 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419093447515.png) 勾选集成网络配置,同蛙,注意一下,认证跳转地址,此处显款为http://homeassistant.lcaol:8123,这个地址,估计不可能通过,只因为我们是在局域网其它机器操作这一步的,实际上我们的地址,应是地址栏中折实际地址,如上图,我们的认证地址是:http://192.168.3.2:8123, 在下一步跳转转小米后,打开的网址时,不出意外的话估计是打不开的,需要把那个地址的前半段,换成这个实际地址. 点击下一步, 此处为检测网络,网络检测通过时,才能进行下一步 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419094057861.png) 当弹出如下界面时,说明网络检测通过了, ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419094122194.png) 点击,"请点此处进行登录", ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419094248419.png) 此时,跳转到小米折认证网页,此时输入正确米家帐号与密码,点登录 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419094348660.png) 弹出 友情提示,点击,同意并继续 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419094434242.png) 小米的安全验证,点下一步, ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419094514847.png) 点击 发送验证码 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419094551241.png) 输入验证码后,点确定 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419094650763.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250419094809037.png) 跳转到了认证窗口,但是却是无方访问此页面,说明认证地址,错了,我们需要把它换成我们正确的HA地址:http://192.168.3.2:8123,如下图所示 ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250419095023617.png) 手工将正确的地址替换地址头部后,回车,打开这个地址,类似如下格式: ``` http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 ``` 如果,用上述方式,仍然不能访问,则可用如下方法,更改host文件,强行指定本地DNS,指向homeassistant.local,方法如下: **修改 Windows `hosts` 文件的方法** 使用管理员身份用记事本打开如下文件 :C:\Windows\System32\drivers\etc\hosts 在最后一行增加 ``` 192.168.3.2 homeassistant.local ``` 如下图 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419100949549.png) 然后,再重新试过一次 不出意外的话,就会自动认证通过 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419101109184.png) 可以根据提示自动选 则房间同步模式,这个要根据具体情况选择,点击下一步,将提示插件集成成功.如下示意图 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419101406365.png) 看到如下图,就说明集成完成了 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419101429977.png) 不出意外的话概览中,就已经自动增加了许多设备. ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419101640136.png) #### 安装WebRTC Camera WebRTC camera插件以实现频流播放.如果ha要接入视频监控,则需要安装这个组件, [仓库地址](https://github.com/AlexxIT/WebRTC): ``` https://github.com/AlexxIT/WebRTC ``` 这个插件也有多种安装方法,hacs安装,直接复制等方法,因为上文,我们已经安装过了HACS插件,所以我们选择使用HACS方式安装。 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419102728322.png) 点击后,弹出如下页面 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419102904947.png) 点击DownLoad按钮 ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250419102948033.png) 点击DownLoad 当然,我们也可以选择不同折版本 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419103037398.png) 当弹出窗口自动消失,点击上方的返回(**注意:不会自动返回,须人工返回**),返回如下图 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419103346586.png) 看到上方的等待重启,说明组件已经安装上,需要重启,我们执行重启. 重启完成后,会看到,Downloaded中已经显示,了安装成功折WebRTC Camera组件. ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419103804928.png) 然后,进入设置-设备与服务-添加集成,搜索WebRTC ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419104327438.png) 点击WebRtc Camera ![](https://dhcdn.leon056.com/bpfStudy/docs/image-20250419104536359.png) 弹出go2rtc url地址窗口,此插件,我们之前已装过,就在本机,所地址不用改,直接点提交 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419104656703.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419104719116.png) 点完成.WebRTC安装成功.如下图所示 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419104758351.png) 为了演示如何显示监控视频,我们新增加一个sample的仪表盘. ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419105206240.png) 点击,添加仪表盘 ![image-20250419105243922](C:\Users\trphoenix\AppData\Roaming\Typora\typora-user-images\image-20250419105243922.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419105311039.png) 在弹出折对话框中,输入仪表盘标题 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419110150389.png) 这样我样就增加了一个仪表盘dashboard-sampale,我们可以在这个仪表盘中增加演示用的组件,此处,我们想增加一个演示用的监控摄像头.点击右上角的编辑按钮. ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419110222025.png) 点击创建一个组件 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419110919529.png) 然后,新建卡片,选择自定义WebRTC卡片,如果没有这个组件,则需要刷新几次,就能看到这个组件. ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419112102073.png) 我样在卡片设置中输入url的视频流地址 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250419112451043.png) ``` type: custom:webrtc-camera url: "rtsp://admin:Camera_data2018@192.168.50.131:554/stream2" ``` #### 安装motionEye **motionEye** 是一个流行的摄像头软件(称为 motion)的前端。本插件同时提供了前端和摄像头软件,让您可以将摄像头添加到 **Hass.io**(Home Assistant)系统中。 **motionEye** 是一个开源的闭路电视(CCTV)和网络视频录像机(NVR),它设计优雅且非常易于使用。它可以用作婴儿监视器、建筑工地监控、商店摄像头录像机、花园安防等。 ###### motionEye 的一些特点: - 支持大量摄像头,包括 IP 摄像头。 - 可以通过将多个 **motionEye** 实例连接在一起添加多个摄像头。例如,可以在网络中使用运行 MotionEyeOS 的 Pi Zero 和 Pi 摄像头。 - 支持将录像上传到 Google Drive 和 Dropbox。 - 支持运动检测,包括邮件通知和计划任务。 - 可以连续录像、运动录像或延时录像,并支持保留设置。 - 支持配置中的“操作按钮”。 ###### 安装方法 在设置-加载项中,搜索"motionEye", ![](https://dhcdn.leon056.com/bpfStudy/docs/20250420105654026.png) 点击查看详情页,并安装 ![](https://dhcdn.leon056.com/bpfStudy/docs/20250420102823888.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250420103843598.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250420104034424.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250420104313277.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250420104356114.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250420104650504.png) ![](https://dhcdn.leon056.com/bpfStudy/docs/20250420105025406.png) motioneye默认的用户名为admin,密码为空.