From 4e50d28745cfe052dc09ad6c42d060fd6b7742fb Mon Sep 17 00:00:00 2001
From: trphoenix <spd260@126.com>
Date: 星期三, 20 八月 2025 11:32:18 +0800
Subject: [PATCH] 增加人员感应卡片生成器

---
 Help/docs/node-reds/安装node-red记录.md                           |    0 
 Help/site/node-reds/node-red常用组件列表/index.html                 |  334 ++
 Help/site/Usages/QA/errorsQA/index.html                       |   51 
 Help/site/Usages/QA/HA-如何实现状态反转/index.html                    |  204 +
 Help/mkdocs.yml                                               |   16 
 Help/site/Usages/QA/TS88透析机联机通信-中文版/index.html                |  849 ++++++
 Help/site/Usages/QA/透析中心HA环境温度发送到胜透的操作指南/index.html           |  719 +++++
 Help/site/node-reds/如何把node-red安装到orangepiZero3/index.html    |  236 +
 Help/docs/node-reds/node-red常用组件列表.md                         |   36 
 Help/site/Usages/QA/如厕风险-人存在传感器配置方法/index.html                |  376 ++
 Help/site/install-guide/configX86Bios/index.html              |   35 
 Help/docs/Usages/QA/TS88透析机联机通信-中文版.md                        |  267 +
 Help/site/Usages/backupAndRestore/BackupToFile/index.html     |   35 
 Help/site/index.html                                          |   37 
 Help/site/install-guide/LinuxInstall/index.html               |   35 
 Help/docs/Usages/QA/VMware-ESXi扩展HomeAssistant硬盘指南.md         |  166 +
 Help/docs/node-reds/node-red如何连接modbus _slave设备.md            |    0 
 Help/site/Usages/netconfig/netconfig/index.html               |   35 
 Help/site/Usages/QA/VMware-ESXi扩展HomeAssistant硬盘指南/index.html |  399 ++
 Help/docs/Usages/QA/透析中心HA环境温度发送到胜透的操作指南.md                   |  554 +++
 Help/docs/node-reds/ModbusPoll-v7.0.0使用教程.md                  |  682 ++++
 Help/site/about/index.html                                    |   35 
 Help/site/node-reds/ModbusPoll-v7.0.0使用教程/index.html          |  921 ++++++
 Help/site/Usages/initConfig/initConfig/index.html             |   38 
 Help/site/Usages/initConfig/installHacs/index.html            |   35 
 Help/docs/Usages/QA/如何把HAos的源换成国内源.md                         |   37 
 Help/site/Usages/QA/如何集成和风天气组件到HA/index.html                  |  242 +
 Help/docs/Usages/QA/如厕风险-人存在传感器配置方法.md                        |  218 +
 Help/site/install-guide/vmwareExsi安装Ha/index.html             |   35 
 Help/site/search.html                                         |   35 
 Help/site/Usages/QA/如何把HAos的源换成国内源/index.html                 |  194 +
 Help/site/node-reds/安装node-red记录/index.html                   |  217 +
 Help/site/Usages/backupAndRestore/RestoreFromFile/index.html  |   35 
 /dev/null                                                     |   57 
 Help/docs/Usages/QA/generator_youren.html                     |  321 ++
 Help/site/install-guide/installHa/index.html                  |   35 
 Help/docs/Usages/QA/HA-如何实现状态反转.md                            |   38 
 Help/docs/node-reds/如何把node-red安装到orangepiZero3.md            |    0 
 Help/site/node-reds/node-red如何连接modbus _slave设备/index.html    |  259 +
 Help/site/404.html                                            |   35 
 Help/docs/Usages/QA/如何集成和风天气组件到HA.md                          |   59 
 Help/site/search/search_index.json                            |    2 
 Help/site/install-guide/WinPeInstall/index.html               |   35 
 Help/site/sitemap.xml.gz                                      |    0 
 Help/site/Usages/usage/index.html                             |   35 
 Help/site/install-guide/BackupAndRestore/index.html           |   35 
 Help/site/Usages/QA/generator_youren.html                     |  321 ++
 47 files changed, 8,280 insertions(+), 60 deletions(-)

diff --git "a/Help/docs/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254.md" "b/Help/docs/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254.md"
new file mode 100644
index 0000000..d4c7f7e
--- /dev/null
+++ "b/Help/docs/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254.md"
@@ -0,0 +1,38 @@
+ 
+首先,在小米的设备里,找到你要反转状记的传感器的 ID,
+以大连为例,冰箱门的传感器状态是反的,门开时显示关的,门关时显示开的,需要反转显
+法,此设备的传感器 ID 为:
+
+“binary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2
+
+记住这个 ID
+
+找到配置文件
+![](https://qncdn.tairongkj.com/docs/images/20250815103221.png)
+
+在配置文件中增加如下格式的传感器反转配置,注意,此配置要严格遵守 YML 格式,不懂
+的可以百度学一下, 
+
+内容为:
+
+```
+  - binary_sensor:
+      - name: "大连冰箱门-1 (状态反转)"
+        unique_id: "reversed_大连冰箱门_1"
+        state: >
+          {{ is_state('binary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2', 'off') }} 
+```
+
+注意,state 后面的格式要对,传感器 ID 要换成刚记下的传感器 ID
+这样你就多了一个名称为:“大连冰箱门-1 (状态反转)”的传感器
+
+然后,到仪表盘,对应的组件中 
+![](https://qncdn.tairongkj.com/docs/images/20250815103419.png)
+选中 
+大连冰箱门-1 (状态反转)
+保存即可
+这样就实现了反转,仪表盘中,不要再使用原来的 ID,要使用你配置文件中新增的 id
+
+注意:
+如果,状态没有反转,可以从开发者工具中查看传感器的状态,确认是否正确反转。
+![](https://qncdn.tairongkj.com/docs/images/c4822803defafa35b8650a5b865c1336.png)
diff --git "a/Help/docs/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210.md" "b/Help/docs/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210.md"
new file mode 100644
index 0000000..377150d
--- /dev/null
+++ "b/Help/docs/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210.md"
@@ -0,0 +1,267 @@
+# TQS-88 单人血液透析机-数据通信操作手册
+
+## 注意事项
+
+- 在开始使用透析机前请仔细阅读本操作手册。
+- 任何不当操作都可能会导致事故。使用符合本说明的透析机。
+- 请将本操作手册置于易于获取的位置,以便在需要时可随时参阅。
+
+本操作手册旨在为操作人员提供使用"数据通信"所需的信息。
+
+本操作手册主要涵盖以下有关"数据通信"的内容:
+1. 规格
+2. 与PC的连接
+
+正文中警示定义如下:
+- **注意**:此标志后的描述是使用说明。您必须遵守使用说明。
+- **附注**:此标志后的描述是为了让您增进理解的有用信息或补充说明事项。
+
+## 简介
+
+操作此选配件("数据通信"功能)时,请务必充分理解和特别注意以下事项。使用前必须充分了解内容。
+
+### 1. 操作手册
+
+(1) 本操作手册介绍了正确使用"数据通信"所需的信息和安全的操作方法,并非旨在说明对患者的治疗。
+
+(2) 只有仔细阅读并充分理解本操作手册中所含的说明后,才能使用设备并进行操作以及维护。
+
+(3) 本操作手册中的操作方法和安全注意事项适用于进行特定目的的"数据通信"使用。请勿尝试以本手册中所列以外的任何方式使用设备。
+
+本手册的内容受东丽医疗科技(青岛)股份有限公司版权保护,东丽医疗科技(青岛)股份有限公司保留所有权利。未经东丽医疗科技(青岛)股份有限公司事先书面同意,不得以任何形式复制、转载本手册中的任何内容,或将其译为其他语言。
+
+### 2. 责任限制
+
+- 我们希望您事前了解,对由于操作此透析机所造成的任何可能的损害或利益损失,我们不承担任何责任。
+- 请勿拆卸或改造透析机,否则将不在制造商保修范围之内。
+- 由于客户拆卸、改造、分解或使用不当以及安装环境、搬运不当等造成的损害,我们不承担任何责任。
+- 如果无法发挥固有功能,则不得用于治疗用途。对此类情形下造成的任何损害或对患者的损伤,我们不承担任何责任。
+- 透析机的日常维护和检查应根据"维护检查手册"进行。
+
+## 第1章 规格
+
+### 1.1 数据通信功能的描述
+
+透析机的治疗数据和设置数据可从以太网接口传输到计算机中。
+
+### 1.2 通信规格
+
+#### 1.2.1 LAN参数
+
+| 编号 | 项目       | 描述                                  |
+| ---- | ---------- | ------------------------------------- |
+| 1    | 以太网接口 | 10Base-T 或 100Base-TX(自动感应)    |
+| 2    | 串口       | RJ45                                  |
+| 3    | 网络配置   | 可自定义                              |
+
+#### 1.2.2 透析机通信步骤
+
+透析机端管理的数据通过PC端的数据传输请求进行传输。
+
+```mermaid
+graph TD
+    A[PC] -->|数据传输请求| B[透析机]
+    B -->|数据传输| A
+    B -->|临床数据传输| A
+```
+
+- [1] PC端传输数据请求信号(参阅第1.2.3节)。
+- [2] 透析机接收PC的数据请求信号,并发送各种相应的数据(参阅第1.2.4节和第1.2.5节)。
+
+#### 1.2.3 从PC传输到透析机的数据及其格式
+
+数据传输请求(3个字节)
+
+| "K"(4BH) | CR(0DH) | LF(0AH) |
+| ---------- | --------- | --------- |
+
+#### 1.2.4 从透析机传输到PC的数据格式
+
+##### 临床数据
+
+| 开始 [1] | 数据长度 [2] | 数据 [3] | 总数 [4] | 结束 [5] |
+| -------- | ------------ | -------- | -------- | -------- |
+
+##### 数据组成
+
+| 编号 | 字节数 | 描述                                                         |
+| ---- | ------ | ------------------------------------------------------------ |
+| [1]  | 2      | 数据开始代码(ASCII)<br/>"K""1"                             |
+| [2]  | 3      | 数据长度(ASCII)<br/>采用3位数的形式表示第三项中计算的所有字节的总和。<br/>例如)如果总数为123个字节,则显示为:"1","2","3" |
+| [3]  | 1      | 数据验证代码(ASCII)<br/>(请参阅1.2.5。)<br/>* 按数据类型的编号反复传输。 |
+| [3]  | 单个   | 数据(ASCII)<br/>(请参阅1.2.5。)<br/>* 按数据类型的编号反复传输。 |
+| [4]  | 2      | 用于和数校验的数据<br/>计算[1]~[3]总和,较低的十六进制2位数会转换成ASCII代码。<br/>例如)总共5aH字节,则显示为:"5"、"A" |
+| [5]  | 2      | 数据结束代码<br/>CR、LF                                       |
+
+#### 1.2.5 从透析机传输到PC的数据
+
+##### 数据列表
+
+| 编号 | 数据名称           | 数据标识代码 | 字节数 | 单位     |
+| ---- | ------------------ | ------------ | ------ | -------- |
+| 1    | UF目标             | "A"          | 5      | L        |
+| 2    | UF量               | "B"          | 5      | L        |
+| 3    | UF速率             | "C"          | 5      | L/hr     |
+| 4    | 血液流速           | "D"          | 5      | mL/min   |
+| 5    | 注射器流速         | "E"          | 5      | mL/h     |
+| 6    | 透析液温度         | "F"          | 5      | 摄氏度   |
+| 7    | 透析液电导度       | "G"          | 5      | mS/cm    |
+| 8    | 静脉压             | "H"          | 5      | mmHg     |
+| 9    | 透析液压           | "I"          | 5      | mmHg     |
+| 10   | TMP                | "J"          | 5      | mmHg     |
+| 11   | 透析时间           | "K"          | 5      | min      |
+| 12   | 透析液温度警报     | "a"          | 1      | —        |
+| 13   | 电导度警报         | "b"          | 1      | —        |
+| 14   | 静脉压警报         | "c"          | 1      | —        |
+| 15   | 透析液压力警报     | "d"          | 1      | —        |
+| 16   | TMP警报            | "e"          | 1      | —        |
+| 17   | 气泡侦测器警报     | "f"          | 1      | —        |
+| 18   | 漏血警报           | "g"          | 1      | —        |
+| 19   | 其他警报           | "h"          | 1      | —        |
+| 20   | 透析液流速         | "L"          | 5      | mL/min   |
+| 21   | BPM检测时间        | "M"          | 5      | 时间     |
+| 22   | BPM最高血压        | "N"          | 5      | mmHg     |
+| 23   | BPM最低血压        | "O"          | 5      | mmHg     |
+| 24   | BPM脉冲            | "P"          | 5      | 脉冲     |
+| 25   | BPM收缩上限警报    | "Q"          | 5      | mmHg     |
+| 26   | BPM收缩下限警报    | "R"          | 5      | mmHg     |
+| 27   | BPM压脉带压力      | "S"          | 5      | mmHg     |
+| 28   | BPM检测间隔时间    | "T"          | 5      | min      |
+| 29   | 总血液流量         | "U"          | 5      | L        |
+| 30   | 静脉压上限警报     | "V"          | 5      | mmHg     |
+| 31   | 静脉压下限警报     | "W"          | 5      | mmHg     |
+| 32   | 总注射流量         | "X"          | 5      | mL       |
+| 33   | 透析液压上限警报   | "Y"          | 5      | mmHg     |
+| 34   | 透析液压下限警报   | "Z"          | 5      | mmHg     |
+| 35   | NaCl注入级别       | "i"          | 5      | —        |
+| 36   | UF个性化程序       | "j"          | 1      | —        |
+| 37   | 透析液选择         | "k"          | 1      | —        |
+| 38   | 电导度级别         | "l"          | 1      | —        |
+| 39   | 数据通信状态       | "m"          | 1      | —        |
+| 40   | 序列号             | "n"          | 8      | —        |
+| 41   | 动脉压             | "o"          | 5      | mmHg     |
+| 42   | 动脉压警报         | "p"          | 1      | —        |
+| 43   | 动脉压上限警报     | "q"          | 5      | mmHg     |
+| 44   | 动脉压下限警报     | "r"          | 5      | mmHg     |
+| 45   | TMP上限警报        | "s"          | 5      | mmHg     |
+| 46   | TMP下限警报        | "t"          | 5      | mmHg     |
+| 47   | 置换率             | "u"          | 5      | L/hr     |
+| 48   | 置换目标量         | "v"          | 5      | L        |
+| 49   | 置换液进程量       | "w"          | 5      | L        |
+| 50   | Na个性化程序       | "x"          | 1      | —        |
+| 51   | 血液泵个性化程序   | "y"          | 1      | —        |
+| 52   | 注射泵个性化程序   | "z"          | 1      | —        |
+| 53   | 透析液个性化程序   | "!"          | 1      | —        |
+| 54   | 透析液温度设置值   | "#"          | 5      | 摄氏度   |
+| 55   | 缺水2警报          | "$"          | 1      | —        |
+
+##### 数据说明
+
+1) 未指定数据传输的顺序。
+2) 第1到11项、20到35项、41项、43到49项和54项的数据以5位数表示。
+   - 如果包含小数点,则5位数包含了小数点。
+   - 如果数据为负数,数字将以减号标志"-"开头。
+   - 如果高位字节为零,则显示"0"。
+   - 例如)目标UF量为2.35L,则输入"0"、"2"、"."、"3"和"5"。
+3) 第12至19项、42项和55项的警报值为"1"(已警报)或"0"(未警报)。
+4) 第19项其他警报是除第12至18项、42项和55项以外的警报。
+5) 第40项数据是序列号(左对齐)。
+6) 第21项"血压检测时间"指是否对血压进行检测的判断。
+7) 第25至28项是与血压相关的设置。
+   - 设置更改后,最新设置会在下一次数据传输请求时传输。
+
+## 第2章 与PC的连接
+
+### 2.1 连接透析机和PC
+
+![透析机连接示意图](https://qncdn.tairongkj.com/docs/images/20250607174933220.png)
+
+| 编号 | 名称 | 功能 |
+| ---- | ---- | ---- |
+| 1 | LAN | - 通过本透析机背面提供的LAN接口,连接此透析机和PC。<br>- LAN:RJ-45串口。 |
+
+### 2.2 通信基板IP的设定
+
+#### 2.2.1 打开"搜索工具"应用程序
+
+如下图所示:
+
+![搜索工具界面](https://qncdn.tairongkj.com/docs/images/20250607175137063.png)
+
+#### 2.2.2 搜索通信基板
+
+在打开的"搜索工具"界面下,点击左上角类似望远镜标志的"搜索"按钮,搜索已经连接到电脑的通信基板。
+
+![搜索按钮](https://qncdn.tairongkj.com/docs/images/20250607175312162.png)
+
+#### 2.2.3 设定PC网络参数
+
+为确保PC和通信基板的正常通信,根据搜索到的通信基板的IP对通信用PC进行参数设定(IP地址、子网掩码、默认网关)。
+
+![网络设置](https://qncdn.tairongkj.com/docs/images/20250607175451102.png)
+
+**IP地址、子网掩码、默认网关的设定:**
+
+1) 确保和通信基板IP地址在同一域内,且设定的IP和同一域内其他设备的IP不冲突。
+2) PC的IP地址设定完成后,鼠标点击子网掩码输入栏,子网掩码会自动生成(原则上自动生成的子网掩码和通信基板的子网掩码是相同的,参考2.2.4对子网掩码进行确认)。
+3) PC的默认网关和通信基板相同(参考2.2.4对默认网关进行确认)。
+
+#### 2.2.4 进入IP设定界面
+
+选中搜索到的目标IP,点击"设置"按钮,进入IP设定界面。在IP设定界面下,根据需要,重新设定通信基板的IP,并点击"保存"键,完成新IP的设定。
+
+> **注意**:通信基板IP设定界面也可以不用"搜索工具"软件而直接在IE浏览器中输入 http://192.168.0.233/ 直接打开。
+
+### 2.3 通信基板临时IP的设定方法
+
+#### 2.3.1 设置临时IP
+
+点击"搜索"按钮对连接到PC的通信设备进行搜索,选中目标IP,点击"设置临时IP(F)"按钮。
+
+![临时IP设置](https://qncdn.tairongkj.com/docs/images/20250607175708609.png)
+
+#### 2.3.2 配置临时IP
+
+在打开的"设置临时IP(F)"界面下,即可根据需要对目标IP进行临时设定。
+
+> **注意**:设定的IP只有在设备未断电和未重启时有效,如果设备重启或者断电,IP的设定会自动恢复到出厂设置。
+
+![临时IP配置](https://qncdn.tairongkj.com/docs/images/20250607175824120.png)
+
+### 2.4 通信基板的重置功能
+
+#### 2.4.1 打开基板管理界面
+
+在PC的IE浏览器中输入通信基板的IP地址进行搜索(以IP地址为192.168.0.233为例,在IE浏览器中应输入 http://192.168.0.233/ )打开如下的画面。
+
+![基板管理界面](https://qncdn.tairongkj.com/docs/images/20250607180026372.png)
+
+#### 2.4.2 执行恢复出厂设置
+
+点击画面左侧的"恢复出厂设置"项,进入"恢复出厂设置"界面。点击"恢复"键即可恢复出厂设置。
+
+![恢复出厂设置](https://qncdn.tairongkj.com/docs/images/20250607180122463.png)
+
+---
+
+## 文档信息
+
+**单人血液透析机**  
+**TQS-88 选配**  
+**数据通信操作手册**
+
+00版发布 2019/01/11
+
+**东丽医疗科技(青岛)股份有限公司**  
+青岛市即墨区服装工业园内孔雀河四路63号
+
+电话:0532-81721030  
+传真:0532-81721025  
+邮政编码:266200
+
+☑ 原版发行  
+□ 原版译本
+
+## 附录
+
+![附录图片](https://qncdn.tairongkj.com/docs/images/44ae02381addecb521855df40c6427a.jpg)
diff --git "a/Help/docs/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227.md" "b/Help/docs/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227.md"
new file mode 100644
index 0000000..57a853f
--- /dev/null
+++ "b/Help/docs/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227.md"
@@ -0,0 +1,166 @@
+# VMware ESXi中扩展Home Assistant OS硬盘空间指南
+
+## 概述
+本文档介绍如何在VMware ESXi环境中将通过OVA方式安装的Home Assistant OS虚拟机硬盘从32GB扩展到500GB。
+
+## 前提条件
+- VMware ESXi 5.5 或更高版本
+- 已安装的Home Assistant OS虚拟机
+- ESXi主机有足够的存储空间(至少500GB可用)
+- 管理员权限访问ESXi Web界面
+
+## 操作步骤
+
+### 步骤1:准备工作
+1. **创建虚拟机快照**(强烈建议)
+   - 在ESXi Web界面中选择Home Assistant虚拟机
+   - 点击"操作" → "创建快照"
+   - 输入快照名称:`扩容前备份_YYYY-MM-DD`
+   - 点击"创建快照"
+
+2. **完全关闭虚拟机**
+   - 在Home Assistant界面中选择"系统" → "重启系统"
+   - 选择"关机"选项
+   - 或在ESXi界面中选择虚拟机,点击"关闭电源"
+   - ⚠️ **重要**:确保是完全关闭,不是挂起状态
+
+### 步骤2:在ESXi中扩展硬盘
+1. **进入虚拟机编辑模式**
+   - 在ESXi Web界面中右键点击Home Assistant虚拟机
+   - 选择"编辑设置"
+
+2. **修改硬盘容量**
+   - 在虚拟硬件列表中找到"硬盘1"
+   - 当前显示为"32 GB"
+   - 将数值改为"500",单位保持"GB"
+   - 点击"保存"
+
+3. **确认更改**
+   - 检查虚拟机设置中硬盘容量已显示为500GB
+   - 关闭编辑窗口
+
+### 步骤3:启动虚拟机
+1. **启动Home Assistant**
+   - 点击虚拟机的"开启电源"按钮
+   - 等待Home Assistant完全启动
+   - 通过Web界面确认系统正常运行
+
+### 步骤4:扩展文件系统
+虚拟硬盘已扩展,但操作系统还需要识别并使用新增空间。
+
+#### 方法1:使用Home Assistant内置工具(推荐)
+1. **访问Home Assistant终端**
+   - 在Home Assistant Web界面中
+   - 进入"设置" → "附加组件" → "Advanced SSH & Web Terminal"
+   - 如果没有安装,需要先安装SSH附加组件
+
+2. **执行扩展命令**
+   ```bash
+   # 查看当前磁盘使用情况
+   df -h
+   
+   # 扩展根分区(通常是/dev/sda8)
+   resize2fs /dev/sda8
+   
+   # 再次查看磁盘使用情况,确认扩展成功
+   df -h
+   ```
+
+#### 方法2:使用SSH连接(备选)
+1. **启用SSH**
+   - 在Home Assistant Web界面中启用SSH功能
+   
+2. **通过SSH连接**
+   ```bash
+   # 连接到Home Assistant
+   ssh root@[Home_Assistant_IP]
+   
+   # 查看磁盘分区
+   fdisk -l
+   
+   # 扩展文件系统
+   resize2fs /dev/sda8
+   ```
+
+### 步骤5:验证扩展结果
+1. **检查存储空间**
+   - 通过SSH或终端执行命令:`df -h`
+   - 或在Home Assistant Web界面中进入"设置" → "系统" → "存储"
+   - 确认可用空间接近500GB
+
+   **成功案例输出示例:**
+   ```bash
+   ➜  ~ df -h
+   Filesystem                Size      Used Available Use% Mounted on
+   /dev/sda8               491.4G      5.4G    466.0G   1% /homeassistant
+   /dev/sda8               491.4G      5.4G    466.0G   1% /data
+   /dev/sda8               491.4G      5.4G    466.0G   1% /backup
+   /dev/sda8               491.4G      5.4G    466.0G   1% /media
+   /dev/sda8               491.4G      5.4G    466.0G   1% /share
+   ```
+   可以看到 `/dev/sda8` 分区已成功扩展到 **491.4GB**,可用空间 **466.0GB**。
+
+2. **验证系统稳定性**
+   - 重启Home Assistant系统
+   - 确认所有功能正常工作
+   - 检查日志中无错误信息
+
+## 故障排除
+
+### 问题1:虚拟机无法启动
+**解决方案:**
+- 检查ESXi主机存储空间是否充足
+- 恢复到扩容前的快照
+- 重新执行扩容步骤
+
+### 问题2:文件系统扩展失败
+**解决方案:**
+```bash
+# 检查文件系统
+fsck /dev/sda8
+
+# 强制扩展
+resize2fs -f /dev/sda8
+```
+
+### 问题3:扩展后空间未显示
+**解决方案:**
+- 重启Home Assistant系统
+- 检查分区表:`fdisk -l`
+- 手动扩展分区:`parted /dev/sda resizepart 8 100%`
+
+## 注意事项
+
+### ⚠️ 安全警告
+- **必须**在操作前创建虚拟机快照
+- 确保在维护窗口期间执行此操作
+- 建议在测试环境中先验证步骤
+
+### 💡 最佳实践
+- 定期备份Home Assistant配置
+- 监控ESXi主机存储使用情况
+- 考虑使用精简配置磁盘以节省空间
+
+### 📋 验证清单
+- [ ] 创建虚拟机快照
+- [ ] 完全关闭虚拟机
+- [ ] 修改虚拟硬盘大小为500GB
+- [ ] 启动虚拟机并确认正常运行
+- [ ] 执行文件系统扩展命令
+- [ ] 验证存储空间显示接近500GB
+- [ ] 测试Home Assistant所有功能
+- [ ] 删除不需要的快照(可选)
+
+## 相关文档
+- [Home Assistant备份和恢复指南](./HomeAssistant备份恢复指南.md)
+- [VMware ESXi虚拟机管理指南](./VMware-ESXi虚拟机管理.md)
+
+## 更新记录
+- 2025-07-17:初始版本创建
+- 2025-07-17:添加成功案例验证,确认32GB→500GB扩展完全成功
+- 包含从32GB扩展到500GB的完整步骤和实际验证结果
+
+---
+**文档作者**:技术团队  
+**最后更新**:2025年7月17日  
+**适用版本**:VMware ESXi 5.5+, Home Assistant OS 所有版本
diff --git a/Help/docs/Usages/QA/generator_youren.html b/Help/docs/Usages/QA/generator_youren.html
new file mode 100644
index 0000000..8138940
--- /dev/null
+++ b/Help/docs/Usages/QA/generator_youren.html
@@ -0,0 +1,321 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Home Assistant 人员感应器卡片生成器</title>
+    <style>
+        body {
+            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+            max-width: 800px;
+            margin: 0 auto;
+            padding: 20px;
+            background-color: #f5f5f5;
+        }
+        .container {
+            background: white;
+            padding: 30px;
+            border-radius: 10px;
+            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
+        }
+        h1 {
+            color: #333;
+            text-align: center;
+            margin-bottom: 30px;
+        }
+        .form-group {
+            margin-bottom: 20px;
+        }
+        label {
+            display: block;
+            margin-bottom: 5px;
+            font-weight: bold;
+            color: #555;
+        }
+        input[type="text"] {
+            width: 100%;
+            padding: 10px;
+            border: 2px solid #ddd;
+            border-radius: 5px;
+            font-size: 14px;
+            box-sizing: border-box;
+        }
+        input[type="text"]:focus {
+            border-color: #4CAF50;
+            outline: none;
+        }
+        .btn {
+            background-color: #4CAF50;
+            color: white;
+            padding: 12px 24px;
+            border: none;
+            border-radius: 5px;
+            cursor: pointer;
+            font-size: 16px;
+            width: 100%;
+            margin-top: 20px;
+        }
+        .btn:hover {
+            background-color: #45a049;
+        }
+        .btn:nth-child(2):hover {
+            background-color: #d32f2f !important;
+        }
+        .output {
+            margin-top: 30px;
+            padding: 20px;
+            background-color: #f9f9f9;
+            border: 1px solid #ddd;
+            border-radius: 5px;
+            display: none;
+        }
+        .output h3 {
+            margin-top: 0;
+            color: #333;
+        }
+        pre {
+            background-color: #2d3748;
+            color: #e2e8f0;
+            padding: 15px;
+            border-radius: 5px;
+            overflow-x: auto;
+            white-space: pre-wrap;
+            word-wrap: break-word;
+        }
+        .copy-btn {
+            background-color: #2196F3;
+            color: white;
+            padding: 8px 16px;
+            border: none;
+            border-radius: 3px;
+            cursor: pointer;
+            margin-top: 10px;
+        }
+        .copy-btn:hover {
+            background-color: #1976D2;
+        }
+        .help-text {
+            font-size: 12px;
+            color: #666;
+            margin-top: 5px;
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <h1>🏠 Home Assistant 人员感应器卡片生成器</h1>
+        
+        <form id="yamlForm">
+            <div class="form-group">
+                <label for="roomName">卫生间名称:</label>
+                <input type="text" id="roomName" name="roomName" placeholder="例如: 男卫、女卫、主卫等" required>
+                <div class="help-text">显示在卡片顶部的房间标识</div>
+            </div>
+
+            <div class="form-group">
+                <label for="occupancySensor">有人无人触发状态实体ID:</label>
+                <input type="text" id="occupancySensor" name="occupancySensor" 
+                       placeholder="例如: binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078" required>
+                <div class="help-text">二进制传感器,用于检测是否有人</div>
+            </div>
+
+            <div class="form-group">
+                <label for="illuminationSensor">光照度实体ID:</label>
+                <input type="text" id="illuminationSensor" name="illuminationSensor" 
+                       placeholder="例如: sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005" required>
+                <div class="help-text">光照度传感器,显示当前光照强度</div>
+            </div>
+
+            <div class="form-group">
+                <label for="someoneDurationSensor">有人持续时长实体ID:</label>
+                <input type="text" id="someoneDurationSensor" name="someoneDurationSensor" 
+                       placeholder="例如: sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081" required>
+                <div class="help-text">记录有人状态持续时间的传感器</div>
+            </div>
+
+            <div class="form-group">
+                <label for="noOneDurationSensor">无人持续时长实体ID:</label>
+                <input type="text" id="noOneDurationSensor" name="noOneDurationSensor" 
+                       placeholder="例如: sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082" required>
+                <div class="help-text">记录无人状态持续时间的传感器</div>
+            </div>
+
+            <div style="display: flex; gap: 10px; margin-top: 20px;">
+                <button type="submit" class="btn" style="flex: 1;">🚀 生成 YAML 配置</button>
+                <button type="button" class="btn" style="flex: 1; background-color: #f44336;" onclick="clearForm()">🗑️ 清空表单</button>
+            </div>
+        </form>
+
+        <div id="output" class="output">
+            <h3>📋 生成的 YAML 配置:</h3>
+            <pre id="yamlOutput"></pre>
+            <button class="copy-btn" onclick="copyToClipboard()">📄 复制到剪贴板</button>
+        </div>
+    </div>
+
+    <script>
+        // YAML模板
+        const yamlTemplate = `type: markdown
+content: >
+  ^卫生间名称^{% if
+  is_state('^有人无人触发状态实体ID^',
+  'on') or is_state('^有人无人触发状态实体ID^',
+  '有人') %}
+    # 🔴 有人-不可用
+  {% else %}
+    # 🟢 无人-可用
+  {% endif %}
+
+
+  **光照度:** {{
+  states('^光照度实体ID^') |
+  default('未知') }} lx 
+
+  {% if
+  is_state('^有人无人触发状态实体ID^',
+  'on') or is_state('^有人无人触发状态实体ID^',
+  '有人') %} **有人持续:** {% set duration =
+  states('^有人持续时长实体ID^')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  else %} **无人持续:** {% set duration =
+  states('^无人持续时长实体ID^')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  endif %}
+card_mod:
+  style: |
+    ha-card {
+      text-align: center;
+    }
+    ha-card h1 {
+      font-size: 48px !important;
+      margin: 10px 0 !important;
+    }
+    ha-card p {
+      font-size: 18px !important;
+      margin: 5px 0 !important;
+    }
+grid_options:
+  columns: 6
+  rows: 3`;
+
+        document.getElementById('yamlForm').addEventListener('submit', function(e) {
+            e.preventDefault();
+            
+            // 获取表单数据
+            const formData = new FormData(e.target);
+            const data = Object.fromEntries(formData);
+            
+            // 替换模板中的变量
+            let result = yamlTemplate;
+            result = result.replace(/\^卫生间名称\^/g, data.roomName);
+            result = result.replace(/\^有人无人触发状态实体ID\^/g, data.occupancySensor);
+            result = result.replace(/\^光照度实体ID\^/g, data.illuminationSensor);
+            result = result.replace(/\^有人持续时长实体ID\^/g, data.someoneDurationSensor);
+            result = result.replace(/\^无人持续时长实体ID\^/g, data.noOneDurationSensor);
+            
+            // 显示结果
+            document.getElementById('yamlOutput').textContent = result;
+            document.getElementById('output').style.display = 'block';
+            
+            // 滚动到结果区域
+            document.getElementById('output').scrollIntoView({ behavior: 'smooth' });
+        });
+
+        function clearForm() {
+            // 清空所有输入字段
+            document.getElementById('roomName').value = '';
+            document.getElementById('occupancySensor').value = '';
+            document.getElementById('illuminationSensor').value = '';
+            document.getElementById('someoneDurationSensor').value = '';
+            document.getElementById('noOneDurationSensor').value = '';
+            
+            // 隐藏输出结果
+            document.getElementById('output').style.display = 'none';
+            
+            // 聚焦到第一个输入框
+            document.getElementById('roomName').focus();
+        }
+
+        function copyToClipboard() {
+            const yamlText = document.getElementById('yamlOutput').textContent;
+            const btn = event.target;
+            const originalText = btn.textContent;
+            
+            // 尝试使用现代 Clipboard API
+            if (navigator.clipboard && window.isSecureContext) {
+                navigator.clipboard.writeText(yamlText).then(function() {
+                    // 成功复制
+                    btn.textContent = '✅ 已复制!';
+                    btn.style.backgroundColor = '#4CAF50';
+                    
+                    setTimeout(function() {
+                        btn.textContent = originalText;
+                        btn.style.backgroundColor = '#2196F3';
+                    }, 2000);
+                }).catch(function(err) {
+                    console.error('复制失败:', err);
+                    fallbackCopyTextToClipboard(yamlText, btn, originalText);
+                });
+            } else {
+                // 降级到传统方法
+                fallbackCopyTextToClipboard(yamlText, btn, originalText);
+            }
+        }
+
+        function fallbackCopyTextToClipboard(text, btn, originalText) {
+            // 创建临时文本区域
+            const textArea = document.createElement("textarea");
+            textArea.value = text;
+            
+            // 避免滚动到底部
+            textArea.style.top = "0";
+            textArea.style.left = "0";
+            textArea.style.position = "fixed";
+            textArea.style.opacity = "0";
+            
+            document.body.appendChild(textArea);
+            textArea.focus();
+            textArea.select();
+            
+            try {
+                const successful = document.execCommand('copy');
+                if (successful) {
+                    btn.textContent = '✅ 已复制!';
+                    btn.style.backgroundColor = '#4CAF50';
+                    
+                    setTimeout(function() {
+                        btn.textContent = originalText;
+                        btn.style.backgroundColor = '#2196F3';
+                    }, 2000);
+                } else {
+                    throw new Error('execCommand 返回 false');
+                }
+            } catch (err) {
+                console.error('降级复制也失败:', err);
+                // 显示选择文本的提示
+                alert('自动复制失败,请手动选择文本并按 Ctrl+C 复制');
+                // 选中文本让用户手动复制
+                const outputElement = document.getElementById('yamlOutput');
+                if (window.getSelection && document.createRange) {
+                    const selection = window.getSelection();
+                    const range = document.createRange();
+                    range.selectNodeContents(outputElement);
+                    selection.removeAllRanges();
+                    selection.addRange(range);
+                }
+            }
+            
+            document.body.removeChild(textArea);
+        }
+
+        // 预填充示例数据(可选)
+        window.addEventListener('load', function() {
+            document.getElementById('roomName').value = '男卫';
+            document.getElementById('occupancySensor').value = 'binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078';
+            document.getElementById('illuminationSensor').value = 'sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005';
+            document.getElementById('someoneDurationSensor').value = 'sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081';
+            document.getElementById('noOneDurationSensor').value = 'sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082';
+        });
+    </script>
+</body>
+</html>
diff --git "a/Help/docs/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220.md" "b/Help/docs/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220.md"
new file mode 100644
index 0000000..5762b69
--- /dev/null
+++ "b/Help/docs/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220.md"
@@ -0,0 +1,37 @@
+要更改haos(可能是指HaOS,一个基于Linux的操作系统)的软件源为国内源,
+需要编辑`/etc/apk/repositories`文件,然后替换现有的源为国内镜像源。具体步骤如下:
+备份原始文件:确保在修改之前备份原始的`/etc/apk/repositories`文件,以防修改错误导致问题。
+
+```
+sudo cp /etc/apk/repositories /etc/apk/repositories.bak
+``` 
+   
+编辑文件:使用文本编辑器(如vi、nano等)打开`/etc/apk/repositories`文件。
+```
+sudo vi /etc/apk/repositories
+``` 
+   
+替换源:将文件中的内容替换为国内镜像源,例如阿里云或清华大学的源。\
+下是阿里云的示例:
+```
+https://mirrors.aliyun.com/alpine/latest-stable/main
+https://mirrors.aliyun.com/alpine/latest-stable/community
+```
+
+
+清华大学的源示例:
+```
+   https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main
+   https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community
+``` 
+
+根据实际情况选择一个源,并将原文件内容替换。
+保存并退出:如果使用vi,按下Esc,然后输入`:wq`保存并退出。
+更新软件包列表:执行以下命令更新软件包列表,使更改生效。
+
+```
+ sudo apk update
+```
+
+  
+完成以上步骤后,haos的软件源就成功更换为国内镜像源了。
\ No newline at end of file
diff --git "a/Help/docs/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA.md" "b/Help/docs/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA.md"
new file mode 100644
index 0000000..dd012ad
--- /dev/null
+++ "b/Help/docs/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA.md"
@@ -0,0 +1,59 @@
+## 如何集成和风天气组件到HA
+
+### 和风天气简介
+和风天气是一个提供天气信息的API,可以方便地集成到Home Assistant中。
+
+### 集成步骤
+1. 在Home Assistant中安装和风天气组件。
+2. 配置和风天气API密钥。
+3. 在自动化中使用和风天气提供的天气数据。
+
+### 示例
+登录和风天气控制台,https://console.qweather.com/project?lang=zh
+如下图所示,先为此中心创建一个项目,为的是为每个中心使用的api调用次数的统计
+![](https://qncdn.tairongkj.com/docs/images/20250815110408.png)
+
+![](https://qncdn.tairongkj.com/docs/images/20250815110451.png)
+记录下来相关信息
+
+```
+项目名称:湖南旺旺
+项目ID:2HKR2MC5WM
+API-KEY:885d8b06871b445fbc1beb2eda11cd6c
+开发者ID:Q137B51456
+API-Host:nd4up3fy3t.re.qweatherapi.com
+查询城市区域代码的的址:
+git clone https://github.com/qwd/LocationList.git.com/docs/api/geoapi/
+```
+
+#### 配置参考
+打开的配置文件 `configuration.yaml`,添加以下内容:
+
+``` 
+weather:
+  - platform: heweather
+    location: 101210301        # 你的区域代码城市id
+    host: nd4up3fy3t.re.qweatherapi.com  # API Host
+    key: 885d8b06871b445fbc1beb2eda11cd6c                 # 你的API KEY
+
+```
+其中,要更换的内容主要有,区域代码城市id、API Host和API KEY。
+如下图
+![](https://qncdn.tairongkj.com/docs/images/20250815110802.png)
+
+##### 获取城市id区域代码的方法
+这里一定要配对正确的城市id区域代码,否则会报的天气不准。
+可以通过此文档提供的API,查询   https://github.com/qwd/LocationList.git.com/docs/api/geoapi/
+
+其中:
+
+- X-QW-Api-Key 为你的API密钥。
+
+- location 为你要查询的城市名称拼音.
+
+```
+curl -H "X-QW-Api-Key: 885d8b06871b445fbc1beb2eda11cd6c" --compressed \
+'https://nd4up3fy3t.re.qweatherapi.com/geo/v2/city/lookup?location=changsha'   
+```
+如下图所示
+![](https://qncdn.tairongkj.com/docs/images/20250815111350.png)
\ No newline at end of file
diff --git "a/Help/docs/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225.md" "b/Help/docs/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225.md"
new file mode 100644
index 0000000..de62fba
--- /dev/null
+++ "b/Help/docs/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225.md"
@@ -0,0 +1,218 @@
+## 人存在传感器-如厕风险提示配置方法
+
+[人员感应器卡片代码生成器](generator_youren.html)
+
+### 先找出要配置的传感器的实体ID
+
+下面以大连的这个人存在传感器01为例:
+```
+人存在传感器01
+
+光照度:
+sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005
+
+无人持续时长:
+sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082
+
+有人持续时长:
+sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081
+
+
+存在传感器 有人无人 状态是否触发
+sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078
+
+```
+
+### 仪表盘配置
+
+在仪表盘,相应位置,新建组件,进入代码编辑,贴入如下格式的YAML内容:
+
+```YAML
+type: markdown
+content: >
+  1号{% if
+  is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078',
+  'on') %}
+    # 🔴 有人-不可用
+  {% else %}
+    # 🟢 无人-可用
+  {% endif %}
+
+
+  **光照度:** {{
+  states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005') |default('未知') }} lx 
+
+  {% if
+  is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078',
+  'on') %} **有人持续:** {% set duration =
+  states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  else %} **无人持续:** {% set duration =
+  states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  endif %}
+card_mod:
+  style: |
+    ha-card {
+      text-align: center;
+    }
+    ha-card h1 {
+      font-size: 48px !important;
+      margin: 10px 0 !important;
+    }
+    ha-card p {
+      font-size: 18px !important;
+      margin: 5px 0 !important;
+    }
+grid_options:
+  columns: 6
+  rows: 3
+
+
+```
+
+医用卫生间
+
+```YAML
+
+type: markdown
+content: >
+  医护卫生间{% if
+  is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078',
+  'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078',
+  '有人') %}
+    # 🔴 有人-不可用
+  {% else %}
+    # 🟢 无人-可用
+  {% endif %}
+
+
+  **光照度:** {{
+  states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_illumination_p_2_1005') |
+  default('未知') }} lx 
+
+  {% if
+  is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078',
+  'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078',
+  '有人') %} **有人持续:** {% set duration =
+  states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_has_someone_duration_p_2_1081')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  else %} **无人持续:** {% set duration =
+  states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_no_one_duration_p_2_1082')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  endif %}
+card_mod:
+  style: |
+    ha-card {
+      text-align: center;
+    }
+    ha-card h1 {
+      font-size: 48px !important;
+      margin: 10px 0 !important;
+    }
+    ha-card p {
+      font-size: 18px !important;
+      margin: 5px 0 !important;
+    }
+grid_options:
+  columns: 6
+  rows: 3
+
+
+```
+二号卫生间
+
+```yaml
+
+
+type: markdown
+content: >
+  2号{% if
+  is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078',
+  'on') %}
+    # 🔴 有人-不可用
+  {% else %}
+    # 🟢 无人-可用
+  {% endif %}
+
+
+  **光照度:** {{
+  states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_illumination_p_2_1005') |default('未知') }} lx 
+
+  {% if
+  is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078',
+  'on') %} **有人持续:** {% set duration =
+  states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_has_someone_duration_p_2_1081')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  else %} **无人持续:** {% set duration =
+  states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_no_one_duration_p_2_1082')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  endif %}
+card_mod:
+  style: |
+    ha-card {
+      text-align: center;
+    }
+    ha-card h1 {
+      font-size: 48px !important;
+      margin: 10px 0 !important;
+    }
+    ha-card p {
+      font-size: 18px !important;
+      margin: 5px 0 !important;
+    }
+grid_options:
+  columns: 6
+  rows: 3
+
+
+```
+
+三号卫生间
+
+```yaml
+type: markdown
+content: >
+  男卫{% if
+  is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078',
+  'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078',
+  '有人') %}
+    # 🔴 有人-不可用
+  {% else %}
+    # 🟢 无人-可用
+  {% endif %}
+
+
+  **光照度:** {{
+  states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005') |
+  default('未知') }} lx 
+
+  {% if
+  is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078',
+  'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078',
+  '有人') %} **有人持续:** {% set duration =
+  states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  else %} **无人持续:** {% set duration =
+  states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  endif %}
+card_mod:
+  style: |
+    ha-card {
+      text-align: center;
+    }
+    ha-card h1 {
+      font-size: 48px !important;
+      margin: 10px 0 !important;
+    }
+    ha-card p {
+      font-size: 18px !important;
+      margin: 5px 0 !important;
+    }
+grid_options:
+  columns: 6
+  rows: 3
+
+
+```
\ No newline at end of file
diff --git "a/Help/docs/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227.md" "b/Help/docs/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227.md"
new file mode 100644
index 0000000..253d4d1
--- /dev/null
+++ "b/Help/docs/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227.md"
@@ -0,0 +1,554 @@
+## 透析中心环境温度发送到胜透的操作指南
+
+### 1. 前提条件
+
+- 已安装并配置好Home Assistant
+- 已经安装并配置了MQTT Broker
+- 已经安装并配置了Node-RED
+- 已经安装并配置了米家温度传感器(如Miaomiaoc CN BLT 3)
+- 已经获取到了胜透的MQTT服务器Broker地址和端口
+
+### 2. 在Home Assistant中配置传感器自动化
+
+#### 1.找到环境温度传感器实体ID
+
+透析中心可能安装了多个米家温度传感器,首先需要找到对应的实体ID。
+可以在Home Assistant的开发者工具中查看当前所有传感器的状态。
+
+![](https://qncdn.tairongkj.com/docs/images/20250715150132.png)
+也可以在已经设备与服务,集成,中找到米家的设备,找到那个传感器
+![](https://qncdn.tairongkj.com/docs/images/20250715150425.png)
+
+![](https://qncdn.tairongkj.com/docs/images/20250715150504.png)
+找到需要配置为环境温度的传感器
+![](https://qncdn.tairongkj.com/docs/images/20250715150606.png)
+点击温度实体
+![](https://qncdn.tairongkj.com/docs/images/20250715153539.png)
+
+点击设置图标
+![](https://qncdn.tairongkj.com/docs/images/20250715153737.png)
+
+![](https://qncdn.tairongkj.com/docs/images/20250715153845.png)
+如本例获取到的实体ID为`sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1`。记住此ID,后面很多地方都会用到.
+
+#### 2. 创建自动化规则
+
+我们需要创建一个自动化规则,当传感器状态更新时及每隔30秒,将温度数据发送到Home Assistant内部集成的的MQTT服务器。
+进入 "配置" → "自动化和场景" → "自动化",点击右下角的 "+" 创建新的自动化规则。
+![](https://qncdn.tairongkj.com/docs/images/20250715154208.png)
+进入自动化规则编辑界面后,点击右下角的"创建自动化"按钮。在弹出的对话框中选择"创建新的自动化"。
+![](https://qncdn.tairongkj.com/docs/images/20250715154317.png)
+在新建自动化界面,点右上角的三个点,如下图所示
+![](https://qncdn.tairongkj.com/docs/images/20250715154543.png)
+在弹出的下拉菜单中,点击进入YHAML编辑,进入代码模式,如下所示
+![](https://qncdn.tairongkj.com/docs/images/20250715155050.png)
+
+![](https://qncdn.tairongkj.com/docs/images/20250715155148.png)
+在这个大的文本框中粘入如下代码:
+
+```YAML
+alias: 发布环境温度传感器状态到MQTT
+description: 当米家温度传感器状态变化或每30秒定时时,自动发布到MQTT供Node-RED使用
+triggers:
+  - entity_id: sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1
+    trigger: state
+  - seconds: /30
+    trigger: time_pattern
+conditions:
+  - condition: template
+    value_template: >-
+      {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1')
+      not in ['unavailable', 'unknown', 'None'] and
+      states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') |
+      float(-999) != -999 }}
+actions:
+  - data:
+      topic: >-
+        homeassistant/sensor/sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1/state
+      payload: >-
+        {{
+        states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1')
+        }}
+      retain: false
+      qos: 0
+    action: mqtt.publish
+mode: single
+```
+
+***注意:*** 
+以上代码中的 `sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1` 是示例实体ID,请替换为你**实际的温度传感器实体ID**。
+放置完成后,如下图示意
+![](https://qncdn.tairongkj.com/docs/images/20250715160254.png)
+![](https://qncdn.tairongkj.com/docs/images/20250715160557.png)
+观察上次触发列是否会每隔30秒执行一次
+![](https://qncdn.tairongkj.com/docs/images/20250715160657.png)
+返回到传感器的设备界面也能看到设备的自动化下面有一条自动化规则,如下图
+![](https://qncdn.tairongkj.com/docs/images/20250715160841.png)
+到此,自动化规则已配置完成。
+
+### 3. 在Node-RED中配置MQTT接收转发
+
+#### 1. 打开Node-RED编辑器
+
+打开nod-red编辑器,有的HA可能是配置在左侧航菜单中,如下图志示,点击即可进入
+![](https://qncdn.tairongkj.com/docs/images/20250715161325.png)
+有的是没有配置node-red到左侧导航菜单的,这种情况下,可以点击"设置-加载项"进入加载项页面
+![](https://qncdn.tairongkj.com/docs/images/20250715161438.png)
+找到Node-RED加载项,点击进入
+![](https://qncdn.tairongkj.com/docs/images/20250715161523.png)
+![](https://qncdn.tairongkj.com/docs/images/20250715161829.png)
+进入界面如下:
+![](https://qncdn.tairongkj.com/docs/images/20250715161920.png)
+
+#### 2. 创建新工作流
+
+点击右上角的"菜单"按钮,再点导入。
+![](https://qncdn.tairongkj.com/docs/images/20250715162009.png)
+
+在此处贴入工作流代码,注意:要选择导入到新流程
+![](https://qncdn.tairongkj.com/docs/images/20250715162224.png)
+工作流代码如下
+
+```json
+[
+    {
+        "id": "1407d4531e19a951",
+        "type": "tab",
+        "label": "透析中心环境温度数据转发",
+        "disabled": false,
+        "info": "从HomeAssistant获取温度传感器数据并发布到公司MQTT服务器"
+    },
+    {
+        "id": "97e254f4a87ddde9",
+        "type": "mqtt in",
+        "z": "1407d4531e19a951",
+        "name": "订阅HA温度传感器",
+        "topic": "homeassistant/sensor/+/state",
+        "qos": "0",
+        "datatype": "auto",
+        "broker": "mqtt-ha-broker",
+        "nl": false,
+        "rap": true,
+        "rh": 0,
+        "inputs": 0,
+        "x": 150,
+        "y": 100,
+        "wires": [
+            [
+                "44d729e67618e4f2"
+            ]
+        ]
+    },
+    {
+        "id": "44d729e67618e4f2",
+        "type": "function",
+        "z": "1407d4531e19a951",
+        "name": "处理温度数据",
+        "func": "// 从全局变量获取共享配置\nconst nameSpace = global.get(\"nameSpace\") || \"Environment\";\nconst clientCode = global.get(\"clientCode\") || \"Data-It_XzOffice\";\nconst targetDeviceId = global.get(\"deviceId\") || \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\";\n\n// 从topic中提取当前设备ID\nconst topicParts = msg.topic.split('/');\nconst currentDeviceId = topicParts.length >= 3 ? topicParts[2] : \"\";\n\n// 只处理目标设备的消息\nif (currentDeviceId !== targetDeviceId) {\n    node.log(\"忽略设备消息: \" + currentDeviceId + \" (目标设备: \" + targetDeviceId + \")\");\n    return null;\n}\n\n// 生成唯一的消息ID\nconst messageId = \"temp_\" + Date.now() + \"_\" + Math.floor(Math.random() * 1000);\nconst timestamp = Date.now();\nconst deviceType = \"sensor\";\n\n// 解析温度值\nlet temperature = parseFloat(msg.payload);\nif (isNaN(temperature)) {\n    node.warn(\"接收到无效的温度值: \" + msg.payload);\n    return null;\n}\n\n// 按照胜透物联网通信协议格式化数据\nconst protocolMessage = {\n    \"messageId\": messageId,\n    \"timestamp\": timestamp,\n    \"clientCode\": clientCode,\n    \"deviceId\": targetDeviceId,\n    \"deviceType\": deviceType,\n    \"version\": \"1.0\",\n    \"data\": {\n        \"properties\": {\n            \"temperature\": {\n                \"value\": temperature,\n                \"unit\": \"°C\",\n                \"quality\": \"good\",\n                \"timestamp\": timestamp\n            }\n        }\n    }\n};\n\n// 设置输出消息\nmsg.payload = JSON.stringify(protocolMessage);\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${targetDeviceId}/properties`;\nmsg.qos = 0;\n\nnode.log(\"温度数据已处理: \" + temperature + \"°C (设备: \" + targetDeviceId + \")\");\n\nreturn msg;",
+        "outputs": 1,
+        "timeout": "",
+        "noerr": 0,
+        "initialize": "",
+        "finalize": "",
+        "libs": [],
+        "x": 420,
+        "y": 100,
+        "wires": [
+            [
+                "573842ea77192dbb",
+                "4c630c164e08dc2c"
+            ]
+        ]
+    },
+    {
+        "id": "573842ea77192dbb",
+        "type": "mqtt out",
+        "z": "1407d4531e19a951",
+        "name": "发布到公司MQTT",
+        "topic": "",
+        "qos": "",
+        "retain": "",
+        "respTopic": "",
+        "contentType": "",
+        "userProps": "",
+        "correl": "",
+        "expiry": "",
+        "broker": "mqtt-company-broker",
+        "x": 990,
+        "y": 80,
+        "wires": []
+    },
+    {
+        "id": "4c630c164e08dc2c",
+        "type": "debug",
+        "z": "1407d4531e19a951",
+        "name": "调试输出",
+        "active": true,
+        "tosidebar": true,
+        "console": false,
+        "tostatus": false,
+        "complete": "payload",
+        "targetType": "msg",
+        "statusVal": "",
+        "statusType": "auto",
+        "x": 1040,
+        "y": 360,
+        "wires": []
+    },
+    {
+        "id": "495c392574ee1bf4",
+        "type": "inject",
+        "z": "1407d4531e19a951",
+        "name": "发布设备物模型",
+        "props": [
+            {
+                "p": "payload"
+            },
+            {
+                "p": "topic",
+                "vt": "str"
+            }
+        ],
+        "repeat": "60",
+        "crontab": "",
+        "once": true,
+        "onceDelay": "5",
+        "topic": "shengtou/sensor/TH001_HA/model",
+        "payload": "",
+        "payloadType": "date",
+        "x": 170,
+        "y": 180,
+        "wires": [
+            [
+                "3aea3ce2deb4ea99"
+            ]
+        ]
+    },
+    {
+        "id": "3aea3ce2deb4ea99",
+        "type": "function",
+        "z": "1407d4531e19a951",
+        "name": "生成物模型数据",
+        "func": "const messageId = \"mdl_\" + Date.now();\nconst timestamp = Date.now();\n// 从全局变量获取共享配置\nconst nameSpace = global.get(\"nameSpace\") || \"Environment\";\nconst clientCode = global.get(\"clientCode\") || \"Data-It_XzOffice\";\nconst deviceId = global.get(\"deviceId\") || \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\";\nconst deviceType = \"sensor\";\n\n// 按照胜透物联网通信协议生成物模型定义\nconst modelMessage = {\n    \"messageId\": messageId,\n    \"timestamp\": timestamp,\n    \"clientCode\": clientCode,\n    \"deviceId\": deviceId,\n    \"deviceType\": deviceType,\n    \"version\": \"1.0\",\n    \"data\": {\n        \"model\": {\n            \"deviceInfo\": {\n                \"manufacturer\": \"小米\",\n                \"model\": \"MIAOMIAOC_CN_BLT_3_11A1SBR5K5O01_T2\",\n                \"version\": \"1.0.0\",\n                \"description\": \"米家温湿度传感器(通过HomeAssistant集成)\"\n            },\n            \"properties\": {\n                \"temperature\": {\n                    \"dataType\": \"float\",\n                    \"unit\": \"°C\",\n                    \"range\": {\n                        \"min\": -40,\n                        \"max\": 85\n                    },\n                    \"precision\": 1,\n                    \"description\": \"环境温度\"\n                }\n            },\n            \"events\": {\n                \"startup\": {\n                    \"eventType\": \"info\",\n                    \"description\": \"设备启动事件\"\n                }\n            },\n            \"alarms\": {\n                \"TEMP_HIGH\": {\n                    \"alarmType\": \"threshold_exceeded\",\n                    \"description\": \"温度过高报警\",\n                    \"defaultThreshold\": 35.0\n                },\n                \"TEMP_LOW\": {\n                    \"alarmType\": \"threshold_exceeded\",\n                    \"description\": \"温度过低报警\",\n                    \"defaultThreshold\": 0.0\n                }\n            }\n        }\n    }\n};\n\n// 设置MQTT发布主题\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/model`;\nmsg.payload = JSON.stringify(modelMessage);\nmsg.qos = 1;\n\nnode.log(\"设备物模型数据已生成,发布到主题: \" + msg.topic);\n\nreturn msg;",
+        "outputs": 1,
+        "timeout": "",
+        "noerr": 0,
+        "initialize": "",
+        "finalize": "",
+        "libs": [],
+        "x": 400,
+        "y": 160,
+        "wires": [
+            [
+                "573842ea77192dbb",
+                "4c630c164e08dc2c"
+            ]
+        ]
+    },
+    {
+        "id": "70e1e283448c941e",
+        "type": "inject",
+        "z": "1407d4531e19a951",
+        "name": "设备状态心跳",
+        "props": [
+            {
+                "p": "payload"
+            },
+            {
+                "p": "topic",
+                "vt": "str"
+            }
+        ],
+        "repeat": "120",
+        "crontab": "",
+        "once": true,
+        "onceDelay": "10",
+        "topic": "shengtou/sensor/TH001_HA/status",
+        "payload": "",
+        "payloadType": "date",
+        "x": 160,
+        "y": 240,
+        "wires": [
+            [
+                "ae74b6d386748045"
+            ]
+        ]
+    },
+    {
+        "id": "ae74b6d386748045",
+        "type": "function",
+        "z": "1407d4531e19a951",
+        "name": "生成状态数据",
+        "func": "const messageId = \"sts_\" + Date.now();\nconst timestamp = Date.now();\n// 从全局变量获取共享配置\nconst nameSpace = global.get(\"nameSpace\") || \"Environment\";\nconst clientCode = global.get(\"clientCode\") || \"Data-It_XzOffice\";\nconst deviceId = global.get(\"deviceId\") || \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\";\nconst deviceType = \"sensor\";\n\n// 计算设备运行时间(从第一次启动开始)\nif (!context.get(\"startTime\")) {\n    context.set(\"startTime\", timestamp);\n}\nconst startTime = context.get(\"startTime\");\nconst uptime = timestamp - startTime;\n\n// 按照胜透物联网通信协议生成状态数据\nconst statusMessage = {\n    \"messageId\": messageId,\n    \"timestamp\": timestamp,\n    \"clientCode\": clientCode,\n    \"deviceId\": deviceId,\n    \"deviceType\": deviceType,\n    \"version\": \"1.0\",\n    \"data\": {\n        \"status\": {\n            \"online\": true,\n            \"lastHeartbeat\": timestamp,\n            \"uptime\": uptime\n        }\n    }\n};\n\n// 设置MQTT发布主题\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/status`;\nmsg.payload = JSON.stringify(statusMessage);\nmsg.qos = 0;\n\nnode.log(\"设备状态心跳已发送,发布到主题: \" + msg.topic);\n\nreturn msg;",
+        "outputs": 1,
+        "timeout": "",
+        "noerr": 0,
+        "initialize": "",
+        "finalize": "",
+        "libs": [],
+        "x": 400,
+        "y": 240,
+        "wires": [
+            [
+                "573842ea77192dbb",
+                "4c630c164e08dc2c"
+            ]
+        ]
+    },
+    {
+        "id": "7f9acf10d0c6085d",
+        "type": "inject",
+        "z": "1407d4531e19a951",
+        "name": "初始化全局配置",
+        "props": [
+            {
+                "p": "payload"
+            }
+        ],
+        "repeat": "",
+        "crontab": "",
+        "once": true,
+        "onceDelay": "1",
+        "topic": "",
+        "payload": "",
+        "payloadType": "date",
+        "x": 150,
+        "y": 40,
+        "wires": [
+            [
+                "6f6b825dfc5e9512"
+            ]
+        ]
+    },
+    {
+        "id": "6f6b825dfc5e9512",
+        "type": "function",
+        "z": "1407d4531e19a951",
+        "name": "设置全局配置",
+        "func": "// 设置全局共享常量\nglobal.set(\"nameSpace\", \"Environment\");\nglobal.set(\"clientCode\", \"Data-It_XzOffice\");\nglobal.set(\"deviceId\", \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\");\n\nnode.log(\"全局配置已设置: nameSpace=\" + global.get(\"nameSpace\") + \", clientCode=\" + global.get(\"clientCode\") + \", deviceId=\" + global.get(\"deviceId\"));\n\nreturn msg;",
+        "outputs": 1,
+        "timeout": "",
+        "noerr": 0,
+        "initialize": "",
+        "finalize": "",
+        "libs": [],
+        "x": 360,
+        "y": 40,
+        "wires": [
+            [
+                "794c422d39898a7f"
+            ]
+        ]
+    },
+    {
+        "id": "794c422d39898a7f",
+        "type": "function",
+        "z": "1407d4531e19a951",
+        "name": "更新MQTT订阅Topic",
+        "func": "// 从全局变量生成HomeAssistant MQTT订阅Topic\nconst deviceId = global.get(\"deviceId\") || \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\";\nconst haTopic = `homeassistant/sensor/${deviceId}/state`;\n\n// 将Topic保存到全局变量供其他地方使用\nglobal.set(\"haSubscribeTopic\", haTopic);\n\nnode.log(\"HomeAssistant订阅Topic已更新: \" + haTopic);\nnode.log(\"注意:如需更改MQTT In节点的订阅Topic,请手动修改为: \" + haTopic);\n\nreturn msg;",
+        "outputs": 1,
+        "timeout": "",
+        "noerr": 0,
+        "initialize": "",
+        "finalize": "",
+        "libs": [],
+        "x": 590,
+        "y": 40,
+        "wires": [
+            []
+        ]
+    },
+    {
+        "id": "3bf854e9bd3e6937",
+        "type": "inject",
+        "z": "1407d4531e19a951",
+        "name": "启动事件",
+        "props": [
+            {
+                "p": "payload"
+            },
+            {
+                "p": "topic",
+                "vt": "str"
+            }
+        ],
+        "repeat": "",
+        "crontab": "",
+        "once": true,
+        "onceDelay": "15",
+        "topic": "shengtou/sensor/TH001_HA/events",
+        "payload": "",
+        "payloadType": "date",
+        "x": 160,
+        "y": 340,
+        "wires": [
+            [
+                "26f6196b2d6fba29"
+            ]
+        ]
+    },
+    {
+        "id": "26f6196b2d6fba29",
+        "type": "function",
+        "z": "1407d4531e19a951",
+        "name": "生成启动事件",
+        "func": "const messageId = \"evt_startup_\" + Date.now();\nconst timestamp = Date.now();\n// 从全局变量获取共享配置\nconst nameSpace = global.get(\"nameSpace\") || \"Environment\";\nconst clientCode = global.get(\"clientCode\") || \"Data-It_XzOffice\";\nconst deviceId = global.get(\"deviceId\") || \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\";\nconst deviceType = \"sensor\";\n\n// 按照胜透物联网通信协议生成事件数据\nconst eventMessage = {\n    \"messageId\": messageId,\n    \"timestamp\": timestamp,\n    \"clientCode\": clientCode,\n    \"deviceId\": deviceId,\n    \"deviceType\": deviceType,\n    \"version\": \"1.0\",\n    \"data\": {\n        \"events\": [\n            {\n                \"eventType\": \"startup\",\n                \"eventLevel\": \"info\",\n                \"eventCode\": \"EVT_001\",\n                \"description\": \"HomeAssistant温度传感器代理设备启动完成\",\n                \"timestamp\": timestamp\n            }\n        ]\n    }\n};\n\n// 设置MQTT发布主题\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/events`;\nmsg.payload = JSON.stringify(eventMessage);\nmsg.qos = 1;\n\nnode.log(\"设备启动事件已生成,发布到主题: \" + msg.topic);\n\nreturn msg;",
+        "outputs": 1,
+        "timeout": "",
+        "noerr": 0,
+        "initialize": "",
+        "finalize": "",
+        "libs": [],
+        "x": 380,
+        "y": 320,
+        "wires": [
+            [
+                "573842ea77192dbb",
+                "4c630c164e08dc2c"
+            ]
+        ]
+    },
+    {
+        "id": "mqtt-ha-broker",
+        "type": "mqtt-broker",
+        "name": "HomeAssistant MQTT",
+        "broker": "192.168.50.83",
+        "port": "1883",
+        "clientid": "",
+        "autoConnect": true,
+        "usetls": false,
+        "protocolVersion": "4",
+        "keepalive": "60",
+        "cleansession": true,
+        "autoUnsubscribe": true,
+        "birthTopic": "",
+        "birthQos": "0",
+        "birthPayload": "",
+        "birthMsg": {},
+        "closeTopic": "",
+        "closeQos": "0",
+        "closePayload": "",
+        "closeMsg": {},
+        "willTopic": "",
+        "willQos": "0",
+        "willPayload": "",
+        "willMsg": {},
+        "sessionExpiry": ""
+    },
+    {
+        "id": "mqtt-company-broker",
+        "type": "mqtt-broker",
+        "name": "公司MQTT服务器",
+        "broker": "mqtt-test.ihemodialysis.com",
+        "port": "62183",
+        "clientid": "",
+        "usetls": false,
+        "protocolVersion": "4",
+        "keepalive": "60",
+        "cleansession": true,
+        "birthTopic": "",
+        "birthQos": "0",
+        "birthPayload": "",
+        "birthMsg": {},
+        "closeTopic": "",
+        "closeQos": "0",
+        "closePayload": "",
+        "closeMsg": {},
+        "willTopic": "shengtou/sensor/TH001_HA/status",
+        "willQos": "0",
+        "willPayload": "{\"messageId\":\"sts_offline\",\"timestamp\":0,\"deviceId\":\"TH001_HA\",\"deviceType\":\"sensor\",\"version\":\"1.0\",\"data\":{\"status\":{\"online\":false,\"lastHeartbeat\":0,\"uptime\":0}}}",
+        "willMsg": {},
+        "sessionExpiry": ""
+    }
+]
+```
+
+当然,你也可以从[工作流文件](http://datacdn.data-it.tech/HomeAssistant/%E8%BD%AC%E5%8F%91%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6/flows%28%E8%BD%AC%E5%8F%91%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%29.zip)导入新新工作流。
+点击上述链接后,下载文件,并解压,得到一个名为`flows.json`的文件。
+![](https://qncdn.tairongkj.com/docs/images/20250715162926.png)
+点击导入节点文件,
+
+![](https://qncdn.tairongkj.com/docs/images/20250715163031.png)
+
+![](https://qncdn.tairongkj.com/docs/images/20250715163056.png)
+部署成功后,会出现如下图所示的工作流
+![](https://qncdn.tairongkj.com/docs/images/20250715163149.png)
+此时,工作流已创完成.
+
+#### 3. 配置MQTT节点
+
+工作流中有两个MQTT节点,分别是Home Assistant的MQTT Broker和公司MQTT服务器的Broker。这两个节点的配置需要根据实际情况进行调整。
+首先,要先配置Home Assistant的MQTT Broker节点,确保其连接信息正确无误。
+在我们没有配置mqtt in 的连接信息时,我们发现这个节点一直处理连接中
+![](https://qncdn.tairongkj.com/docs/images/20250715163605.png)
+双击该节点,进入配置界面
+![](https://qncdn.tairongkj.com/docs/images/20250715163656.png)
+点击编辑图标
+![](https://qncdn.tairongkj.com/docs/images/20250715163805.png)
+在编辑mqtt-broker节点的界面中的连接参数选项卡中,输入正确的服务端与端口号
+![](https://qncdn.tairongkj.com/docs/images/20250715163909.png)
+如果MQTT有用户名和密码,请在认证选项卡中输入正确的用户名和密码后,然后点更新
+![](https://qncdn.tairongkj.com/docs/images/20250715164109.png)
+然后,再点击完成
+![](https://qncdn.tairongkj.com/docs/images/20250715164132.png)
+最后点击部署
+![](https://qncdn.tairongkj.com/docs/images/20250715164154.png)
+部署完成后,我们可以看到,此节点会变为已联接
+![](https://qncdn.tairongkj.com/docs/images/20250715164232.png)
+对于"发布到公司MQTT"节点,我们需要配置连接到公司MQTT服务器的Broker。也时同样的操作方法,双击
+![](https://qncdn.tairongkj.com/docs/images/20250715164525.png)
+![](https://qncdn.tairongkj.com/docs/images/20250715164716.png)
+![](https://qncdn.tairongkj.com/docs/images/20250715164745.png)
+然后,更新,完成,部署即可。
+
+***查找HomeAssistant的Mqtt配置信息***
+
+对于HomeAssistant我们一般都是提前部署了内置的MQTT Broker,在不知端口与密码的情况下,我样可以在HomeAssistant中去查找
+进入设置加载项
+![](https://qncdn.tairongkj.com/docs/images/20250715165034.png)
+找到Mosquitto broker这个选项卡,点击进入
+![](https://qncdn.tairongkj.com/docs/images/20250715165556.png)
+点击配置选项卡
+![](https://qncdn.tairongkj.com/docs/images/20250715165648.png)
+![](https://qncdn.tairongkj.com/docs/images/20250715170410.png)
+![](https://qncdn.tairongkj.com/docs/images/20250715170521.png)
+在这里可以看到MQTT的端口号与用户名密码等信息,及下面的mqtt开放的端口信息,ip地址,就是ha主机所在的Ip地址。以上信息,用来配置工作流的mqtt in的参数。
+
+***公司mqtt服务端口信息***
+这个参数,请向公司管理员获取,或者在公司MQTT服务器的配置文件中查看。
+
+#### 4.配置工作流全局变量
+
+双击工作流的节点"设置全局配置",打开编辑function节点
+![](https://qncdn.tairongkj.com/docs/images/20250715170815.png)
+对如下三行,进行更改
+
+```javascript
+// 设置全局共享常量
+global.set("nameSpace", "Environment"); //命名空间,默认为:Environment,如果有需要,以联系相关工程师确认后,更改.
+global.set("clientCode", "Data-It_XzOffice");// 客户端代码,默认为:Data-It_XzOffice,一定要改为中心对就的ClientCode,
+global.set("deviceId", "sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1");//一定要改为之前我们定的传感器实体ID
+```
+
+如果不确定,请联系相关工程师确认。
+![](https://qncdn.tairongkj.com/docs/images/20250715171257.png)
+然后,点击,完成,部署
+![](https://qncdn.tairongkj.com/docs/images/20250715171454.png)
+然后,下一步,非常重要,一定要执行
+![](https://qncdn.tairongkj.com/docs/images/20250715171602.png)
+这一步,非常重要,必须执行,否则工作流没有把全局变量写入工作流,会导致发布数据不正确。
+然后,我样就可以用在debug的日志中看到我们发布的节点数据了,
+![](https://qncdn.tairongkj.com/docs/images/20250715171803.png)
+此图,可以观察到mqtt发布到公司的数据,clientCode,deviceid是否正常了。
+
+##### 5. 测试工作流的数据是否正常
+
+我们可以使用第三方工具来查看公司mqtt服务收到的数据是否正常如下图
+![](https://qncdn.tairongkj.com/docs/images/20250715171959.png)
+
+这里我推荐使用工具[MQTTX](https://mqttx.app/)
+下载地址为:https://mqttx.app/downloads
+![](https://qncdn.tairongkj.com/docs/images/20250715172131.png)
+
+至此,透析中心HA环境温度数据发送到胜透的工作流配置完成。
+<end>
\ No newline at end of file
diff --git "a/Help/docs/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213.md" "b/Help/docs/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213.md"
new file mode 100644
index 0000000..36de716
--- /dev/null
+++ "b/Help/docs/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213.md"
@@ -0,0 +1,682 @@
+# ModbusPoll v7.0.0 使用教程
+
+## 目录
+1. [软件介绍](#软件介绍)
+2. [安装与启动](#安装与启动)
+3. [基本配置](#基本配置)
+4. [连接设置](#连接设置)
+5. [数据读取配置](#数据读取配置)
+6. [水处理机与集中供液设备通信实例](#水处理机与集中供液设备通信实例)
+7. [数据监控与分析](#数据监控与分析)
+8. [故障排除](#故障排除)
+9. [高级功能](#高级功能)
+
+## 软件介绍
+
+ModbusPoll是一款专业的Modbus主机仿真器工具,主要用于:
+- 测试和调试Modbus从设备
+- 监控Modbus设备数据
+- 验证设备通信协议
+- 故障诊断和排除
+
+### 主要特性
+- 支持Modbus RTU/ASCII/TCP协议
+- 实时数据监控
+- 多种数据格式显示
+- 日志记录功能
+- 批量读取功能
+
+## 安装与启动
+
+### 系统要求
+- Windows 7/8/10/11
+- .NET Framework 4.0 或更高版本
+- 至少50MB可用磁盘空间
+
+### 安装步骤
+1. 下载ModbusPoll-v7.0.0安装包
+2. 右键点击安装包,选择"以管理员身份运行"
+3. 按照安装向导完成安装
+4. 启动程序:开始菜单 → ModbusPoll
+
+### 首次启动
+```
+启动后会显示主界面,包含:
+- 菜单栏:文件、连接、设置等
+- 工具栏:常用功能快捷按钮
+- 数据显示区域:寄存器数据表格
+- 状态栏:连接状态和统计信息
+```
+
+## 基本配置
+
+### 连接设置
+1. **串口连接(RTU/ASCII)**
+   ```
+   Connection → Connect
+   或点击工具栏连接图标
+   ```
+
+2. **连接参数配置**
+   - **Port**: 选择串口(COM1, COM2等)
+   - **Baud Rate**: 波特率(常用9600, 19200, 38400)
+   - **Data Bits**: 数据位(通常为8)
+   - **Parity**: 校验位(None, Even, Odd)
+   - **Stop Bits**: 停止位(1或2)
+   - **Mode**: 选择RTU或ASCII
+
+3. **TCP连接设置**
+   - **IP Address**: 设备IP地址
+   - **Port**: 端口号(默认502)
+   - **Unit ID**: 从站地址
+
+## 连接设置
+
+### 串口连接示例
+```
+以水处理机为例:
+- Port: COM1
+- Baud Rate: 9600
+- Data Bits: 8
+- Parity: None
+- Stop Bits: 1
+- Mode: RTU
+- Response timeout: 1000ms
+- Delay between polls: 100ms
+```
+
+### TCP连接示例
+```
+集中供液设备网络连接:
+- IP Address: 192.168.1.100
+- Port: 502
+- Unit ID: 1
+- Response timeout: 3000ms
+- Delay between polls: 500ms
+```
+
+## 数据读取配置
+
+### 设置读取参数
+1. **Setup → Read/Write Definition**
+2. 配置读取参数:
+   - **Slave ID**: 从站地址(1-247)
+   - **Function**: 功能码
+     - 01: 读取线圈状态
+     - 02: 读取输入状态
+     - 03: 读取保持寄存器
+     - 04: 读取输入寄存器
+   - **Address**: 起始地址
+   - **Quantity**: 读取数量
+   - **Scan Rate**: 扫描频率(ms)
+
+### 水处理机与集中供液设备参数配置示例
+```
+温度监控:
+- Slave ID: 1
+- Function: 03 (Read Holding Registers)
+- Address: 23 (0x0017)
+- Quantity: 2
+- Scan Rate: 1000ms
+
+供液压力监控:
+- Slave ID: 1
+- Function: 03
+- Address: 25 (0x0019)
+- Quantity: 2
+- Scan Rate: 500ms
+
+液位状态监控:
+- Slave ID: 1
+- Function: 01 (Read Coils)
+- Address: 0x0001
+- Quantity: 16
+- Scan Rate: 2000ms
+
+电导率监控:
+- Slave ID: 1
+- Function: 03
+- Address: 24 (0x0018)
+- Quantity: 2
+- Scan Rate: 1000ms
+
+PH值监控:
+- Slave ID: 1
+- Function: 03
+- Address: 29 (0x001D)
+- Quantity: 2
+- Scan Rate: 1000ms
+```
+
+## 水处理机与集中供液设备通信实例
+
+### 水处理机参数读取
+根据水处理设备通信协议配置:
+
+```
+1. 温度参数(寄存器地址:0x0017)
+   - Function: 03
+   - Address: 23 (0x0017)
+   - Quantity: 2
+   - Data Format: Float (4字节)
+
+2. 电导率参数(寄存器地址:0x0018)
+   - Function: 03
+   - Address: 24 (0x0018)
+   - Quantity: 2
+   - Data Format: Float
+
+3. 供液压力参数(寄存器地址:0x0019-0x001A)
+   - Function: 03
+   - Address: 25 (0x0019)
+   - Quantity: 4
+   - Data Format: Float (供液一、供液二压力)
+
+4. 液位参数(寄存器地址:0x001B-0x001C)
+   - Function: 03
+   - Address: 27 (0x001B)
+   - Quantity: 4
+   - Data Format: Float (储液、配液液位)
+
+5. PH值参数(寄存器地址:0x001D)
+   - Function: 03
+   - Address: 29 (0x001D)
+   - Quantity: 2
+   - Data Format: Float
+```
+
+### 批量读取配置
+```
+Setup → Read/Write Definition → Add Multiple
+创建多个读取组:
+- 组1:温度相关参数 (0x0017-0x0018)
+- 组2:压力相关参数 (0x0019-0x001A)
+- 组3:液位相关参数 (0x001B-0x001C)
+- 组4:PH值参数 (0x001D)
+- 组5:状态相关参数 (0x0001-0x0010)
+```
+
+## 数据监控与分析
+
+### 数据显示格式
+1. **Display → Data Format**
+2. 选择合适的显示格式:
+   - **Signed/Unsigned**: 有符号/无符号
+   - **16-bit/32-bit**: 数据位数
+   - **Hex/Decimal/Binary**: 进制显示
+   - **Float**: 浮点数显示
+
+### 字节序配置详解
+**重要**:正确的字节序设置是数据正确显示的关键
+
+**配置步骤**:
+1. **Display → Data Format → Advanced**
+2. **字节序选项**:
+   ```
+   □ Byte Swap    - 字节交换
+   □ Word Swap    - 字交换
+   
+   四种组合对应不同字节序:
+   ┌─────────────┬──────────┬────────────┐
+   │  选项组合    │  字节序   │   示例      │
+   ├─────────────┼──────────┼────────────┤
+   │  无勾选      │  ABCD    │ 42 0C CC CD │
+   │  Byte Swap  │  BADC    │ 0C 42 CD CC │  
+   │  Word Swap  │  CDAB    │ CC CD 42 0C │
+   │  Both       │  DCBA    │ CD CC 0C 42 │
+   └─────────────┴──────────┴────────────┘
+   ```
+
+**实际验证方法**:
+```
+基于您的通信数据 CD CC 0C 42:
+1. 尝试DCBA格式:CD CC 0C 42 → 35.2°C ✓
+2. 其他格式都会显示异常值
+3. 因此您的设备使用DCBA字节序
+```
+
+**配置建议**:
+- 水处理设备通常使用大端序(ABCD)
+- PC-based设备通常使用小端序(DCBA)  
+- 根据实际数据验证选择正确格式
+
+### 实时监控
+```
+View菜单选项:
+- Data View: 数据表格视图
+- Register View: 寄存器视图
+- Traffic View: 通信流量视图
+- Error View: 错误日志视图
+```
+
+### 数据记录
+1. **Log → Start Logging**
+2. 设置日志文件路径和格式
+3. 选择记录间隔和条件
+4. 开始记录数据变化
+
+### 告警设置
+```
+Setup → Alarm Setup
+配置告警条件:
+- 水温超限:> 40°C 或 < 35°C
+- 供液压力异常:< 0.1MPa 或 > 0.5MPa
+- 电导率异常:< 13.0 或 > 15.0 mS/cm
+- 设备离线:通信超时 > 5秒
+```
+
+## 故障排除
+
+### 常见问题及解决方案
+
+#### 1. 连接失败
+```
+问题:无法连接到设备
+解决方案:
+- 检查串口/网络连接
+- 确认波特率和通信参数
+- 检查设备地址是否正确
+- 验证电缆连接
+```
+
+#### 2. 数据读取异常
+```
+问题:读取数据全为0或异常值
+解决方案:
+- 检查功能码是否正确
+- 确认寄存器地址
+- 检查数据格式设置
+- 验证设备是否支持该功能
+```
+
+#### 3. 通信超时
+```
+问题:频繁出现通信超时
+解决方案:
+- 增加Response Timeout时间
+- 减少扫描频率
+- 检查网络稳定性
+- 确认设备负载情况
+```
+
+#### 4. 数据格式错误
+```
+问题:数据显示格式不正确
+解决方案:
+- 检查字节序设置(大端/小端)
+- 确认数据类型(整数/浮点)
+- 调整数据位数设置
+- 参考设备手册确认格式
+```
+
+#### 5. 字节序问题诊断
+```
+问题:数据数值异常(过大或过小)
+症状:
+- 温度显示几千度或负值
+- 压力显示异常大的数值
+- 电导率显示不合理数值
+
+解决步骤:
+1. 查看Traffic View中的原始十六进制数据
+2. 尝试不同字节序组合:
+   - Display → Data Format → Byte Swap
+   - Display → Data Format → Word Swap
+3. 选择显示合理数值的组合
+4. 验证多个参数确保设置正确
+
+实例:
+原始数据:CD CC 0C 42
+- 默认(ABCD):异常值
+- Byte swap(BADC):异常值  
+- Word swap(CDAB):异常值
+- Byte+Word(DCBA):35.2°C ✓正确
+```
+
+## 高级功能
+
+### 1. 脚本自动化
+```
+Tools → Scripting
+支持VB脚本自动化:
+- 自动连接设备
+- 批量数据处理
+- 条件触发操作
+- 报告生成
+```
+
+### 2. 数据导出
+```
+File → Export Data
+支持多种格式:
+- CSV文件
+- Excel文件
+- XML格式
+- 自定义格式
+```
+
+### 3. 多设备监控
+```
+可同时监控多个设备:
+1. File → New Document
+2. 配置不同设备参数
+3. Window → Tile 平铺显示
+4. 实现多设备集中监控
+```
+
+### 4. 趋势分析
+```
+View → Trend View
+功能特性:
+- 实时趋势图表
+- 历史数据回放
+- 数据统计分析
+- 异常点标记
+```
+
+## 水处理机与集中供液设备监控实战
+
+### 完整监控配置
+```yaml
+# 水处理机与集中供液设备监控配置示例
+设备信息:
+  设备型号: 水处理机+集中供液设备
+  通信方式: Modbus RTU/TCP
+  波特率: 9600
+  从站地址: 1
+
+监控参数:
+  温度监控:
+    地址: 0x0017
+    单位: °C
+    告警: 35-40°C
+    
+  电导率监控:
+    地址: 0x0018
+    单位: mS/cm
+    告警: 13.0-15.0
+    
+  压力监控:
+    供液一: 0x0019
+    供液二: 0x001A
+    单位: MPa
+    告警: 0.1-0.5
+    
+  液位监控:
+    储液: 0x001B
+    配液: 0x001C
+    单位: %
+    告警: 10-90%
+    
+  PH值监控:
+    地址: 0x001D
+    单位: pH
+    告警: 6.5-7.5
+
+扫描设置:
+  正常扫描: 1000ms
+  快速扫描: 500ms
+  慢速扫描: 2000ms
+
+通信协议分析:
+  基于实际通信数据:
+  - 使用Modbus TCP协议
+  - 功能码03 (Read Holding Registers)
+  - 起始地址: 0x0017 (温度)
+  - 数据格式: 32位浮点数 (IEEE 754)
+  - 字节序分析: 
+    * 原始数据: CD CC 0C 42
+    * 需要DCBA字节序 (Byte+Word Swap)
+    * 解析结果: 35.2°C
+  - 数据示例验证:
+    * CD CC 0C 42 (十六进制) 
+    * → 0x420CCCCD (重排后)
+    * → 35.2000008 (IEEE 754浮点数)
+    * → 35.2°C (显示值)
+    
+配置要点:
+  - ModbusPoll设置: Display → Data Format
+  - 勾选: Byte Swap + Word Swap
+  - 数据类型: 32-bit Float
+  - 验证方法: 观察温度是否在合理范围(30-50°C)
+```
+
+### 自动化脚本示例
+```vbscript
+' 水处理机与集中供液设备状态检查脚本
+Sub CheckWaterTreatmentStatus()
+    Dim temp, pressure1, pressure2, conductivity, ph
+    
+    ' 读取温度 (地址23)
+    temp = mbPoll.ReadFloat(1, 3, 23)
+    
+    ' 读取压力 (地址25,26)
+    pressure1 = mbPoll.ReadFloat(1, 3, 25)
+    pressure2 = mbPoll.ReadFloat(1, 3, 26)
+    
+    ' 读取电导率 (地址24)
+    conductivity = mbPoll.ReadFloat(1, 3, 24)
+    
+    ' 读取PH值 (地址29)
+    ph = mbPoll.ReadFloat(1, 3, 29)
+    
+    ' 检查异常
+    If temp > 40 Or temp < 35 Then
+        MsgBox "水温异常: " & temp & "°C"
+    End If
+    
+    If pressure1 < 0.1 Or pressure1 > 0.5 Then
+        MsgBox "供液一压力异常: " & pressure1 & "MPa"
+    End If
+    
+    If conductivity < 13.0 Or conductivity > 15.0 Then
+        MsgBox "电导率异常: " & conductivity & "mS/cm"
+    End If
+    
+    If ph < 6.5 Or ph > 7.5 Then
+        MsgBox "PH值异常: " & ph
+    End If
+End Sub
+```
+
+## 最佳实践建议
+
+### 1. 性能优化
+- 合理设置扫描频率,避免过度轮询
+- 使用批量读取减少通信次数
+- 定期清理日志文件
+- 监控系统资源使用情况
+
+### 2. 数据管理
+- 建立规范的参数命名规则
+- 定期备份重要配置
+- 设置合理的数据保存周期
+- 实施数据安全措施
+
+### 3. 维护建议
+- 定期检查通信线路
+- 更新设备驱动程序
+- 备份工程配置文件
+- 建立故障处理流程
+
+---
+
+## 附录
+
+### A. Modbus功能码对照表
+```
+01 - Read Coils (读取线圈状态)
+02 - Read Discrete Inputs (读取离散输入)
+03 - Read Holding Registers (读取保持寄存器)
+04 - Read Input Registers (读取输入寄存器)
+05 - Write Single Coil (写单个线圈)
+06 - Write Single Register (写单个寄存器)
+15 - Write Multiple Coils (写多个线圈)
+16 - Write Multiple Registers (写多个寄存器)
+```
+
+### B. 常用波特率设置
+```
+1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
+```
+
+### C. 水处理机与集中供液设备常用地址映射
+```
+基于实际通信数据的地址映射:
+温度:0x0017 (十进制23)
+电导率:0x0018 (十进制24)
+供液一压力:0x0019 (十进制25)
+供液二压力:0x001A (十进制26)
+储液液位:0x001B (十进制27)
+配液液位:0x001C (十进制28)
+PH值:0x001D (十进制29)
+状态类:0x0001-0x0010
+控制类:0x0020-0x0030
+```
+
+### D. 大端小端(字节序)详解
+
+#### 什么是大端小端?
+字节序(Byte Order)是指多字节数据在内存中的存储顺序,主要有两种:
+
+**大端序(Big Endian)**:
+- 高位字节存储在低地址
+- 符合人类阅读习惯
+- 网络传输标准字节序
+
+**小端序(Little Endian)**:
+- 低位字节存储在低地址
+- 多数x86处理器采用
+- Intel架构默认字节序
+
+#### 实际例子说明
+以32位浮点数 35.2°C 为例:
+
+```
+IEEE 754 浮点数表示:0x420C_CCCD
+
+大端序存储:
+地址    内容
+0x1000  0x42  (最高位字节)
+0x1001  0x0C
+0x1002  0xCC
+0x1003  0xCD  (最低位字节)
+
+小端序存储:
+地址    内容
+0x1000  0xCD  (最低位字节)
+0x1001  0xCC
+0x1002  0x0C
+0x1003  0x42  (最高位字节)
+```
+
+#### 如何确定设备字节序?
+
+**方法1:通过通信数据分析**
+```
+从commdata.txt看到的数据:CD CC 0C 42
+1. 将这4个字节按不同字节序解释:
+   - 大端序:0x42_0C_CCCD = 35.2 (合理的温度值)
+   - 小端序:0xCDCC_0C42 = 非常大的数值(不合理)
+2. 结论:设备使用大端序
+```
+
+**方法2:查看设备手册**
+```
+设备技术文档通常会说明:
+- "网络字节序" = 大端序
+- "主机字节序" = 通常是小端序
+- "Intel格式" = 小端序
+- "Motorola格式" = 大端序
+```
+
+**方法3:ModbusPoll中的验证**
+```
+在ModbusPoll中测试:
+1. Setup → Data Format → Byte Swap
+2. 观察数据是否合理:
+   - 温度应该在0-100°C范围
+   - 压力应该在0-10MPa范围
+   - 电导率应该在10-20mS/cm范围
+3. 选择显示正确数值的字节序
+```
+
+#### ModbusPoll字节序设置
+
+**配置路径**:Display → Data Format
+
+**选项说明**:
+```
+□ Byte swap         - 交换字节序
+□ Word swap         - 交换字顺序
+□ Dword swap        - 交换双字顺序
+
+组合设置对应不同格式:
+- 无勾选:ABCD (大端序)
+- Byte swap:BADC
+- Word swap:CDAB  
+- Byte+Word swap:DCBA (小端序)
+```
+
+#### 实际应用示例
+
+**案例1:温度读取异常**
+```
+问题:读取温度显示为几千度
+原因:字节序设置错误
+解决:勾选"Byte swap"调整字节序
+```
+
+**案例2:压力值显示异常**
+```
+读取数据:12 34 56 78
+大端序解释:0x12345678 = 305,419,896 (异常)
+小端序解释:0x78563412 = 2,018,915,346 (异常)
+需要Word swap:0x34127856 = 873,756,758 (仍异常)
+正确设置:Byte+Word swap = 0x78563412转换为浮点数
+```
+
+#### 调试技巧
+
+**步骤1:记录原始数据**
+```
+使用Traffic View查看原始十六进制数据
+例如:42 0C CC CD
+```
+
+**步骤2:手动计算验证**
+```
+使用在线IEEE 754转换器:
+- 输入:420CCCCD
+- 输出:35.2000008...
+- 验证是否为合理数值
+```
+
+**步骤3:ModbusPoll中测试**
+```
+依次尝试四种字节序组合:
+1. ABCD - 原始顺序
+2. BADC - Byte swap
+3. CDAB - Word swap  
+4. DCBA - Byte+Word swap
+选择显示合理数值的设置
+```
+
+#### 常见设备字节序
+```
+大端序设备:
+- 施耐德PLC
+- 西门子S7系列
+- ABB设备
+- 大多数网络设备
+
+小端序设备:
+- 三菱PLC
+- 欧姆龙PLC
+- PC-based控制器
+- Intel架构设备
+```
+
+---
+
+*本教程基于ModbusPoll v7.0.0版本编写,适用于水处理机与集中供液设备参数监控系统。如有问题请参考官方文档或联系技术支持。*
diff --git "a/docs/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus  slave\350\256\276\345\244\207.md" "b/Help/docs/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207.md"
similarity index 100%
rename from "docs/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus  slave\350\256\276\345\244\207.md"
rename to "Help/docs/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207.md"
diff --git "a/Help/docs/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250.md" "b/Help/docs/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250.md"
new file mode 100644
index 0000000..7d3d57d
--- /dev/null
+++ "b/Help/docs/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250.md"
@@ -0,0 +1,36 @@
+# Node-RED 常用组件列表
+
+以下是常用的 Node-RED 组件及其版本,建议根据实际需求选择安装。
+
+| 组件名称 | 版本 | 说明 |
+| --- | --- | --- |
+| @node-red-contrib-themes/theme-collection | 4.0.11 | 主题集合 |
+| node-red | 4.0.9 | Node-RED 主程序 |
+| node-red-contrib-aedes | 0.6.0 | MQTT Broker 节点 |
+| node-red-contrib-bigtimer | 2.8.6 | 强大的定时器节点 |
+| node-red-contrib-cast | 0.2.17 | Google Cast 支持 |
+| node-red-contrib-counter | 0.1.6 | 计数器节点 |
+| node-red-contrib-cron-plus | 2.1.0 | 高级定时任务节点 |
+| node-red-contrib-home-assistant-websocket | 0.77.1 | Home Assistant 集成 |
+| node-red-contrib-influxdb | 0.7.0 | InfluxDB 数据库支持 |
+| node-red-contrib-interval-length | 0.0.6 | 间隔长度计算 |
+| node-red-contrib-lvin-crc16 | 1.0.2 | CRC16 校验 |
+| node-red-contrib-md5 | 1.0.4 | MD5 加密 |
+| node-red-contrib-modbus | 5.43.0 | Modbus 协议支持 |
+| node-red-contrib-moment | 5.0.0 | 时间处理 |
+| node-red-contrib-mqtt-broker | 0.2.9 | MQTT Broker 节点 |
+| node-red-contrib-persistent-fsm | 1.2.1 | 有状态机节点 |
+| node-red-contrib-sunevents | 3.1.1 | 日出日落事件 |
+| node-red-contrib-time-range-switch | 1.2.0 | 时间范围开关 |
+| node-red-dashboard | 3.6.5 | 仪表盘组件 |
+| node-red-node-base64 | 1.0.0 | Base64 编码解码 |
+| node-red-node-email | 3.0.3 | 邮件发送节点 |
+| node-red-node-feedparser | 0.3.0 | RSS Feed 解析 |
+| node-red-node-ping | 0.3.3 | Ping 节点 |
+| node-red-node-random | 0.4.1 | 随机数节点 |
+| node-red-node-serialport | 2.0.3 | 串口节点 |
+| node-red-node-smooth | 0.1.2 | 平滑数据节点 |
+| node-red-node-suncalc | 1.2.0 | 太阳计算节点 |
+| node-red-node-twitter | 1.2.0 | Twitter 集成 |
+
+> 如需详细使用方法,请参考官方文档或社区教程。
diff --git "a/docs/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3.md" "b/Help/docs/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3.md"
similarity index 100%
rename from "docs/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3.md"
rename to "Help/docs/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3.md"
diff --git "a/docs/\345\256\211\350\243\205node-red\350\256\260\345\275\225.md" "b/Help/docs/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225.md"
similarity index 100%
rename from "docs/\345\256\211\350\243\205node-red\350\256\260\345\275\225.md"
rename to "Help/docs/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225.md"
diff --git a/Help/mkdocs.yml b/Help/mkdocs.yml
index 6c0d9b3..3b1e60e 100644
--- a/Help/mkdocs.yml
+++ b/Help/mkdocs.yml
@@ -19,6 +19,22 @@
         - 使用概述: Usages/usage.md
         - 配置网络: Usages/netconfig/netconfig.md
         - 系统初始化配置: Usages/initConfig/initConfig.md
+      - Q/A:
+        - 透析中心HA环境温度发送到胜透的操作指南 : Usages\QA\透析中心HA环境温度发送到胜透的操作指南.md
+        - errorsQA : Usages\QA\errorsQA.md
+        - HA-如何实现状态反转 : Usages\QA\HA-如何实现状态反转.md
+        - TS88透析机联机通信-中文版 : Usages\QA\TS88透析机联机通信-中文版.md
+        - VMware-ESXi扩展HomeAssistant硬盘指南 : Usages\QA\VMware-ESXi扩展HomeAssistant硬盘指南.md
+        - 如何集成和风天气组件到HA : Usages\QA\如何集成和风天气组件到HA.md
+        - 如厕风险-人存在传感器配置方法 : Usages\QA\如厕风险-人存在传感器配置方法.md
+  - 其它教程:
+      - Node-red相关:
+        - 安装node-red记录: node-reds\安装node-red记录.md
+        - 如何把node-red安装到orangepiZero: node-reds\如何把node-red安装到orangepiZero3.md
+        - ModbusPoll-v7.0.0使用教程 : node-reds\ModbusPoll-v7.0.0使用教程.md
+        - node-red常用组件列表 : node-reds\node-red常用组件列表.md
+        - node-red如何连接modbus _slave设备 : node-reds\node-red如何连接modbus _slave设备.md
+
 extra:
   social:
     - icon: fontawesome/brands/github
diff --git a/Help/site/404.html b/Help/site/404.html
index eb6953f..c28ae7c 100644
--- a/Help/site/404.html
+++ b/Help/site/404.html
@@ -54,6 +54,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="/node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="/node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git "a/Help/site/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254/index.html" "b/Help/site/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254/index.html"
new file mode 100644
index 0000000..136f0c5
--- /dev/null
+++ "b/Help/site/Usages/QA/HA-\345\246\202\344\275\225\345\256\236\347\216\260\347\212\266\346\200\201\345\217\215\350\275\254/index.html"
@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../../img/favicon.ico" />
+    <title>HA-如何实现状态反转 - DT-HA</title>
+    <link rel="stylesheet" href="../../../css/theme.css" />
+    <link rel="stylesheet" href="../../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "HA-\u5982\u4f55\u5b9e\u73b0\u72b6\u6001\u53cd\u8f6c";
+        var mkdocs_page_input_path = "Usages\\QA\\HA-\u5982\u4f55\u5b9e\u73b0\u72b6\u6001\u53cd\u8f6c.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1 current"><a class="reference internal current" >Q/A</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">使用教程</li>
+          <li class="breadcrumb-item">Q/A</li>
+      <li class="breadcrumb-item active">HA-如何实现状态反转</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <p>首先,在小米的设备里,找到你要反转状记的传感器的 ID,
+以大连为例,冰箱门的传感器状态是反的,门开时显示关的,门关时显示开的,需要反转显
+法,此设备的传感器 ID 为:</p>
+<p>“binary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2</p>
+<p>记住这个 ID</p>
+<p>找到配置文件
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250815103221.png" /></p>
+<p>在配置文件中增加如下格式的传感器反转配置,注意,此配置要严格遵守 YML 格式,不懂
+的可以百度学一下, </p>
+<p>内容为:</p>
+<div class="codehilite"><pre><span></span><code>  - binary_sensor:
+      - name: &quot;大连冰箱门-1 (状态反转)&quot;
+        unique_id: &quot;reversed_大连冰箱门_1&quot;
+        state: &gt;
+          {{ is_state(&#39;binary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2&#39;, &#39;off&#39;) }} 
+</code></pre></div>
+
+<p>注意,state 后面的格式要对,传感器 ID 要换成刚记下的传感器 ID
+这样你就多了一个名称为:“大连冰箱门-1 (状态反转)”的传感器</p>
+<p>然后,到仪表盘,对应的组件中 
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250815103419.png" />
+选中 
+大连冰箱门-1 (状态反转)
+保存即可
+这样就实现了反转,仪表盘中,不要再使用原来的 ID,要使用你配置文件中新增的 id</p>
+<p>注意:
+如果,状态没有反转,可以从开发者工具中查看传感器的状态,确认是否正确反转。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/c4822803defafa35b8650a5b865c1336.png" /></p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../errorsQA/" class="btn btn-neutral float-left" title="errorsQA"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/" class="btn btn-neutral float-right" title="TS88透析机联机通信-中文版">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../errorsQA/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../../..";</script>
+    <script src="../../../js/theme_extra.js"></script>
+    <script src="../../../js/theme.js"></script>
+      <script src="../../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210/index.html" "b/Help/site/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210/index.html"
new file mode 100644
index 0000000..5a904f9
--- /dev/null
+++ "b/Help/site/Usages/QA/TS88\351\200\217\346\236\220\346\234\272\350\201\224\346\234\272\351\200\232\344\277\241-\344\270\255\346\226\207\347\211\210/index.html"
@@ -0,0 +1,849 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../../img/favicon.ico" />
+    <title>TS88透析机联机通信-中文版 - DT-HA</title>
+    <link rel="stylesheet" href="../../../css/theme.css" />
+    <link rel="stylesheet" href="../../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "TS88\u900f\u6790\u673a\u8054\u673a\u901a\u4fe1-\u4e2d\u6587\u7248";
+        var mkdocs_page_input_path = "Usages\\QA\\TS88\u900f\u6790\u673a\u8054\u673a\u901a\u4fe1-\u4e2d\u6587\u7248.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1 current"><a class="reference internal current" >Q/A</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">TS88透析机联机通信-中文版</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#_1">注意事项</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_2">简介</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1">1. 操作手册</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2">2. 责任限制</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#1_1">第1章 规格</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#11">1.1 数据通信功能的描述</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#12">1.2 通信规格</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#2-pc">第2章 与PC的连接</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#21-pc">2.1 连接透析机和PC</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#22-ip">2.2 通信基板IP的设定</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#23-ip">2.3 通信基板临时IP的设定方法</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#24">2.4 通信基板的重置功能</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_7">文档信息</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_8">附录</a>
+    </li>
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">使用教程</li>
+          <li class="breadcrumb-item">Q/A</li>
+      <li class="breadcrumb-item active">TS88透析机联机通信-中文版</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h1 id="tqs-88-">TQS-88 单人血液透析机-数据通信操作手册<a class="headerlink" href="#tqs-88-" title="Permanent link">&para;</a></h1>
+<h2 id="_1">注意事项<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
+<ul>
+<li>在开始使用透析机前请仔细阅读本操作手册。</li>
+<li>任何不当操作都可能会导致事故。使用符合本说明的透析机。</li>
+<li>请将本操作手册置于易于获取的位置,以便在需要时可随时参阅。</li>
+</ul>
+<p>本操作手册旨在为操作人员提供使用"数据通信"所需的信息。</p>
+<p>本操作手册主要涵盖以下有关"数据通信"的内容:
+1. 规格
+2. 与PC的连接</p>
+<p>正文中警示定义如下:
+- <strong>注意</strong>:此标志后的描述是使用说明。您必须遵守使用说明。
+- <strong>附注</strong>:此标志后的描述是为了让您增进理解的有用信息或补充说明事项。</p>
+<h2 id="_2">简介<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
+<p>操作此选配件("数据通信"功能)时,请务必充分理解和特别注意以下事项。使用前必须充分了解内容。</p>
+<h3 id="1">1. 操作手册<a class="headerlink" href="#1" title="Permanent link">&para;</a></h3>
+<p>(1) 本操作手册介绍了正确使用"数据通信"所需的信息和安全的操作方法,并非旨在说明对患者的治疗。</p>
+<p>(2) 只有仔细阅读并充分理解本操作手册中所含的说明后,才能使用设备并进行操作以及维护。</p>
+<p>(3) 本操作手册中的操作方法和安全注意事项适用于进行特定目的的"数据通信"使用。请勿尝试以本手册中所列以外的任何方式使用设备。</p>
+<p>本手册的内容受东丽医疗科技(青岛)股份有限公司版权保护,东丽医疗科技(青岛)股份有限公司保留所有权利。未经东丽医疗科技(青岛)股份有限公司事先书面同意,不得以任何形式复制、转载本手册中的任何内容,或将其译为其他语言。</p>
+<h3 id="2">2. 责任限制<a class="headerlink" href="#2" title="Permanent link">&para;</a></h3>
+<ul>
+<li>我们希望您事前了解,对由于操作此透析机所造成的任何可能的损害或利益损失,我们不承担任何责任。</li>
+<li>请勿拆卸或改造透析机,否则将不在制造商保修范围之内。</li>
+<li>由于客户拆卸、改造、分解或使用不当以及安装环境、搬运不当等造成的损害,我们不承担任何责任。</li>
+<li>如果无法发挥固有功能,则不得用于治疗用途。对此类情形下造成的任何损害或对患者的损伤,我们不承担任何责任。</li>
+<li>透析机的日常维护和检查应根据"维护检查手册"进行。</li>
+</ul>
+<h2 id="1_1">第1章 规格<a class="headerlink" href="#1_1" title="Permanent link">&para;</a></h2>
+<h3 id="11">1.1 数据通信功能的描述<a class="headerlink" href="#11" title="Permanent link">&para;</a></h3>
+<p>透析机的治疗数据和设置数据可从以太网接口传输到计算机中。</p>
+<h3 id="12">1.2 通信规格<a class="headerlink" href="#12" title="Permanent link">&para;</a></h3>
+<h4 id="121-lan">1.2.1 LAN参数<a class="headerlink" href="#121-lan" title="Permanent link">&para;</a></h4>
+<table>
+<thead>
+<tr>
+<th>编号</th>
+<th>项目</th>
+<th>描述</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>1</td>
+<td>以太网接口</td>
+<td>10Base-T 或 100Base-TX(自动感应)</td>
+</tr>
+<tr>
+<td>2</td>
+<td>串口</td>
+<td>RJ45</td>
+</tr>
+<tr>
+<td>3</td>
+<td>网络配置</td>
+<td>可自定义</td>
+</tr>
+</tbody>
+</table>
+<h4 id="122">1.2.2 透析机通信步骤<a class="headerlink" href="#122" title="Permanent link">&para;</a></h4>
+<p>透析机端管理的数据通过PC端的数据传输请求进行传输。</p>
+<div class="codehilite"><pre><span></span><code>graph TD
+    A[PC] --&gt;|数据传输请求| B[透析机]
+    B --&gt;|数据传输| A
+    B --&gt;|临床数据传输| A
+</code></pre></div>
+
+<ul>
+<li>[1] PC端传输数据请求信号(参阅第1.2.3节)。</li>
+<li>[2] 透析机接收PC的数据请求信号,并发送各种相应的数据(参阅第1.2.4节和第1.2.5节)。</li>
+</ul>
+<h4 id="123-pc">1.2.3 从PC传输到透析机的数据及其格式<a class="headerlink" href="#123-pc" title="Permanent link">&para;</a></h4>
+<p>数据传输请求(3个字节)</p>
+<table>
+<thead>
+<tr>
+<th>"K"(4BH)</th>
+<th>CR(0DH)</th>
+<th>LF(0AH)</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+</tbody>
+</table>
+<h4 id="124-pc">1.2.4 从透析机传输到PC的数据格式<a class="headerlink" href="#124-pc" title="Permanent link">&para;</a></h4>
+<h5 id="_3">临床数据<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h5>
+<table>
+<thead>
+<tr>
+<th>开始 [1]</th>
+<th>数据长度 [2]</th>
+<th>数据 [3]</th>
+<th>总数 [4]</th>
+<th>结束 [5]</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+</tr>
+</tbody>
+</table>
+<h5 id="_4">数据组成<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h5>
+<table>
+<thead>
+<tr>
+<th>编号</th>
+<th>字节数</th>
+<th>描述</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>[1]</td>
+<td>2</td>
+<td>数据开始代码(ASCII)<br/>"K""1"</td>
+</tr>
+<tr>
+<td>[2]</td>
+<td>3</td>
+<td>数据长度(ASCII)<br/>采用3位数的形式表示第三项中计算的所有字节的总和。<br/>例如)如果总数为123个字节,则显示为:"1","2","3"</td>
+</tr>
+<tr>
+<td>[3]</td>
+<td>1</td>
+<td>数据验证代码(ASCII)<br/>(请参阅1.2.5。)<br/>* 按数据类型的编号反复传输。</td>
+</tr>
+<tr>
+<td>[3]</td>
+<td>单个</td>
+<td>数据(ASCII)<br/>(请参阅1.2.5。)<br/>* 按数据类型的编号反复传输。</td>
+</tr>
+<tr>
+<td>[4]</td>
+<td>2</td>
+<td>用于和数校验的数据<br/>计算[1]~[3]总和,较低的十六进制2位数会转换成ASCII代码。<br/>例如)总共5aH字节,则显示为:"5"、"A"</td>
+</tr>
+<tr>
+<td>[5]</td>
+<td>2</td>
+<td>数据结束代码<br/>CR、LF</td>
+</tr>
+</tbody>
+</table>
+<h4 id="125-pc">1.2.5 从透析机传输到PC的数据<a class="headerlink" href="#125-pc" title="Permanent link">&para;</a></h4>
+<h5 id="_5">数据列表<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h5>
+<table>
+<thead>
+<tr>
+<th>编号</th>
+<th>数据名称</th>
+<th>数据标识代码</th>
+<th>字节数</th>
+<th>单位</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>1</td>
+<td>UF目标</td>
+<td>"A"</td>
+<td>5</td>
+<td>L</td>
+</tr>
+<tr>
+<td>2</td>
+<td>UF量</td>
+<td>"B"</td>
+<td>5</td>
+<td>L</td>
+</tr>
+<tr>
+<td>3</td>
+<td>UF速率</td>
+<td>"C"</td>
+<td>5</td>
+<td>L/hr</td>
+</tr>
+<tr>
+<td>4</td>
+<td>血液流速</td>
+<td>"D"</td>
+<td>5</td>
+<td>mL/min</td>
+</tr>
+<tr>
+<td>5</td>
+<td>注射器流速</td>
+<td>"E"</td>
+<td>5</td>
+<td>mL/h</td>
+</tr>
+<tr>
+<td>6</td>
+<td>透析液温度</td>
+<td>"F"</td>
+<td>5</td>
+<td>摄氏度</td>
+</tr>
+<tr>
+<td>7</td>
+<td>透析液电导度</td>
+<td>"G"</td>
+<td>5</td>
+<td>mS/cm</td>
+</tr>
+<tr>
+<td>8</td>
+<td>静脉压</td>
+<td>"H"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>9</td>
+<td>透析液压</td>
+<td>"I"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>10</td>
+<td>TMP</td>
+<td>"J"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>11</td>
+<td>透析时间</td>
+<td>"K"</td>
+<td>5</td>
+<td>min</td>
+</tr>
+<tr>
+<td>12</td>
+<td>透析液温度警报</td>
+<td>"a"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>13</td>
+<td>电导度警报</td>
+<td>"b"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>14</td>
+<td>静脉压警报</td>
+<td>"c"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>15</td>
+<td>透析液压力警报</td>
+<td>"d"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>16</td>
+<td>TMP警报</td>
+<td>"e"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>17</td>
+<td>气泡侦测器警报</td>
+<td>"f"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>18</td>
+<td>漏血警报</td>
+<td>"g"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>19</td>
+<td>其他警报</td>
+<td>"h"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>20</td>
+<td>透析液流速</td>
+<td>"L"</td>
+<td>5</td>
+<td>mL/min</td>
+</tr>
+<tr>
+<td>21</td>
+<td>BPM检测时间</td>
+<td>"M"</td>
+<td>5</td>
+<td>时间</td>
+</tr>
+<tr>
+<td>22</td>
+<td>BPM最高血压</td>
+<td>"N"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>23</td>
+<td>BPM最低血压</td>
+<td>"O"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>24</td>
+<td>BPM脉冲</td>
+<td>"P"</td>
+<td>5</td>
+<td>脉冲</td>
+</tr>
+<tr>
+<td>25</td>
+<td>BPM收缩上限警报</td>
+<td>"Q"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>26</td>
+<td>BPM收缩下限警报</td>
+<td>"R"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>27</td>
+<td>BPM压脉带压力</td>
+<td>"S"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>28</td>
+<td>BPM检测间隔时间</td>
+<td>"T"</td>
+<td>5</td>
+<td>min</td>
+</tr>
+<tr>
+<td>29</td>
+<td>总血液流量</td>
+<td>"U"</td>
+<td>5</td>
+<td>L</td>
+</tr>
+<tr>
+<td>30</td>
+<td>静脉压上限警报</td>
+<td>"V"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>31</td>
+<td>静脉压下限警报</td>
+<td>"W"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>32</td>
+<td>总注射流量</td>
+<td>"X"</td>
+<td>5</td>
+<td>mL</td>
+</tr>
+<tr>
+<td>33</td>
+<td>透析液压上限警报</td>
+<td>"Y"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>34</td>
+<td>透析液压下限警报</td>
+<td>"Z"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>35</td>
+<td>NaCl注入级别</td>
+<td>"i"</td>
+<td>5</td>
+<td>—</td>
+</tr>
+<tr>
+<td>36</td>
+<td>UF个性化程序</td>
+<td>"j"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>37</td>
+<td>透析液选择</td>
+<td>"k"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>38</td>
+<td>电导度级别</td>
+<td>"l"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>39</td>
+<td>数据通信状态</td>
+<td>"m"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>40</td>
+<td>序列号</td>
+<td>"n"</td>
+<td>8</td>
+<td>—</td>
+</tr>
+<tr>
+<td>41</td>
+<td>动脉压</td>
+<td>"o"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>42</td>
+<td>动脉压警报</td>
+<td>"p"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>43</td>
+<td>动脉压上限警报</td>
+<td>"q"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>44</td>
+<td>动脉压下限警报</td>
+<td>"r"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>45</td>
+<td>TMP上限警报</td>
+<td>"s"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>46</td>
+<td>TMP下限警报</td>
+<td>"t"</td>
+<td>5</td>
+<td>mmHg</td>
+</tr>
+<tr>
+<td>47</td>
+<td>置换率</td>
+<td>"u"</td>
+<td>5</td>
+<td>L/hr</td>
+</tr>
+<tr>
+<td>48</td>
+<td>置换目标量</td>
+<td>"v"</td>
+<td>5</td>
+<td>L</td>
+</tr>
+<tr>
+<td>49</td>
+<td>置换液进程量</td>
+<td>"w"</td>
+<td>5</td>
+<td>L</td>
+</tr>
+<tr>
+<td>50</td>
+<td>Na个性化程序</td>
+<td>"x"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>51</td>
+<td>血液泵个性化程序</td>
+<td>"y"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>52</td>
+<td>注射泵个性化程序</td>
+<td>"z"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>53</td>
+<td>透析液个性化程序</td>
+<td>"!"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+<tr>
+<td>54</td>
+<td>透析液温度设置值</td>
+<td>"#"</td>
+<td>5</td>
+<td>摄氏度</td>
+</tr>
+<tr>
+<td>55</td>
+<td>缺水2警报</td>
+<td>"$"</td>
+<td>1</td>
+<td>—</td>
+</tr>
+</tbody>
+</table>
+<h5 id="_6">数据说明<a class="headerlink" href="#_6" title="Permanent link">&para;</a></h5>
+<p>1) 未指定数据传输的顺序。
+2) 第1到11项、20到35项、41项、43到49项和54项的数据以5位数表示。
+   - 如果包含小数点,则5位数包含了小数点。
+   - 如果数据为负数,数字将以减号标志"-"开头。
+   - 如果高位字节为零,则显示"0"。
+   - 例如)目标UF量为2.35L,则输入"0"、"2"、"."、"3"和"5"。
+3) 第12至19项、42项和55项的警报值为"1"(已警报)或"0"(未警报)。
+4) 第19项其他警报是除第12至18项、42项和55项以外的警报。
+5) 第40项数据是序列号(左对齐)。
+6) 第21项"血压检测时间"指是否对血压进行检测的判断。
+7) 第25至28项是与血压相关的设置。
+   - 设置更改后,最新设置会在下一次数据传输请求时传输。</p>
+<h2 id="2-pc">第2章 与PC的连接<a class="headerlink" href="#2-pc" title="Permanent link">&para;</a></h2>
+<h3 id="21-pc">2.1 连接透析机和PC<a class="headerlink" href="#21-pc" title="Permanent link">&para;</a></h3>
+<p><img alt="透析机连接示意图" src="https://qncdn.tairongkj.com/docs/images/20250607174933220.png" /></p>
+<table>
+<thead>
+<tr>
+<th>编号</th>
+<th>名称</th>
+<th>功能</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>1</td>
+<td>LAN</td>
+<td>- 通过本透析机背面提供的LAN接口,连接此透析机和PC。<br>- LAN:RJ-45串口。</td>
+</tr>
+</tbody>
+</table>
+<h3 id="22-ip">2.2 通信基板IP的设定<a class="headerlink" href="#22-ip" title="Permanent link">&para;</a></h3>
+<h4 id="221">2.2.1 打开"搜索工具"应用程序<a class="headerlink" href="#221" title="Permanent link">&para;</a></h4>
+<p>如下图所示:</p>
+<p><img alt="搜索工具界面" src="https://qncdn.tairongkj.com/docs/images/20250607175137063.png" /></p>
+<h4 id="222">2.2.2 搜索通信基板<a class="headerlink" href="#222" title="Permanent link">&para;</a></h4>
+<p>在打开的"搜索工具"界面下,点击左上角类似望远镜标志的"搜索"按钮,搜索已经连接到电脑的通信基板。</p>
+<p><img alt="搜索按钮" src="https://qncdn.tairongkj.com/docs/images/20250607175312162.png" /></p>
+<h4 id="223-pc">2.2.3 设定PC网络参数<a class="headerlink" href="#223-pc" title="Permanent link">&para;</a></h4>
+<p>为确保PC和通信基板的正常通信,根据搜索到的通信基板的IP对通信用PC进行参数设定(IP地址、子网掩码、默认网关)。</p>
+<p><img alt="网络设置" src="https://qncdn.tairongkj.com/docs/images/20250607175451102.png" /></p>
+<p><strong>IP地址、子网掩码、默认网关的设定:</strong></p>
+<p>1) 确保和通信基板IP地址在同一域内,且设定的IP和同一域内其他设备的IP不冲突。
+2) PC的IP地址设定完成后,鼠标点击子网掩码输入栏,子网掩码会自动生成(原则上自动生成的子网掩码和通信基板的子网掩码是相同的,参考2.2.4对子网掩码进行确认)。
+3) PC的默认网关和通信基板相同(参考2.2.4对默认网关进行确认)。</p>
+<h4 id="224-ip">2.2.4 进入IP设定界面<a class="headerlink" href="#224-ip" title="Permanent link">&para;</a></h4>
+<p>选中搜索到的目标IP,点击"设置"按钮,进入IP设定界面。在IP设定界面下,根据需要,重新设定通信基板的IP,并点击"保存"键,完成新IP的设定。</p>
+<blockquote>
+<p><strong>注意</strong>:通信基板IP设定界面也可以不用"搜索工具"软件而直接在IE浏览器中输入 http://192.168.0.233/ 直接打开。</p>
+</blockquote>
+<h3 id="23-ip">2.3 通信基板临时IP的设定方法<a class="headerlink" href="#23-ip" title="Permanent link">&para;</a></h3>
+<h4 id="231-ip">2.3.1 设置临时IP<a class="headerlink" href="#231-ip" title="Permanent link">&para;</a></h4>
+<p>点击"搜索"按钮对连接到PC的通信设备进行搜索,选中目标IP,点击"设置临时IP(F)"按钮。</p>
+<p><img alt="临时IP设置" src="https://qncdn.tairongkj.com/docs/images/20250607175708609.png" /></p>
+<h4 id="232-ip">2.3.2 配置临时IP<a class="headerlink" href="#232-ip" title="Permanent link">&para;</a></h4>
+<p>在打开的"设置临时IP(F)"界面下,即可根据需要对目标IP进行临时设定。</p>
+<blockquote>
+<p><strong>注意</strong>:设定的IP只有在设备未断电和未重启时有效,如果设备重启或者断电,IP的设定会自动恢复到出厂设置。</p>
+</blockquote>
+<p><img alt="临时IP配置" src="https://qncdn.tairongkj.com/docs/images/20250607175824120.png" /></p>
+<h3 id="24">2.4 通信基板的重置功能<a class="headerlink" href="#24" title="Permanent link">&para;</a></h3>
+<h4 id="241">2.4.1 打开基板管理界面<a class="headerlink" href="#241" title="Permanent link">&para;</a></h4>
+<p>在PC的IE浏览器中输入通信基板的IP地址进行搜索(以IP地址为192.168.0.233为例,在IE浏览器中应输入 http://192.168.0.233/ )打开如下的画面。</p>
+<p><img alt="基板管理界面" src="https://qncdn.tairongkj.com/docs/images/20250607180026372.png" /></p>
+<h4 id="242">2.4.2 执行恢复出厂设置<a class="headerlink" href="#242" title="Permanent link">&para;</a></h4>
+<p>点击画面左侧的"恢复出厂设置"项,进入"恢复出厂设置"界面。点击"恢复"键即可恢复出厂设置。</p>
+<p><img alt="恢复出厂设置" src="https://qncdn.tairongkj.com/docs/images/20250607180122463.png" /></p>
+<hr />
+<h2 id="_7">文档信息<a class="headerlink" href="#_7" title="Permanent link">&para;</a></h2>
+<p><strong>单人血液透析机</strong><br />
+<strong>TQS-88 选配</strong><br />
+<strong>数据通信操作手册</strong></p>
+<p>00版发布 2019/01/11</p>
+<p><strong>东丽医疗科技(青岛)股份有限公司</strong><br />
+青岛市即墨区服装工业园内孔雀河四路63号</p>
+<p>电话:0532-81721030<br />
+传真:0532-81721025<br />
+邮政编码:266200</p>
+<p>☑ 原版发行<br />
+□ 原版译本</p>
+<h2 id="_8">附录<a class="headerlink" href="#_8" title="Permanent link">&para;</a></h2>
+<p><img alt="附录图片" src="https://qncdn.tairongkj.com/docs/images/44ae02381addecb521855df40c6427a.jpg" /></p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/" class="btn btn-neutral float-left" title="HA-如何实现状态反转"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/" class="btn btn-neutral float-right" title="VMware-ESXi扩展HomeAssistant硬盘指南">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../../..";</script>
+    <script src="../../../js/theme_extra.js"></script>
+    <script src="../../../js/theme.js"></script>
+      <script src="../../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227/index.html" "b/Help/site/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227/index.html"
new file mode 100644
index 0000000..59af31e
--- /dev/null
+++ "b/Help/site/Usages/QA/VMware-ESXi\346\211\251\345\261\225HomeAssistant\347\241\254\347\233\230\346\214\207\345\215\227/index.html"
@@ -0,0 +1,399 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../../img/favicon.ico" />
+    <title>VMware-ESXi扩展HomeAssistant硬盘指南 - DT-HA</title>
+    <link rel="stylesheet" href="../../../css/theme.css" />
+    <link rel="stylesheet" href="../../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "VMware-ESXi\u6269\u5c55HomeAssistant\u786c\u76d8\u6307\u5357";
+        var mkdocs_page_input_path = "Usages\\QA\\VMware-ESXi\u6269\u5c55HomeAssistant\u786c\u76d8\u6307\u5357.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1 current"><a class="reference internal current" >Q/A</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#_1">概述</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_2">前提条件</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_3">操作步骤</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1">步骤1:准备工作</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2esxi">步骤2:在ESXi中扩展硬盘</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#3">步骤3:启动虚拟机</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#4">步骤4:扩展文件系统</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#5">步骤5:验证扩展结果</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_4">故障排除</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1_1">问题1:虚拟机无法启动</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2">问题2:文件系统扩展失败</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#3_1">问题3:扩展后空间未显示</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_5">注意事项</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_6">⚠️ 安全警告</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_7">💡 最佳实践</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_8">📋 验证清单</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_9">相关文档</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_10">更新记录</a>
+    </li>
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">使用教程</li>
+          <li class="breadcrumb-item">Q/A</li>
+      <li class="breadcrumb-item active">VMware-ESXi扩展HomeAssistant硬盘指南</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h1 id="vmware-esxihome-assistant-os">VMware ESXi中扩展Home Assistant OS硬盘空间指南<a class="headerlink" href="#vmware-esxihome-assistant-os" title="Permanent link">&para;</a></h1>
+<h2 id="_1">概述<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
+<p>本文档介绍如何在VMware ESXi环境中将通过OVA方式安装的Home Assistant OS虚拟机硬盘从32GB扩展到500GB。</p>
+<h2 id="_2">前提条件<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
+<ul>
+<li>VMware ESXi 5.5 或更高版本</li>
+<li>已安装的Home Assistant OS虚拟机</li>
+<li>ESXi主机有足够的存储空间(至少500GB可用)</li>
+<li>管理员权限访问ESXi Web界面</li>
+</ul>
+<h2 id="_3">操作步骤<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h2>
+<h3 id="1">步骤1:准备工作<a class="headerlink" href="#1" title="Permanent link">&para;</a></h3>
+<ol>
+<li><strong>创建虚拟机快照</strong>(强烈建议)</li>
+<li>在ESXi Web界面中选择Home Assistant虚拟机</li>
+<li>点击"操作" → "创建快照"</li>
+<li>输入快照名称:<code>扩容前备份_YYYY-MM-DD</code></li>
+<li>
+<p>点击"创建快照"</p>
+</li>
+<li>
+<p><strong>完全关闭虚拟机</strong></p>
+</li>
+<li>在Home Assistant界面中选择"系统" → "重启系统"</li>
+<li>选择"关机"选项</li>
+<li>或在ESXi界面中选择虚拟机,点击"关闭电源"</li>
+<li>⚠️ <strong>重要</strong>:确保是完全关闭,不是挂起状态</li>
+</ol>
+<h3 id="2esxi">步骤2:在ESXi中扩展硬盘<a class="headerlink" href="#2esxi" title="Permanent link">&para;</a></h3>
+<ol>
+<li><strong>进入虚拟机编辑模式</strong></li>
+<li>在ESXi Web界面中右键点击Home Assistant虚拟机</li>
+<li>
+<p>选择"编辑设置"</p>
+</li>
+<li>
+<p><strong>修改硬盘容量</strong></p>
+</li>
+<li>在虚拟硬件列表中找到"硬盘1"</li>
+<li>当前显示为"32 GB"</li>
+<li>将数值改为"500",单位保持"GB"</li>
+<li>
+<p>点击"保存"</p>
+</li>
+<li>
+<p><strong>确认更改</strong></p>
+</li>
+<li>检查虚拟机设置中硬盘容量已显示为500GB</li>
+<li>关闭编辑窗口</li>
+</ol>
+<h3 id="3">步骤3:启动虚拟机<a class="headerlink" href="#3" title="Permanent link">&para;</a></h3>
+<ol>
+<li><strong>启动Home Assistant</strong></li>
+<li>点击虚拟机的"开启电源"按钮</li>
+<li>等待Home Assistant完全启动</li>
+<li>通过Web界面确认系统正常运行</li>
+</ol>
+<h3 id="4">步骤4:扩展文件系统<a class="headerlink" href="#4" title="Permanent link">&para;</a></h3>
+<p>虚拟硬盘已扩展,但操作系统还需要识别并使用新增空间。</p>
+<h4 id="1home-assistant">方法1:使用Home Assistant内置工具(推荐)<a class="headerlink" href="#1home-assistant" title="Permanent link">&para;</a></h4>
+<ol>
+<li><strong>访问Home Assistant终端</strong></li>
+<li>在Home Assistant Web界面中</li>
+<li>进入"设置" → "附加组件" → "Advanced SSH &amp; Web Terminal"</li>
+<li>
+<p>如果没有安装,需要先安装SSH附加组件</p>
+</li>
+<li>
+<p><strong>执行扩展命令</strong>
+   ```bash
+   # 查看当前磁盘使用情况
+   df -h</p>
+</li>
+</ol>
+<p># 扩展根分区(通常是/dev/sda8)
+   resize2fs /dev/sda8</p>
+<p># 再次查看磁盘使用情况,确认扩展成功
+   df -h
+   ```</p>
+<h4 id="2ssh">方法2:使用SSH连接(备选)<a class="headerlink" href="#2ssh" title="Permanent link">&para;</a></h4>
+<ol>
+<li><strong>启用SSH</strong></li>
+<li>
+<p>在Home Assistant Web界面中启用SSH功能</p>
+</li>
+<li>
+<p><strong>通过SSH连接</strong>
+   ```bash
+   # 连接到Home Assistant
+   ssh root@[Home_Assistant_IP]</p>
+</li>
+</ol>
+<p># 查看磁盘分区
+   fdisk -l</p>
+<p># 扩展文件系统
+   resize2fs /dev/sda8
+   ```</p>
+<h3 id="5">步骤5:验证扩展结果<a class="headerlink" href="#5" title="Permanent link">&para;</a></h3>
+<ol>
+<li><strong>检查存储空间</strong></li>
+<li>通过SSH或终端执行命令:<code>df -h</code></li>
+<li>或在Home Assistant Web界面中进入"设置" → "系统" → "存储"</li>
+<li>确认可用空间接近500GB</li>
+</ol>
+<p><strong>成功案例输出示例:</strong>
+   <code>bash
+   ➜  ~ df -h
+   Filesystem                Size      Used Available Use% Mounted on
+   /dev/sda8               491.4G      5.4G    466.0G   1% /homeassistant
+   /dev/sda8               491.4G      5.4G    466.0G   1% /data
+   /dev/sda8               491.4G      5.4G    466.0G   1% /backup
+   /dev/sda8               491.4G      5.4G    466.0G   1% /media
+   /dev/sda8               491.4G      5.4G    466.0G   1% /share</code>
+   可以看到 <code>/dev/sda8</code> 分区已成功扩展到 <strong>491.4GB</strong>,可用空间 <strong>466.0GB</strong>。</p>
+<ol>
+<li><strong>验证系统稳定性</strong></li>
+<li>重启Home Assistant系统</li>
+<li>确认所有功能正常工作</li>
+<li>检查日志中无错误信息</li>
+</ol>
+<h2 id="_4">故障排除<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h2>
+<h3 id="1_1">问题1:虚拟机无法启动<a class="headerlink" href="#1_1" title="Permanent link">&para;</a></h3>
+<p><strong>解决方案:</strong>
+- 检查ESXi主机存储空间是否充足
+- 恢复到扩容前的快照
+- 重新执行扩容步骤</p>
+<h3 id="2">问题2:文件系统扩展失败<a class="headerlink" href="#2" title="Permanent link">&para;</a></h3>
+<p><strong>解决方案:</strong></p>
+<div class="codehilite"><pre><span></span><code><span class="c1"># 检查文件系统</span>
+fsck<span class="w"> </span>/dev/sda8
+
+<span class="c1"># 强制扩展</span>
+resize2fs<span class="w"> </span>-f<span class="w"> </span>/dev/sda8
+</code></pre></div>
+
+<h3 id="3_1">问题3:扩展后空间未显示<a class="headerlink" href="#3_1" title="Permanent link">&para;</a></h3>
+<p><strong>解决方案:</strong>
+- 重启Home Assistant系统
+- 检查分区表:<code>fdisk -l</code>
+- 手动扩展分区:<code>parted /dev/sda resizepart 8 100%</code></p>
+<h2 id="_5">注意事项<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h2>
+<h3 id="_6">⚠️ 安全警告<a class="headerlink" href="#_6" title="Permanent link">&para;</a></h3>
+<ul>
+<li><strong>必须</strong>在操作前创建虚拟机快照</li>
+<li>确保在维护窗口期间执行此操作</li>
+<li>建议在测试环境中先验证步骤</li>
+</ul>
+<h3 id="_7">💡 最佳实践<a class="headerlink" href="#_7" title="Permanent link">&para;</a></h3>
+<ul>
+<li>定期备份Home Assistant配置</li>
+<li>监控ESXi主机存储使用情况</li>
+<li>考虑使用精简配置磁盘以节省空间</li>
+</ul>
+<h3 id="_8">📋 验证清单<a class="headerlink" href="#_8" title="Permanent link">&para;</a></h3>
+<ul class="checklist">
+<li><input type="checkbox" disabled> 创建虚拟机快照</li>
+<li><input type="checkbox" disabled> 完全关闭虚拟机</li>
+<li><input type="checkbox" disabled> 修改虚拟硬盘大小为500GB</li>
+<li><input type="checkbox" disabled> 启动虚拟机并确认正常运行</li>
+<li><input type="checkbox" disabled> 执行文件系统扩展命令</li>
+<li><input type="checkbox" disabled> 验证存储空间显示接近500GB</li>
+<li><input type="checkbox" disabled> 测试Home Assistant所有功能</li>
+<li><input type="checkbox" disabled> 删除不需要的快照(可选)</li>
+</ul>
+<h2 id="_9">相关文档<a class="headerlink" href="#_9" title="Permanent link">&para;</a></h2>
+<ul>
+<li><a href="./HomeAssistant备份恢复指南.md">Home Assistant备份和恢复指南</a></li>
+<li><a href="./VMware-ESXi虚拟机管理.md">VMware ESXi虚拟机管理指南</a></li>
+</ul>
+<h2 id="_10">更新记录<a class="headerlink" href="#_10" title="Permanent link">&para;</a></h2>
+<ul>
+<li>2025-07-17:初始版本创建</li>
+<li>2025-07-17:添加成功案例验证,确认32GB→500GB扩展完全成功</li>
+<li>包含从32GB扩展到500GB的完整步骤和实际验证结果</li>
+</ul>
+<hr />
+<p><strong>文档作者</strong>:技术团队<br />
+<strong>最后更新</strong>:2025年7月17日<br />
+<strong>适用版本</strong>:VMware ESXi 5.5+, Home Assistant OS 所有版本</p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/" class="btn btn-neutral float-left" title="TS88透析机联机通信-中文版"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/" class="btn btn-neutral float-right" title="如何集成和风天气组件到HA">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../../..";</script>
+    <script src="../../../js/theme_extra.js"></script>
+    <script src="../../../js/theme.js"></script>
+      <script src="../../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git a/Help/site/Usages/QA/errorsQA/index.html b/Help/site/Usages/QA/errorsQA/index.html
index a9d9ec3..b67d5ce 100644
--- a/Help/site/Usages/QA/errorsQA/index.html
+++ b/Help/site/Usages/QA/errorsQA/index.html
@@ -48,7 +48,7 @@
                 </li>
               </ul>
               <p class="caption"><span class="caption-text">使用教程</span></p>
-              <ul>
+              <ul class="current">
                   <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
                   </li>
                   <li class="toctree-l1"><a class="reference internal" >使用</a>
@@ -58,6 +58,45 @@
                 <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
                 </li>
                 <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1 current"><a class="reference internal current" >Q/A</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">errorsQA</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#_2">配置文件出错</a>
+    </li>
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
                 </li>
     </ul>
                   </li>
@@ -76,6 +115,8 @@
         <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
   <ul class="wy-breadcrumbs">
     <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">使用教程</li>
+          <li class="breadcrumb-item">Q/A</li>
       <li class="breadcrumb-item active">errorsQA</li>
     <li class="wy-breadcrumbs-aside">
     </li>
@@ -92,6 +133,10 @@
               
             </div>
           </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/" class="btn btn-neutral float-left" title="透析中心HA环境温度发送到胜透的操作指南"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/" class="btn btn-neutral float-right" title="HA-如何实现状态反转">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
 
   <hr/>
 
@@ -117,6 +162,10 @@
         </span>
     
     
+      <span><a href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/" style="color: #fcfcfc">Next &raquo;</a></span>
     
   </span>
 </div>
diff --git a/Help/site/Usages/QA/generator_youren.html b/Help/site/Usages/QA/generator_youren.html
new file mode 100644
index 0000000..8138940
--- /dev/null
+++ b/Help/site/Usages/QA/generator_youren.html
@@ -0,0 +1,321 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Home Assistant 人员感应器卡片生成器</title>
+    <style>
+        body {
+            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+            max-width: 800px;
+            margin: 0 auto;
+            padding: 20px;
+            background-color: #f5f5f5;
+        }
+        .container {
+            background: white;
+            padding: 30px;
+            border-radius: 10px;
+            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
+        }
+        h1 {
+            color: #333;
+            text-align: center;
+            margin-bottom: 30px;
+        }
+        .form-group {
+            margin-bottom: 20px;
+        }
+        label {
+            display: block;
+            margin-bottom: 5px;
+            font-weight: bold;
+            color: #555;
+        }
+        input[type="text"] {
+            width: 100%;
+            padding: 10px;
+            border: 2px solid #ddd;
+            border-radius: 5px;
+            font-size: 14px;
+            box-sizing: border-box;
+        }
+        input[type="text"]:focus {
+            border-color: #4CAF50;
+            outline: none;
+        }
+        .btn {
+            background-color: #4CAF50;
+            color: white;
+            padding: 12px 24px;
+            border: none;
+            border-radius: 5px;
+            cursor: pointer;
+            font-size: 16px;
+            width: 100%;
+            margin-top: 20px;
+        }
+        .btn:hover {
+            background-color: #45a049;
+        }
+        .btn:nth-child(2):hover {
+            background-color: #d32f2f !important;
+        }
+        .output {
+            margin-top: 30px;
+            padding: 20px;
+            background-color: #f9f9f9;
+            border: 1px solid #ddd;
+            border-radius: 5px;
+            display: none;
+        }
+        .output h3 {
+            margin-top: 0;
+            color: #333;
+        }
+        pre {
+            background-color: #2d3748;
+            color: #e2e8f0;
+            padding: 15px;
+            border-radius: 5px;
+            overflow-x: auto;
+            white-space: pre-wrap;
+            word-wrap: break-word;
+        }
+        .copy-btn {
+            background-color: #2196F3;
+            color: white;
+            padding: 8px 16px;
+            border: none;
+            border-radius: 3px;
+            cursor: pointer;
+            margin-top: 10px;
+        }
+        .copy-btn:hover {
+            background-color: #1976D2;
+        }
+        .help-text {
+            font-size: 12px;
+            color: #666;
+            margin-top: 5px;
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <h1>🏠 Home Assistant 人员感应器卡片生成器</h1>
+        
+        <form id="yamlForm">
+            <div class="form-group">
+                <label for="roomName">卫生间名称:</label>
+                <input type="text" id="roomName" name="roomName" placeholder="例如: 男卫、女卫、主卫等" required>
+                <div class="help-text">显示在卡片顶部的房间标识</div>
+            </div>
+
+            <div class="form-group">
+                <label for="occupancySensor">有人无人触发状态实体ID:</label>
+                <input type="text" id="occupancySensor" name="occupancySensor" 
+                       placeholder="例如: binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078" required>
+                <div class="help-text">二进制传感器,用于检测是否有人</div>
+            </div>
+
+            <div class="form-group">
+                <label for="illuminationSensor">光照度实体ID:</label>
+                <input type="text" id="illuminationSensor" name="illuminationSensor" 
+                       placeholder="例如: sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005" required>
+                <div class="help-text">光照度传感器,显示当前光照强度</div>
+            </div>
+
+            <div class="form-group">
+                <label for="someoneDurationSensor">有人持续时长实体ID:</label>
+                <input type="text" id="someoneDurationSensor" name="someoneDurationSensor" 
+                       placeholder="例如: sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081" required>
+                <div class="help-text">记录有人状态持续时间的传感器</div>
+            </div>
+
+            <div class="form-group">
+                <label for="noOneDurationSensor">无人持续时长实体ID:</label>
+                <input type="text" id="noOneDurationSensor" name="noOneDurationSensor" 
+                       placeholder="例如: sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082" required>
+                <div class="help-text">记录无人状态持续时间的传感器</div>
+            </div>
+
+            <div style="display: flex; gap: 10px; margin-top: 20px;">
+                <button type="submit" class="btn" style="flex: 1;">🚀 生成 YAML 配置</button>
+                <button type="button" class="btn" style="flex: 1; background-color: #f44336;" onclick="clearForm()">🗑️ 清空表单</button>
+            </div>
+        </form>
+
+        <div id="output" class="output">
+            <h3>📋 生成的 YAML 配置:</h3>
+            <pre id="yamlOutput"></pre>
+            <button class="copy-btn" onclick="copyToClipboard()">📄 复制到剪贴板</button>
+        </div>
+    </div>
+
+    <script>
+        // YAML模板
+        const yamlTemplate = `type: markdown
+content: >
+  ^卫生间名称^{% if
+  is_state('^有人无人触发状态实体ID^',
+  'on') or is_state('^有人无人触发状态实体ID^',
+  '有人') %}
+    # 🔴 有人-不可用
+  {% else %}
+    # 🟢 无人-可用
+  {% endif %}
+
+
+  **光照度:** {{
+  states('^光照度实体ID^') |
+  default('未知') }} lx 
+
+  {% if
+  is_state('^有人无人触发状态实体ID^',
+  'on') or is_state('^有人无人触发状态实体ID^',
+  '有人') %} **有人持续:** {% set duration =
+  states('^有人持续时长实体ID^')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  else %} **无人持续:** {% set duration =
+  states('^无人持续时长实体ID^')
+  %}{{ '未知' if duration in ['unknown', 'unavailable', ''] else duration }} {%
+  endif %}
+card_mod:
+  style: |
+    ha-card {
+      text-align: center;
+    }
+    ha-card h1 {
+      font-size: 48px !important;
+      margin: 10px 0 !important;
+    }
+    ha-card p {
+      font-size: 18px !important;
+      margin: 5px 0 !important;
+    }
+grid_options:
+  columns: 6
+  rows: 3`;
+
+        document.getElementById('yamlForm').addEventListener('submit', function(e) {
+            e.preventDefault();
+            
+            // 获取表单数据
+            const formData = new FormData(e.target);
+            const data = Object.fromEntries(formData);
+            
+            // 替换模板中的变量
+            let result = yamlTemplate;
+            result = result.replace(/\^卫生间名称\^/g, data.roomName);
+            result = result.replace(/\^有人无人触发状态实体ID\^/g, data.occupancySensor);
+            result = result.replace(/\^光照度实体ID\^/g, data.illuminationSensor);
+            result = result.replace(/\^有人持续时长实体ID\^/g, data.someoneDurationSensor);
+            result = result.replace(/\^无人持续时长实体ID\^/g, data.noOneDurationSensor);
+            
+            // 显示结果
+            document.getElementById('yamlOutput').textContent = result;
+            document.getElementById('output').style.display = 'block';
+            
+            // 滚动到结果区域
+            document.getElementById('output').scrollIntoView({ behavior: 'smooth' });
+        });
+
+        function clearForm() {
+            // 清空所有输入字段
+            document.getElementById('roomName').value = '';
+            document.getElementById('occupancySensor').value = '';
+            document.getElementById('illuminationSensor').value = '';
+            document.getElementById('someoneDurationSensor').value = '';
+            document.getElementById('noOneDurationSensor').value = '';
+            
+            // 隐藏输出结果
+            document.getElementById('output').style.display = 'none';
+            
+            // 聚焦到第一个输入框
+            document.getElementById('roomName').focus();
+        }
+
+        function copyToClipboard() {
+            const yamlText = document.getElementById('yamlOutput').textContent;
+            const btn = event.target;
+            const originalText = btn.textContent;
+            
+            // 尝试使用现代 Clipboard API
+            if (navigator.clipboard && window.isSecureContext) {
+                navigator.clipboard.writeText(yamlText).then(function() {
+                    // 成功复制
+                    btn.textContent = '✅ 已复制!';
+                    btn.style.backgroundColor = '#4CAF50';
+                    
+                    setTimeout(function() {
+                        btn.textContent = originalText;
+                        btn.style.backgroundColor = '#2196F3';
+                    }, 2000);
+                }).catch(function(err) {
+                    console.error('复制失败:', err);
+                    fallbackCopyTextToClipboard(yamlText, btn, originalText);
+                });
+            } else {
+                // 降级到传统方法
+                fallbackCopyTextToClipboard(yamlText, btn, originalText);
+            }
+        }
+
+        function fallbackCopyTextToClipboard(text, btn, originalText) {
+            // 创建临时文本区域
+            const textArea = document.createElement("textarea");
+            textArea.value = text;
+            
+            // 避免滚动到底部
+            textArea.style.top = "0";
+            textArea.style.left = "0";
+            textArea.style.position = "fixed";
+            textArea.style.opacity = "0";
+            
+            document.body.appendChild(textArea);
+            textArea.focus();
+            textArea.select();
+            
+            try {
+                const successful = document.execCommand('copy');
+                if (successful) {
+                    btn.textContent = '✅ 已复制!';
+                    btn.style.backgroundColor = '#4CAF50';
+                    
+                    setTimeout(function() {
+                        btn.textContent = originalText;
+                        btn.style.backgroundColor = '#2196F3';
+                    }, 2000);
+                } else {
+                    throw new Error('execCommand 返回 false');
+                }
+            } catch (err) {
+                console.error('降级复制也失败:', err);
+                // 显示选择文本的提示
+                alert('自动复制失败,请手动选择文本并按 Ctrl+C 复制');
+                // 选中文本让用户手动复制
+                const outputElement = document.getElementById('yamlOutput');
+                if (window.getSelection && document.createRange) {
+                    const selection = window.getSelection();
+                    const range = document.createRange();
+                    range.selectNodeContents(outputElement);
+                    selection.removeAllRanges();
+                    selection.addRange(range);
+                }
+            }
+            
+            document.body.removeChild(textArea);
+        }
+
+        // 预填充示例数据(可选)
+        window.addEventListener('load', function() {
+            document.getElementById('roomName').value = '男卫';
+            document.getElementById('occupancySensor').value = 'binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078';
+            document.getElementById('illuminationSensor').value = 'sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005';
+            document.getElementById('someoneDurationSensor').value = 'sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081';
+            document.getElementById('noOneDurationSensor').value = 'sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082';
+        });
+    </script>
+</body>
+</html>
diff --git "a/Help/site/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220/index.html" "b/Help/site/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220/index.html"
new file mode 100644
index 0000000..5dedc67
--- /dev/null
+++ "b/Help/site/Usages/QA/\345\246\202\344\275\225\346\212\212HAos\347\232\204\346\272\220\346\215\242\346\210\220\345\233\275\345\206\205\346\272\220/index.html"
@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../../img/favicon.ico" />
+    <title>如何把HAos的源换成国内源 - DT-HA</title>
+    <link rel="stylesheet" href="../../../css/theme.css" />
+    <link rel="stylesheet" href="../../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "\u5982\u4f55\u628aHAos\u7684\u6e90\u6362\u6210\u56fd\u5185\u6e90";
+        var mkdocs_page_input_path = "Usages\\QA\\\u5982\u4f55\u628aHAos\u7684\u6e90\u6362\u6210\u56fd\u5185\u6e90.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+      <li class="breadcrumb-item active">如何把HAos的源换成国内源</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <p>要更改haos(可能是指HaOS,一个基于Linux的操作系统)的软件源为国内源,
+需要编辑<code>/etc/apk/repositories</code>文件,然后替换现有的源为国内镜像源。具体步骤如下:
+备份原始文件:确保在修改之前备份原始的<code>/etc/apk/repositories</code>文件,以防修改错误导致问题。</p>
+<div class="codehilite"><pre><span></span><code>sudo cp /etc/apk/repositories /etc/apk/repositories.bak
+</code></pre></div>
+
+<p>编辑文件:使用文本编辑器(如vi、nano等)打开<code>/etc/apk/repositories</code>文件。</p>
+<div class="codehilite"><pre><span></span><code>sudo vi /etc/apk/repositories
+</code></pre></div>
+
+<p>替换源:将文件中的内容替换为国内镜像源,例如阿里云或清华大学的源。\
+下是阿里云的示例:</p>
+<div class="codehilite"><pre><span></span><code>https://mirrors.aliyun.com/alpine/latest-stable/main
+https://mirrors.aliyun.com/alpine/latest-stable/community
+</code></pre></div>
+
+<p>清华大学的源示例:</p>
+<div class="codehilite"><pre><span></span><code>   https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main
+   https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community
+</code></pre></div>
+
+<p>根据实际情况选择一个源,并将原文件内容替换。
+保存并退出:如果使用vi,按下Esc,然后输入<code>:wq</code>保存并退出。
+更新软件包列表:执行以下命令更新软件包列表,使更改生效。</p>
+<div class="codehilite"><pre><span></span><code> sudo apk update
+</code></pre></div>
+
+<p>完成以上步骤后,haos的软件源就成功更换为国内镜像源了。</p>
+              
+            </div>
+          </div><footer>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+    
+  </span>
+</div>
+    <script src="../../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../../..";</script>
+    <script src="../../../js/theme_extra.js"></script>
+    <script src="../../../js/theme.js"></script>
+      <script src="../../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA/index.html" "b/Help/site/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA/index.html"
new file mode 100644
index 0000000..da01aaf
--- /dev/null
+++ "b/Help/site/Usages/QA/\345\246\202\344\275\225\351\233\206\346\210\220\345\222\214\351\243\216\345\244\251\346\260\224\347\273\204\344\273\266\345\210\260HA/index.html"
@@ -0,0 +1,242 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../../img/favicon.ico" />
+    <title>如何集成和风天气组件到HA - DT-HA</title>
+    <link rel="stylesheet" href="../../../css/theme.css" />
+    <link rel="stylesheet" href="../../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA";
+        var mkdocs_page_input_path = "Usages\\QA\\\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1 current"><a class="reference internal current" >Q/A</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">如何集成和风天气组件到HA</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#_1">和风天气简介</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_2">集成步骤</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_3">示例</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_4">配置参考</a>
+    </li>
+        </ul>
+    </li>
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">使用教程</li>
+          <li class="breadcrumb-item">Q/A</li>
+      <li class="breadcrumb-item active">如何集成和风天气组件到HA</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h2 id="ha">如何集成和风天气组件到HA<a class="headerlink" href="#ha" title="Permanent link">&para;</a></h2>
+<h3 id="_1">和风天气简介<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3>
+<p>和风天气是一个提供天气信息的API,可以方便地集成到Home Assistant中。</p>
+<h3 id="_2">集成步骤<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h3>
+<ol>
+<li>在Home Assistant中安装和风天气组件。</li>
+<li>配置和风天气API密钥。</li>
+<li>在自动化中使用和风天气提供的天气数据。</li>
+</ol>
+<h3 id="_3">示例<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h3>
+<p>登录和风天气控制台,https://console.qweather.com/project?lang=zh
+如下图所示,先为此中心创建一个项目,为的是为每个中心使用的api调用次数的统计
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250815110408.png" /></p>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250815110451.png" />
+记录下来相关信息</p>
+<div class="codehilite"><pre><span></span><code>项目名称:湖南旺旺
+项目ID:2HKR2MC5WM
+API-KEY:885d8b06871b445fbc1beb2eda11cd6c
+开发者ID:Q137B51456
+API-Host:nd4up3fy3t.re.qweatherapi.com
+查询城市区域代码的的址:
+git clone https://github.com/qwd/LocationList.git.com/docs/api/geoapi/
+</code></pre></div>
+
+<h4 id="_4">配置参考<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h4>
+<p>打开的配置文件 <code>configuration.yaml</code>,添加以下内容:</p>
+<div class="codehilite"><pre><span></span><code>weather:
+  - platform: heweather
+    location: 101210301        # 你的区域代码城市id
+    host: nd4up3fy3t.re.qweatherapi.com  # API Host
+    key: 885d8b06871b445fbc1beb2eda11cd6c                 # 你的API KEY
+</code></pre></div>
+
+<p>其中,要更换的内容主要有,区域代码城市id、API Host和API KEY。
+如下图
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250815110802.png" /></p>
+<h5 id="id">获取城市id区域代码的方法<a class="headerlink" href="#id" title="Permanent link">&para;</a></h5>
+<p>这里一定要配对正确的城市id区域代码,否则会报的天气不准。
+可以通过此文档提供的API,查询   https://github.com/qwd/LocationList.git.com/docs/api/geoapi/</p>
+<p>其中:</p>
+<ul>
+<li>
+<p>X-QW-Api-Key 为你的API密钥。</p>
+</li>
+<li>
+<p>location 为你要查询的城市名称拼音.</p>
+</li>
+</ul>
+<div class="codehilite"><pre><span></span><code>curl -H &quot;X-QW-Api-Key: 885d8b06871b445fbc1beb2eda11cd6c&quot; --compressed \
+&#39;https://nd4up3fy3t.re.qweatherapi.com/geo/v2/city/lookup?location=changsha&#39;   
+</code></pre></div>
+
+<p>如下图所示
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250815111350.png" /></p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/" class="btn btn-neutral float-left" title="VMware-ESXi扩展HomeAssistant硬盘指南"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/" class="btn btn-neutral float-right" title="如厕风险-人存在传感器配置方法">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../../..";</script>
+    <script src="../../../js/theme_extra.js"></script>
+    <script src="../../../js/theme.js"></script>
+      <script src="../../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225/index.html" "b/Help/site/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225/index.html"
new file mode 100644
index 0000000..8a27c9d
--- /dev/null
+++ "b/Help/site/Usages/QA/\345\246\202\345\216\225\351\243\216\351\231\251-\344\272\272\345\255\230\345\234\250\344\274\240\346\204\237\345\231\250\351\205\215\347\275\256\346\226\271\346\263\225/index.html"
@@ -0,0 +1,376 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../../img/favicon.ico" />
+    <title>如厕风险-人存在传感器配置方法 - DT-HA</title>
+    <link rel="stylesheet" href="../../../css/theme.css" />
+    <link rel="stylesheet" href="../../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "\u5982\u5395\u98ce\u9669-\u4eba\u5b58\u5728\u4f20\u611f\u5668\u914d\u7f6e\u65b9\u6cd5";
+        var mkdocs_page_input_path = "Usages\\QA\\\u5982\u5395\u98ce\u9669-\u4eba\u5b58\u5728\u4f20\u611f\u5668\u914d\u7f6e\u65b9\u6cd5.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1 current"><a class="reference internal current" >Q/A</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">如厕风险-人存在传感器配置方法</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#id">先找出要配置的传感器的实体ID</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_1">仪表盘配置</a>
+    </li>
+    </ul>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">使用教程</li>
+          <li class="breadcrumb-item">Q/A</li>
+      <li class="breadcrumb-item active">如厕风险-人存在传感器配置方法</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h2 id="-">人存在传感器-如厕风险提示配置方法<a class="headerlink" href="#-" title="Permanent link">&para;</a></h2>
+<p><a href="../generator_youren.html">人员感应器卡片代码生成器</a></p>
+<h3 id="id">先找出要配置的传感器的实体ID<a class="headerlink" href="#id" title="Permanent link">&para;</a></h3>
+<p>下面以大连的这个人存在传感器01为例:</p>
+<div class="codehilite"><pre><span></span><code>人存在传感器01
+
+光照度:
+sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005
+
+无人持续时长:
+sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082
+
+有人持续时长:
+sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081
+
+
+存在传感器 有人无人 状态是否触发
+sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078
+</code></pre></div>
+
+<h3 id="_1">仪表盘配置<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3>
+<p>在仪表盘,相应位置,新建组件,进入代码编辑,贴入如下格式的YAML内容:</p>
+<div class="codehilite"><pre><span></span><code><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">markdown</span>
+<span class="nt">content</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;</span>
+<span class="w">  </span><span class="no">1号{% if</span>
+<span class="w">  </span><span class="no">is_state(&#39;binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;on&#39;) %}</span>
+<span class="w">    </span><span class="no"># 🔴 有人-不可用</span>
+<span class="w">  </span><span class="no">{% else %}</span>
+<span class="w">    </span><span class="no"># 🟢 无人-可用</span>
+<span class="w">  </span><span class="no">{% endif %}</span>
+
+
+<span class="w">  </span><span class="no">**光照度:** {{</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005&#39;) |default(&#39;未知&#39;) }} lx </span>
+
+<span class="w">  </span><span class="no">{% if</span>
+<span class="w">  </span><span class="no">is_state(&#39;binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;on&#39;) %} **有人持续:** {% set duration =</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081&#39;)</span>
+<span class="w">  </span><span class="no">%}{{ &#39;未知&#39; if duration in [&#39;unknown&#39;, &#39;unavailable&#39;, &#39;&#39;] else duration }} {%</span>
+<span class="w">  </span><span class="no">else %} **无人持续:** {% set duration =</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082&#39;)</span>
+<span class="w">  </span><span class="no">%}{{ &#39;未知&#39; if duration in [&#39;unknown&#39;, &#39;unavailable&#39;, &#39;&#39;] else duration }} {%</span>
+<span class="w">  </span><span class="no">endif %}</span>
+<span class="nt">card_mod</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">style</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
+<span class="w">    </span><span class="no">ha-card {</span>
+<span class="w">      </span><span class="no">text-align: center;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="w">    </span><span class="no">ha-card h1 {</span>
+<span class="w">      </span><span class="no">font-size: 48px !important;</span>
+<span class="w">      </span><span class="no">margin: 10px 0 !important;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="w">    </span><span class="no">ha-card p {</span>
+<span class="w">      </span><span class="no">font-size: 18px !important;</span>
+<span class="w">      </span><span class="no">margin: 5px 0 !important;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="nt">grid_options</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">columns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
+<span class="w">  </span><span class="nt">rows</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
+</code></pre></div>
+
+<p>医用卫生间</p>
+<div class="codehilite"><pre><span></span><code><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">markdown</span>
+<span class="nt">content</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;</span>
+<span class="w">  </span><span class="no">医护卫生间{% if</span>
+<span class="w">  </span><span class="no">is_state(&#39;sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;on&#39;) or is_state(&#39;sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;有人&#39;) %}</span>
+<span class="w">    </span><span class="no"># 🔴 有人-不可用</span>
+<span class="w">  </span><span class="no">{% else %}</span>
+<span class="w">    </span><span class="no"># 🟢 无人-可用</span>
+<span class="w">  </span><span class="no">{% endif %}</span>
+
+
+<span class="w">  </span><span class="no">**光照度:** {{</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_illumination_p_2_1005&#39;) |</span>
+<span class="w">  </span><span class="no">default(&#39;未知&#39;) }} lx </span>
+
+<span class="w">  </span><span class="no">{% if</span>
+<span class="w">  </span><span class="no">is_state(&#39;sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;on&#39;) or is_state(&#39;sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;有人&#39;) %} **有人持续:** {% set duration =</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_has_someone_duration_p_2_1081&#39;)</span>
+<span class="w">  </span><span class="no">%}{{ &#39;未知&#39; if duration in [&#39;unknown&#39;, &#39;unavailable&#39;, &#39;&#39;] else duration }} {%</span>
+<span class="w">  </span><span class="no">else %} **无人持续:** {% set duration =</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_no_one_duration_p_2_1082&#39;)</span>
+<span class="w">  </span><span class="no">%}{{ &#39;未知&#39; if duration in [&#39;unknown&#39;, &#39;unavailable&#39;, &#39;&#39;] else duration }} {%</span>
+<span class="w">  </span><span class="no">endif %}</span>
+<span class="nt">card_mod</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">style</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
+<span class="w">    </span><span class="no">ha-card {</span>
+<span class="w">      </span><span class="no">text-align: center;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="w">    </span><span class="no">ha-card h1 {</span>
+<span class="w">      </span><span class="no">font-size: 48px !important;</span>
+<span class="w">      </span><span class="no">margin: 10px 0 !important;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="w">    </span><span class="no">ha-card p {</span>
+<span class="w">      </span><span class="no">font-size: 18px !important;</span>
+<span class="w">      </span><span class="no">margin: 5px 0 !important;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="nt">grid_options</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">columns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
+<span class="w">  </span><span class="nt">rows</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
+</code></pre></div>
+
+<p>二号卫生间</p>
+<div class="codehilite"><pre><span></span><code><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">markdown</span>
+<span class="nt">content</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;</span>
+<span class="w">  </span><span class="no">2号{% if</span>
+<span class="w">  </span><span class="no">is_state(&#39;binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;on&#39;) %}</span>
+<span class="w">    </span><span class="no"># 🔴 有人-不可用</span>
+<span class="w">  </span><span class="no">{% else %}</span>
+<span class="w">    </span><span class="no"># 🟢 无人-可用</span>
+<span class="w">  </span><span class="no">{% endif %}</span>
+
+
+<span class="w">  </span><span class="no">**光照度:** {{</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_illumination_p_2_1005&#39;) |default(&#39;未知&#39;) }} lx </span>
+
+<span class="w">  </span><span class="no">{% if</span>
+<span class="w">  </span><span class="no">is_state(&#39;binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;on&#39;) %} **有人持续:** {% set duration =</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_has_someone_duration_p_2_1081&#39;)</span>
+<span class="w">  </span><span class="no">%}{{ &#39;未知&#39; if duration in [&#39;unknown&#39;, &#39;unavailable&#39;, &#39;&#39;] else duration }} {%</span>
+<span class="w">  </span><span class="no">else %} **无人持续:** {% set duration =</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_no_one_duration_p_2_1082&#39;)</span>
+<span class="w">  </span><span class="no">%}{{ &#39;未知&#39; if duration in [&#39;unknown&#39;, &#39;unavailable&#39;, &#39;&#39;] else duration }} {%</span>
+<span class="w">  </span><span class="no">endif %}</span>
+<span class="nt">card_mod</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">style</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
+<span class="w">    </span><span class="no">ha-card {</span>
+<span class="w">      </span><span class="no">text-align: center;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="w">    </span><span class="no">ha-card h1 {</span>
+<span class="w">      </span><span class="no">font-size: 48px !important;</span>
+<span class="w">      </span><span class="no">margin: 10px 0 !important;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="w">    </span><span class="no">ha-card p {</span>
+<span class="w">      </span><span class="no">font-size: 18px !important;</span>
+<span class="w">      </span><span class="no">margin: 5px 0 !important;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="nt">grid_options</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">columns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
+<span class="w">  </span><span class="nt">rows</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
+</code></pre></div>
+
+<p>三号卫生间</p>
+<div class="codehilite"><pre><span></span><code><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">markdown</span>
+<span class="nt">content</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;</span>
+<span class="w">  </span><span class="no">男卫{% if</span>
+<span class="w">  </span><span class="no">is_state(&#39;binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;on&#39;) or is_state(&#39;binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;有人&#39;) %}</span>
+<span class="w">    </span><span class="no"># 🔴 有人-不可用</span>
+<span class="w">  </span><span class="no">{% else %}</span>
+<span class="w">    </span><span class="no"># 🟢 无人-可用</span>
+<span class="w">  </span><span class="no">{% endif %}</span>
+
+
+<span class="w">  </span><span class="no">**光照度:** {{</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005&#39;) |</span>
+<span class="w">  </span><span class="no">default(&#39;未知&#39;) }} lx </span>
+
+<span class="w">  </span><span class="no">{% if</span>
+<span class="w">  </span><span class="no">is_state(&#39;binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;on&#39;) or is_state(&#39;binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078&#39;,</span>
+<span class="w">  </span><span class="no">&#39;有人&#39;) %} **有人持续:** {% set duration =</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081&#39;)</span>
+<span class="w">  </span><span class="no">%}{{ &#39;未知&#39; if duration in [&#39;unknown&#39;, &#39;unavailable&#39;, &#39;&#39;] else duration }} {%</span>
+<span class="w">  </span><span class="no">else %} **无人持续:** {% set duration =</span>
+<span class="w">  </span><span class="no">states(&#39;sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082&#39;)</span>
+<span class="w">  </span><span class="no">%}{{ &#39;未知&#39; if duration in [&#39;unknown&#39;, &#39;unavailable&#39;, &#39;&#39;] else duration }} {%</span>
+<span class="w">  </span><span class="no">endif %}</span>
+<span class="nt">card_mod</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">style</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">|</span>
+<span class="w">    </span><span class="no">ha-card {</span>
+<span class="w">      </span><span class="no">text-align: center;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="w">    </span><span class="no">ha-card h1 {</span>
+<span class="w">      </span><span class="no">font-size: 48px !important;</span>
+<span class="w">      </span><span class="no">margin: 10px 0 !important;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="w">    </span><span class="no">ha-card p {</span>
+<span class="w">      </span><span class="no">font-size: 18px !important;</span>
+<span class="w">      </span><span class="no">margin: 5px 0 !important;</span>
+<span class="w">    </span><span class="no">}</span>
+<span class="nt">grid_options</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">columns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6</span>
+<span class="w">  </span><span class="nt">rows</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3</span>
+</code></pre></div>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/" class="btn btn-neutral float-left" title="如何集成和风天气组件到HA"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/" class="btn btn-neutral float-right" title="安装node-red记录">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../../..";</script>
+    <script src="../../../js/theme_extra.js"></script>
+    <script src="../../../js/theme.js"></script>
+      <script src="../../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227/index.html" "b/Help/site/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227/index.html"
new file mode 100644
index 0000000..5bf0aa7
--- /dev/null
+++ "b/Help/site/Usages/QA/\351\200\217\346\236\220\344\270\255\345\277\203HA\347\216\257\345\242\203\346\270\251\345\272\246\345\217\221\351\200\201\345\210\260\350\203\234\351\200\217\347\232\204\346\223\215\344\275\234\346\214\207\345\215\227/index.html"
@@ -0,0 +1,719 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../../img/favicon.ico" />
+    <title>透析中心HA环境温度发送到胜透的操作指南 - DT-HA</title>
+    <link rel="stylesheet" href="../../../css/theme.css" />
+    <link rel="stylesheet" href="../../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357";
+        var mkdocs_page_input_path = "Usages\\QA\\\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1"><a class="reference internal" href="../../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1 current"><a class="reference internal current" >Q/A</a>
+    <ul class="current">
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">透析中心HA环境温度发送到胜透的操作指南</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#1">1. 前提条件</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#2-home-assistant">2. 在Home Assistant中配置传感器自动化</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1id">1.找到环境温度传感器实体ID</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2">2. 创建自动化规则</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#3-node-redmqtt">3. 在Node-RED中配置MQTT接收转发</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1-node-red">1. 打开Node-RED编辑器</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2_1">2. 创建新工作流</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#3-mqtt">3. 配置MQTT节点</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#4">4.配置工作流全局变量</a>
+    </li>
+        </ul>
+    </li>
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">使用教程</li>
+          <li class="breadcrumb-item">Q/A</li>
+      <li class="breadcrumb-item active">透析中心HA环境温度发送到胜透的操作指南</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h2 id="_1">透析中心环境温度发送到胜透的操作指南<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
+<h3 id="1">1. 前提条件<a class="headerlink" href="#1" title="Permanent link">&para;</a></h3>
+<ul>
+<li>已安装并配置好Home Assistant</li>
+<li>已经安装并配置了MQTT Broker</li>
+<li>已经安装并配置了Node-RED</li>
+<li>已经安装并配置了米家温度传感器(如Miaomiaoc CN BLT 3)</li>
+<li>已经获取到了胜透的MQTT服务器Broker地址和端口</li>
+</ul>
+<h3 id="2-home-assistant">2. 在Home Assistant中配置传感器自动化<a class="headerlink" href="#2-home-assistant" title="Permanent link">&para;</a></h3>
+<h4 id="1id">1.找到环境温度传感器实体ID<a class="headerlink" href="#1id" title="Permanent link">&para;</a></h4>
+<p>透析中心可能安装了多个米家温度传感器,首先需要找到对应的实体ID。
+可以在Home Assistant的开发者工具中查看当前所有传感器的状态。</p>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715150132.png" />
+也可以在已经设备与服务,集成,中找到米家的设备,找到那个传感器
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715150425.png" /></p>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715150504.png" />
+找到需要配置为环境温度的传感器
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715150606.png" />
+点击温度实体
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715153539.png" /></p>
+<p>点击设置图标
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715153737.png" /></p>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715153845.png" />
+如本例获取到的实体ID为<code>sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1</code>。记住此ID,后面很多地方都会用到.</p>
+<h4 id="2">2. 创建自动化规则<a class="headerlink" href="#2" title="Permanent link">&para;</a></h4>
+<p>我们需要创建一个自动化规则,当传感器状态更新时及每隔30秒,将温度数据发送到Home Assistant内部集成的的MQTT服务器。
+进入 "配置" → "自动化和场景" → "自动化",点击右下角的 "+" 创建新的自动化规则。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715154208.png" />
+进入自动化规则编辑界面后,点击右下角的"创建自动化"按钮。在弹出的对话框中选择"创建新的自动化"。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715154317.png" />
+在新建自动化界面,点右上角的三个点,如下图所示
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715154543.png" />
+在弹出的下拉菜单中,点击进入YHAML编辑,进入代码模式,如下所示
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715155050.png" /></p>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715155148.png" />
+在这个大的文本框中粘入如下代码:</p>
+<div class="codehilite"><pre><span></span><code><span class="nt">alias</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">发布环境温度传感器状态到MQTT</span>
+<span class="nt">description</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">当米家温度传感器状态变化或每30秒定时时,自动发布到MQTT供Node-RED使用</span>
+<span class="nt">triggers</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">entity_id</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1</span>
+<span class="w">    </span><span class="nt">trigger</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">state</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">seconds</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/30</span>
+<span class="w">    </span><span class="nt">trigger</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">time_pattern</span>
+<span class="nt">conditions</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">condition</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">template</span>
+<span class="w">    </span><span class="nt">value_template</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
+<span class="w">      </span><span class="no">{{ states(&#39;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1&#39;)</span>
+<span class="w">      </span><span class="no">not in [&#39;unavailable&#39;, &#39;unknown&#39;, &#39;None&#39;] and</span>
+<span class="w">      </span><span class="no">states(&#39;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1&#39;) |</span>
+<span class="w">      </span><span class="no">float(-999) != -999 }}</span>
+<span class="nt">actions</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">data</span><span class="p">:</span>
+<span class="w">      </span><span class="nt">topic</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
+<span class="w">        </span><span class="no">homeassistant/sensor/sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1/state</span>
+<span class="w">      </span><span class="nt">payload</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
+<span class="w">        </span><span class="no">{{</span>
+<span class="w">        </span><span class="no">states(&#39;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1&#39;)</span>
+<span class="w">        </span><span class="no">}}</span>
+<span class="w">      </span><span class="nt">retain</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">false</span>
+<span class="w">      </span><span class="nt">qos</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0</span>
+<span class="w">    </span><span class="nt">action</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mqtt.publish</span>
+<span class="nt">mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">single</span>
+</code></pre></div>
+
+<p><strong><em>注意:</em></strong> 
+以上代码中的 <code>sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1</code> 是示例实体ID,请替换为你<strong>实际的温度传感器实体ID</strong>。
+放置完成后,如下图示意
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715160254.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715160557.png" />
+观察上次触发列是否会每隔30秒执行一次
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715160657.png" />
+返回到传感器的设备界面也能看到设备的自动化下面有一条自动化规则,如下图
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715160841.png" />
+到此,自动化规则已配置完成。</p>
+<h3 id="3-node-redmqtt">3. 在Node-RED中配置MQTT接收转发<a class="headerlink" href="#3-node-redmqtt" title="Permanent link">&para;</a></h3>
+<h4 id="1-node-red">1. 打开Node-RED编辑器<a class="headerlink" href="#1-node-red" title="Permanent link">&para;</a></h4>
+<p>打开nod-red编辑器,有的HA可能是配置在左侧航菜单中,如下图志示,点击即可进入
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715161325.png" />
+有的是没有配置node-red到左侧导航菜单的,这种情况下,可以点击"设置-加载项"进入加载项页面
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715161438.png" />
+找到Node-RED加载项,点击进入
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715161523.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715161829.png" />
+进入界面如下:
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715161920.png" /></p>
+<h4 id="2_1">2. 创建新工作流<a class="headerlink" href="#2_1" title="Permanent link">&para;</a></h4>
+<p>点击右上角的"菜单"按钮,再点导入。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715162009.png" /></p>
+<p>在此处贴入工作流代码,注意:要选择导入到新流程
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715162224.png" />
+工作流代码如下</p>
+<div class="codehilite"><pre><span></span><code><span class="p">[</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;tab&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;label&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;透析中心环境温度数据转发&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;disabled&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;info&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;从HomeAssistant获取温度传感器数据并发布到公司MQTT服务器&quot;</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;97e254f4a87ddde9&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt in&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;订阅HA温度传感器&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;topic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;homeassistant/sensor/+/state&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;qos&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;datatype&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;auto&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;broker&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt-ha-broker&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;nl&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;rap&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;rh&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;inputs&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">150</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;44d729e67618e4f2&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;44d729e67618e4f2&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;function&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;处理温度数据&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;func&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;// 从全局变量获取共享配置\nconst nameSpace = global.get(\&quot;nameSpace\&quot;) || \&quot;Environment\&quot;;\nconst clientCode = global.get(\&quot;clientCode\&quot;) || \&quot;Data-It_XzOffice\&quot;;\nconst targetDeviceId = global.get(\&quot;deviceId\&quot;) || \&quot;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\&quot;;\n\n// 从topic中提取当前设备ID\nconst topicParts = msg.topic.split(&#39;/&#39;);\nconst currentDeviceId = topicParts.length &gt;= 3 ? topicParts[2] : \&quot;\&quot;;\n\n// 只处理目标设备的消息\nif (currentDeviceId !== targetDeviceId) {\n    node.log(\&quot;忽略设备消息: \&quot; + currentDeviceId + \&quot; (目标设备: \&quot; + targetDeviceId + \&quot;)\&quot;);\n    return null;\n}\n\n// 生成唯一的消息ID\nconst messageId = \&quot;temp_\&quot; + Date.now() + \&quot;_\&quot; + Math.floor(Math.random() * 1000);\nconst timestamp = Date.now();\nconst deviceType = \&quot;sensor\&quot;;\n\n// 解析温度值\nlet temperature = parseFloat(msg.payload);\nif (isNaN(temperature)) {\n    node.warn(\&quot;接收到无效的温度值: \&quot; + msg.payload);\n    return null;\n}\n\n// 按照胜透物联网通信协议格式化数据\nconst protocolMessage = {\n    \&quot;messageId\&quot;: messageId,\n    \&quot;timestamp\&quot;: timestamp,\n    \&quot;clientCode\&quot;: clientCode,\n    \&quot;deviceId\&quot;: targetDeviceId,\n    \&quot;deviceType\&quot;: deviceType,\n    \&quot;version\&quot;: \&quot;1.0\&quot;,\n    \&quot;data\&quot;: {\n        \&quot;properties\&quot;: {\n            \&quot;temperature\&quot;: {\n                \&quot;value\&quot;: temperature,\n                \&quot;unit\&quot;: \&quot;°C\&quot;,\n                \&quot;quality\&quot;: \&quot;good\&quot;,\n                \&quot;timestamp\&quot;: timestamp\n            }\n        }\n    }\n};\n\n// 设置输出消息\nmsg.payload = JSON.stringify(protocolMessage);\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${targetDeviceId}/properties`;\nmsg.qos = 0;\n\nnode.log(\&quot;温度数据已处理: \&quot; + temperature + \&quot;°C (设备: \&quot; + targetDeviceId + \&quot;)\&quot;);\n\nreturn msg;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;outputs&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;timeout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;noerr&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;initialize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;finalize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;libs&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">420</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;573842ea77192dbb&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="s2">&quot;4c630c164e08dc2c&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;573842ea77192dbb&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt out&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;发布到公司MQTT&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;topic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;qos&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;retain&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;respTopic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;contentType&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;userProps&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;correl&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;expiry&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;broker&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt-company-broker&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">990</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;4c630c164e08dc2c&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;debug&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;调试输出&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;active&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;tosidebar&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;console&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;tostatus&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;complete&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;payload&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;targetType&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;msg&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;statusVal&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;statusType&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;auto&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1040</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">360</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;495c392574ee1bf4&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;inject&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;发布设备物模型&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;props&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="nt">&quot;p&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;payload&quot;</span>
+<span class="w">            </span><span class="p">},</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="nt">&quot;p&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;topic&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="nt">&quot;vt&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;str&quot;</span>
+<span class="w">            </span><span class="p">}</span>
+<span class="w">        </span><span class="p">],</span>
+<span class="w">        </span><span class="nt">&quot;repeat&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;60&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;crontab&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;once&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;onceDelay&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;5&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;topic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;shengtou/sensor/TH001_HA/model&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;payload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;payloadType&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;date&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">170</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">180</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;3aea3ce2deb4ea99&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;3aea3ce2deb4ea99&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;function&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;生成物模型数据&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;func&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;const messageId = \&quot;mdl_\&quot; + Date.now();\nconst timestamp = Date.now();\n// 从全局变量获取共享配置\nconst nameSpace = global.get(\&quot;nameSpace\&quot;) || \&quot;Environment\&quot;;\nconst clientCode = global.get(\&quot;clientCode\&quot;) || \&quot;Data-It_XzOffice\&quot;;\nconst deviceId = global.get(\&quot;deviceId\&quot;) || \&quot;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\&quot;;\nconst deviceType = \&quot;sensor\&quot;;\n\n// 按照胜透物联网通信协议生成物模型定义\nconst modelMessage = {\n    \&quot;messageId\&quot;: messageId,\n    \&quot;timestamp\&quot;: timestamp,\n    \&quot;clientCode\&quot;: clientCode,\n    \&quot;deviceId\&quot;: deviceId,\n    \&quot;deviceType\&quot;: deviceType,\n    \&quot;version\&quot;: \&quot;1.0\&quot;,\n    \&quot;data\&quot;: {\n        \&quot;model\&quot;: {\n            \&quot;deviceInfo\&quot;: {\n                \&quot;manufacturer\&quot;: \&quot;小米\&quot;,\n                \&quot;model\&quot;: \&quot;MIAOMIAOC_CN_BLT_3_11A1SBR5K5O01_T2\&quot;,\n                \&quot;version\&quot;: \&quot;1.0.0\&quot;,\n                \&quot;description\&quot;: \&quot;米家温湿度传感器(通过HomeAssistant集成)\&quot;\n            },\n            \&quot;properties\&quot;: {\n                \&quot;temperature\&quot;: {\n                    \&quot;dataType\&quot;: \&quot;float\&quot;,\n                    \&quot;unit\&quot;: \&quot;°C\&quot;,\n                    \&quot;range\&quot;: {\n                        \&quot;min\&quot;: -40,\n                        \&quot;max\&quot;: 85\n                    },\n                    \&quot;precision\&quot;: 1,\n                    \&quot;description\&quot;: \&quot;环境温度\&quot;\n                }\n            },\n            \&quot;events\&quot;: {\n                \&quot;startup\&quot;: {\n                    \&quot;eventType\&quot;: \&quot;info\&quot;,\n                    \&quot;description\&quot;: \&quot;设备启动事件\&quot;\n                }\n            },\n            \&quot;alarms\&quot;: {\n                \&quot;TEMP_HIGH\&quot;: {\n                    \&quot;alarmType\&quot;: \&quot;threshold_exceeded\&quot;,\n                    \&quot;description\&quot;: \&quot;温度过高报警\&quot;,\n                    \&quot;defaultThreshold\&quot;: 35.0\n                },\n                \&quot;TEMP_LOW\&quot;: {\n                    \&quot;alarmType\&quot;: \&quot;threshold_exceeded\&quot;,\n                    \&quot;description\&quot;: \&quot;温度过低报警\&quot;,\n                    \&quot;defaultThreshold\&quot;: 0.0\n                }\n            }\n        }\n    }\n};\n\n// 设置MQTT发布主题\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/model`;\nmsg.payload = JSON.stringify(modelMessage);\nmsg.qos = 1;\n\nnode.log(\&quot;设备物模型数据已生成,发布到主题: \&quot; + msg.topic);\n\nreturn msg;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;outputs&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;timeout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;noerr&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;initialize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;finalize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;libs&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">400</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">160</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;573842ea77192dbb&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="s2">&quot;4c630c164e08dc2c&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;70e1e283448c941e&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;inject&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;设备状态心跳&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;props&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="nt">&quot;p&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;payload&quot;</span>
+<span class="w">            </span><span class="p">},</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="nt">&quot;p&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;topic&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="nt">&quot;vt&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;str&quot;</span>
+<span class="w">            </span><span class="p">}</span>
+<span class="w">        </span><span class="p">],</span>
+<span class="w">        </span><span class="nt">&quot;repeat&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;120&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;crontab&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;once&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;onceDelay&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;10&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;topic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;shengtou/sensor/TH001_HA/status&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;payload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;payloadType&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;date&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">160</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">240</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;ae74b6d386748045&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;ae74b6d386748045&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;function&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;生成状态数据&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;func&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;const messageId = \&quot;sts_\&quot; + Date.now();\nconst timestamp = Date.now();\n// 从全局变量获取共享配置\nconst nameSpace = global.get(\&quot;nameSpace\&quot;) || \&quot;Environment\&quot;;\nconst clientCode = global.get(\&quot;clientCode\&quot;) || \&quot;Data-It_XzOffice\&quot;;\nconst deviceId = global.get(\&quot;deviceId\&quot;) || \&quot;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\&quot;;\nconst deviceType = \&quot;sensor\&quot;;\n\n// 计算设备运行时间(从第一次启动开始)\nif (!context.get(\&quot;startTime\&quot;)) {\n    context.set(\&quot;startTime\&quot;, timestamp);\n}\nconst startTime = context.get(\&quot;startTime\&quot;);\nconst uptime = timestamp - startTime;\n\n// 按照胜透物联网通信协议生成状态数据\nconst statusMessage = {\n    \&quot;messageId\&quot;: messageId,\n    \&quot;timestamp\&quot;: timestamp,\n    \&quot;clientCode\&quot;: clientCode,\n    \&quot;deviceId\&quot;: deviceId,\n    \&quot;deviceType\&quot;: deviceType,\n    \&quot;version\&quot;: \&quot;1.0\&quot;,\n    \&quot;data\&quot;: {\n        \&quot;status\&quot;: {\n            \&quot;online\&quot;: true,\n            \&quot;lastHeartbeat\&quot;: timestamp,\n            \&quot;uptime\&quot;: uptime\n        }\n    }\n};\n\n// 设置MQTT发布主题\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/status`;\nmsg.payload = JSON.stringify(statusMessage);\nmsg.qos = 0;\n\nnode.log(\&quot;设备状态心跳已发送,发布到主题: \&quot; + msg.topic);\n\nreturn msg;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;outputs&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;timeout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;noerr&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;initialize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;finalize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;libs&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">400</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">240</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;573842ea77192dbb&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="s2">&quot;4c630c164e08dc2c&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;7f9acf10d0c6085d&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;inject&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;初始化全局配置&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;props&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="nt">&quot;p&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;payload&quot;</span>
+<span class="w">            </span><span class="p">}</span>
+<span class="w">        </span><span class="p">],</span>
+<span class="w">        </span><span class="nt">&quot;repeat&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;crontab&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;once&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;onceDelay&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;topic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;payload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;payloadType&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;date&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">150</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">40</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;6f6b825dfc5e9512&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;6f6b825dfc5e9512&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;function&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;设置全局配置&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;func&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;// 设置全局共享常量\nglobal.set(\&quot;nameSpace\&quot;, \&quot;Environment\&quot;);\nglobal.set(\&quot;clientCode\&quot;, \&quot;Data-It_XzOffice\&quot;);\nglobal.set(\&quot;deviceId\&quot;, \&quot;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\&quot;);\n\nnode.log(\&quot;全局配置已设置: nameSpace=\&quot; + global.get(\&quot;nameSpace\&quot;) + \&quot;, clientCode=\&quot; + global.get(\&quot;clientCode\&quot;) + \&quot;, deviceId=\&quot; + global.get(\&quot;deviceId\&quot;));\n\nreturn msg;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;outputs&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;timeout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;noerr&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;initialize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;finalize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;libs&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">360</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">40</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;794c422d39898a7f&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;794c422d39898a7f&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;function&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;更新MQTT订阅Topic&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;func&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;// 从全局变量生成HomeAssistant MQTT订阅Topic\nconst deviceId = global.get(\&quot;deviceId\&quot;) || \&quot;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\&quot;;\nconst haTopic = `homeassistant/sensor/${deviceId}/state`;\n\n// 将Topic保存到全局变量供其他地方使用\nglobal.set(\&quot;haSubscribeTopic\&quot;, haTopic);\n\nnode.log(\&quot;HomeAssistant订阅Topic已更新: \&quot; + haTopic);\nnode.log(\&quot;注意:如需更改MQTT In节点的订阅Topic,请手动修改为: \&quot; + haTopic);\n\nreturn msg;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;outputs&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;timeout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;noerr&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;initialize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;finalize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;libs&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">590</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">40</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;3bf854e9bd3e6937&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;inject&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;启动事件&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;props&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="nt">&quot;p&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;payload&quot;</span>
+<span class="w">            </span><span class="p">},</span>
+<span class="w">            </span><span class="p">{</span>
+<span class="w">                </span><span class="nt">&quot;p&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;topic&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="nt">&quot;vt&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;str&quot;</span>
+<span class="w">            </span><span class="p">}</span>
+<span class="w">        </span><span class="p">],</span>
+<span class="w">        </span><span class="nt">&quot;repeat&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;crontab&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;once&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;onceDelay&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;15&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;topic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;shengtou/sensor/TH001_HA/events&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;payload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;payloadType&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;date&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">160</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">340</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;26f6196b2d6fba29&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;26f6196b2d6fba29&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;function&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;z&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1407d4531e19a951&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;生成启动事件&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;func&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;const messageId = \&quot;evt_startup_\&quot; + Date.now();\nconst timestamp = Date.now();\n// 从全局变量获取共享配置\nconst nameSpace = global.get(\&quot;nameSpace\&quot;) || \&quot;Environment\&quot;;\nconst clientCode = global.get(\&quot;clientCode\&quot;) || \&quot;Data-It_XzOffice\&quot;;\nconst deviceId = global.get(\&quot;deviceId\&quot;) || \&quot;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\&quot;;\nconst deviceType = \&quot;sensor\&quot;;\n\n// 按照胜透物联网通信协议生成事件数据\nconst eventMessage = {\n    \&quot;messageId\&quot;: messageId,\n    \&quot;timestamp\&quot;: timestamp,\n    \&quot;clientCode\&quot;: clientCode,\n    \&quot;deviceId\&quot;: deviceId,\n    \&quot;deviceType\&quot;: deviceType,\n    \&quot;version\&quot;: \&quot;1.0\&quot;,\n    \&quot;data\&quot;: {\n        \&quot;events\&quot;: [\n            {\n                \&quot;eventType\&quot;: \&quot;startup\&quot;,\n                \&quot;eventLevel\&quot;: \&quot;info\&quot;,\n                \&quot;eventCode\&quot;: \&quot;EVT_001\&quot;,\n                \&quot;description\&quot;: \&quot;HomeAssistant温度传感器代理设备启动完成\&quot;,\n                \&quot;timestamp\&quot;: timestamp\n            }\n        ]\n    }\n};\n\n// 设置MQTT发布主题\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/events`;\nmsg.payload = JSON.stringify(eventMessage);\nmsg.qos = 1;\n\nnode.log(\&quot;设备启动事件已生成,发布到主题: \&quot; + msg.topic);\n\nreturn msg;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;outputs&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;timeout&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;noerr&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;initialize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;finalize&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;libs&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span>
+<span class="w">        </span><span class="nt">&quot;x&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">380</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;y&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">320</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;wires&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">            </span><span class="p">[</span>
+<span class="w">                </span><span class="s2">&quot;573842ea77192dbb&quot;</span><span class="p">,</span>
+<span class="w">                </span><span class="s2">&quot;4c630c164e08dc2c&quot;</span>
+<span class="w">            </span><span class="p">]</span>
+<span class="w">        </span><span class="p">]</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt-ha-broker&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt-broker&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;HomeAssistant MQTT&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;broker&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;192.168.50.83&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;port&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;1883&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;clientid&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;autoConnect&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;usetls&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;protocolVersion&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;4&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;keepalive&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;60&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;cleansession&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;autoUnsubscribe&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;birthTopic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;birthQos&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;birthPayload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;birthMsg&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">        </span><span class="nt">&quot;closeTopic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;closeQos&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;closePayload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;closeMsg&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">        </span><span class="nt">&quot;willTopic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;willQos&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;willPayload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;willMsg&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">        </span><span class="nt">&quot;sessionExpiry&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span>
+<span class="w">    </span><span class="p">},</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">        </span><span class="nt">&quot;id&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt-company-broker&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt-broker&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;公司MQTT服务器&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;broker&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;mqtt-test.ihemodialysis.com&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;port&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;62183&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;clientid&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;usetls&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;protocolVersion&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;4&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;keepalive&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;60&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;cleansession&quot;</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;birthTopic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;birthQos&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;birthPayload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;birthMsg&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">        </span><span class="nt">&quot;closeTopic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;closeQos&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;closePayload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;closeMsg&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">        </span><span class="nt">&quot;willTopic&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;shengtou/sensor/TH001_HA/status&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;willQos&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;willPayload&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;{\&quot;messageId\&quot;:\&quot;sts_offline\&quot;,\&quot;timestamp\&quot;:0,\&quot;deviceId\&quot;:\&quot;TH001_HA\&quot;,\&quot;deviceType\&quot;:\&quot;sensor\&quot;,\&quot;version\&quot;:\&quot;1.0\&quot;,\&quot;data\&quot;:{\&quot;status\&quot;:{\&quot;online\&quot;:false,\&quot;lastHeartbeat\&quot;:0,\&quot;uptime\&quot;:0}}}&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="nt">&quot;willMsg&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">{},</span>
+<span class="w">        </span><span class="nt">&quot;sessionExpiry&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;&quot;</span>
+<span class="w">    </span><span class="p">}</span>
+<span class="p">]</span>
+</code></pre></div>
+
+<p>当然,你也可以从<a href="http://datacdn.data-it.tech/HomeAssistant/%E8%BD%AC%E5%8F%91%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6/flows%28%E8%BD%AC%E5%8F%91%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%29.zip">工作流文件</a>导入新新工作流。
+点击上述链接后,下载文件,并解压,得到一个名为<code>flows.json</code>的文件。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715162926.png" />
+点击导入节点文件,</p>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715163031.png" /></p>
+<p><img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715163056.png" />
+部署成功后,会出现如下图所示的工作流
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715163149.png" />
+此时,工作流已创完成.</p>
+<h4 id="3-mqtt">3. 配置MQTT节点<a class="headerlink" href="#3-mqtt" title="Permanent link">&para;</a></h4>
+<p>工作流中有两个MQTT节点,分别是Home Assistant的MQTT Broker和公司MQTT服务器的Broker。这两个节点的配置需要根据实际情况进行调整。
+首先,要先配置Home Assistant的MQTT Broker节点,确保其连接信息正确无误。
+在我们没有配置mqtt in 的连接信息时,我们发现这个节点一直处理连接中
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715163605.png" />
+双击该节点,进入配置界面
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715163656.png" />
+点击编辑图标
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715163805.png" />
+在编辑mqtt-broker节点的界面中的连接参数选项卡中,输入正确的服务端与端口号
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715163909.png" />
+如果MQTT有用户名和密码,请在认证选项卡中输入正确的用户名和密码后,然后点更新
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715164109.png" />
+然后,再点击完成
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715164132.png" />
+最后点击部署
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715164154.png" />
+部署完成后,我们可以看到,此节点会变为已联接
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715164232.png" />
+对于"发布到公司MQTT"节点,我们需要配置连接到公司MQTT服务器的Broker。也时同样的操作方法,双击
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715164525.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715164716.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715164745.png" />
+然后,更新,完成,部署即可。</p>
+<p><strong><em>查找HomeAssistant的Mqtt配置信息</em></strong></p>
+<p>对于HomeAssistant我们一般都是提前部署了内置的MQTT Broker,在不知端口与密码的情况下,我样可以在HomeAssistant中去查找
+进入设置加载项
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715165034.png" />
+找到Mosquitto broker这个选项卡,点击进入
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715165556.png" />
+点击配置选项卡
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715165648.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715170410.png" />
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715170521.png" />
+在这里可以看到MQTT的端口号与用户名密码等信息,及下面的mqtt开放的端口信息,ip地址,就是ha主机所在的Ip地址。以上信息,用来配置工作流的mqtt in的参数。</p>
+<p><strong><em>公司mqtt服务端口信息</em></strong>
+这个参数,请向公司管理员获取,或者在公司MQTT服务器的配置文件中查看。</p>
+<h4 id="4">4.配置工作流全局变量<a class="headerlink" href="#4" title="Permanent link">&para;</a></h4>
+<p>双击工作流的节点"设置全局配置",打开编辑function节点
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715170815.png" />
+对如下三行,进行更改</p>
+<div class="codehilite"><pre><span></span><code><span class="c1">// 设置全局共享常量</span>
+<span class="nb">global</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s2">&quot;nameSpace&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;Environment&quot;</span><span class="p">);</span><span class="w"> </span><span class="c1">//命名空间,默认为:Environment,如果有需要,以联系相关工程师确认后,更改.</span>
+<span class="nb">global</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s2">&quot;clientCode&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;Data-It_XzOffice&quot;</span><span class="p">);</span><span class="c1">// 客户端代码,默认为:Data-It_XzOffice,一定要改为中心对就的ClientCode,</span>
+<span class="nb">global</span><span class="p">.</span><span class="nx">set</span><span class="p">(</span><span class="s2">&quot;deviceId&quot;</span><span class="p">,</span><span class="w"> </span><span class="s2">&quot;sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1&quot;</span><span class="p">);</span><span class="c1">//一定要改为之前我们定的传感器实体ID</span>
+</code></pre></div>
+
+<p>如果不确定,请联系相关工程师确认。
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715171257.png" />
+然后,点击,完成,部署
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715171454.png" />
+然后,下一步,非常重要,一定要执行
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715171602.png" />
+这一步,非常重要,必须执行,否则工作流没有把全局变量写入工作流,会导致发布数据不正确。
+然后,我样就可以用在debug的日志中看到我们发布的节点数据了,
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715171803.png" />
+此图,可以观察到mqtt发布到公司的数据,clientCode,deviceid是否正常了。</p>
+<h5 id="5">5. 测试工作流的数据是否正常<a class="headerlink" href="#5" title="Permanent link">&para;</a></h5>
+<p>我们可以使用第三方工具来查看公司mqtt服务收到的数据是否正常如下图
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715171959.png" /></p>
+<p>这里我推荐使用工具<a href="https://mqttx.app/">MQTTX</a>
+下载地址为:https://mqttx.app/downloads
+<img alt="" src="https://qncdn.tairongkj.com/docs/images/20250715172131.png" /></p>
+<p>至此,透析中心HA环境温度数据发送到胜透的工作流配置完成。
+<end></p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../../initConfig/initConfig/" class="btn btn-neutral float-left" title="系统初始化配置"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../errorsQA/" class="btn btn-neutral float-right" title="errorsQA">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../../initConfig/initConfig/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../errorsQA/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../../..";</script>
+    <script src="../../../js/theme_extra.js"></script>
+    <script src="../../../js/theme.js"></script>
+      <script src="../../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git a/Help/site/Usages/backupAndRestore/BackupToFile/index.html b/Help/site/Usages/backupAndRestore/BackupToFile/index.html
index 33d1f28..12d5826 100644
--- a/Help/site/Usages/backupAndRestore/BackupToFile/index.html
+++ b/Help/site/Usages/backupAndRestore/BackupToFile/index.html
@@ -61,6 +61,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/Usages/backupAndRestore/RestoreFromFile/index.html b/Help/site/Usages/backupAndRestore/RestoreFromFile/index.html
index 90f44be..781a37c 100644
--- a/Help/site/Usages/backupAndRestore/RestoreFromFile/index.html
+++ b/Help/site/Usages/backupAndRestore/RestoreFromFile/index.html
@@ -61,6 +61,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/Usages/initConfig/initConfig/index.html b/Help/site/Usages/initConfig/initConfig/index.html
index 6518ee0..ecf51cd 100644
--- a/Help/site/Usages/initConfig/initConfig/index.html
+++ b/Help/site/Usages/initConfig/initConfig/index.html
@@ -133,6 +133,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
@@ -937,6 +972,7 @@
           </div><footer>
     <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
         <a href="../../netconfig/netconfig/" class="btn btn-neutral float-left" title="配置网络"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../../QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/" class="btn btn-neutral float-right" title="透析中心HA环境温度发送到胜透的操作指南">Next <span class="icon icon-circle-arrow-right"></span></a>
     </div>
 
   <hr/>
@@ -966,6 +1002,8 @@
       <span><a href="../../netconfig/netconfig/" style="color: #fcfcfc">&laquo; Previous</a></span>
     
     
+      <span><a href="../../QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
   </span>
 </div>
     <script src="../../../js/jquery-3.6.0.min.js"></script>
diff --git a/Help/site/Usages/initConfig/installHacs/index.html b/Help/site/Usages/initConfig/installHacs/index.html
index 22dbec6..18386cb 100644
--- a/Help/site/Usages/initConfig/installHacs/index.html
+++ b/Help/site/Usages/initConfig/installHacs/index.html
@@ -61,6 +61,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/Usages/netconfig/netconfig/index.html b/Help/site/Usages/netconfig/netconfig/index.html
index 6f7ca36..1393175 100644
--- a/Help/site/Usages/netconfig/netconfig/index.html
+++ b/Help/site/Usages/netconfig/netconfig/index.html
@@ -69,6 +69,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/Usages/usage/index.html b/Help/site/Usages/usage/index.html
index 1e972a4..b030aac 100644
--- a/Help/site/Usages/usage/index.html
+++ b/Help/site/Usages/usage/index.html
@@ -67,6 +67,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/about/index.html b/Help/site/about/index.html
index 337c523..72f5ab8 100644
--- a/Help/site/about/index.html
+++ b/Help/site/about/index.html
@@ -81,6 +81,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/index.html b/Help/site/index.html
index 81950e8..53a2afb 100644
--- a/Help/site/index.html
+++ b/Help/site/index.html
@@ -63,6 +63,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
@@ -145,5 +180,5 @@
 
 <!--
 MkDocs version : 1.6.1
-Build Date UTC : 2025-07-17 04:02:11.904653+00:00
+Build Date UTC : 2025-08-20 02:53:50.056430+00:00
 -->
diff --git a/Help/site/install-guide/BackupAndRestore/index.html b/Help/site/install-guide/BackupAndRestore/index.html
index 18ebbab..9a28f6c 100644
--- a/Help/site/install-guide/BackupAndRestore/index.html
+++ b/Help/site/install-guide/BackupAndRestore/index.html
@@ -61,6 +61,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/install-guide/LinuxInstall/index.html b/Help/site/install-guide/LinuxInstall/index.html
index d0c3cce..9513f21 100644
--- a/Help/site/install-guide/LinuxInstall/index.html
+++ b/Help/site/install-guide/LinuxInstall/index.html
@@ -61,6 +61,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/install-guide/WinPeInstall/index.html b/Help/site/install-guide/WinPeInstall/index.html
index a984031..0621c99 100644
--- a/Help/site/install-guide/WinPeInstall/index.html
+++ b/Help/site/install-guide/WinPeInstall/index.html
@@ -61,6 +61,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/install-guide/configX86Bios/index.html b/Help/site/install-guide/configX86Bios/index.html
index 6500315..5db8346 100644
--- a/Help/site/install-guide/configX86Bios/index.html
+++ b/Help/site/install-guide/configX86Bios/index.html
@@ -61,6 +61,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/install-guide/installHa/index.html b/Help/site/install-guide/installHa/index.html
index bb124e2..c9442d0 100644
--- a/Help/site/install-guide/installHa/index.html
+++ b/Help/site/install-guide/installHa/index.html
@@ -79,6 +79,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git "a/Help/site/install-guide/vmwareExsi\345\256\211\350\243\205Ha/index.html" "b/Help/site/install-guide/vmwareExsi\345\256\211\350\243\205Ha/index.html"
index 1c257b2..ef724c0 100644
--- "a/Help/site/install-guide/vmwareExsi\345\256\211\350\243\205Ha/index.html"
+++ "b/Help/site/install-guide/vmwareExsi\345\256\211\350\243\205Ha/index.html"
@@ -61,6 +61,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git "a/Help/site/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213/index.html" "b/Help/site/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213/index.html"
new file mode 100644
index 0000000..9218a9b
--- /dev/null
+++ "b/Help/site/node-reds/ModbusPoll-v7.0.0\344\275\277\347\224\250\346\225\231\347\250\213/index.html"
@@ -0,0 +1,921 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../img/favicon.ico" />
+    <title>ModbusPoll-v7.0.0使用教程 - DT-HA</title>
+    <link rel="stylesheet" href="../../css/theme.css" />
+    <link rel="stylesheet" href="../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "ModbusPoll-v7.0.0\u4f7f\u7528\u6559\u7a0b";
+        var mkdocs_page_input_path = "node-reds\\ModbusPoll-v7.0.0\u4f7f\u7528\u6559\u7a0b.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" href="../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1 current"><a class="reference internal current" >Node-red相关</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">ModbusPoll-v7.0.0使用教程</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#_1">目录</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_2">软件介绍</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_3">主要特性</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_4">安装与启动</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_5">系统要求</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_6">安装步骤</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_7">首次启动</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_8">基本配置</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_9">连接设置</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_10">连接设置</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_11">串口连接示例</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#tcp">TCP连接示例</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_12">数据读取配置</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_13">设置读取参数</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_14">水处理机与集中供液设备参数配置示例</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_15">水处理机与集中供液设备通信实例</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_16">水处理机参数读取</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_17">批量读取配置</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_18">数据监控与分析</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_19">数据显示格式</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_20">字节序配置详解</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_21">实时监控</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_22">数据记录</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_23">告警设置</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_24">故障排除</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_25">常见问题及解决方案</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_26">高级功能</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1_1">1. 脚本自动化</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2_1">2. 数据导出</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#3_1">3. 多设备监控</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#4_1">4. 趋势分析</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_27">水处理机与集中供液设备监控实战</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#_28">完整监控配置</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#_29">自动化脚本示例</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_30">最佳实践建议</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1_2">1. 性能优化</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2_2">2. 数据管理</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#3_2">3. 维护建议</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_31">附录</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#a-modbus">A. Modbus功能码对照表</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#b">B. 常用波特率设置</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#c">C. 水处理机与集中供液设备常用地址映射</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#d">D. 大端小端(字节序)详解</a>
+    </li>
+        </ul>
+    </li>
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">其它教程</li>
+          <li class="breadcrumb-item">Node-red相关</li>
+      <li class="breadcrumb-item active">ModbusPoll-v7.0.0使用教程</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h1 id="modbuspoll-v700">ModbusPoll v7.0.0 使用教程<a class="headerlink" href="#modbuspoll-v700" title="Permanent link">&para;</a></h1>
+<h2 id="_1">目录<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
+<ol>
+<li><a href="#软件介绍">软件介绍</a></li>
+<li><a href="#安装与启动">安装与启动</a></li>
+<li><a href="#基本配置">基本配置</a></li>
+<li><a href="#连接设置">连接设置</a></li>
+<li><a href="#数据读取配置">数据读取配置</a></li>
+<li><a href="#水处理机与集中供液设备通信实例">水处理机与集中供液设备通信实例</a></li>
+<li><a href="#数据监控与分析">数据监控与分析</a></li>
+<li><a href="#故障排除">故障排除</a></li>
+<li><a href="#高级功能">高级功能</a></li>
+</ol>
+<h2 id="_2">软件介绍<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
+<p>ModbusPoll是一款专业的Modbus主机仿真器工具,主要用于:
+- 测试和调试Modbus从设备
+- 监控Modbus设备数据
+- 验证设备通信协议
+- 故障诊断和排除</p>
+<h3 id="_3">主要特性<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h3>
+<ul>
+<li>支持Modbus RTU/ASCII/TCP协议</li>
+<li>实时数据监控</li>
+<li>多种数据格式显示</li>
+<li>日志记录功能</li>
+<li>批量读取功能</li>
+</ul>
+<h2 id="_4">安装与启动<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h2>
+<h3 id="_5">系统要求<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h3>
+<ul>
+<li>Windows 7/8/10/11</li>
+<li>.NET Framework 4.0 或更高版本</li>
+<li>至少50MB可用磁盘空间</li>
+</ul>
+<h3 id="_6">安装步骤<a class="headerlink" href="#_6" title="Permanent link">&para;</a></h3>
+<ol>
+<li>下载ModbusPoll-v7.0.0安装包</li>
+<li>右键点击安装包,选择"以管理员身份运行"</li>
+<li>按照安装向导完成安装</li>
+<li>启动程序:开始菜单 → ModbusPoll</li>
+</ol>
+<h3 id="_7">首次启动<a class="headerlink" href="#_7" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>启动后会显示主界面,包含:
+- 菜单栏:文件、连接、设置等
+- 工具栏:常用功能快捷按钮
+- 数据显示区域:寄存器数据表格
+- 状态栏:连接状态和统计信息
+</code></pre></div>
+
+<h2 id="_8">基本配置<a class="headerlink" href="#_8" title="Permanent link">&para;</a></h2>
+<h3 id="_9">连接设置<a class="headerlink" href="#_9" title="Permanent link">&para;</a></h3>
+<ol>
+<li>
+<p><strong>串口连接(RTU/ASCII)</strong>
+   <code>Connection → Connect
+   或点击工具栏连接图标</code></p>
+</li>
+<li>
+<p><strong>连接参数配置</strong></p>
+</li>
+<li><strong>Port</strong>: 选择串口(COM1, COM2等)</li>
+<li><strong>Baud Rate</strong>: 波特率(常用9600, 19200, 38400)</li>
+<li><strong>Data Bits</strong>: 数据位(通常为8)</li>
+<li><strong>Parity</strong>: 校验位(None, Even, Odd)</li>
+<li><strong>Stop Bits</strong>: 停止位(1或2)</li>
+<li>
+<p><strong>Mode</strong>: 选择RTU或ASCII</p>
+</li>
+<li>
+<p><strong>TCP连接设置</strong></p>
+</li>
+<li><strong>IP Address</strong>: 设备IP地址</li>
+<li><strong>Port</strong>: 端口号(默认502)</li>
+<li><strong>Unit ID</strong>: 从站地址</li>
+</ol>
+<h2 id="_10">连接设置<a class="headerlink" href="#_10" title="Permanent link">&para;</a></h2>
+<h3 id="_11">串口连接示例<a class="headerlink" href="#_11" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>以水处理机为例:
+- Port: COM1
+- Baud Rate: 9600
+- Data Bits: 8
+- Parity: None
+- Stop Bits: 1
+- Mode: RTU
+- Response timeout: 1000ms
+- Delay between polls: 100ms
+</code></pre></div>
+
+<h3 id="tcp">TCP连接示例<a class="headerlink" href="#tcp" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>集中供液设备网络连接:
+- IP Address: 192.168.1.100
+- Port: 502
+- Unit ID: 1
+- Response timeout: 3000ms
+- Delay between polls: 500ms
+</code></pre></div>
+
+<h2 id="_12">数据读取配置<a class="headerlink" href="#_12" title="Permanent link">&para;</a></h2>
+<h3 id="_13">设置读取参数<a class="headerlink" href="#_13" title="Permanent link">&para;</a></h3>
+<ol>
+<li><strong>Setup → Read/Write Definition</strong></li>
+<li>配置读取参数:</li>
+<li><strong>Slave ID</strong>: 从站地址(1-247)</li>
+<li><strong>Function</strong>: 功能码<ul>
+<li>01: 读取线圈状态</li>
+<li>02: 读取输入状态</li>
+<li>03: 读取保持寄存器</li>
+<li>04: 读取输入寄存器</li>
+</ul>
+</li>
+<li><strong>Address</strong>: 起始地址</li>
+<li><strong>Quantity</strong>: 读取数量</li>
+<li><strong>Scan Rate</strong>: 扫描频率(ms)</li>
+</ol>
+<h3 id="_14">水处理机与集中供液设备参数配置示例<a class="headerlink" href="#_14" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>温度监控:
+- Slave ID: 1
+- Function: 03 (Read Holding Registers)
+- Address: 23 (0x0017)
+- Quantity: 2
+- Scan Rate: 1000ms
+
+供液压力监控:
+- Slave ID: 1
+- Function: 03
+- Address: 25 (0x0019)
+- Quantity: 2
+- Scan Rate: 500ms
+
+液位状态监控:
+- Slave ID: 1
+- Function: 01 (Read Coils)
+- Address: 0x0001
+- Quantity: 16
+- Scan Rate: 2000ms
+
+电导率监控:
+- Slave ID: 1
+- Function: 03
+- Address: 24 (0x0018)
+- Quantity: 2
+- Scan Rate: 1000ms
+
+PH值监控:
+- Slave ID: 1
+- Function: 03
+- Address: 29 (0x001D)
+- Quantity: 2
+- Scan Rate: 1000ms
+</code></pre></div>
+
+<h2 id="_15">水处理机与集中供液设备通信实例<a class="headerlink" href="#_15" title="Permanent link">&para;</a></h2>
+<h3 id="_16">水处理机参数读取<a class="headerlink" href="#_16" title="Permanent link">&para;</a></h3>
+<p>根据水处理设备通信协议配置:</p>
+<div class="codehilite"><pre><span></span><code>1. 温度参数(寄存器地址:0x0017)
+   - Function: 03
+   - Address: 23 (0x0017)
+   - Quantity: 2
+   - Data Format: Float (4字节)
+
+2. 电导率参数(寄存器地址:0x0018)
+   - Function: 03
+   - Address: 24 (0x0018)
+   - Quantity: 2
+   - Data Format: Float
+
+3. 供液压力参数(寄存器地址:0x0019-0x001A)
+   - Function: 03
+   - Address: 25 (0x0019)
+   - Quantity: 4
+   - Data Format: Float (供液一、供液二压力)
+
+4. 液位参数(寄存器地址:0x001B-0x001C)
+   - Function: 03
+   - Address: 27 (0x001B)
+   - Quantity: 4
+   - Data Format: Float (储液、配液液位)
+
+5. PH值参数(寄存器地址:0x001D)
+   - Function: 03
+   - Address: 29 (0x001D)
+   - Quantity: 2
+   - Data Format: Float
+</code></pre></div>
+
+<h3 id="_17">批量读取配置<a class="headerlink" href="#_17" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>Setup → Read/Write Definition → Add Multiple
+创建多个读取组:
+- 组1:温度相关参数 (0x0017-0x0018)
+- 组2:压力相关参数 (0x0019-0x001A)
+- 组3:液位相关参数 (0x001B-0x001C)
+- 组4:PH值参数 (0x001D)
+- 组5:状态相关参数 (0x0001-0x0010)
+</code></pre></div>
+
+<h2 id="_18">数据监控与分析<a class="headerlink" href="#_18" title="Permanent link">&para;</a></h2>
+<h3 id="_19">数据显示格式<a class="headerlink" href="#_19" title="Permanent link">&para;</a></h3>
+<ol>
+<li><strong>Display → Data Format</strong></li>
+<li>选择合适的显示格式:</li>
+<li><strong>Signed/Unsigned</strong>: 有符号/无符号</li>
+<li><strong>16-bit/32-bit</strong>: 数据位数</li>
+<li><strong>Hex/Decimal/Binary</strong>: 进制显示</li>
+<li><strong>Float</strong>: 浮点数显示</li>
+</ol>
+<h3 id="_20">字节序配置详解<a class="headerlink" href="#_20" title="Permanent link">&para;</a></h3>
+<p><strong>重要</strong>:正确的字节序设置是数据正确显示的关键</p>
+<p><strong>配置步骤</strong>:
+1. <strong>Display → Data Format → Advanced</strong>
+2. <strong>字节序选项</strong>:
+   ```
+   □ Byte Swap    - 字节交换
+   □ Word Swap    - 字交换</p>
+<p>四种组合对应不同字节序:
+   ┌─────────────┬──────────┬────────────┐
+   │  选项组合    │  字节序   │   示例      │
+   ├─────────────┼──────────┼────────────┤
+   │  无勾选      │  ABCD    │ 42 0C CC CD │
+   │  Byte Swap  │  BADC    │ 0C 42 CD CC │<br />
+   │  Word Swap  │  CDAB    │ CC CD 42 0C │
+   │  Both       │  DCBA    │ CD CC 0C 42 │
+   └─────────────┴──────────┴────────────┘
+   ```</p>
+<p><strong>实际验证方法</strong>:</p>
+<div class="codehilite"><pre><span></span><code>基于您的通信数据 CD CC 0C 42:
+1. 尝试DCBA格式:CD CC 0C 42 → 35.2°C ✓
+2. 其他格式都会显示异常值
+3. 因此您的设备使用DCBA字节序
+</code></pre></div>
+
+<p><strong>配置建议</strong>:
+- 水处理设备通常使用大端序(ABCD)
+- PC-based设备通常使用小端序(DCBA)<br />
+- 根据实际数据验证选择正确格式</p>
+<h3 id="_21">实时监控<a class="headerlink" href="#_21" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>View菜单选项:
+- Data View: 数据表格视图
+- Register View: 寄存器视图
+- Traffic View: 通信流量视图
+- Error View: 错误日志视图
+</code></pre></div>
+
+<h3 id="_22">数据记录<a class="headerlink" href="#_22" title="Permanent link">&para;</a></h3>
+<ol>
+<li><strong>Log → Start Logging</strong></li>
+<li>设置日志文件路径和格式</li>
+<li>选择记录间隔和条件</li>
+<li>开始记录数据变化</li>
+</ol>
+<h3 id="_23">告警设置<a class="headerlink" href="#_23" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>Setup → Alarm Setup
+配置告警条件:
+- 水温超限:&gt; 40°C 或 &lt; 35°C
+- 供液压力异常:&lt; 0.1MPa 或 &gt; 0.5MPa
+- 电导率异常:&lt; 13.0 或 &gt; 15.0 mS/cm
+- 设备离线:通信超时 &gt; 5秒
+</code></pre></div>
+
+<h2 id="_24">故障排除<a class="headerlink" href="#_24" title="Permanent link">&para;</a></h2>
+<h3 id="_25">常见问题及解决方案<a class="headerlink" href="#_25" title="Permanent link">&para;</a></h3>
+<h4 id="1">1. 连接失败<a class="headerlink" href="#1" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code>问题:无法连接到设备
+解决方案:
+- 检查串口/网络连接
+- 确认波特率和通信参数
+- 检查设备地址是否正确
+- 验证电缆连接
+</code></pre></div>
+
+<h4 id="2">2. 数据读取异常<a class="headerlink" href="#2" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code>问题:读取数据全为0或异常值
+解决方案:
+- 检查功能码是否正确
+- 确认寄存器地址
+- 检查数据格式设置
+- 验证设备是否支持该功能
+</code></pre></div>
+
+<h4 id="3">3. 通信超时<a class="headerlink" href="#3" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code>问题:频繁出现通信超时
+解决方案:
+- 增加Response Timeout时间
+- 减少扫描频率
+- 检查网络稳定性
+- 确认设备负载情况
+</code></pre></div>
+
+<h4 id="4">4. 数据格式错误<a class="headerlink" href="#4" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code>问题:数据显示格式不正确
+解决方案:
+- 检查字节序设置(大端/小端)
+- 确认数据类型(整数/浮点)
+- 调整数据位数设置
+- 参考设备手册确认格式
+</code></pre></div>
+
+<h4 id="5">5. 字节序问题诊断<a class="headerlink" href="#5" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code>问题:数据数值异常(过大或过小)
+症状:
+- 温度显示几千度或负值
+- 压力显示异常大的数值
+- 电导率显示不合理数值
+
+解决步骤:
+1. 查看Traffic View中的原始十六进制数据
+2. 尝试不同字节序组合:
+   - Display → Data Format → Byte Swap
+   - Display → Data Format → Word Swap
+3. 选择显示合理数值的组合
+4. 验证多个参数确保设置正确
+
+实例:
+原始数据:CD CC 0C 42
+- 默认(ABCD):异常值
+- Byte swap(BADC):异常值  
+- Word swap(CDAB):异常值
+- Byte+Word(DCBA):35.2°C ✓正确
+</code></pre></div>
+
+<h2 id="_26">高级功能<a class="headerlink" href="#_26" title="Permanent link">&para;</a></h2>
+<h3 id="1_1">1. 脚本自动化<a class="headerlink" href="#1_1" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>Tools → Scripting
+支持VB脚本自动化:
+- 自动连接设备
+- 批量数据处理
+- 条件触发操作
+- 报告生成
+</code></pre></div>
+
+<h3 id="2_1">2. 数据导出<a class="headerlink" href="#2_1" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>File → Export Data
+支持多种格式:
+- CSV文件
+- Excel文件
+- XML格式
+- 自定义格式
+</code></pre></div>
+
+<h3 id="3_1">3. 多设备监控<a class="headerlink" href="#3_1" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>可同时监控多个设备:
+1. File → New Document
+2. 配置不同设备参数
+3. Window → Tile 平铺显示
+4. 实现多设备集中监控
+</code></pre></div>
+
+<h3 id="4_1">4. 趋势分析<a class="headerlink" href="#4_1" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>View → Trend View
+功能特性:
+- 实时趋势图表
+- 历史数据回放
+- 数据统计分析
+- 异常点标记
+</code></pre></div>
+
+<h2 id="_27">水处理机与集中供液设备监控实战<a class="headerlink" href="#_27" title="Permanent link">&para;</a></h2>
+<h3 id="_28">完整监控配置<a class="headerlink" href="#_28" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code><span class="c1"># 水处理机与集中供液设备监控配置示例</span>
+<span class="nt">设备信息</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">设备型号</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">水处理机+集中供液设备</span>
+<span class="w">  </span><span class="nt">通信方式</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Modbus RTU/TCP</span>
+<span class="w">  </span><span class="nt">波特率</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">9600</span>
+<span class="w">  </span><span class="nt">从站地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1</span>
+
+<span class="nt">监控参数</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">温度监控</span><span class="p">:</span>
+<span class="w">    </span><span class="nt">地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x0017</span>
+<span class="w">    </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">°C</span>
+<span class="w">    </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">35-40°C</span>
+
+<span class="w">  </span><span class="nt">电导率监控</span><span class="p">:</span>
+<span class="w">    </span><span class="nt">地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x0018</span>
+<span class="w">    </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mS/cm</span>
+<span class="w">    </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">13.0-15.0</span>
+
+<span class="w">  </span><span class="nt">压力监控</span><span class="p">:</span>
+<span class="w">    </span><span class="nt">供液一</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x0019</span>
+<span class="w">    </span><span class="nt">供液二</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x001A</span>
+<span class="w">    </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">MPa</span>
+<span class="w">    </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0.1-0.5</span>
+
+<span class="w">  </span><span class="nt">液位监控</span><span class="p">:</span>
+<span class="w">    </span><span class="nt">储液</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x001B</span>
+<span class="w">    </span><span class="nt">配液</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x001C</span>
+<span class="w">    </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="err">%</span>
+<span class="w">    </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10-90%</span>
+
+<span class="w">  </span><span class="nt">PH值监控</span><span class="p">:</span>
+<span class="w">    </span><span class="nt">地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x001D</span>
+<span class="w">    </span><span class="nt">单位</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pH</span>
+<span class="w">    </span><span class="nt">告警</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">6.5-7.5</span>
+
+<span class="nt">扫描设置</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">正常扫描</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">1000ms</span>
+<span class="w">  </span><span class="nt">快速扫描</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">500ms</span>
+<span class="w">  </span><span class="nt">慢速扫描</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2000ms</span>
+
+<span class="nt">通信协议分析</span><span class="p">:</span>
+<span class="w">  </span><span class="nt">基于实际通信数据</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">使用Modbus TCP协议</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">功能码03 (Read Holding Registers)</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">起始地址</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">0x0017 (温度)</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">数据格式</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">32位浮点数 (IEEE 754)</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">字节序分析</span><span class="p">:</span><span class="w"> </span>
+<span class="w">    </span><span class="nt">* 原始数据</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CD CC 0C 42</span>
+<span class="w">    </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">需要DCBA字节序 (Byte+Word Swap)</span>
+<span class="w">    </span><span class="nt">* 解析结果</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">35.2°C</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">数据示例验证</span><span class="p">:</span>
+<span class="w">    </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">CD CC 0C 42 (十六进制)</span><span class="w"> </span>
+<span class="w">    </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">→ 0x420CCCCD (重排后)</span>
+<span class="w">    </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">→ 35.2000008 (IEEE 754浮点数)</span>
+<span class="w">    </span><span class="err">*</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">→ 35.2°C (显示值)</span>
+
+<span class="nt">配置要点</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">ModbusPoll设置</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Display → Data Format</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">勾选</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Byte Swap + Word Swap</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">数据类型</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">32-bit Float</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">验证方法</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">观察温度是否在合理范围(30-50°C)</span>
+</code></pre></div>
+
+<h3 id="_29">自动化脚本示例<a class="headerlink" href="#_29" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code><span class="c1">&#39; 水处理机与集中供液设备状态检查脚本</span>
+<span class="kd">Sub</span><span class="w"> </span><span class="nf">CheckWaterTreatmentStatus</span><span class="p">()</span>
+<span class="w">    </span><span class="kd">Dim</span><span class="w"> </span><span class="nv">temp</span><span class="p">,</span><span class="w"> </span><span class="nv">pressure1</span><span class="p">,</span><span class="w"> </span><span class="nv">pressure2</span><span class="p">,</span><span class="w"> </span><span class="nv">conductivity</span><span class="p">,</span><span class="w"> </span><span class="nv">ph</span>
+
+<span class="w">    </span><span class="c1">&#39; 读取温度 (地址23)</span>
+<span class="w">    </span><span class="n">temp</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">)</span>
+
+<span class="w">    </span><span class="c1">&#39; 读取压力 (地址25,26)</span>
+<span class="w">    </span><span class="n">pressure1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">25</span><span class="p">)</span>
+<span class="w">    </span><span class="n">pressure2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">26</span><span class="p">)</span>
+
+<span class="w">    </span><span class="c1">&#39; 读取电导率 (地址24)</span>
+<span class="w">    </span><span class="n">conductivity</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">24</span><span class="p">)</span>
+
+<span class="w">    </span><span class="c1">&#39; 读取PH值 (地址29)</span>
+<span class="w">    </span><span class="n">ph</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">mbPoll</span><span class="p">.</span><span class="n">ReadFloat</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">29</span><span class="p">)</span>
+
+<span class="w">    </span><span class="c1">&#39; 检查异常</span>
+<span class="w">    </span><span class="k">If</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">40</span><span class="w"> </span><span class="ow">Or</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">35</span><span class="w"> </span><span class="k">Then</span>
+<span class="w">        </span><span class="nb">MsgBox</span><span class="w"> </span><span class="s2">&quot;水温异常: &quot;</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="s2">&quot;°C&quot;</span>
+<span class="w">    </span><span class="k">End</span><span class="w"> </span><span class="k">If</span>
+
+<span class="w">    </span><span class="k">If</span><span class="w"> </span><span class="n">pressure1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mf">0.1</span><span class="w"> </span><span class="ow">Or</span><span class="w"> </span><span class="n">pressure1</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mf">0.5</span><span class="w"> </span><span class="k">Then</span>
+<span class="w">        </span><span class="nb">MsgBox</span><span class="w"> </span><span class="s2">&quot;供液一压力异常: &quot;</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">pressure1</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="s2">&quot;MPa&quot;</span>
+<span class="w">    </span><span class="k">End</span><span class="w"> </span><span class="k">If</span>
+
+<span class="w">    </span><span class="k">If</span><span class="w"> </span><span class="n">conductivity</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mf">13.0</span><span class="w"> </span><span class="ow">Or</span><span class="w"> </span><span class="n">conductivity</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mf">15.0</span><span class="w"> </span><span class="k">Then</span>
+<span class="w">        </span><span class="nb">MsgBox</span><span class="w"> </span><span class="s2">&quot;电导率异常: &quot;</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">conductivity</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="s2">&quot;mS/cm&quot;</span>
+<span class="w">    </span><span class="k">End</span><span class="w"> </span><span class="k">If</span>
+
+<span class="w">    </span><span class="k">If</span><span class="w"> </span><span class="n">ph</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mf">6.5</span><span class="w"> </span><span class="ow">Or</span><span class="w"> </span><span class="n">ph</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mf">7.5</span><span class="w"> </span><span class="k">Then</span>
+<span class="w">        </span><span class="nb">MsgBox</span><span class="w"> </span><span class="s2">&quot;PH值异常: &quot;</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">ph</span>
+<span class="w">    </span><span class="k">End</span><span class="w"> </span><span class="k">If</span>
+<span class="k">End</span><span class="w"> </span><span class="k">Sub</span>
+</code></pre></div>
+
+<h2 id="_30">最佳实践建议<a class="headerlink" href="#_30" title="Permanent link">&para;</a></h2>
+<h3 id="1_2">1. 性能优化<a class="headerlink" href="#1_2" title="Permanent link">&para;</a></h3>
+<ul>
+<li>合理设置扫描频率,避免过度轮询</li>
+<li>使用批量读取减少通信次数</li>
+<li>定期清理日志文件</li>
+<li>监控系统资源使用情况</li>
+</ul>
+<h3 id="2_2">2. 数据管理<a class="headerlink" href="#2_2" title="Permanent link">&para;</a></h3>
+<ul>
+<li>建立规范的参数命名规则</li>
+<li>定期备份重要配置</li>
+<li>设置合理的数据保存周期</li>
+<li>实施数据安全措施</li>
+</ul>
+<h3 id="3_2">3. 维护建议<a class="headerlink" href="#3_2" title="Permanent link">&para;</a></h3>
+<ul>
+<li>定期检查通信线路</li>
+<li>更新设备驱动程序</li>
+<li>备份工程配置文件</li>
+<li>建立故障处理流程</li>
+</ul>
+<hr />
+<h2 id="_31">附录<a class="headerlink" href="#_31" title="Permanent link">&para;</a></h2>
+<h3 id="a-modbus">A. Modbus功能码对照表<a class="headerlink" href="#a-modbus" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>01 - Read Coils (读取线圈状态)
+02 - Read Discrete Inputs (读取离散输入)
+03 - Read Holding Registers (读取保持寄存器)
+04 - Read Input Registers (读取输入寄存器)
+05 - Write Single Coil (写单个线圈)
+06 - Write Single Register (写单个寄存器)
+15 - Write Multiple Coils (写多个线圈)
+16 - Write Multiple Registers (写多个寄存器)
+</code></pre></div>
+
+<h3 id="b">B. 常用波特率设置<a class="headerlink" href="#b" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
+</code></pre></div>
+
+<h3 id="c">C. 水处理机与集中供液设备常用地址映射<a class="headerlink" href="#c" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>基于实际通信数据的地址映射:
+温度:0x0017 (十进制23)
+电导率:0x0018 (十进制24)
+供液一压力:0x0019 (十进制25)
+供液二压力:0x001A (十进制26)
+储液液位:0x001B (十进制27)
+配液液位:0x001C (十进制28)
+PH值:0x001D (十进制29)
+状态类:0x0001-0x0010
+控制类:0x0020-0x0030
+</code></pre></div>
+
+<h3 id="d">D. 大端小端(字节序)详解<a class="headerlink" href="#d" title="Permanent link">&para;</a></h3>
+<h4 id="_32">什么是大端小端?<a class="headerlink" href="#_32" title="Permanent link">&para;</a></h4>
+<p>字节序(Byte Order)是指多字节数据在内存中的存储顺序,主要有两种:</p>
+<p><strong>大端序(Big Endian)</strong>:
+- 高位字节存储在低地址
+- 符合人类阅读习惯
+- 网络传输标准字节序</p>
+<p><strong>小端序(Little Endian)</strong>:
+- 低位字节存储在低地址
+- 多数x86处理器采用
+- Intel架构默认字节序</p>
+<h4 id="_33">实际例子说明<a class="headerlink" href="#_33" title="Permanent link">&para;</a></h4>
+<p>以32位浮点数 35.2°C 为例:</p>
+<div class="codehilite"><pre><span></span><code>IEEE 754 浮点数表示:0x420C_CCCD
+
+大端序存储:
+地址    内容
+0x1000  0x42  (最高位字节)
+0x1001  0x0C
+0x1002  0xCC
+0x1003  0xCD  (最低位字节)
+
+小端序存储:
+地址    内容
+0x1000  0xCD  (最低位字节)
+0x1001  0xCC
+0x1002  0x0C
+0x1003  0x42  (最高位字节)
+</code></pre></div>
+
+<h4 id="_34">如何确定设备字节序?<a class="headerlink" href="#_34" title="Permanent link">&para;</a></h4>
+<p><strong>方法1:通过通信数据分析</strong></p>
+<div class="codehilite"><pre><span></span><code>从commdata.txt看到的数据:CD CC 0C 42
+1. 将这4个字节按不同字节序解释:
+   - 大端序:0x42_0C_CCCD = 35.2 (合理的温度值)
+   - 小端序:0xCDCC_0C42 = 非常大的数值(不合理)
+2. 结论:设备使用大端序
+</code></pre></div>
+
+<p><strong>方法2:查看设备手册</strong></p>
+<div class="codehilite"><pre><span></span><code>设备技术文档通常会说明:
+- &quot;网络字节序&quot; = 大端序
+- &quot;主机字节序&quot; = 通常是小端序
+- &quot;Intel格式&quot; = 小端序
+- &quot;Motorola格式&quot; = 大端序
+</code></pre></div>
+
+<p><strong>方法3:ModbusPoll中的验证</strong></p>
+<div class="codehilite"><pre><span></span><code>在ModbusPoll中测试:
+1. Setup → Data Format → Byte Swap
+2. 观察数据是否合理:
+   - 温度应该在0-100°C范围
+   - 压力应该在0-10MPa范围
+   - 电导率应该在10-20mS/cm范围
+3. 选择显示正确数值的字节序
+</code></pre></div>
+
+<h4 id="modbuspoll">ModbusPoll字节序设置<a class="headerlink" href="#modbuspoll" title="Permanent link">&para;</a></h4>
+<p><strong>配置路径</strong>:Display → Data Format</p>
+<p><strong>选项说明</strong>:</p>
+<div class="codehilite"><pre><span></span><code>□ Byte swap         - 交换字节序
+□ Word swap         - 交换字顺序
+□ Dword swap        - 交换双字顺序
+
+组合设置对应不同格式:
+- 无勾选:ABCD (大端序)
+- Byte swap:BADC
+- Word swap:CDAB  
+- Byte+Word swap:DCBA (小端序)
+</code></pre></div>
+
+<h4 id="_35">实际应用示例<a class="headerlink" href="#_35" title="Permanent link">&para;</a></h4>
+<p><strong>案例1:温度读取异常</strong></p>
+<div class="codehilite"><pre><span></span><code>问题:读取温度显示为几千度
+原因:字节序设置错误
+解决:勾选&quot;Byte swap&quot;调整字节序
+</code></pre></div>
+
+<p><strong>案例2:压力值显示异常</strong></p>
+<div class="codehilite"><pre><span></span><code>读取数据:12 34 56 78
+大端序解释:0x12345678 = 305,419,896 (异常)
+小端序解释:0x78563412 = 2,018,915,346 (异常)
+需要Word swap:0x34127856 = 873,756,758 (仍异常)
+正确设置:Byte+Word swap = 0x78563412转换为浮点数
+</code></pre></div>
+
+<h4 id="_36">调试技巧<a class="headerlink" href="#_36" title="Permanent link">&para;</a></h4>
+<p><strong>步骤1:记录原始数据</strong></p>
+<div class="codehilite"><pre><span></span><code>使用Traffic View查看原始十六进制数据
+例如:42 0C CC CD
+</code></pre></div>
+
+<p><strong>步骤2:手动计算验证</strong></p>
+<div class="codehilite"><pre><span></span><code>使用在线IEEE 754转换器:
+- 输入:420CCCCD
+- 输出:35.2000008...
+- 验证是否为合理数值
+</code></pre></div>
+
+<p><strong>步骤3:ModbusPoll中测试</strong></p>
+<div class="codehilite"><pre><span></span><code>依次尝试四种字节序组合:
+1. ABCD - 原始顺序
+2. BADC - Byte swap
+3. CDAB - Word swap  
+4. DCBA - Byte+Word swap
+选择显示合理数值的设置
+</code></pre></div>
+
+<h4 id="_37">常见设备字节序<a class="headerlink" href="#_37" title="Permanent link">&para;</a></h4>
+<div class="codehilite"><pre><span></span><code>大端序设备:
+- 施耐德PLC
+- 西门子S7系列
+- ABB设备
+- 大多数网络设备
+
+小端序设备:
+- 三菱PLC
+- 欧姆龙PLC
+- PC-based控制器
+- Intel架构设备
+</code></pre></div>
+
+<hr />
+<p><em>本教程基于ModbusPoll v7.0.0版本编写,适用于水处理机与集中供液设备参数监控系统。如有问题请参考官方文档或联系技术支持。</em></p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/" class="btn btn-neutral float-left" title="如何把node-red安装到orangepiZero"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/" class="btn btn-neutral float-right" title="node-red常用组件列表">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../..";</script>
+    <script src="../../js/theme_extra.js"></script>
+    <script src="../../js/theme.js"></script>
+      <script src="../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207/index.html" "b/Help/site/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207/index.html"
new file mode 100644
index 0000000..2436e65
--- /dev/null
+++ "b/Help/site/node-reds/node-red\345\246\202\344\275\225\350\277\236\346\216\245modbus _slave\350\256\276\345\244\207/index.html"
@@ -0,0 +1,259 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../img/favicon.ico" />
+    <title>node-red如何连接modbus _slave设备 - DT-HA</title>
+    <link rel="stylesheet" href="../../css/theme.css" />
+    <link rel="stylesheet" href="../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "node-red\u5982\u4f55\u8fde\u63a5modbus _slave\u8bbe\u5907";
+        var mkdocs_page_input_path = "node-reds\\node-red\u5982\u4f55\u8fde\u63a5modbus _slave\u8bbe\u5907.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" href="../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1 current"><a class="reference internal current" >Node-red相关</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">node-red如何连接modbus _slave设备</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#_1">说明</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#modbus">步骤一:安装Modbus相关节点</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#modbus-tcprtu">步骤二:添加Modbus TCP/RTU节点</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#modbusmaster">步骤三:配置Modbus主设备(Master)</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_2">步骤四:配置读写操作</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#modbus-read">Modbus-Read节点参数填写说明</a>
+    </li>
+        </ul>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_3">步骤五:部署与调试</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_4">参考示例</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_5">常见问题</a>
+    </li>
+    </ul>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">其它教程</li>
+          <li class="breadcrumb-item">Node-red相关</li>
+      <li class="breadcrumb-item active">node-red如何连接modbus _slave设备</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h2 id="node-redmodbus-slave">node-red如何连接modbus slave设备<a class="headerlink" href="#node-redmodbus-slave" title="Permanent link">&para;</a></h2>
+<h3 id="_1">说明<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3>
+<p>我想在node-red中用流程图中配置modbus master主设备通过mocbus tcp rtu去联接modbus slave设备,如何配置呢?</p>
+<h3 id="modbus">步骤一:安装Modbus相关节点<a class="headerlink" href="#modbus" title="Permanent link">&para;</a></h3>
+<ol>
+<li>打开Node-RED编辑器(浏览器访问 http://&lt;你的设备IP&gt;:1880)。</li>
+<li>点击右上角菜单,选择“Manage palette(管理调色板)”。</li>
+<li>在“Install”标签页中搜索 <code>node-red-contrib-modbus</code>,点击“Install”安装。</li>
+</ol>
+<h3 id="modbus-tcprtu">步骤二:添加Modbus TCP/RTU节点<a class="headerlink" href="#modbus-tcprtu" title="Permanent link">&para;</a></h3>
+<ol>
+<li>安装完成后,左侧会出现“modbus”类别。</li>
+<li>拖拽 <code>modbus-read</code> 或 <code>modbus-write</code> 节点到流程图中。</li>
+<li>双击节点,点击“Server”右侧的铅笔图标,新增Modbus服务器配置。</li>
+</ol>
+<h3 id="modbusmaster">步骤三:配置Modbus主设备(Master)<a class="headerlink" href="#modbusmaster" title="Permanent link">&para;</a></h3>
+<ul>
+<li><strong>连接类型</strong>:</li>
+<li>如果是TCP,选择“TCP”,填写Slave设备的IP和端口(通常为502)。</li>
+<li>如果是RTU(串口),选择“Serial”,填写串口设备(如<code>/dev/ttyUSB0</code>)、波特率、数据位、校验等参数。</li>
+<li><strong>Unit-Id</strong>:填写目标Slave的地址(通常为1)。</li>
+<li>其他参数按实际需求设置。</li>
+</ul>
+<h3 id="_2">步骤四:配置读写操作<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h3>
+<ul>
+<li><code>modbus-read</code> 节点:设置功能码(如03读保持寄存器)、起始地址、长度、轮询间隔等。</li>
+<li><code>modbus-write</code> 节点:设置功能码、目标地址、写入数据等。</li>
+</ul>
+<h4 id="modbus-read">Modbus-Read节点参数填写说明<a class="headerlink" href="#modbus-read" title="Permanent link">&para;</a></h4>
+<ul>
+<li><strong>名称</strong>:自定义,便于识别。</li>
+<li><strong>主题(Topic)</strong>:可留空或自定义(如用于消息分流时填写),一般默认即可。</li>
+<li><strong>Unit-Id</strong>:填写目标 Modbus slave 设备的地址(通常为1,具体看你的设备设置)。</li>
+<li><strong>FC(功能码)</strong>:选择你要执行的Modbus功能码,常用如下:</li>
+<li>1:读线圈(Coil Status)</li>
+<li>2:读离散输入(Input Status)</li>
+<li>3:读保持寄存器(Holding Registers,最常用)</li>
+<li>4:读输入寄存器(Input Registers)</li>
+<li><strong>Address</strong>:要读取的寄存器或线圈的起始地址(通常从0或1开始,具体看设备手册)。</li>
+<li><strong>Quantity</strong>:读取的数量(如要读2个寄存器就填2)。</li>
+<li><strong>Poll Rate</strong>:轮询周期,单位为毫秒(如1000表示每秒读取一次)。</li>
+</ul>
+<p>举例(读取slave地址为1,保持寄存器,起始地址0,数量2,每秒轮询):
+- Unit-Id:1
+- FC:3
+- Address:0
+- Quantity:2
+- Poll Rate:1000</p>
+<h3 id="_3">步骤五:部署与调试<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h3>
+<ol>
+<li>连接节点,点击右上角“部署”。</li>
+<li>查看debug面板,确认数据是否正常收发。</li>
+</ol>
+<h3 id="_4">参考示例<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h3>
+<div class="codehilite"><pre><span></span><code>[modbus-read] → [debug]
+</code></pre></div>
+
+<h3 id="_5">常见问题<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h3>
+<ul>
+<li>确认物理连接和串口权限。</li>
+<li>TCP模式下防火墙需放行502端口。</li>
+<li>RTU模式下需正确配置串口参数。</li>
+</ul>
+<p>如需更详细的配置说明,可参考<a href="https://flows.nodered.org/node/node-red-contrib-modbus">node-red-contrib-modbus官方文档</a></p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/" class="btn btn-neutral float-left" title="node-red常用组件列表"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+  </span>
+</div>
+    <script src="../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../..";</script>
+    <script src="../../js/theme_extra.js"></script>
+    <script src="../../js/theme.js"></script>
+      <script src="../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250/index.html" "b/Help/site/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250/index.html"
new file mode 100644
index 0000000..30d3ff1
--- /dev/null
+++ "b/Help/site/node-reds/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250/index.html"
@@ -0,0 +1,334 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../img/favicon.ico" />
+    <title>node-red常用组件列表 - DT-HA</title>
+    <link rel="stylesheet" href="../../css/theme.css" />
+    <link rel="stylesheet" href="../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "node-red\u5e38\u7528\u7ec4\u4ef6\u5217\u8868";
+        var mkdocs_page_input_path = "node-reds\\node-red\u5e38\u7528\u7ec4\u4ef6\u5217\u8868.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" href="../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1 current"><a class="reference internal current" >Node-red相关</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">node-red常用组件列表</a>
+    <ul class="current">
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">其它教程</li>
+          <li class="breadcrumb-item">Node-red相关</li>
+      <li class="breadcrumb-item active">node-red常用组件列表</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h1 id="node-red">Node-RED 常用组件列表<a class="headerlink" href="#node-red" title="Permanent link">&para;</a></h1>
+<p>以下是常用的 Node-RED 组件及其版本,建议根据实际需求选择安装。</p>
+<table>
+<thead>
+<tr>
+<th>组件名称</th>
+<th>版本</th>
+<th>说明</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>@node-red-contrib-themes/theme-collection</td>
+<td>4.0.11</td>
+<td>主题集合</td>
+</tr>
+<tr>
+<td>node-red</td>
+<td>4.0.9</td>
+<td>Node-RED 主程序</td>
+</tr>
+<tr>
+<td>node-red-contrib-aedes</td>
+<td>0.6.0</td>
+<td>MQTT Broker 节点</td>
+</tr>
+<tr>
+<td>node-red-contrib-bigtimer</td>
+<td>2.8.6</td>
+<td>强大的定时器节点</td>
+</tr>
+<tr>
+<td>node-red-contrib-cast</td>
+<td>0.2.17</td>
+<td>Google Cast 支持</td>
+</tr>
+<tr>
+<td>node-red-contrib-counter</td>
+<td>0.1.6</td>
+<td>计数器节点</td>
+</tr>
+<tr>
+<td>node-red-contrib-cron-plus</td>
+<td>2.1.0</td>
+<td>高级定时任务节点</td>
+</tr>
+<tr>
+<td>node-red-contrib-home-assistant-websocket</td>
+<td>0.77.1</td>
+<td>Home Assistant 集成</td>
+</tr>
+<tr>
+<td>node-red-contrib-influxdb</td>
+<td>0.7.0</td>
+<td>InfluxDB 数据库支持</td>
+</tr>
+<tr>
+<td>node-red-contrib-interval-length</td>
+<td>0.0.6</td>
+<td>间隔长度计算</td>
+</tr>
+<tr>
+<td>node-red-contrib-lvin-crc16</td>
+<td>1.0.2</td>
+<td>CRC16 校验</td>
+</tr>
+<tr>
+<td>node-red-contrib-md5</td>
+<td>1.0.4</td>
+<td>MD5 加密</td>
+</tr>
+<tr>
+<td>node-red-contrib-modbus</td>
+<td>5.43.0</td>
+<td>Modbus 协议支持</td>
+</tr>
+<tr>
+<td>node-red-contrib-moment</td>
+<td>5.0.0</td>
+<td>时间处理</td>
+</tr>
+<tr>
+<td>node-red-contrib-mqtt-broker</td>
+<td>0.2.9</td>
+<td>MQTT Broker 节点</td>
+</tr>
+<tr>
+<td>node-red-contrib-persistent-fsm</td>
+<td>1.2.1</td>
+<td>有状态机节点</td>
+</tr>
+<tr>
+<td>node-red-contrib-sunevents</td>
+<td>3.1.1</td>
+<td>日出日落事件</td>
+</tr>
+<tr>
+<td>node-red-contrib-time-range-switch</td>
+<td>1.2.0</td>
+<td>时间范围开关</td>
+</tr>
+<tr>
+<td>node-red-dashboard</td>
+<td>3.6.5</td>
+<td>仪表盘组件</td>
+</tr>
+<tr>
+<td>node-red-node-base64</td>
+<td>1.0.0</td>
+<td>Base64 编码解码</td>
+</tr>
+<tr>
+<td>node-red-node-email</td>
+<td>3.0.3</td>
+<td>邮件发送节点</td>
+</tr>
+<tr>
+<td>node-red-node-feedparser</td>
+<td>0.3.0</td>
+<td>RSS Feed 解析</td>
+</tr>
+<tr>
+<td>node-red-node-ping</td>
+<td>0.3.3</td>
+<td>Ping 节点</td>
+</tr>
+<tr>
+<td>node-red-node-random</td>
+<td>0.4.1</td>
+<td>随机数节点</td>
+</tr>
+<tr>
+<td>node-red-node-serialport</td>
+<td>2.0.3</td>
+<td>串口节点</td>
+</tr>
+<tr>
+<td>node-red-node-smooth</td>
+<td>0.1.2</td>
+<td>平滑数据节点</td>
+</tr>
+<tr>
+<td>node-red-node-suncalc</td>
+<td>1.2.0</td>
+<td>太阳计算节点</td>
+</tr>
+<tr>
+<td>node-red-node-twitter</td>
+<td>1.2.0</td>
+<td>Twitter 集成</td>
+</tr>
+</tbody>
+</table>
+<blockquote>
+<p>如需详细使用方法,请参考官方文档或社区教程。</p>
+</blockquote>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/" class="btn btn-neutral float-left" title="ModbusPoll-v7.0.0使用教程"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/" class="btn btn-neutral float-right" title="node-red如何连接modbus _slave设备">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../..";</script>
+    <script src="../../js/theme_extra.js"></script>
+    <script src="../../js/theme.js"></script>
+      <script src="../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3/index.html" "b/Help/site/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3/index.html"
new file mode 100644
index 0000000..7126817
--- /dev/null
+++ "b/Help/site/node-reds/\345\246\202\344\275\225\346\212\212node-red\345\256\211\350\243\205\345\210\260orangepiZero3/index.html"
@@ -0,0 +1,236 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../img/favicon.ico" />
+    <title>如何把node-red安装到orangepiZero - DT-HA</title>
+    <link rel="stylesheet" href="../../css/theme.css" />
+    <link rel="stylesheet" href="../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "\u5982\u4f55\u628anode-red\u5b89\u88c5\u5230orangepiZero";
+        var mkdocs_page_input_path = "node-reds\\\u5982\u4f55\u628anode-red\u5b89\u88c5\u5230orangepiZero3.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" href="../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1 current"><a class="reference internal current" >Node-red相关</a>
+    <ul class="current">
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">如何把node-red安装到orangepiZero</a>
+    <ul class="current">
+    <li class="toctree-l3"><a class="reference internal" href="#_1">操作系统</a>
+    </li>
+    <li class="toctree-l3"><a class="reference internal" href="#_2">安装步骤</a>
+        <ul>
+    <li class="toctree-l4"><a class="reference internal" href="#1">1. 更新系统</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#2-node-red">2. 安装Node-RED</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#3-node-red">3. 启动与停止Node-RED</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#4">4. 设置开机自启</a>
+    </li>
+    <li class="toctree-l4"><a class="reference internal" href="#5-node-red">5. 访问Node-RED</a>
+    </li>
+        </ul>
+    </li>
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">其它教程</li>
+          <li class="breadcrumb-item">Node-red相关</li>
+      <li class="breadcrumb-item active">如何把node-red安装到orangepiZero</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <h2 id="node-redorangepi-zero3">如何安装node-red安装到orangepi Zero3<a class="headerlink" href="#node-redorangepi-zero3" title="Permanent link">&para;</a></h2>
+<h3 id="_1">操作系统<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3>
+<p>基于ubuntu的操作系统的orangepizero3定制版</p>
+<h3 id="_2">安装步骤<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h3>
+<h4 id="1">1. 更新系统<a class="headerlink" href="#1" title="Permanent link">&para;</a></h4>
+<p>在终端执行以下命令,确保系统为最新:</p>
+<div class="codehilite"><pre><span></span><code>sudo<span class="w"> </span>apt-get<span class="w"> </span>update<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>sudo<span class="w"> </span>apt-get<span class="w"> </span>upgrade<span class="w"> </span>-y
+</code></pre></div>
+
+<h4 id="2-node-red">2. 安装Node-RED<a class="headerlink" href="#2-node-red" title="Permanent link">&para;</a></h4>
+<p>Node-RED官方提供了一键安装脚本,适用于Debian/Ubuntu系统:</p>
+<div class="codehilite"><pre><span></span><code>bash<span class="w"> </span>&lt;<span class="o">(</span>curl<span class="w"> </span>-sL<span class="w"> </span>https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered<span class="o">)</span>
+</code></pre></div>
+
+<p>安装过程中可根据提示选择“y”继续。</p>
+<h4 id="3-node-red">3. 启动与停止Node-RED<a class="headerlink" href="#3-node-red" title="Permanent link">&para;</a></h4>
+<ul>
+<li>启动:
+  <code>bash
+  node-red-start</code></li>
+<li>停止:
+  <code>bash
+  node-red-stop</code></li>
+<li>查看日志:
+  <code>bash
+  node-red-log</code></li>
+</ul>
+<h4 id="4">4. 设置开机自启<a class="headerlink" href="#4" title="Permanent link">&para;</a></h4>
+<p>通常安装脚本会自动设置开机自启,如需手动设置:</p>
+<div class="codehilite"><pre><span></span><code>sudo<span class="w"> </span>systemctl<span class="w"> </span><span class="nb">enable</span><span class="w"> </span>nodered.service
+</code></pre></div>
+
+<h4 id="5-node-red">5. 访问Node-RED<a class="headerlink" href="#5-node-red" title="Permanent link">&para;</a></h4>
+<p>在浏览器访问:</p>
+<div class="codehilite"><pre><span></span><code>http://&lt;你的OrangePi的IP地址&gt;:1880
+</code></pre></div>
+
+<p>可用 <code>hostname -I</code> 或 <code>ip a</code> 命令查询IP地址</p>
+<p>sudo systemctl status nodered.service
+sudo systemctl start nodered.service
+sudo systemctl stop nodered.service
+sudo systemctl restart nodered.service</p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/" class="btn btn-neutral float-left" title="安装node-red记录"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/" class="btn btn-neutral float-right" title="ModbusPoll-v7.0.0使用教程">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../..";</script>
+    <script src="../../js/theme_extra.js"></script>
+    <script src="../../js/theme.js"></script>
+      <script src="../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git "a/Help/site/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225/index.html" "b/Help/site/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225/index.html"
new file mode 100644
index 0000000..e37e606
--- /dev/null
+++ "b/Help/site/node-reds/\345\256\211\350\243\205node-red\350\256\260\345\275\225/index.html"
@@ -0,0 +1,217 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="author" content="岱特智能科技(上海)有限公司" />
+      <link rel="shortcut icon" href="../../img/favicon.ico" />
+    <title>安装node-red记录 - DT-HA</title>
+    <link rel="stylesheet" href="../../css/theme.css" />
+    <link rel="stylesheet" href="../../css/theme_extra.css" />
+        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
+    
+      <script>
+        // Current page data
+        var mkdocs_page_name = "\u5b89\u88c5node-red\u8bb0\u5f55";
+        var mkdocs_page_input_path = "node-reds\\\u5b89\u88c5node-red\u8bb0\u5f55.md";
+        var mkdocs_page_url = null;
+      </script>
+    
+    <!--[if lt IE 9]>
+      <script src="../../js/html5shiv.min.js"></script>
+    <![endif]-->
+      <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
+      <script>hljs.highlightAll();</script> 
+</head>
+
+<body class="wy-body-for-nav" role="document">
+
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
+    <div class="wy-side-scroll">
+      <div class="wy-side-nav-search">
+          <a href="../.." class="icon icon-home"> DT-HA
+        </a><div role="search">
+  <form id ="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+      <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
+  </form>
+</div>
+      </div>
+
+      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../..">首页</a>
+                </li>
+              </ul>
+              <ul>
+                <li class="toctree-l1"><a class="reference internal" href="../../about/">关于</a>
+                </li>
+              </ul>
+              <p class="caption"><span class="caption-text">使用教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" href="../../install-guide/installHa/">安装</a>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >使用</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/usage/">使用概述</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/netconfig/netconfig/">配置网络</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/initConfig/initConfig/">系统初始化配置</a>
+                </li>
+    </ul>
+                  </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul class="current">
+                  <li class="toctree-l1 current"><a class="reference internal current" >Node-red相关</a>
+    <ul class="current">
+                <li class="toctree-l2 current"><a class="reference internal current" href="#">安装node-red记录</a>
+    <ul class="current">
+    </ul>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="../node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+      </div>
+    </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+      <nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../..">DT-HA</a>
+        
+      </nav>
+      <div class="wy-nav-content">
+        <div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
+  <ul class="wy-breadcrumbs">
+    <li><a href="../.." class="icon icon-home" aria-label="Docs"></a></li>
+          <li class="breadcrumb-item">其它教程</li>
+          <li class="breadcrumb-item">Node-red相关</li>
+      <li class="breadcrumb-item active">安装node-red记录</li>
+    <li class="wy-breadcrumbs-aside">
+    </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+            <div class="section" itemprop="articleBody">
+              
+                <p>unning Node-RED install for user orangepi at /home/orangepi on ubuntu</p>
+<p>[sudo] password for orangepi: </p>
+<p>This can take 20-30 minutes on the slower Pi versions - please wait.</p>
+<p>Stop Node-RED                       ✔
+  Remove old version of Node-RED      ✔
+  Remove old version of Node.js       ✔ <br />
+  Install Node 20.19.3-1nodesource1   ✔   v20.19.3   Npm 10.8.2
+  Clean npm cache                     ✔
+  Install Node-RED core               ✔   4.0.9
+  Move global nodes to local          -
+  Npm rebuild existing nodes          ✔
+  Install extra Pi nodes              ✔
+  Add shortcut commands               ✘
+  Update systemd script               ✔</p>
+<p>Any errors will be logged to   /var/log/nodered-install.log
+All done.
+You can now start Node-RED with the command  node-red-start
+  or using the icon under   Menu / Programming / Node-RED
+Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880</p>
+<p>Started :  Wed Jul  9 12:28:33 PM CST 2025 
+Finished:  Wed Jul  9 12:37:17 PM CST 2025</p>
+<hr />
+<p>### WARNING ###
+ DO NOT EXPOSE NODE-RED TO THE OPEN INTERNET WITHOUT SECURING IT FIRST</p>
+<p>Even if your Node-RED doesn't have anything valuable, (automated) attacks will
+ happen and could provide a foothold in your local network</p>
+<p>Follow the guide at https://nodered.org/docs/user-guide/runtime/securing-node-red
+ to setup security.</p>
+<p>### ADDITIONAL RECOMMENDATIONS ###
+  - You can customise the initial settings by running:</p>
+<div class="codehilite"><pre><span></span><code>  node-red admin init
+</code></pre></div>
+
+<hr />
+<h1 id="node-red-settings-file-initialisation">Node-RED Settings File initialisation<a class="headerlink" href="#node-red-settings-file-initialisation" title="Permanent link">&para;</a></h1>
+<p>This tool will help you create a Node-RED settings file.</p>
+<p>✖ Settings file · /home/orangepi/.node-red/settings.js</p>
+<p>orangepi@orangepizero3:~$ ^C
+orangepi@orangepizero3:~$ </p>
+              
+            </div>
+          </div><footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation">
+        <a href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/" class="btn btn-neutral float-left" title="如厕风险-人存在传感器配置方法"><span class="icon icon-circle-arrow-left"></span> Previous</a>
+        <a href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/" class="btn btn-neutral float-right" title="如何把node-red安装到orangepiZero">Next <span class="icon icon-circle-arrow-right"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <!-- Copyright etc -->
+  </div>
+
+  Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
+</footer>
+          
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+
+  <div class="rst-versions" role="note" aria-label="Versions">
+  <span class="rst-current-version" data-toggle="rst-current-version">
+    
+        <span>
+          <a href="http://dh.leon056.com:7499/r/Embedded/HomeAssistantPtoject.git" class="fa fa-code-fork" style="color: #fcfcfc"> Dh</a>
+        </span>
+    
+    
+      <span><a href="../../Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/" style="color: #fcfcfc">&laquo; Previous</a></span>
+    
+    
+      <span><a href="../%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/" style="color: #fcfcfc">Next &raquo;</a></span>
+    
+  </span>
+</div>
+    <script src="../../js/jquery-3.6.0.min.js"></script>
+    <script>var base_url = "../..";</script>
+    <script src="../../js/theme_extra.js"></script>
+    <script src="../../js/theme.js"></script>
+      <script src="../../search/main.js"></script>
+    <script>
+        jQuery(function () {
+            SphinxRtdTheme.Navigation.enable(true);
+        });
+    </script>
+
+</body>
+</html>
diff --git a/Help/site/search.html b/Help/site/search.html
index b80cb93..4345c73 100644
--- a/Help/site/search.html
+++ b/Help/site/search.html
@@ -54,6 +54,41 @@
                 </li>
     </ul>
                   </li>
+                  <li class="toctree-l1"><a class="reference internal" >Q/A</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/">透析中心HA环境温度发送到胜透的操作指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/errorsQA/">errorsQA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/">HA-如何实现状态反转</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/">TS88透析机联机通信-中文版</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/">VMware-ESXi扩展HomeAssistant硬盘指南</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/">如何集成和风天气组件到HA</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/">如厕风险-人存在传感器配置方法</a>
+                </li>
+    </ul>
+                  </li>
+              </ul>
+              <p class="caption"><span class="caption-text">其它教程</span></p>
+              <ul>
+                  <li class="toctree-l1"><a class="reference internal" >Node-red相关</a>
+    <ul>
+                <li class="toctree-l2"><a class="reference internal" href="./node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/">安装node-red记录</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/">如何把node-red安装到orangepiZero</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/">ModbusPoll-v7.0.0使用教程</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/">node-red常用组件列表</a>
+                </li>
+                <li class="toctree-l2"><a class="reference internal" href="./node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/">node-red如何连接modbus _slave设备</a>
+                </li>
+    </ul>
+                  </li>
               </ul>
       </div>
     </div>
diff --git a/Help/site/search/search_index.json b/Help/site/search/search_index.json
index ca6587e..283486f 100644
--- a/Help/site/search/search_index.json
+++ b/Help/site/search/search_index.json
@@ -1 +1 @@
-{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"HomeAssistant\u672c\u5730\u90e8\u7f72\u53ca\u88c5\u8c03\u8bd5\u8bf4\u660e \u00b6 \u7b80\u8981\u8bf4\u660e \u5b89\u88c5HomeAssistant linux \u4e0b\u5b89\u88c5","title":"\u9996\u9875"},{"location":"#homeassistant","text":"\u7b80\u8981\u8bf4\u660e \u5b89\u88c5HomeAssistant linux \u4e0b\u5b89\u88c5","title":"HomeAssistant\u672c\u5730\u90e8\u7f72\u53ca\u88c5\u8c03\u8bd5\u8bf4\u660e"},{"location":"about/","text":"\u5173\u4e8e\u6211\u4eec \u00b6 \u5cb1\u7279\u667a\u80fd\u79d1\u6280\uff08\u4e0a\u6d77\uff09\u6709\u9650\u516c\u53f8 \u00b6 \u6570\u636e\u6d41\u52a8\u4e4b\u5904\uff0c\u6548\u7387\u81ea\u7136\u53d1\u751f\u3002 \u00b6 DATA\u4ee3\u8868\u611f\u77e5\u3001\u8fde\u63a5\u4e0e\u667a\u80fd\u3002\u5728\u7e41\u6742\u7684\u533b\u7597\u6570\u636e\u4e2d\uff0c\u4e00\u573a\u6570\u5b57\u5316\u9769\u547d\u6b63\u5728\u53d1\u751f\uff0c\u6211\u4eec\u5b88\u62a4\u7684\u4e0d\u6b62\u662f\u6570\u636e\uff0c\u66f4\u662f\u60a3\u8005\u7684\u6bcf\u4e00\u5206\u949f\u3002\u5cb1\u7279\u667a\u80fd\u2013\u8ba9\u6bcf\u4e00\u53f0\u8bbe\u5907\u6210\u4e3a\u667a\u6167\u533b\u7597\u7684\u795e\u7ecf\u5143\u3002 25\u5e74\u533b\u7597\u4fe1\u606f\u5316\u6df1\u8015\u8005\uff0c\u56e2\u961f\u81ea2000\u5e74\u8d77\u6301\u7eed\u63a2\u7d22\u4fe1\u606f\u5316\u5728\u533b\u7597\u573a\u666f\u7684\u6df1\u5ea6\u5e94\u7528 \u00b6 \u6700\u4f73\u5b9e\u8df5\uff1a\u670d\u52a1\u5168\u7403\u8d85\u8fc7600+\u533b\u7597\u673a\u6784\uff0c\u7eed\u7ea6\u7387\u8d8597% \u5168\u7403\u670d\u52a1\uff1a\u72ec\u7acb\u7684\u82f1/\u65e5/\u9a6c\u6765\u8bed\u7248\u672c\uff0c\u9002\u914d\u5f53\u5730\u4e34\u5e8a\u8def\u5f84 \u6784\u5efa\u6807\u51c6\uff1a\u4e3b\u5bfc\u5236\u5b9a\u591a\u9879\u6807\u51c6\uff0c\u300c\u8840\u6db2\u900f\u6790\u8f6f\u4ef6\u6280\u672f\u8981\u6c42\u300d \u6570\u636e\u4e3b\u6743\uff1a\u5373\u4f7f\u7ec8\u6b62\u5408\u4f5c\uff0c\u4ecd\u7136\u4fdd\u8bc1\u7528\u6237\u4e0d\u53d7\u9650\u5236\u7684\u8bbf\u95ee \u56de\u5f52\u672c\u8d28 \u00b6 \u4e0d\u662f\u7528\u6280\u672f\u66ff\u4ee3\u4eba,\u800c\u662f\u8ba9\u800c\u662f\u8ba9\u4eba\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\uff0c\u56de\u5f52\u533b\u7597\u670d\u52a1\u7684\u672c\u8d28\u3002 \u77e5\u8bc6\u53cd\u54fa \u00b6 \u57fa\u5c42\u533b\u9662\u6848\u4f8b\u81ea\u52a8\u6c89\u6dc0\u4e3a\u4e09\u7532\u4f18\u5316\u7b56\u7565\uff0c\u8bc6\u522b\u79d1\u5ba4\u5de5\u4f5c\u6d41\u5dee\u5f02\uff0c\u751f\u6210\u5b9a\u5236\u65b9\u6848\u3002 \u5f00\u653e\u751f\u6001 \u00b6 \u5f00\u653eAPI\uff0c\u96c6\u6210100+\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\uff0c\u5171\u5efa\u533b\u7597\u6570\u636e\u4ea4\u4e92\u6807\u51c6\u3002 \u4e3a\u60a8\u6784\u5efa\u53ef\u751f\u957f\u7684\u6280\u672f\u751f\u6001\u548c\u53ef\u6301\u7eed\u7684\u4e1a\u52a1 \u00b6 \u50cf\u642d\u79ef\u6728\u822c\u81ea\u7531\u6269\u5c55\uff0c\u7834\u9664\u201d\u6570\u5b57\u5316=\u9ad8\u6295\u5165\uff0c\u4ece\u57fa\u7840\u7269\u8054\u5230AI\u51b3\u7b56\uff0c\u5206\u9636\u6bb5\u5efa\u8bbe\u907f\u514d\u4e00\u6b21\u6027\u8fc7\u8f7d\u6295\u5165\u3002\u4e0d\u662f\u63a8\u7ffb\u91cd\u5efa\u7cfb\u7edf\uff0c\u800c\u662f\u8ba9\u73b0\u6709\u8d44\u4ea7\u6301\u7eed\u4ea7\u751f\u6307\u6570\u7ea7\u4ef7\u503c\u2014\u2014\u8fd9\u624d\u662f\u533b\u7597\u6570\u5b57\u5316\u7684\u7ec8\u6781\u4f7f\u547d\u3002","title":"\u5173\u4e8e"},{"location":"about/#_1","text":"","title":"\u5173\u4e8e\u6211\u4eec"},{"location":"about/#_2","text":"","title":"\u5cb1\u7279\u667a\u80fd\u79d1\u6280\uff08\u4e0a\u6d77\uff09\u6709\u9650\u516c\u53f8"},{"location":"about/#_3","text":"DATA\u4ee3\u8868\u611f\u77e5\u3001\u8fde\u63a5\u4e0e\u667a\u80fd\u3002\u5728\u7e41\u6742\u7684\u533b\u7597\u6570\u636e\u4e2d\uff0c\u4e00\u573a\u6570\u5b57\u5316\u9769\u547d\u6b63\u5728\u53d1\u751f\uff0c\u6211\u4eec\u5b88\u62a4\u7684\u4e0d\u6b62\u662f\u6570\u636e\uff0c\u66f4\u662f\u60a3\u8005\u7684\u6bcf\u4e00\u5206\u949f\u3002\u5cb1\u7279\u667a\u80fd\u2013\u8ba9\u6bcf\u4e00\u53f0\u8bbe\u5907\u6210\u4e3a\u667a\u6167\u533b\u7597\u7684\u795e\u7ecf\u5143\u3002","title":"\u6570\u636e\u6d41\u52a8\u4e4b\u5904\uff0c\u6548\u7387\u81ea\u7136\u53d1\u751f\u3002"},{"location":"about/#252000","text":"\u6700\u4f73\u5b9e\u8df5\uff1a\u670d\u52a1\u5168\u7403\u8d85\u8fc7600+\u533b\u7597\u673a\u6784\uff0c\u7eed\u7ea6\u7387\u8d8597% \u5168\u7403\u670d\u52a1\uff1a\u72ec\u7acb\u7684\u82f1/\u65e5/\u9a6c\u6765\u8bed\u7248\u672c\uff0c\u9002\u914d\u5f53\u5730\u4e34\u5e8a\u8def\u5f84 \u6784\u5efa\u6807\u51c6\uff1a\u4e3b\u5bfc\u5236\u5b9a\u591a\u9879\u6807\u51c6\uff0c\u300c\u8840\u6db2\u900f\u6790\u8f6f\u4ef6\u6280\u672f\u8981\u6c42\u300d \u6570\u636e\u4e3b\u6743\uff1a\u5373\u4f7f\u7ec8\u6b62\u5408\u4f5c\uff0c\u4ecd\u7136\u4fdd\u8bc1\u7528\u6237\u4e0d\u53d7\u9650\u5236\u7684\u8bbf\u95ee","title":"25\u5e74\u533b\u7597\u4fe1\u606f\u5316\u6df1\u8015\u8005\uff0c\u56e2\u961f\u81ea2000\u5e74\u8d77\u6301\u7eed\u63a2\u7d22\u4fe1\u606f\u5316\u5728\u533b\u7597\u573a\u666f\u7684\u6df1\u5ea6\u5e94\u7528"},{"location":"about/#_4","text":"\u4e0d\u662f\u7528\u6280\u672f\u66ff\u4ee3\u4eba,\u800c\u662f\u8ba9\u800c\u662f\u8ba9\u4eba\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\uff0c\u56de\u5f52\u533b\u7597\u670d\u52a1\u7684\u672c\u8d28\u3002","title":"\u56de\u5f52\u672c\u8d28"},{"location":"about/#_5","text":"\u57fa\u5c42\u533b\u9662\u6848\u4f8b\u81ea\u52a8\u6c89\u6dc0\u4e3a\u4e09\u7532\u4f18\u5316\u7b56\u7565\uff0c\u8bc6\u522b\u79d1\u5ba4\u5de5\u4f5c\u6d41\u5dee\u5f02\uff0c\u751f\u6210\u5b9a\u5236\u65b9\u6848\u3002","title":"\u77e5\u8bc6\u53cd\u54fa"},{"location":"about/#_6","text":"\u5f00\u653eAPI\uff0c\u96c6\u6210100+\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\uff0c\u5171\u5efa\u533b\u7597\u6570\u636e\u4ea4\u4e92\u6807\u51c6\u3002","title":"\u5f00\u653e\u751f\u6001"},{"location":"about/#_7","text":"\u50cf\u642d\u79ef\u6728\u822c\u81ea\u7531\u6269\u5c55\uff0c\u7834\u9664\u201d\u6570\u5b57\u5316=\u9ad8\u6295\u5165\uff0c\u4ece\u57fa\u7840\u7269\u8054\u5230AI\u51b3\u7b56\uff0c\u5206\u9636\u6bb5\u5efa\u8bbe\u907f\u514d\u4e00\u6b21\u6027\u8fc7\u8f7d\u6295\u5165\u3002\u4e0d\u662f\u63a8\u7ffb\u91cd\u5efa\u7cfb\u7edf\uff0c\u800c\u662f\u8ba9\u73b0\u6709\u8d44\u4ea7\u6301\u7eed\u4ea7\u751f\u6307\u6570\u7ea7\u4ef7\u503c\u2014\u2014\u8fd9\u624d\u662f\u533b\u7597\u6570\u5b57\u5316\u7684\u7ec8\u6781\u4f7f\u547d\u3002","title":"\u4e3a\u60a8\u6784\u5efa\u53ef\u751f\u957f\u7684\u6280\u672f\u751f\u6001\u548c\u53ef\u6301\u7eed\u7684\u4e1a\u52a1"},{"location":"Usages/usage/","text":"\u4f7f\u7528\u6559\u7a0b \u00b6 \u57fa\u7840\u914d\u7f6e \u00b6 \u914d\u7f6e\u7f51\u7edc \u521d\u59cb\u5316\u914d\u7f6e \u5fc5\u88c5\u63d2\u4ef6\u6216\u7ec4\u4ef6 \u00b6 - HACS \u00b6","title":"\u4f7f\u7528\u6982\u8ff0"},{"location":"Usages/usage/#_1","text":"","title":"\u4f7f\u7528\u6559\u7a0b"},{"location":"Usages/usage/#_2","text":"\u914d\u7f6e\u7f51\u7edc \u521d\u59cb\u5316\u914d\u7f6e","title":"\u57fa\u7840\u914d\u7f6e"},{"location":"Usages/usage/#_3","text":"","title":"\u5fc5\u88c5\u63d2\u4ef6\u6216\u7ec4\u4ef6"},{"location":"Usages/usage/#-hacs","text":"","title":"- HACS"},{"location":"Usages/QA/errorsQA/","text":"\u5e38\u89c1\u9519\u8bef \u00b6 \u914d\u7f6e\u6587\u4ef6\u51fa\u9519 \u00b6 \u5f53\u51fa\u73b0\u8fd9\u79cd\u56fe,\u4f30\u8ba1\u662f\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u51fa\u9519,\u4e0d\u7b26\u5408yam\u683c\u5f0f,\u8bf7\u7528\u5171\u4eab\u76ee\u5f55smb\u6216ssh\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\u4fee\u6b63\u683c\u5f0f\u540e,\u91cd\u542f\u518d\u8bd5","title":"errorsQA"},{"location":"Usages/QA/errorsQA/#_1","text":"","title":"\u5e38\u89c1\u9519\u8bef"},{"location":"Usages/QA/errorsQA/#_2","text":"\u5f53\u51fa\u73b0\u8fd9\u79cd\u56fe,\u4f30\u8ba1\u662f\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u51fa\u9519,\u4e0d\u7b26\u5408yam\u683c\u5f0f,\u8bf7\u7528\u5171\u4eab\u76ee\u5f55smb\u6216ssh\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\u4fee\u6b63\u683c\u5f0f\u540e,\u91cd\u542f\u518d\u8bd5","title":"\u914d\u7f6e\u6587\u4ef6\u51fa\u9519"},{"location":"Usages/backupAndRestore/BackupToFile/","text":"\u5907\u4efd\u5230\u6587\u4ef6 \u00b6","title":"BackupToFile"},{"location":"Usages/backupAndRestore/BackupToFile/#_1","text":"","title":"\u5907\u4efd\u5230\u6587\u4ef6"},{"location":"Usages/backupAndRestore/RestoreFromFile/","text":"\u4ece\u5907\u4efd\u6587\u4ef6\u6587\u4ef6\u4e2d\u6062\u590d \u00b6 HomeAssistant\u652f\u6301\u4ece\u5907\u4efd\u6587\u4ef6\u4e32\u6062\u590d\u5df2\u914d\u7f6e\u597d\u7684HomeAssistant","title":"RestoreFromFile"},{"location":"Usages/backupAndRestore/RestoreFromFile/#_1","text":"HomeAssistant\u652f\u6301\u4ece\u5907\u4efd\u6587\u4ef6\u4e32\u6062\u590d\u5df2\u914d\u7f6e\u597d\u7684HomeAssistant","title":"\u4ece\u5907\u4efd\u6587\u4ef6\u6587\u4ef6\u4e2d\u6062\u590d"},{"location":"Usages/initConfig/initConfig/","text":"\u521d\u59cb\u5316\u914d\u7f6eHomeAssistant \u00b6 \u9996\u6b21\u6253\u5f00HomeAssistant \u00b6 \u9996\u6b21\u6253\u5f00HomeAssistant\u901a\u8fc7,\u8def\u7531\u5668\u4e3a\u5176\u5206\u914d\u7684IP\u5730\u5740\u52a0\u7aef\u53e3\u53f7\u5373\u53ef\u8fdb\u884cHomeAssistant. \u683c\u5f0f\u5982\u4e0b: http://Ip:Port \u5982:http://192.168.3.2:8123 \u57fa\u4e2d:8123\u4e3a\u5176\u9ed8\u8ba4\u7684\u7aef\u53e3\u540e,\u5f53\u7136,\u7cfb\u7edf\u521d\u59cb\u5316\u6210\u529f\u540e,\u53ef\u4ee5\u6539. \u5982\u4e0b\u56fe\u6240\u793a: \u70b9\u51fb\"\u521b\u5efa\u6211\u667a\u80fd\u5bb6\u5bb6\u5c45\"\u6309\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5728\u8fd9\u91cc\u6211\u4eec\u8f93\u5165\u59d3\u540d,\u7528\u6237\u540d,\u5bc6\u7801,\u786e\u8ba4\u5bc6\u7801 \u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7edf\u4e00\u7684\u4fe1\u606f \u59d3\u540d:\u5cb1\u7279\u667a\u80fd \u7528\u6237\u540d:dtuser \u5bc6\u7801:****** \u786e\u8ba4\u5bc6\u7801:***** \u6ce8\u610f:\u4e0a\u8ff0\u5bc6\u7801\u4e3a\u4e86\u5b89\u5168,\u6ca1\u6709\u663e\u793a,\u8bf7\u54a8\u8be2\u7cfb\u7edf\u7ba1\u7406\u5458\u83b7\u53d6\u771f\u6b63\u7684\u5bc6\u7801. \u70b9\u51fb\"\u521b\u5efa\u5e10\u6237\", \u8fd9\u4e00\u6b65,\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u4f4d\u7f6e,\u8f93\u5165\u57ce\u5e02\u70b9\u83b7\u53d6,\u5982\u679c\u53d6\u4e0b\u5230\u4f1a\u62a5\u9519.\u6ca1\u5173\u7cfb,\u76f4\u63a5\u4e0b\u4e00\u6b65\u5373\u53ef,\u7cfb\u7edf\u914d\u7f6e\u5b8c\u6210\u540e,\u8fd8\u53ef\u66f4\u6539. \u8fd9\u4e00\u6b65\u662f\u8981\u6c42,\u4f60\u8f93\u4e0b\u6240\u5c5e\u7684\u56fd\u5bb6\u4e0e\u5730\u533a,\u5b83\u4f1a\u81ea\u52a8\u5224\u65ad\u51fa\u6765,\u56fd\u5bb6,\u76f4\u63a5\u70b9\u4e0b\u4e00\u6b65\u5373\u53ef. \u6b64\u65f6,\u5b83\u53ef\u80fd\u8fd8\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6846,\u5e2e\u4f60\u68c0\u6d4b\u4f4d\u7f6e ,\u70b9\u786e\u5b9a\u5373\u53ef \u5982\u679c\u4e0d\u60f3\u8ba9\u5176\u68c0\u6d4b,\u76f4\u63a5\u70b9\u53d6\u6d88\u5373\u53ef,\u56e0\u4e3a\u5176\u68c0\u6d4b\u6298\u53ef\u80fd\u5f88\u6162,\u6240\u4ee5,\u76f4\u63a5\u70b9\u53d6\u6d88,\u9009\u62e9\u4e2d\u56fd\u5373\u53ef. \u8fd9\u91cc\u7684\u51e0\u9879,\u5168\u90e8\u4e0d\u7528\u9009,\u76f4\u63a5\u4e0b\u4e00\u6b65 \u8fd9\u4e00\u6b65,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51\u4e2d\u7684\u80fd\u76f4\u63a5\u5165\u7684\u8bbe\u5907.\u76f4\u63a5\u70b9\u51fb\u5b8c\u6210, \u7136\u540e,\u7cfb\u7edf\u4f1a\u8f6c\u5230\u5982\u4e0b\u754c\u9762 \u53ef\u80fd\u8981\u6301\u7eed\u4e00\u9635,\u7b49\u5f85\u5176\u5b8c\u6210\u5373\u53ef. \u5f00\u59cb\u7b2c\u4e00\u6b21,\u53ef\u80fd\u5f88\u6162 \u9996\u6b21\u5b8c\u6210\u5982\u4e0b\u663e\u793a \u66f4\u65b0\u5fc5\u8981\u7684\u7ec4\u4ef6 \u00b6 \u9996\u6b21\u767b\u5f55,\u53ef\u80fd\u4f1a\u663e\u793a\u66f4\u65b0,\u5982\u6b64\u65f6\u663e\u793a \u63d0\u793a\u66f4\u65b0Home Assistnat Operating System Update,\u70b9\u51fb\u5982\u4e0b\u6309\u94ae,\u4ee5\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\uff0c\u70b9\u66f4\u65b0\u6309\u94ae \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u7cfb\u7edf\u5c06\u4f1a\uff0c\u8fdb\u884c\u66f4\u65b0 \u6ce8\u610f\uff0c\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u4e00\u822c\u662f\u4ece\u4e24\u4e2a\u5730\u65b9\u83b7\u53d6\u66f4\u65b0\u5305\uff0c\u4e00\u662fgithub\u4e00\u4e2a\u662fdocker\u7684\u4ed3\u5e93\uff0c\u6240\u4ee5\uff0c \u8981\u4fdd\u6301\u79d1\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u3002\u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u4f30\u8ba1\u8981\u51e0\u5206\u949f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u7b49\uff0c\u4e5f\u6709\u53ef\u80fd\u4f1a\u66f4\u65b0\u5931\u8d25\uff0c\u7136\u540e\uff0c\u518d\u6b21\u66f4\u65b0\u3002 \u66f4\u65b0\u65f6,\u5982\u679c\u7f51\u7edc\u6709\u95ee\u9898\u53ef\u80fd\u4f1a\u51fa\u5728\u65e5\u5fd7 \u4e2d\u62a5\u51fa\u5982\u4e0b\u9519\u8bef 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 \u4e0a\u8ff0\u9519\u8bef\u591a\u662f\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5f15\u8d77\u7684,\u8981\u53bb\u68c0\u662f\u79d1\u5b66\u4e0a\u7f51\u662f\u5426\u8fd8\u6b63\u5e38. \u66f4\u5b8c\u5b8c\u6210\u540e,\u518d\u6b21\u542f\u52a8\u540e,\u4f1a\u663e\u793a\u6ca1\u6709\u53ef\u7528\u7684\u66f4\u65b0 \u914d\u7f6e-\u901a\u7528 \u00b6 \u70b9\u51fb,\u5f00\u59cb,\u901a\u7528 \u66f4\u6539\u540d\u79f0\u4e3a:\u5cb1\u7279\u667a\u80fd \u5176\u5b83\u7684\u4e0d\u53d8 #### \u914d\u7f6e-\u7f51\u7edc-\u4e3b\u673a\u540d \u628a\u4e3b\u673a\u540d\u914d\u7f6e\u6210\u4e3a\u5c40\u57df\u7f51\u4e2d\u552f\u4e00\u7684,\u5b9e\u9645\u8ba9\u5c31\u662f\u8ba1\u7b97\u673a\u540d,\u56e0\u4e3a\u540c\u4e00\u5c40\u57df\u7f51\u4e2d,\u8ba1\u7b97\u673a\u540d,\u4e0d\u5141\u8bb8\u76f8\u540c \u914d\u7f6e-\u8bbe\u7f6e-\u52a0\u8f7d\u9879 \u00b6 \u52a0\u8f7d\u9879\u4e2d\u6709\u8bb8\u591a\u5fc5\u88c5\u7ec4\u4ef6,\u9700\u8981\u4e00\u4e00\u5b89\u88c5,\u9996\u6b21\u8fdb\u5165\u65f6,\u53ef\u80fd\u4f1a\u663e\u793a\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u4e0b\u89d2\u7684\"\u52a0\u8f7d\u9879\u5546\u5e97\" \u5b89\u88c5File editor \u00b6 File editor \u662f\u4e00\u4e2a\u7528\u4e8e\u4fee\u6539HA\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u5de5\u5177,\u5c5e\u5fc5\u88c5\u9879,\u70b9\u51fb\u5b89\u88c5 \u70b9\u51fb\u5b89\u88c5,\u7cfb\u7edf\u4f1a\u5728\u540e\u53f0\u81ea\u52a8\u5b89\u88c5\u6b64\u63d2\u4ef6, \u5b89\u88c5\u5b8c\u6210\u540e,\u4f1a\u81ea\u52a8\u91cd\u542f \u6709\u65f6\u4e5f\u4f1a\u63d0\u793a\u5b89\u88c5\u5931\u8d25 \u8fd9\u79cd\u7ecf\u67e5\u770b\u65e5\u5fd7 \u591a\u4e3a\u7f51\u5f3a\u884c\u95ee\u9898\u65e0\u6cd5\u8bbf\u95ee.docker.io,\u8fd9\u662f\u56e0\u4e3a\u79d1\u5b66\u4e0a\u98ce\u7684\u539f\u56e0,\u91cd\u70b9\u6392\u67e5\u7f51\u7edc,\u5b89\u88c5\u6210\u529f\u540e,\u518d\u6b21\u8fdb\u5165\u4f1a\u663e\u793a\u5982\u4e0b\u754c\u9762 \u52fe\u9009,\u5f00\u673a\u542f\u52a8,\u81ea\u52a8\u6062\u590d,\u663e\u793a\u4e8e\u4fa7\u8fb9\u680f \u70b9\u51fb\u542f\u52a8,\u6216\u91cd\u542f,\u5c06\u4f1a\u5728\u4fa7\u8fb9\u680f\u770b\u5230\u6b64\u56fe\u6807,\u70b9\u51fb\u6253\u5f00\u7f51\u9875\u754c\u9762 \u80fd\u770b\u5230\u5982\u4e0b\u754c\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u6b64\u65f6\u52a0\u8f7d\u9879\u4e2d,\u5c31\u591a\u51fa\u4e86File editor\u9009\u9879 \u5b89\u88c5Samba share\u63d2\u4ef6 \u00b6 Samba share\u63d2\u4ef6\u662f\u4e00\u4e2a\u63d0\u4f9b\u5171\u4eab\u76ee\u5f55\u7684\u65b9\u5f0f\u5141\u884c\u5176\u5b83\u8ba1\u7b97\u673a\u7528\u8fd9\u79cd\u65b9\u5f0f\u67e5\u770b\u7f16\u8f91ha\u7684\u6587\u4ef6\u7684\u7ec4\u4ef6. \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5931\u8d25\u65f6,\u4f1a\u6709\u5982\u4e0b\u63d0\u4e0b\u63d0\u793a \u6253\u5f00\u81ea\u52a8\u6062\u590d \u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5230\u914d\u7f6e\u9009\u9879\u4e2d \u6b64\u5904\u6211\u4eec\u8bbe\u7f6e\u5982\u4e0b\u4fe1\u606f Username:dtuser Password:***** # \u6b64\u5904\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 Workgroup:WORKGROUP # \u4fdd\u6301\u4e0d\u53d8 \u66f4\u6539\u5b8c\u6210\u540e,\u6709\u5982\u4e0b\u914d\u7f6e \u914d\u7f6e \u5b8c\u6210\u540e,\u70b9\u51fb\u542f\u52a8 \u542f\u52a8\u6210\u529f\u540e,\u4f1a\u51fa\u4e0b\u56fe\u663e\u793a \u6b64\u65f6,\u5982\u679c,\u4e0eHA\u5728\u540c\u4e00\u5c40\u57df\u7f51\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u67e5\u770bHA\u7684\u6587\u4ef6\u76ee\u5f55 \u5728\u5730\u5740\u680f\u8f93\u5165\\HA\u7684IP \u8f93\u5165\u9884\u8bbe\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801,\u5373\u53ef\u67e5\u770b,\u7f16\u8f91HA\u7684\u5404\u79cd\u6587\u4ef6\u3002 \u5b89\u88c5Terminal & SSH \u00b6 Terminal & SSH \u63d2\u4ef6\u4e3aHA\u63d0\u4f9b\u4e86\u5728web\u7aef\u4f7f\u7528\u63a7\u5236\u53f0\u7ec8\u7aef\u529f\u80fd,\u53ca\u5f00\u542f\u4e86ssh\u670d\u52a1,\u4f7f\u4e4b\u53ef\u4ee5\u8fdc\u7a0b\u4f7f\u7528SSH\u8bbf\u95eeHA\u7ec8\u7aef\u3002 \u5728\u641c\u7d22\u4e2d\u8f93\u5165Terminal & SSH \u7ed3\u679c\u6709\u53ef\u80fd\u663e\u793a \u641c\u7d22\u4e0d\u5230\uff0c\u8fd9\u65f6\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u4ed3\u5e93\u6ca1\u6709\u914d\u7f6e\uff0c\u8fd8\u662f\u4f7f\u7528\u7684\u9ed8\u8ba4\u7684\u4ed3\u5e93\uff0c\u6211\u4eec\u53ef\u4ee5\u589e\u52a0\u4e00\u4e0b\u4ed3\u5e93\uff0c\u5982\u4e0b\uff1a https://github.com/AlexxIT/hassio-addons \u70b9\u51fb\u53f3\u4e0a\u89e3\u7684\u4e09\u4e2a\u70b9,\u9009\u4e2d\u4ed3\u5e93 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165,\u6211\u4eec\u8bb0\u5f55\u7684\u4ed3\u5e93\u5730\u5740,\u7136\u540e\u70b9\u6dfb\u52a0 \u5b8c\u6210\u540e,\u70b9\u51fb\u5173\u95ed. \u7136\u540e,\u70b9\u51fb\u8fd4\u56de,\u91cd\u65b0\u641c\u7d22 \u8fd9\u6b21\u627e\u5230\u4e86Advance SSH & Web Terminal \u70b9\u51fb\u5b89\u88c5,\u6253\u5f00\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u5b89\u88c5,\u6709\u65f6\u4f1a\u5b89\u88c5\u5931\u8d25, \u5931\u8d25\u540e,\u9700\u518d\u6b21\u5b89\u88c5,\u540c\u65f6\u68c0\u67e5\u65e5\u5fd7\u4e2d\u63d0\u5230\u7684\u54ea\u4e2a\u7f51\u5740\u65e0\u6cd5\u8bbf\u95ee ,\u628a\u5176\u52a0\u79d1\u5b66\u4e0a\u7f51\u7684\u4ee3\u7406\u540d\u5355\u4e2d. \u5b89\u88c5\u5b8c\u6210\u540e,\u5c31\u53d8\u6210\u5982\u4e0b \u5f00\u542f\u81ea\u52a8\u6062\u5f97,\u663e\u793a\u4fa7\u8fb9\u680f \u63a5\u4e0b\u6765,\u6211\u4eec\u914d\u7f6essh\u7684\u767b\u5f55\u4fe1\u606f,\u5982\u4e0b \u76f8\u5173\u4fe1\u606f\u5982\u4e0b: username:dtuser passsword:**** # \u6b64\u5904\u9700\u8981\u54a8\u8be2\u7ba1\u7406\u5458 \u5176\u5b83\u914d\u7f6e\u9009\u9879\u5982\u4e0b,\u6ce8\u610f\u9009\u9879,\u9009\u9519\u4e86ssh\u53ef\u80fd\u542f\u4e0d\u8d77\u6765,sftp\u5173\u95ed,zsh\u5173\u95ed.compatibility_mode\u8981\u5f00\u542f \u7136\u540e,\u70b9\u51fb\u542f\u52a8\u6309\u94ae \u542f\u52a8\u540e\u5982\u4e0b \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e24\u4e2a\u5730\u65b9\u8fdb\u5165 \u5728\u65e5\u5fd7 \u7aef\u80fd\u770b\u5230 ssh\u5df2\u542f\u52a8\u6210\u529f 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. \u914d\u7f6e\u6210\u529f\u540e,\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u6765\u6d4b\u8bd5\u662f\u5426\u53ef\u4ee5\u8fdc\u7a0bSSH\u8fde\u5165 \u8f93\u5165yes\u540e\u4f1a\u8981\u6c42 \u8f93\u5165\u5bc6\u7801,\u9a8c\u8bc1\u6b63\u786e\u540e,\u4f1a\u8fdb\u5165\u770b\u5230\u5982\u4e2a\u56fe,\u5c31\u8bf4\u660essh\u5df2\u6b63\u5e38\u7684\u5f00\u542f\u6210\u529f\u4e86 \u4ee5\u4e0b\u754c\u9762\u662f\u5728ha\u4e2d\u770b\u5230\u7684\u5185\u7f6e\u7684ssh \u5176\u5b83,\u5f53\u8bbf\u95ee\u4e00\u4e9b\u7cfb\u7edf\u64cd\u4f5c\u65e0\u6743\u9650\u65f6,\u53ef\u4ee5\u5173\u95ed\u4fdd\u62a4\u5f00\u5173 \u5b89\u88c5Mosquitto broker \u00b6 Mosquitto broker\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u63d2\u4ef6,\u5176\u63d0\u4f9b\u7684MQTT \u670d\u52a1\u4e3a\u516c\u53f8\u5927\u591a\u6570\u6570\u8bbe\u5907\u6298\u96c6\u6210\uff0cmqtt\u901a\u4fe1\u901a\u9053\uff0c\u6240\u4ee5\uff0c\u6b64\u4e3a\u5fc5\u88c5\u63d2\u4ef6\u3002 \u70b9\u51fb\u5b89\u88c5 \u770b\u5230\u5982\u4e0b\u754c\u9762\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff0c \u63a5\u4e0b\u6765\u662f\u914d\u7f6emqtt \u5f00\u542f\u81ea\u52a8\u6062\u590d \u00b6 \u914d\u7f6emqtt\u7684\u7528\u6237\u540d\u5bc6\u7801\u53ca\u5b9a\u5236\u914d\u7f6e \u00b6 username:dtuser password:****** #\u6b64\u5904\u7684\u5bc6\u7801\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 \u914d\u7f6e\u5b8c\u6210\u540e,\u542f\u52a8mqtt\u670d\u52a1 \u65e5\u5fd7\u4e2d\u663e\u793a\u5982\u4e0b\u4fe1\u606f,\u8bf4\u660e\u6210\u529f 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: \u251c\u2500\u2500 Username/password checking enabled. 2025-04-17 16:33:29: \u251c\u2500\u2500 TLS-PSK checking enabled. 2025-04-17 16:33:29: \u2514\u2500\u2500 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 <unknown> 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. \u5f53\u6d88\u606f,\u63d0\u793a\u53d1\u73b0\u8bbe\u5907\u65f6,\u70b9\u51fb,\u5f39\u51fa\u7684\u6d88\u606f\u4e2d,\u70b9check it out,\u7136\u540e,\u770b\u5230\u5df2\u53d1\u73b0mqtt,\u70b9\u51fb\u6dfb\u52a0 \u7136\u540e,\u70b9\u51fb\u5b8c\u6210 \u7136\u540e\u5c31\u4f1a\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u96c6\u6210\u4e2d,\u663e\u793aMqtt,\u4ee5\u540e,\u6240\u6709\u589e\u52a0\u7684MQTT\u7c7b\u8bbe\u5907\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8fd9\u4e2a\u7c7b\u522b\u4e2d\u3002 \u5b89\u88c5Node-RED\u63d2\u4ef6 \u00b6 Node-Red\u63d2\u4ef6\u662f\u6211\u4eec\u96c6\u4e2d\u5404\u79cd\u8bbe\u5907\u7684\u91cd\u8981\u6d88\u606f\u5904\u7406\u8f6c\u6362\u63d2\u4ef6,\u5c5e\u5fc5\u88c5\u63d2\u4ef6. \u5728\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22nod\u663e\u793a\u5982\u4e0b \u70b9\u51fb,\u8fdb\u5165\u8be6\u7ec6\u9875\u9762 \u70b9\u51fb\u5b89\u88c5 \u5982\u679c\u5b89\u88c5\u51fa\u9519,\u591a\u534a\u662f\u79d1\u5b66\u4e0a\u7f51\u7684\u95ee\u9898, \u5982\u73b0\u5982\u4e0b\u9875\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u5f00\u542f\u81ea\u52a8\u6062\u590d,\u5173\u95ed\u4fa7\u8fb9\u680f \u914d\u7f6enod-red \u6b64\u5904\u7684\u914d\u7f6e\u4fe1\u606f\u4e3a username:admin password:**** #\u6b64\u5904\u7684\u5bc6\u7801,\u8bf7\u5411\u7ba1\u7406\u5458\u83b7\u53d6 ### \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5173\u95edssl \u7136\u540e\u542f\u52a8node-red \u70b9\u51fb\u6253\u5f00web-\u9875\u9762\u5982\u4e0b \u5b89\u88c5go2rtc\u63d2\u4ef6 \u00b6 go2rtc\u63d2\u4ef6\u662f\u4e3a\u4e86\u5bf9\u89c6\u6d41\u8f6c\u53d1\u7528\u7684\u4e13\u7528\u63d2\u4ef6,\u5982\u679c\u60f3\u628a\u76d1\u63a7\u89c6\u9891\u6d41\u63a5\u5165,\u5219\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u63d2\u4ef6,\u5b89\u88c5\u65b9\u6cd5\u662f,\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22go2rtc, \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5b8c\u6210\u540e\u5f00\u542f\u81ea\u52a8\u6062\u590d,\u81ea\u52a8\u66f4\u65b0 \u5176\u8bbe\u7f6e\u4e2d\u57fa\u672c\u6ca1\u4ec0\u4e48\u8981\u6539\u7684. \u5b89\u88c5VLC\u53ef\u4ee5\u64ad\u653e\u89c6\u9891\u7b49\u529f\u80fd,\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u5b89\u88c5 \u00b6 \u5728\u52a0\u8f7d\u5546\u5e97\u4e2d\u641c\u7d22vlc \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u6210\u529f\u5982\u4e0b\u6240\u793a \u914d\u7f6e\u4e2d\u57fa\u672c\u6ca1\u8981\u8981\u914d\u7f6e\u7684\u4e1c\u897f \u5229\u7528 Docker \u5b89\u88c5 PostgreSQL \u00b6 \u867d\u7136 Home Assistant OS \u672c\u8eab\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u7cfb\u7edf\u5e95\u5c42\uff0c\u4f46\u5b83\u5185\u7f6e\u4e86 Docker \u652f\u6301\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c PostgreSQL \u7684 Docker \u5bb9\u5668\u3002 \u6b65\u9aa4 \u00b6 \u786e\u4fdd\u60a8\u6709 SSH \u8bbf\u95ee\u6743\u9650 \u5b89\u88c5 Home Assistant \u7684 SSH & Web Terminal Add-on\uff08\u9ad8\u7ea7\u6a21\u5f0f\uff09\u3002 \u5f00\u542f SSH \u8bbf\u95ee\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u524d\u5f80 Supervisor > Add-on Store \u3002 \u641c\u7d22\u5e76\u5b89\u88c5 SSH & Web Terminal \uff08\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u914d\u7f6e SSH \u63d2\u4ef6\uff0c\u786e\u4fdd protected \u8bbe\u7f6e\u4e3a false \uff0c\u7136\u540e\u542f\u52a8\u5b83\u3002 \u8fd0\u884c PostgreSQL \u5bb9\u5668 \u5728 SSH \u6216 Web Terminal \u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a 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 \u66ff\u6362 **pwd** \u4e3a\u60a8\u60f3\u8981\u8bbe\u7f6e\u7684\u6570\u636e\u5e93\u5bc6\u7801,\u4e9b\u5bc6\u7801,\u9700\u8981\u7ba1\u7406\u5458\u54a8\u8be2 \u6570\u636e\u5e93\u540d\u79f0\u4e3a dtha \uff0c\u7528\u6237\u540d\u4e3a dtuser \u3002 \u6570\u636e\u5c06\u5b58\u50a8\u5728 /mnt/data/supervisor/postgresql \uff0c\u786e\u4fdd\u6570\u636e\u5728\u91cd\u542f\u540e\u4e0d\u4f1a\u4e22\u5931\u3002 \u767b\u5f55ssh,\u5e76\u67e5\u770b\u5df2\u5b89\u88c5\u7684docker\u955c\u50cf\u5982\u4e0b \u5148\u521b\u5efapgsql\u5b58\u50a8\u5377\u9700\u8981\u7684\u76ee\u5f55,\u8fd9\u4e2a\u6211\u4eec\u7edf\u4e00\u5b9a\u4e3a\u5982\u4e0b\u76ee\u5f55,\u5e76\u7ed9777\u6743\u9650 /db/pgsqldata \u5373\u5728\u6839\u76ee\u5f55\u4e0b,\u521b\u5efadb\u76ee\u5f55,\u7136\u540e\u5728db\u76ee\u5f55\u4e2d\u521b\u5efapgsqldata,\u5e76\u7ed9\u8db3\u6743\u9650 / # 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 \u63a5\u4e0b\u6765,\u62c9\u53d6\u955cpgsql\u7684\u955c\u50cf,\u5e76\u6307\u5411/mnt/data/pgsqldata,\u6b64\u5904\u8981\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u76ee\u5f55\u90fd\u6709\u5199\u5165\u6743\u9650,homeAssitant\u4e2d\u5927\u90e8\u4efd\u76ee\u5f55\u90fd\u6ca1\u6709\u5199\u5165\u6743\u9650,\u8981\u6ce8\u610f\u627e\u6709\u5199\u5165\u6743\u9650\u7684\u76ee\u5f55 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7cfb\u7edf\u4f1a\u81ea\u52a8\u62c9\u53d6\u955c\u50cf,\u5e76\u542f\u52a8,\u6b64\u8fc7\u7a0b\u52a1\u5fc5\u4fdd\u8bc1\u79d2\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u5982\u4e0b\u56fe,\u6240\u793a, \u8bf4\u660e\u76ee\u5f55\u6ca1\u6709\u6743\u9650, chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata \u7ed9\u591f\u76ee\u5f55\u6743\u9650\u540e,\u518d\u6b21\u8fd0\u884c,\u5b89\u88c5\u6307\u4ee4 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 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 \u4e0a\u8ff0\u8bf4\u660epgswl\u7684\u5bb9\u5668\u5df2\u7ecf\u5b58\u5728,\u9700\u8981\u5220\u9664 docker stop postgresql docker rm postgresql \u7136\u540e,\u518d\u6b21\u6267\u884c,\u5373\u53ef\u6210\u529f 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7528ps -a \u67e5\u8be2\u4e00\u4e0b,\u5982\u4e0b\u56fe\u6240\u793a,\u8bf4\u660edocker \u542f\u52a8\u6210\u529f, \u4e3a\u4e86\u9a8c\u8bc1\u91cd\u65b0\u542f\u52a8\u540e,pgsql\u5bb9\u5668\u662f\u5426\u542f\u52a8,\u53ef\u4ee5\u91cd\u542f\u540e,\u518d\u6b21\u67e5\u770b\u4e00\u4e0b,\u6b64\u5bb9\u5668\u662f\u5426\u8ddf\u968f\u7cfb\u7edf\u542f\u52a8\u6210\u529f. \u63a5\u4e0b\u6765,\u6211\u4eec\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u4e2d\u627e\u53f0\u673a\u5668\u6765\u505a\u4e00\u4e0b\u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5 \u5982\u4e0a\u56fe,\u8bf4\u660epgsql\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u4e86,\u5e76\u80fd\u6b63\u5e38\u8bbf\u95ee. \u66f4\u6539homeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3apgSql \u00b6 HomeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3asqlite,\u6211\u4eec\u9700\u8981\u628a\u5176\u6362\u6210\u6211\u4eec\u65b0\u5b89\u88c5\u7684pgsql, \u901a\u8fc7\u6211\u4eec\u5b89\u88c5\u7684\u63d2\u4ef6File editor \u6253\u5f00\u914d\u7f6e\u6587\u4ef6 /homeassistant/configruration.yaml \u589e\u52a0recorder\u4e2d\u7684\u914d\u7f6e\u5982\u4e0b \u7136\u540e,\u4fdd\u5b58\u9000\u51fa,\u91cd\u542f,\u770b\u770bha\u6709\u6ed1\u7684\u7ed9\u51fa\u9519\u8bef\u63d0\u793a,\u4e5f\u53ef\u4ee5\u901a\u8fc7,\u8fde\u63a5\u5de5\u5177\u6765\u67e5\u770b,ha\u6709\u6ca1\u6709\u5728\u6570\u636e\u5e93\u4e2d\u5efa\u8868,\u5199\u5165\u6570\u636e \u5982\u4e0a\u56fe,\u8bf4\u660e\u6570\u636e\u5df2\u529f\u529f\u6298\u5199\u5165PGSQL,\u6b64\u65f6\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u5220\u9664\u4e86 \u8fd9\u4e2a\u6587\u4ef6\u662fhomeAssistant\u9ed8\u8ba4\u7684sqlite\u6570\u636e\u5e93\u6587\u4ef6\uff0c\u53ef\u4ee5\u5220\u9664\u4e86\uff0c\u70b9\u53f3\u5219\u7684\u4e09\u4e2a\u70b9\uff0c\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\uff0c\u70b9delete \u70b9\u51fbyes\u786e\u8ba4 \u7136\u540e\u91cd\u542f,\u518d\u6b21\u67e5\u770b,\u662f\u5426\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6, \u5982\u679c\u6ca1\u6709\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6 ,\u8bf4\u660e,\u7cfb\u7edf\u5df2\u7ecf\u5728\u7528pgsql\u4e86 \u5b89\u88c5HACS \u00b6 hacs\u7b80\u4ecb \u00b6 HACS\uff0c\u5168\u79f0 Home Assistant Community Store\uff08Home Assistant \u793e\u533a\u5546\u5e97\uff09\uff0c\u662f\u4e00\u4e2a\u7528\u4e8e Home Assistant \u7684\u7b2c\u4e09\u65b9\u6269\u5c55\u63d2\u4ef6\u7ba1\u7406\u5668\u3002\u5b83\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65b9\u4fbf\u7684\u65b9\u5f0f\u6765\u5b89\u88c5\u548c\u7ba1\u7406\u793e\u533a\u5f00\u53d1\u7684\u81ea\u5b9a\u4e49\u96c6\u6210\u3001\u63d2\u4ef6\u3001\u4e3b\u9898\u548c\u5176\u4ed6\u6269\u5c55\u7ec4\u4ef6\u3002 \u8fd9\u4e2a\u63d2\u4ef6\u96c6\u4e2d\u4e86\u8bb8\u591a\u5927\u5c4f\u7528\u7684\u4e3b\u9898\u4e0e\u63d2\u4ef6\uff0c\u5c5e\u4e8e\u5fc5\u88c5\u63d2\u4ef6\uff0e \u5b89\u88c5hacs \u00b6 \u8fdb\u5165ssh\u767b \u5f55\u540e,\u8f93\u5165\u5982\u4e0b\u6307\u4ee4 wget -O - https://get.hacs.xyz | bash - \u56de\u8f66\u540e,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0b\u8f7dHACS\uff0c\u5e76\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55\uff0c\u4e14\u63d0\u793a\u91cd\u542f\uff0c\u6211\u4eec\u6309\u8981\u6c42\u91cd\u542f\uff0c\u5373\u53ef\u3002 \u542f\u7528HACS \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u9700\u8981\u5728 Home Assistant \u7684\u754c\u9762\u4e2d\u542f\u7528 HACS\uff1a \u6253\u5f00 Home Assistant UI\u3002 \u70b9\u51fb \u8bbe\u7f6e > \u8bbe\u5907\u4e0e\u670d\u52a1 > \u96c6\u6210 \u3002 \u70b9\u51fb\u53f3\u4e0b\u89d2 \u6dfb\u52a0\u96c6\u6210 \u3002 \u641c\u7d22\u5e76\u9009\u62e9 HACS \uff0c\u7136\u540e\u6309\u7167\u5c4f\u5e55\u4e0a\u7684\u63d0\u793a\u5b8c\u6210\u8bbe\u7f6e\u3002 \u70b9\u51fb\u540e,\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d,\u5168\u6253\u52fe,\u70b9\u63d0\u4ea4 \u5f15\u65f6,\u5f39\u51fa\u65b0\u7684\u7a97\u53e3,\u9a8c\u8bc1github\u6388\u6743 \u70b9\u51fb\u8fd9\u4e2agithub\u94fe\u63a5,\u5e76\u8bb0\u4f4f\u4e0b\u65b9\u7684\u6388\u6743\u7801\u540e\u9762\u4f1a\u7528\u5230 \u5728\u5f39\u51fa\u7684\u9875\u9762\u4e2d,\u8f93\u5165,\u8bb0\u4f4f\u7684\u6388\u6743\u7801,\u70b9Continue \u63d0\u793a\u5177\u4f53\u7684\u6388\u6743\u5bf9\u50cf\u4e3ahacs,\u70b9\u51fbAutuorize hacs \u6388\u6743\u6210\u529f \u8fd4\u56dehacs\u540e,\u63d0\u793a\u6210\u529f,\u5e76\u663e\u793a\u5df2\u53d1\u73b0\u5982\u4e0b\u8bbe\u5907,hacs,\u9009\u62e9\u533a\u57df,\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e2a\u533a\u57df,\u7136\u540e\u70b9\u5b8c\u6210 \u770b\u5230\u5982\u4e0b\u754c\u9762hacs\u5c31\u5b89\u88c5\u597d\u4e86 \u70b9\u51fb\u914d\u7f6e,\u542f\u7528App Daemon apps discovery & tgracking. \u4ee5\u4e0a\u914d\u7f6e \u5b8c\u6210\u540e,\u91cd\u65b0\u542f\u52a8HA\uff0c\u5219\u53ef\u4ee5\u5728\u5de6\u4fa7\u680f\u4e2d\u627e\u5230HACS\u83dc\u5355\u4e86 \u66f4\u6539HomeAssistant\u5de6\u4e0a\u89d2LOGO\u6807\u9898 \u00b6 homeAssistant \u5de6\u4e0a\u89d2\u9ed8\u8ba4\u7684\u6807\u9898\u4e3a Home Assistant \u6211\u4eec\u5e0c\u671b\u6539\u6210\u81ea\u5df2\u7684\u6807\u8bc6\u5982:\u5cb1\u7279\u667a\u80fd \u4e0b\u8f7d\u7b2c\u4e09\u65b9\u63d2\u4ef6hass-favicon\u7684Releases\u5230\u672c\u5730\u76ee\u5f55 \u00b6 \u70b9\u51fb\u94fe\u63a5 ,\u5230\u5176github\u7684\u5b98\u65b9\u9875\u9762 \u4e0b\u8f7d\u5176\u6e90\u7801 \u89e3\u538b\u4e0b\u8f7d\u7684\u6e90\u7801 \u00b6 \u5c06\u63d2\u4ef6\u590d\u5236\u5230ha\u4e0a \u00b6 \u6253\u5f00\u6e90\u7801\u76ee\u5f55,\u8fdb\u5165custom_commponents\u76ee\u5f55,\u628afavicon\u76ee\u5f55\u6574\u4f53\u590d\u5236 \u7136\u540e,\u8fdb\u5165ha\u7684config-custom_compoents\u76ee\u5f55\u7c98\u8d34,\u590d\u5236\u5230\u7684favicon \u7136\u540e\u521b\u5efa\u76ee\u5f55 \\\\ha-o[\\config\\www\\favicons \u5e76\u628a\u80dc\u900f\u7684logo\u6587\u4ef6st-logo.,png\u653e\u5230\u76ee\u5f55\u4e2d \u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u5185\u5bb9 \u7136\u540e,\u91cd\u542fHomeAssistant\u5373\u53ef \u91cd\u542f\u540e,\u5de6\u4e0a\u811a\u7684LOGO\uff0c\u5df2\u53d8\u4e3a\u5cb1\u7279\u667a\u80fd. \u5b89\u88c5\u7c73\u5bb6\u96c6\u6210\u63d2\u4ef6 \u00b6 \u7c73\u5bb6\u96c6\u6210\u662f\u4e00\u4e2a\u7531\u5c0f\u7c73\u5b98\u65b9\u63d0\u4f9b\u652f\u6301\u7684 Home Assistant \u7684\u96c6\u6210\u7ec4\u4ef6\uff0c\u5b83\u53ef\u4ee5\u8ba9\u60a8\u5728 Home Assistant \u4e2d\u4f7f\u7528\u5c0f\u7c73 IoT \u667a\u80fd\u8bbe\u5907\u3002 \u8fd9\u4e2a\u63d2\u4ef6,\u53ef\u4ee5\u76f4\u63a5\u628a\u6240\u6709\u5c0f\u7c73\u7684\u5404\u79cd\u4f20\u611f\u5668\u96c6\u6210\u5230HomeAssistant\u4e2d,\u6240\u4ee5\u8fd9\u4e2a\u662f\u5fc5\u88c5\u63d2\u4ef6. \u5176\u5b98\u65b9\u4ed3\u5e93\u5730\u5740\u4e3a: Xiaomi Home Integration for Home Assistant https://github.com/XiaoMi/ha_xiaomi_home \u5176\u5b89\u88c5\u65b9\u6cd5\u6709\u4e09\u79cd,\u6211\u4eec\u4e3a\u4e86\u65b9\u4fbf\u9009\u62e9\u7b2c\u4e00\u79cd,\u5176\u5b83\u4e24\u79cd\u65b9\u6cd5,\u53ef\u4ee5\u81ea\u884c\u5c1d\u8bd5.\u5b98\u65b9\u63cf\u8ff0\u7684\u65b9\u88c5\u4e3b\u5f0f\u5982\u4e0b: cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config \u5176\u4e5f\u63d0\u4f9b \u4e2d\u6587\u7684\u5b89\u88c5\u8bf4\u660e \u5b89\u88c5 \u00b6 \u9996\u5148,\u767b\u5f55SSH.\u7136\u540e\u8fdb\u5165config\u76ee\u5f55 \u5148\u62c9\u53d6\u4ee3\u7801 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. \u7136\u540e,\u518d\u5207\u6362\u5230ha_xiaomi_home\u76ee\u5f55 cd ha_xiaomi_home \u7136\u540e\u6267\u884c\u5b89\u88c5\u6307\u4ee4 ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. \u5b89\u88c5\u5b8c\u6210,\u63d0\u793a\u9700\u8981\u91cd\u542f. \u914d\u7f6e \u00b6 \u5728\u91cd\u65b0\u542f\u52a8\u540e,\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210\u4e2d,\u641c\u7d22\u201c Xiaomi Home \u201d \u70b9\u51fb,\u4f1a\u63d0\u793a\u98ce\u9669\u63d0\u793a \u52fe\u9009,\u6211\u77e5\u6089,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u4f1a\u8fdb\u5165\u57fa\u7840\u914d\u7f6e\u9875\u9762,\u5982\u4e0b\u56fe \u52fe\u9009\u96c6\u6210\u7f51\u7edc\u914d\u7f6e,\u540c\u86d9,\u6ce8\u610f\u4e00\u4e0b,\u8ba4\u8bc1\u8df3\u8f6c\u5730\u5740,\u6b64\u5904\u663e\u6b3e\u4e3ahttp://homeassistant.lcaol:8123,\u8fd9\u4e2a\u5730\u5740,\u4f30\u8ba1\u4e0d\u53ef\u80fd\u901a\u8fc7,\u53ea\u56e0\u4e3a\u6211\u4eec\u662f\u5728\u5c40\u57df\u7f51\u5176\u5b83\u673a\u5668\u64cd\u4f5c\u8fd9\u4e00\u6b65\u7684,\u5b9e\u9645\u4e0a\u6211\u4eec\u7684\u5730\u5740,\u5e94\u662f\u5730\u5740\u680f\u4e2d\u6298\u5b9e\u9645\u5730\u5740,\u5982\u4e0a\u56fe,\u6211\u4eec\u7684\u8ba4\u8bc1\u5730\u5740\u662f:http://192.168.3.2:8123, \u5728\u4e0b\u4e00\u6b65\u8df3\u8f6c\u8f6c\u5c0f\u7c73\u540e,\u6253\u5f00\u7684\u7f51\u5740\u65f6,\u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u4f30\u8ba1\u662f\u6253\u4e0d\u5f00\u7684,\u9700\u8981\u628a\u90a3\u4e2a\u5730\u5740\u7684\u524d\u534a\u6bb5,\u6362\u6210\u8fd9\u4e2a\u5b9e\u9645\u5730\u5740. \u70b9\u51fb\u4e0b\u4e00\u6b65, \u6b64\u5904\u4e3a\u68c0\u6d4b\u7f51\u7edc,\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u65f6,\u624d\u80fd\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5f53\u5f39\u51fa\u5982\u4e0b\u754c\u9762\u65f6,\u8bf4\u660e\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u4e86, \u70b9\u51fb,\"\u8bf7\u70b9\u6b64\u5904\u8fdb\u884c\u767b\u5f55\", \u6b64\u65f6,\u8df3\u8f6c\u5230\u5c0f\u7c73\u6298\u8ba4\u8bc1\u7f51\u9875,\u6b64\u65f6\u8f93\u5165\u6b63\u786e\u7c73\u5bb6\u5e10\u53f7\u4e0e\u5bc6\u7801,\u70b9\u767b\u5f55 \u5f39\u51fa \u53cb\u60c5\u63d0\u793a,\u70b9\u51fb,\u540c\u610f\u5e76\u7ee7\u7eed \u5c0f\u7c73\u7684\u5b89\u5168\u9a8c\u8bc1,\u70b9\u4e0b\u4e00\u6b65, \u70b9\u51fb \u53d1\u9001\u9a8c\u8bc1\u7801 \u8f93\u5165\u9a8c\u8bc1\u7801\u540e,\u70b9\u786e\u5b9a \u8df3\u8f6c\u5230\u4e86\u8ba4\u8bc1\u7a97\u53e3,\u4f46\u662f\u5374\u662f\u65e0\u65b9\u8bbf\u95ee\u6b64\u9875\u9762,\u8bf4\u660e\u8ba4\u8bc1\u5730\u5740,\u9519\u4e86,\u6211\u4eec\u9700\u8981\u628a\u5b83\u6362\u6210\u6211\u4eec\u6b63\u786e\u7684HA\u5730\u5740\uff1ahttp://192.168.3.2:8123,\u5982\u4e0b\u56fe\u6240\u793a \u624b\u5de5\u5c06\u6b63\u786e\u7684\u5730\u5740\u66ff\u6362\u5730\u5740\u5934\u90e8\u540e,\u56de\u8f66,\u6253\u5f00\u8fd9\u4e2a\u5730\u5740,\u7c7b\u4f3c\u5982\u4e0b\u683c\u5f0f: http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 \u5982\u679c,\u7528\u4e0a\u8ff0\u65b9\u5f0f,\u4ecd\u7136\u4e0d\u80fd\u8bbf\u95ee,\u5219\u53ef\u7528\u5982\u4e0b\u65b9\u6cd5,\u66f4\u6539host\u6587\u4ef6,\u5f3a\u884c\u6307\u5b9a\u672c\u5730DNS,\u6307\u5411homeassistant.local,\u65b9\u6cd5\u5982\u4e0b: \u4fee\u6539 Windows hosts \u6587\u4ef6\u7684\u65b9\u6cd5 \u4f7f\u7528\u7ba1\u7406\u5458\u8eab\u4efd\u7528\u8bb0\u4e8b\u672c\u6253\u5f00\u5982\u4e0b\u6587\u4ef6 :C:\\Windows\\System32\\drivers\\etc\\hosts \u5728\u6700\u540e\u4e00\u884c\u589e\u52a0 192.168.3.2 homeassistant.local \u5982\u4e0b\u56fe \u7136\u540e,\u518d\u91cd\u65b0\u8bd5\u8fc7\u4e00\u6b21 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd,\u5c31\u4f1a\u81ea\u52a8\u8ba4\u8bc1\u901a\u8fc7 \u53ef\u4ee5\u6839\u636e\u63d0\u793a\u81ea\u52a8\u9009 \u5219\u623f\u95f4\u540c\u6b65\u6a21\u5f0f,\u8fd9\u4e2a\u8981\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u5c06\u63d0\u793a\u63d2\u4ef6\u96c6\u6210\u6210\u529f.\u5982\u4e0b\u793a\u610f\u56fe \u770b\u5230\u5982\u4e0b\u56fe,\u5c31\u8bf4\u660e\u96c6\u6210\u5b8c\u6210\u4e86 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u6982\u89c8\u4e2d,\u5c31\u5df2\u7ecf\u81ea\u52a8\u589e\u52a0\u4e86\u8bb8\u591a\u8bbe\u5907. \u5b89\u88c5WebRTC Camera \u00b6 WebRTC camera\u63d2\u4ef6\u4ee5\u5b9e\u73b0\u9891\u6d41\u64ad\u653e.\u5982\u679cha\u8981\u63a5\u5165\u89c6\u9891\u76d1\u63a7,\u5219\u9700\u8981\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6, \u4ed3\u5e93\u5730\u5740 : https://github.com/AlexxIT/WebRTC \u8fd9\u4e2a\u63d2\u4ef6\u4e5f\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u6cd5,hacs\u5b89\u88c5,\u76f4\u63a5\u590d\u5236\u7b49\u65b9\u6cd5,\u56e0\u4e3a\u4e0a\u6587,\u6211\u4eec\u5df2\u7ecf\u5b89\u88c5\u8fc7\u4e86HACS\u63d2\u4ef6\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u4f7f\u7528HACS\u65b9\u5f0f\u5b89\u88c5\u3002 \u70b9\u51fb\u540e\uff0c\u5f39\u51fa\u5982\u4e0b\u9875\u9762 \u70b9\u51fbDownLoad\u6309\u94ae \u70b9\u51fbDownLoad \u5f53\u7136,\u6211\u4eec\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u6298\u7248\u672c \u5f53\u5f39\u51fa\u7a97\u53e3\u81ea\u52a8\u6d88\u5931,\u70b9\u51fb\u4e0a\u65b9\u7684\u8fd4\u56de( \u6ce8\u610f:\u4e0d\u4f1a\u81ea\u52a8\u8fd4\u56de,\u987b\u4eba\u5de5\u8fd4\u56de ),\u8fd4\u56de\u5982\u4e0b\u56fe \u770b\u5230\u4e0a\u65b9\u7684\u7b49\u5f85\u91cd\u542f,\u8bf4\u660e\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\u4e0a,\u9700\u8981\u91cd\u542f,\u6211\u4eec\u6267\u884c\u91cd\u542f. \u91cd\u542f\u5b8c\u6210\u540e,\u4f1a\u770b\u5230,Downloaded\u4e2d\u5df2\u7ecf\u663e\u793a,\u4e86\u5b89\u88c5\u6210\u529f\u6298WebRTC Camera\u7ec4\u4ef6. \u7136\u540e,\u8fdb\u5165\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210,\u641c\u7d22WebRTC \u70b9\u51fbWebRtc Camera \u5f39\u51fago2rtc url\u5730\u5740\u7a97\u53e3,\u6b64\u63d2\u4ef6,\u6211\u4eec\u4e4b\u524d\u5df2\u88c5\u8fc7,\u5c31\u5728\u672c\u673a,\u6240\u5730\u5740\u4e0d\u7528\u6539,\u76f4\u63a5\u70b9\u63d0\u4ea4 \u70b9\u5b8c\u6210.WebRTC\u5b89\u88c5\u6210\u529f.\u5982\u4e0b\u56fe\u6240\u793a \u4e3a\u4e86\u6f14\u793a\u5982\u4f55\u663e\u793a\u76d1\u63a7\u89c6\u9891,\u6211\u4eec\u65b0\u589e\u52a0\u4e00\u4e2asample\u7684\u4eea\u8868\u76d8. \u70b9\u51fb,\u6dfb\u52a0\u4eea\u8868\u76d8 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d,\u8f93\u5165\u4eea\u8868\u76d8\u6807\u9898 \u8fd9\u6837\u6211\u6837\u5c31\u589e\u52a0\u4e86\u4e00\u4e2a\u4eea\u8868\u76d8dashboard-sampale,\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u4eea\u8868\u76d8\u4e2d\u589e\u52a0\u6f14\u793a\u7528\u7684\u7ec4\u4ef6,\u6b64\u5904,\u6211\u4eec\u60f3\u589e\u52a0\u4e00\u4e2a\u6f14\u793a\u7528\u7684\u76d1\u63a7\u6444\u50cf\u5934.\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7f16\u8f91\u6309\u94ae. \u70b9\u51fb\u521b\u5efa\u4e00\u4e2a\u7ec4\u4ef6 \u7136\u540e,\u65b0\u5efa\u5361\u7247,\u9009\u62e9\u81ea\u5b9a\u4e49WebRTC\u5361\u7247,\u5982\u679c\u6ca1\u6709\u8fd9\u4e2a\u7ec4\u4ef6,\u5219\u9700\u8981\u5237\u65b0\u51e0\u6b21,\u5c31\u80fd\u770b\u5230\u8fd9\u4e2a\u7ec4\u4ef6. \u6211\u6837\u5728\u5361\u7247\u8bbe\u7f6e\u4e2d\u8f93\u5165url\u7684\u89c6\u9891\u6d41\u5730\u5740 type: custom:webrtc-camera url: \"rtsp://admin:Camera_data2018@192.168.50.131:554/stream2\" \u5b89\u88c5motionEye \u00b6 motionEye \u662f\u4e00\u4e2a\u6d41\u884c\u7684\u6444\u50cf\u5934\u8f6f\u4ef6\uff08\u79f0\u4e3a motion\uff09\u7684\u524d\u7aef\u3002\u672c\u63d2\u4ef6\u540c\u65f6\u63d0\u4f9b\u4e86\u524d\u7aef\u548c\u6444\u50cf\u5934\u8f6f\u4ef6\uff0c\u8ba9\u60a8\u53ef\u4ee5\u5c06\u6444\u50cf\u5934\u6dfb\u52a0\u5230 Hass.io \uff08Home Assistant\uff09\u7cfb\u7edf\u4e2d\u3002 motionEye \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u95ed\u8def\u7535\u89c6\uff08CCTV\uff09\u548c\u7f51\u7edc\u89c6\u9891\u5f55\u50cf\u673a\uff08NVR\uff09\uff0c\u5b83\u8bbe\u8ba1\u4f18\u96c5\u4e14\u975e\u5e38\u6613\u4e8e\u4f7f\u7528\u3002\u5b83\u53ef\u4ee5\u7528\u4f5c\u5a74\u513f\u76d1\u89c6\u5668\u3001\u5efa\u7b51\u5de5\u5730\u76d1\u63a7\u3001\u5546\u5e97\u6444\u50cf\u5934\u5f55\u50cf\u673a\u3001\u82b1\u56ed\u5b89\u9632\u7b49\u3002 motionEye \u7684\u4e00\u4e9b\u7279\u70b9\uff1a \u00b6 \u652f\u6301\u5927\u91cf\u6444\u50cf\u5934\uff0c\u5305\u62ec IP \u6444\u50cf\u5934\u3002 \u53ef\u4ee5\u901a\u8fc7\u5c06\u591a\u4e2a motionEye \u5b9e\u4f8b\u8fde\u63a5\u5728\u4e00\u8d77\u6dfb\u52a0\u591a\u4e2a\u6444\u50cf\u5934\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5728\u7f51\u7edc\u4e2d\u4f7f\u7528\u8fd0\u884c MotionEyeOS \u7684 Pi Zero \u548c Pi \u6444\u50cf\u5934\u3002 \u652f\u6301\u5c06\u5f55\u50cf\u4e0a\u4f20\u5230 Google Drive \u548c Dropbox\u3002 \u652f\u6301\u8fd0\u52a8\u68c0\u6d4b\uff0c\u5305\u62ec\u90ae\u4ef6\u901a\u77e5\u548c\u8ba1\u5212\u4efb\u52a1\u3002 \u53ef\u4ee5\u8fde\u7eed\u5f55\u50cf\u3001\u8fd0\u52a8\u5f55\u50cf\u6216\u5ef6\u65f6\u5f55\u50cf\uff0c\u5e76\u652f\u6301\u4fdd\u7559\u8bbe\u7f6e\u3002 \u652f\u6301\u914d\u7f6e\u4e2d\u7684\u201c\u64cd\u4f5c\u6309\u94ae\u201d\u3002 \u5b89\u88c5\u65b9\u6cd5 \u00b6 \u5728\u8bbe\u7f6e-\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22\"motionEye\", \u70b9\u51fb\u67e5\u770b\u8be6\u60c5\u9875,\u5e76\u5b89\u88c5 motioneye\u9ed8\u8ba4\u7684\u7528\u6237\u540d\u4e3aadmin,\u5bc6\u7801\u4e3a\u7a7a.","title":"\u7cfb\u7edf\u521d\u59cb\u5316\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#homeassistant","text":"","title":"\u521d\u59cb\u5316\u914d\u7f6eHomeAssistant"},{"location":"Usages/initConfig/initConfig/#homeassistant_1","text":"\u9996\u6b21\u6253\u5f00HomeAssistant\u901a\u8fc7,\u8def\u7531\u5668\u4e3a\u5176\u5206\u914d\u7684IP\u5730\u5740\u52a0\u7aef\u53e3\u53f7\u5373\u53ef\u8fdb\u884cHomeAssistant. \u683c\u5f0f\u5982\u4e0b: http://Ip:Port \u5982:http://192.168.3.2:8123 \u57fa\u4e2d:8123\u4e3a\u5176\u9ed8\u8ba4\u7684\u7aef\u53e3\u540e,\u5f53\u7136,\u7cfb\u7edf\u521d\u59cb\u5316\u6210\u529f\u540e,\u53ef\u4ee5\u6539. \u5982\u4e0b\u56fe\u6240\u793a: \u70b9\u51fb\"\u521b\u5efa\u6211\u667a\u80fd\u5bb6\u5bb6\u5c45\"\u6309\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5728\u8fd9\u91cc\u6211\u4eec\u8f93\u5165\u59d3\u540d,\u7528\u6237\u540d,\u5bc6\u7801,\u786e\u8ba4\u5bc6\u7801 \u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7edf\u4e00\u7684\u4fe1\u606f \u59d3\u540d:\u5cb1\u7279\u667a\u80fd \u7528\u6237\u540d:dtuser \u5bc6\u7801:****** \u786e\u8ba4\u5bc6\u7801:***** \u6ce8\u610f:\u4e0a\u8ff0\u5bc6\u7801\u4e3a\u4e86\u5b89\u5168,\u6ca1\u6709\u663e\u793a,\u8bf7\u54a8\u8be2\u7cfb\u7edf\u7ba1\u7406\u5458\u83b7\u53d6\u771f\u6b63\u7684\u5bc6\u7801. \u70b9\u51fb\"\u521b\u5efa\u5e10\u6237\", \u8fd9\u4e00\u6b65,\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u4f4d\u7f6e,\u8f93\u5165\u57ce\u5e02\u70b9\u83b7\u53d6,\u5982\u679c\u53d6\u4e0b\u5230\u4f1a\u62a5\u9519.\u6ca1\u5173\u7cfb,\u76f4\u63a5\u4e0b\u4e00\u6b65\u5373\u53ef,\u7cfb\u7edf\u914d\u7f6e\u5b8c\u6210\u540e,\u8fd8\u53ef\u66f4\u6539. \u8fd9\u4e00\u6b65\u662f\u8981\u6c42,\u4f60\u8f93\u4e0b\u6240\u5c5e\u7684\u56fd\u5bb6\u4e0e\u5730\u533a,\u5b83\u4f1a\u81ea\u52a8\u5224\u65ad\u51fa\u6765,\u56fd\u5bb6,\u76f4\u63a5\u70b9\u4e0b\u4e00\u6b65\u5373\u53ef. \u6b64\u65f6,\u5b83\u53ef\u80fd\u8fd8\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6846,\u5e2e\u4f60\u68c0\u6d4b\u4f4d\u7f6e ,\u70b9\u786e\u5b9a\u5373\u53ef \u5982\u679c\u4e0d\u60f3\u8ba9\u5176\u68c0\u6d4b,\u76f4\u63a5\u70b9\u53d6\u6d88\u5373\u53ef,\u56e0\u4e3a\u5176\u68c0\u6d4b\u6298\u53ef\u80fd\u5f88\u6162,\u6240\u4ee5,\u76f4\u63a5\u70b9\u53d6\u6d88,\u9009\u62e9\u4e2d\u56fd\u5373\u53ef. \u8fd9\u91cc\u7684\u51e0\u9879,\u5168\u90e8\u4e0d\u7528\u9009,\u76f4\u63a5\u4e0b\u4e00\u6b65 \u8fd9\u4e00\u6b65,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51\u4e2d\u7684\u80fd\u76f4\u63a5\u5165\u7684\u8bbe\u5907.\u76f4\u63a5\u70b9\u51fb\u5b8c\u6210, \u7136\u540e,\u7cfb\u7edf\u4f1a\u8f6c\u5230\u5982\u4e0b\u754c\u9762 \u53ef\u80fd\u8981\u6301\u7eed\u4e00\u9635,\u7b49\u5f85\u5176\u5b8c\u6210\u5373\u53ef. \u5f00\u59cb\u7b2c\u4e00\u6b21,\u53ef\u80fd\u5f88\u6162 \u9996\u6b21\u5b8c\u6210\u5982\u4e0b\u663e\u793a","title":"\u9996\u6b21\u6253\u5f00HomeAssistant"},{"location":"Usages/initConfig/initConfig/#_1","text":"\u9996\u6b21\u767b\u5f55,\u53ef\u80fd\u4f1a\u663e\u793a\u66f4\u65b0,\u5982\u6b64\u65f6\u663e\u793a \u63d0\u793a\u66f4\u65b0Home Assistnat Operating System Update,\u70b9\u51fb\u5982\u4e0b\u6309\u94ae,\u4ee5\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\uff0c\u70b9\u66f4\u65b0\u6309\u94ae \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u7cfb\u7edf\u5c06\u4f1a\uff0c\u8fdb\u884c\u66f4\u65b0 \u6ce8\u610f\uff0c\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u4e00\u822c\u662f\u4ece\u4e24\u4e2a\u5730\u65b9\u83b7\u53d6\u66f4\u65b0\u5305\uff0c\u4e00\u662fgithub\u4e00\u4e2a\u662fdocker\u7684\u4ed3\u5e93\uff0c\u6240\u4ee5\uff0c \u8981\u4fdd\u6301\u79d1\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u3002\u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u4f30\u8ba1\u8981\u51e0\u5206\u949f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u7b49\uff0c\u4e5f\u6709\u53ef\u80fd\u4f1a\u66f4\u65b0\u5931\u8d25\uff0c\u7136\u540e\uff0c\u518d\u6b21\u66f4\u65b0\u3002 \u66f4\u65b0\u65f6,\u5982\u679c\u7f51\u7edc\u6709\u95ee\u9898\u53ef\u80fd\u4f1a\u51fa\u5728\u65e5\u5fd7 \u4e2d\u62a5\u51fa\u5982\u4e0b\u9519\u8bef 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 \u4e0a\u8ff0\u9519\u8bef\u591a\u662f\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5f15\u8d77\u7684,\u8981\u53bb\u68c0\u662f\u79d1\u5b66\u4e0a\u7f51\u662f\u5426\u8fd8\u6b63\u5e38. \u66f4\u5b8c\u5b8c\u6210\u540e,\u518d\u6b21\u542f\u52a8\u540e,\u4f1a\u663e\u793a\u6ca1\u6709\u53ef\u7528\u7684\u66f4\u65b0","title":"\u66f4\u65b0\u5fc5\u8981\u7684\u7ec4\u4ef6"},{"location":"Usages/initConfig/initConfig/#-","text":"\u70b9\u51fb,\u5f00\u59cb,\u901a\u7528 \u66f4\u6539\u540d\u79f0\u4e3a:\u5cb1\u7279\u667a\u80fd \u5176\u5b83\u7684\u4e0d\u53d8 #### \u914d\u7f6e-\u7f51\u7edc-\u4e3b\u673a\u540d \u628a\u4e3b\u673a\u540d\u914d\u7f6e\u6210\u4e3a\u5c40\u57df\u7f51\u4e2d\u552f\u4e00\u7684,\u5b9e\u9645\u8ba9\u5c31\u662f\u8ba1\u7b97\u673a\u540d,\u56e0\u4e3a\u540c\u4e00\u5c40\u57df\u7f51\u4e2d,\u8ba1\u7b97\u673a\u540d,\u4e0d\u5141\u8bb8\u76f8\u540c","title":"\u914d\u7f6e-\u901a\u7528"},{"location":"Usages/initConfig/initConfig/#-_1","text":"\u52a0\u8f7d\u9879\u4e2d\u6709\u8bb8\u591a\u5fc5\u88c5\u7ec4\u4ef6,\u9700\u8981\u4e00\u4e00\u5b89\u88c5,\u9996\u6b21\u8fdb\u5165\u65f6,\u53ef\u80fd\u4f1a\u663e\u793a\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u4e0b\u89d2\u7684\"\u52a0\u8f7d\u9879\u5546\u5e97\"","title":"\u914d\u7f6e-\u8bbe\u7f6e-\u52a0\u8f7d\u9879"},{"location":"Usages/initConfig/initConfig/#file-editor","text":"File editor \u662f\u4e00\u4e2a\u7528\u4e8e\u4fee\u6539HA\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u5de5\u5177,\u5c5e\u5fc5\u88c5\u9879,\u70b9\u51fb\u5b89\u88c5 \u70b9\u51fb\u5b89\u88c5,\u7cfb\u7edf\u4f1a\u5728\u540e\u53f0\u81ea\u52a8\u5b89\u88c5\u6b64\u63d2\u4ef6, \u5b89\u88c5\u5b8c\u6210\u540e,\u4f1a\u81ea\u52a8\u91cd\u542f \u6709\u65f6\u4e5f\u4f1a\u63d0\u793a\u5b89\u88c5\u5931\u8d25 \u8fd9\u79cd\u7ecf\u67e5\u770b\u65e5\u5fd7 \u591a\u4e3a\u7f51\u5f3a\u884c\u95ee\u9898\u65e0\u6cd5\u8bbf\u95ee.docker.io,\u8fd9\u662f\u56e0\u4e3a\u79d1\u5b66\u4e0a\u98ce\u7684\u539f\u56e0,\u91cd\u70b9\u6392\u67e5\u7f51\u7edc,\u5b89\u88c5\u6210\u529f\u540e,\u518d\u6b21\u8fdb\u5165\u4f1a\u663e\u793a\u5982\u4e0b\u754c\u9762 \u52fe\u9009,\u5f00\u673a\u542f\u52a8,\u81ea\u52a8\u6062\u590d,\u663e\u793a\u4e8e\u4fa7\u8fb9\u680f \u70b9\u51fb\u542f\u52a8,\u6216\u91cd\u542f,\u5c06\u4f1a\u5728\u4fa7\u8fb9\u680f\u770b\u5230\u6b64\u56fe\u6807,\u70b9\u51fb\u6253\u5f00\u7f51\u9875\u754c\u9762 \u80fd\u770b\u5230\u5982\u4e0b\u754c\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u6b64\u65f6\u52a0\u8f7d\u9879\u4e2d,\u5c31\u591a\u51fa\u4e86File editor\u9009\u9879","title":"\u5b89\u88c5File editor"},{"location":"Usages/initConfig/initConfig/#samba-share","text":"Samba share\u63d2\u4ef6\u662f\u4e00\u4e2a\u63d0\u4f9b\u5171\u4eab\u76ee\u5f55\u7684\u65b9\u5f0f\u5141\u884c\u5176\u5b83\u8ba1\u7b97\u673a\u7528\u8fd9\u79cd\u65b9\u5f0f\u67e5\u770b\u7f16\u8f91ha\u7684\u6587\u4ef6\u7684\u7ec4\u4ef6. \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5931\u8d25\u65f6,\u4f1a\u6709\u5982\u4e0b\u63d0\u4e0b\u63d0\u793a \u6253\u5f00\u81ea\u52a8\u6062\u590d \u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5230\u914d\u7f6e\u9009\u9879\u4e2d \u6b64\u5904\u6211\u4eec\u8bbe\u7f6e\u5982\u4e0b\u4fe1\u606f Username:dtuser Password:***** # \u6b64\u5904\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 Workgroup:WORKGROUP # \u4fdd\u6301\u4e0d\u53d8 \u66f4\u6539\u5b8c\u6210\u540e,\u6709\u5982\u4e0b\u914d\u7f6e \u914d\u7f6e \u5b8c\u6210\u540e,\u70b9\u51fb\u542f\u52a8 \u542f\u52a8\u6210\u529f\u540e,\u4f1a\u51fa\u4e0b\u56fe\u663e\u793a \u6b64\u65f6,\u5982\u679c,\u4e0eHA\u5728\u540c\u4e00\u5c40\u57df\u7f51\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u67e5\u770bHA\u7684\u6587\u4ef6\u76ee\u5f55 \u5728\u5730\u5740\u680f\u8f93\u5165\\HA\u7684IP \u8f93\u5165\u9884\u8bbe\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801,\u5373\u53ef\u67e5\u770b,\u7f16\u8f91HA\u7684\u5404\u79cd\u6587\u4ef6\u3002","title":"\u5b89\u88c5Samba share\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#terminal-ssh","text":"Terminal & SSH \u63d2\u4ef6\u4e3aHA\u63d0\u4f9b\u4e86\u5728web\u7aef\u4f7f\u7528\u63a7\u5236\u53f0\u7ec8\u7aef\u529f\u80fd,\u53ca\u5f00\u542f\u4e86ssh\u670d\u52a1,\u4f7f\u4e4b\u53ef\u4ee5\u8fdc\u7a0b\u4f7f\u7528SSH\u8bbf\u95eeHA\u7ec8\u7aef\u3002 \u5728\u641c\u7d22\u4e2d\u8f93\u5165Terminal & SSH \u7ed3\u679c\u6709\u53ef\u80fd\u663e\u793a \u641c\u7d22\u4e0d\u5230\uff0c\u8fd9\u65f6\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u4ed3\u5e93\u6ca1\u6709\u914d\u7f6e\uff0c\u8fd8\u662f\u4f7f\u7528\u7684\u9ed8\u8ba4\u7684\u4ed3\u5e93\uff0c\u6211\u4eec\u53ef\u4ee5\u589e\u52a0\u4e00\u4e0b\u4ed3\u5e93\uff0c\u5982\u4e0b\uff1a https://github.com/AlexxIT/hassio-addons \u70b9\u51fb\u53f3\u4e0a\u89e3\u7684\u4e09\u4e2a\u70b9,\u9009\u4e2d\u4ed3\u5e93 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165,\u6211\u4eec\u8bb0\u5f55\u7684\u4ed3\u5e93\u5730\u5740,\u7136\u540e\u70b9\u6dfb\u52a0 \u5b8c\u6210\u540e,\u70b9\u51fb\u5173\u95ed. \u7136\u540e,\u70b9\u51fb\u8fd4\u56de,\u91cd\u65b0\u641c\u7d22 \u8fd9\u6b21\u627e\u5230\u4e86Advance SSH & Web Terminal \u70b9\u51fb\u5b89\u88c5,\u6253\u5f00\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u5b89\u88c5,\u6709\u65f6\u4f1a\u5b89\u88c5\u5931\u8d25, \u5931\u8d25\u540e,\u9700\u518d\u6b21\u5b89\u88c5,\u540c\u65f6\u68c0\u67e5\u65e5\u5fd7\u4e2d\u63d0\u5230\u7684\u54ea\u4e2a\u7f51\u5740\u65e0\u6cd5\u8bbf\u95ee ,\u628a\u5176\u52a0\u79d1\u5b66\u4e0a\u7f51\u7684\u4ee3\u7406\u540d\u5355\u4e2d. \u5b89\u88c5\u5b8c\u6210\u540e,\u5c31\u53d8\u6210\u5982\u4e0b \u5f00\u542f\u81ea\u52a8\u6062\u5f97,\u663e\u793a\u4fa7\u8fb9\u680f \u63a5\u4e0b\u6765,\u6211\u4eec\u914d\u7f6essh\u7684\u767b\u5f55\u4fe1\u606f,\u5982\u4e0b \u76f8\u5173\u4fe1\u606f\u5982\u4e0b: username:dtuser passsword:**** # \u6b64\u5904\u9700\u8981\u54a8\u8be2\u7ba1\u7406\u5458 \u5176\u5b83\u914d\u7f6e\u9009\u9879\u5982\u4e0b,\u6ce8\u610f\u9009\u9879,\u9009\u9519\u4e86ssh\u53ef\u80fd\u542f\u4e0d\u8d77\u6765,sftp\u5173\u95ed,zsh\u5173\u95ed.compatibility_mode\u8981\u5f00\u542f \u7136\u540e,\u70b9\u51fb\u542f\u52a8\u6309\u94ae \u542f\u52a8\u540e\u5982\u4e0b \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e24\u4e2a\u5730\u65b9\u8fdb\u5165 \u5728\u65e5\u5fd7 \u7aef\u80fd\u770b\u5230 ssh\u5df2\u542f\u52a8\u6210\u529f 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. \u914d\u7f6e\u6210\u529f\u540e,\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u6765\u6d4b\u8bd5\u662f\u5426\u53ef\u4ee5\u8fdc\u7a0bSSH\u8fde\u5165 \u8f93\u5165yes\u540e\u4f1a\u8981\u6c42 \u8f93\u5165\u5bc6\u7801,\u9a8c\u8bc1\u6b63\u786e\u540e,\u4f1a\u8fdb\u5165\u770b\u5230\u5982\u4e2a\u56fe,\u5c31\u8bf4\u660essh\u5df2\u6b63\u5e38\u7684\u5f00\u542f\u6210\u529f\u4e86 \u4ee5\u4e0b\u754c\u9762\u662f\u5728ha\u4e2d\u770b\u5230\u7684\u5185\u7f6e\u7684ssh \u5176\u5b83,\u5f53\u8bbf\u95ee\u4e00\u4e9b\u7cfb\u7edf\u64cd\u4f5c\u65e0\u6743\u9650\u65f6,\u53ef\u4ee5\u5173\u95ed\u4fdd\u62a4\u5f00\u5173","title":"\u5b89\u88c5Terminal &amp; SSH"},{"location":"Usages/initConfig/initConfig/#mosquitto-broker","text":"Mosquitto broker\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u63d2\u4ef6,\u5176\u63d0\u4f9b\u7684MQTT \u670d\u52a1\u4e3a\u516c\u53f8\u5927\u591a\u6570\u6570\u8bbe\u5907\u6298\u96c6\u6210\uff0cmqtt\u901a\u4fe1\u901a\u9053\uff0c\u6240\u4ee5\uff0c\u6b64\u4e3a\u5fc5\u88c5\u63d2\u4ef6\u3002 \u70b9\u51fb\u5b89\u88c5 \u770b\u5230\u5982\u4e0b\u754c\u9762\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff0c \u63a5\u4e0b\u6765\u662f\u914d\u7f6emqtt","title":"\u5b89\u88c5Mosquitto broker"},{"location":"Usages/initConfig/initConfig/#_2","text":"","title":"\u5f00\u542f\u81ea\u52a8\u6062\u590d"},{"location":"Usages/initConfig/initConfig/#mqtt","text":"username:dtuser password:****** #\u6b64\u5904\u7684\u5bc6\u7801\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 \u914d\u7f6e\u5b8c\u6210\u540e,\u542f\u52a8mqtt\u670d\u52a1 \u65e5\u5fd7\u4e2d\u663e\u793a\u5982\u4e0b\u4fe1\u606f,\u8bf4\u660e\u6210\u529f 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: \u251c\u2500\u2500 Username/password checking enabled. 2025-04-17 16:33:29: \u251c\u2500\u2500 TLS-PSK checking enabled. 2025-04-17 16:33:29: \u2514\u2500\u2500 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 <unknown> 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. \u5f53\u6d88\u606f,\u63d0\u793a\u53d1\u73b0\u8bbe\u5907\u65f6,\u70b9\u51fb,\u5f39\u51fa\u7684\u6d88\u606f\u4e2d,\u70b9check it out,\u7136\u540e,\u770b\u5230\u5df2\u53d1\u73b0mqtt,\u70b9\u51fb\u6dfb\u52a0 \u7136\u540e,\u70b9\u51fb\u5b8c\u6210 \u7136\u540e\u5c31\u4f1a\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u96c6\u6210\u4e2d,\u663e\u793aMqtt,\u4ee5\u540e,\u6240\u6709\u589e\u52a0\u7684MQTT\u7c7b\u8bbe\u5907\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8fd9\u4e2a\u7c7b\u522b\u4e2d\u3002","title":"\u914d\u7f6emqtt\u7684\u7528\u6237\u540d\u5bc6\u7801\u53ca\u5b9a\u5236\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#node-red","text":"Node-Red\u63d2\u4ef6\u662f\u6211\u4eec\u96c6\u4e2d\u5404\u79cd\u8bbe\u5907\u7684\u91cd\u8981\u6d88\u606f\u5904\u7406\u8f6c\u6362\u63d2\u4ef6,\u5c5e\u5fc5\u88c5\u63d2\u4ef6. \u5728\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22nod\u663e\u793a\u5982\u4e0b \u70b9\u51fb,\u8fdb\u5165\u8be6\u7ec6\u9875\u9762 \u70b9\u51fb\u5b89\u88c5 \u5982\u679c\u5b89\u88c5\u51fa\u9519,\u591a\u534a\u662f\u79d1\u5b66\u4e0a\u7f51\u7684\u95ee\u9898, \u5982\u73b0\u5982\u4e0b\u9875\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u5f00\u542f\u81ea\u52a8\u6062\u590d,\u5173\u95ed\u4fa7\u8fb9\u680f \u914d\u7f6enod-red \u6b64\u5904\u7684\u914d\u7f6e\u4fe1\u606f\u4e3a username:admin password:**** #\u6b64\u5904\u7684\u5bc6\u7801,\u8bf7\u5411\u7ba1\u7406\u5458\u83b7\u53d6 ### \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5173\u95edssl \u7136\u540e\u542f\u52a8node-red \u70b9\u51fb\u6253\u5f00web-\u9875\u9762\u5982\u4e0b","title":"\u5b89\u88c5Node-RED\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#go2rtc","text":"go2rtc\u63d2\u4ef6\u662f\u4e3a\u4e86\u5bf9\u89c6\u6d41\u8f6c\u53d1\u7528\u7684\u4e13\u7528\u63d2\u4ef6,\u5982\u679c\u60f3\u628a\u76d1\u63a7\u89c6\u9891\u6d41\u63a5\u5165,\u5219\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u63d2\u4ef6,\u5b89\u88c5\u65b9\u6cd5\u662f,\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22go2rtc, \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5b8c\u6210\u540e\u5f00\u542f\u81ea\u52a8\u6062\u590d,\u81ea\u52a8\u66f4\u65b0 \u5176\u8bbe\u7f6e\u4e2d\u57fa\u672c\u6ca1\u4ec0\u4e48\u8981\u6539\u7684.","title":"\u5b89\u88c5go2rtc\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#vlc","text":"\u5728\u52a0\u8f7d\u5546\u5e97\u4e2d\u641c\u7d22vlc \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u6210\u529f\u5982\u4e0b\u6240\u793a \u914d\u7f6e\u4e2d\u57fa\u672c\u6ca1\u8981\u8981\u914d\u7f6e\u7684\u4e1c\u897f","title":"\u5b89\u88c5VLC\u53ef\u4ee5\u64ad\u653e\u89c6\u9891\u7b49\u529f\u80fd,\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u5b89\u88c5"},{"location":"Usages/initConfig/initConfig/#docker-postgresql","text":"\u867d\u7136 Home Assistant OS \u672c\u8eab\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u7cfb\u7edf\u5e95\u5c42\uff0c\u4f46\u5b83\u5185\u7f6e\u4e86 Docker \u652f\u6301\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c PostgreSQL \u7684 Docker \u5bb9\u5668\u3002","title":"\u5229\u7528 Docker \u5b89\u88c5 PostgreSQL"},{"location":"Usages/initConfig/initConfig/#_3","text":"\u786e\u4fdd\u60a8\u6709 SSH \u8bbf\u95ee\u6743\u9650 \u5b89\u88c5 Home Assistant \u7684 SSH & Web Terminal Add-on\uff08\u9ad8\u7ea7\u6a21\u5f0f\uff09\u3002 \u5f00\u542f SSH \u8bbf\u95ee\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u524d\u5f80 Supervisor > Add-on Store \u3002 \u641c\u7d22\u5e76\u5b89\u88c5 SSH & Web Terminal \uff08\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u914d\u7f6e SSH \u63d2\u4ef6\uff0c\u786e\u4fdd protected \u8bbe\u7f6e\u4e3a false \uff0c\u7136\u540e\u542f\u52a8\u5b83\u3002 \u8fd0\u884c PostgreSQL \u5bb9\u5668 \u5728 SSH \u6216 Web Terminal \u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a 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 \u66ff\u6362 **pwd** \u4e3a\u60a8\u60f3\u8981\u8bbe\u7f6e\u7684\u6570\u636e\u5e93\u5bc6\u7801,\u4e9b\u5bc6\u7801,\u9700\u8981\u7ba1\u7406\u5458\u54a8\u8be2 \u6570\u636e\u5e93\u540d\u79f0\u4e3a dtha \uff0c\u7528\u6237\u540d\u4e3a dtuser \u3002 \u6570\u636e\u5c06\u5b58\u50a8\u5728 /mnt/data/supervisor/postgresql \uff0c\u786e\u4fdd\u6570\u636e\u5728\u91cd\u542f\u540e\u4e0d\u4f1a\u4e22\u5931\u3002 \u767b\u5f55ssh,\u5e76\u67e5\u770b\u5df2\u5b89\u88c5\u7684docker\u955c\u50cf\u5982\u4e0b \u5148\u521b\u5efapgsql\u5b58\u50a8\u5377\u9700\u8981\u7684\u76ee\u5f55,\u8fd9\u4e2a\u6211\u4eec\u7edf\u4e00\u5b9a\u4e3a\u5982\u4e0b\u76ee\u5f55,\u5e76\u7ed9777\u6743\u9650 /db/pgsqldata \u5373\u5728\u6839\u76ee\u5f55\u4e0b,\u521b\u5efadb\u76ee\u5f55,\u7136\u540e\u5728db\u76ee\u5f55\u4e2d\u521b\u5efapgsqldata,\u5e76\u7ed9\u8db3\u6743\u9650 / # 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 \u63a5\u4e0b\u6765,\u62c9\u53d6\u955cpgsql\u7684\u955c\u50cf,\u5e76\u6307\u5411/mnt/data/pgsqldata,\u6b64\u5904\u8981\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u76ee\u5f55\u90fd\u6709\u5199\u5165\u6743\u9650,homeAssitant\u4e2d\u5927\u90e8\u4efd\u76ee\u5f55\u90fd\u6ca1\u6709\u5199\u5165\u6743\u9650,\u8981\u6ce8\u610f\u627e\u6709\u5199\u5165\u6743\u9650\u7684\u76ee\u5f55 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7cfb\u7edf\u4f1a\u81ea\u52a8\u62c9\u53d6\u955c\u50cf,\u5e76\u542f\u52a8,\u6b64\u8fc7\u7a0b\u52a1\u5fc5\u4fdd\u8bc1\u79d2\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u5982\u4e0b\u56fe,\u6240\u793a, \u8bf4\u660e\u76ee\u5f55\u6ca1\u6709\u6743\u9650, chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata \u7ed9\u591f\u76ee\u5f55\u6743\u9650\u540e,\u518d\u6b21\u8fd0\u884c,\u5b89\u88c5\u6307\u4ee4 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 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 \u4e0a\u8ff0\u8bf4\u660epgswl\u7684\u5bb9\u5668\u5df2\u7ecf\u5b58\u5728,\u9700\u8981\u5220\u9664 docker stop postgresql docker rm postgresql \u7136\u540e,\u518d\u6b21\u6267\u884c,\u5373\u53ef\u6210\u529f 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7528ps -a \u67e5\u8be2\u4e00\u4e0b,\u5982\u4e0b\u56fe\u6240\u793a,\u8bf4\u660edocker \u542f\u52a8\u6210\u529f, \u4e3a\u4e86\u9a8c\u8bc1\u91cd\u65b0\u542f\u52a8\u540e,pgsql\u5bb9\u5668\u662f\u5426\u542f\u52a8,\u53ef\u4ee5\u91cd\u542f\u540e,\u518d\u6b21\u67e5\u770b\u4e00\u4e0b,\u6b64\u5bb9\u5668\u662f\u5426\u8ddf\u968f\u7cfb\u7edf\u542f\u52a8\u6210\u529f. \u63a5\u4e0b\u6765,\u6211\u4eec\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u4e2d\u627e\u53f0\u673a\u5668\u6765\u505a\u4e00\u4e0b\u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5 \u5982\u4e0a\u56fe,\u8bf4\u660epgsql\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u4e86,\u5e76\u80fd\u6b63\u5e38\u8bbf\u95ee.","title":"\u6b65\u9aa4"},{"location":"Usages/initConfig/initConfig/#homeassistantpgsql","text":"HomeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3asqlite,\u6211\u4eec\u9700\u8981\u628a\u5176\u6362\u6210\u6211\u4eec\u65b0\u5b89\u88c5\u7684pgsql, \u901a\u8fc7\u6211\u4eec\u5b89\u88c5\u7684\u63d2\u4ef6File editor \u6253\u5f00\u914d\u7f6e\u6587\u4ef6 /homeassistant/configruration.yaml \u589e\u52a0recorder\u4e2d\u7684\u914d\u7f6e\u5982\u4e0b \u7136\u540e,\u4fdd\u5b58\u9000\u51fa,\u91cd\u542f,\u770b\u770bha\u6709\u6ed1\u7684\u7ed9\u51fa\u9519\u8bef\u63d0\u793a,\u4e5f\u53ef\u4ee5\u901a\u8fc7,\u8fde\u63a5\u5de5\u5177\u6765\u67e5\u770b,ha\u6709\u6ca1\u6709\u5728\u6570\u636e\u5e93\u4e2d\u5efa\u8868,\u5199\u5165\u6570\u636e \u5982\u4e0a\u56fe,\u8bf4\u660e\u6570\u636e\u5df2\u529f\u529f\u6298\u5199\u5165PGSQL,\u6b64\u65f6\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u5220\u9664\u4e86 \u8fd9\u4e2a\u6587\u4ef6\u662fhomeAssistant\u9ed8\u8ba4\u7684sqlite\u6570\u636e\u5e93\u6587\u4ef6\uff0c\u53ef\u4ee5\u5220\u9664\u4e86\uff0c\u70b9\u53f3\u5219\u7684\u4e09\u4e2a\u70b9\uff0c\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\uff0c\u70b9delete \u70b9\u51fbyes\u786e\u8ba4 \u7136\u540e\u91cd\u542f,\u518d\u6b21\u67e5\u770b,\u662f\u5426\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6, \u5982\u679c\u6ca1\u6709\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6 ,\u8bf4\u660e,\u7cfb\u7edf\u5df2\u7ecf\u5728\u7528pgsql\u4e86","title":"\u66f4\u6539homeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3apgSql"},{"location":"Usages/initConfig/initConfig/#hacs","text":"","title":"\u5b89\u88c5HACS"},{"location":"Usages/initConfig/initConfig/#hacs_1","text":"HACS\uff0c\u5168\u79f0 Home Assistant Community Store\uff08Home Assistant \u793e\u533a\u5546\u5e97\uff09\uff0c\u662f\u4e00\u4e2a\u7528\u4e8e Home Assistant \u7684\u7b2c\u4e09\u65b9\u6269\u5c55\u63d2\u4ef6\u7ba1\u7406\u5668\u3002\u5b83\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65b9\u4fbf\u7684\u65b9\u5f0f\u6765\u5b89\u88c5\u548c\u7ba1\u7406\u793e\u533a\u5f00\u53d1\u7684\u81ea\u5b9a\u4e49\u96c6\u6210\u3001\u63d2\u4ef6\u3001\u4e3b\u9898\u548c\u5176\u4ed6\u6269\u5c55\u7ec4\u4ef6\u3002 \u8fd9\u4e2a\u63d2\u4ef6\u96c6\u4e2d\u4e86\u8bb8\u591a\u5927\u5c4f\u7528\u7684\u4e3b\u9898\u4e0e\u63d2\u4ef6\uff0c\u5c5e\u4e8e\u5fc5\u88c5\u63d2\u4ef6\uff0e","title":"hacs\u7b80\u4ecb"},{"location":"Usages/initConfig/initConfig/#hacs_2","text":"\u8fdb\u5165ssh\u767b \u5f55\u540e,\u8f93\u5165\u5982\u4e0b\u6307\u4ee4 wget -O - https://get.hacs.xyz | bash - \u56de\u8f66\u540e,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0b\u8f7dHACS\uff0c\u5e76\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55\uff0c\u4e14\u63d0\u793a\u91cd\u542f\uff0c\u6211\u4eec\u6309\u8981\u6c42\u91cd\u542f\uff0c\u5373\u53ef\u3002","title":"\u5b89\u88c5hacs"},{"location":"Usages/initConfig/initConfig/#hacs_3","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u9700\u8981\u5728 Home Assistant \u7684\u754c\u9762\u4e2d\u542f\u7528 HACS\uff1a \u6253\u5f00 Home Assistant UI\u3002 \u70b9\u51fb \u8bbe\u7f6e > \u8bbe\u5907\u4e0e\u670d\u52a1 > \u96c6\u6210 \u3002 \u70b9\u51fb\u53f3\u4e0b\u89d2 \u6dfb\u52a0\u96c6\u6210 \u3002 \u641c\u7d22\u5e76\u9009\u62e9 HACS \uff0c\u7136\u540e\u6309\u7167\u5c4f\u5e55\u4e0a\u7684\u63d0\u793a\u5b8c\u6210\u8bbe\u7f6e\u3002 \u70b9\u51fb\u540e,\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d,\u5168\u6253\u52fe,\u70b9\u63d0\u4ea4 \u5f15\u65f6,\u5f39\u51fa\u65b0\u7684\u7a97\u53e3,\u9a8c\u8bc1github\u6388\u6743 \u70b9\u51fb\u8fd9\u4e2agithub\u94fe\u63a5,\u5e76\u8bb0\u4f4f\u4e0b\u65b9\u7684\u6388\u6743\u7801\u540e\u9762\u4f1a\u7528\u5230 \u5728\u5f39\u51fa\u7684\u9875\u9762\u4e2d,\u8f93\u5165,\u8bb0\u4f4f\u7684\u6388\u6743\u7801,\u70b9Continue \u63d0\u793a\u5177\u4f53\u7684\u6388\u6743\u5bf9\u50cf\u4e3ahacs,\u70b9\u51fbAutuorize hacs \u6388\u6743\u6210\u529f \u8fd4\u56dehacs\u540e,\u63d0\u793a\u6210\u529f,\u5e76\u663e\u793a\u5df2\u53d1\u73b0\u5982\u4e0b\u8bbe\u5907,hacs,\u9009\u62e9\u533a\u57df,\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e2a\u533a\u57df,\u7136\u540e\u70b9\u5b8c\u6210 \u770b\u5230\u5982\u4e0b\u754c\u9762hacs\u5c31\u5b89\u88c5\u597d\u4e86 \u70b9\u51fb\u914d\u7f6e,\u542f\u7528App Daemon apps discovery & tgracking. \u4ee5\u4e0a\u914d\u7f6e \u5b8c\u6210\u540e,\u91cd\u65b0\u542f\u52a8HA\uff0c\u5219\u53ef\u4ee5\u5728\u5de6\u4fa7\u680f\u4e2d\u627e\u5230HACS\u83dc\u5355\u4e86","title":"\u542f\u7528HACS"},{"location":"Usages/initConfig/initConfig/#homeassistantlogo","text":"homeAssistant \u5de6\u4e0a\u89d2\u9ed8\u8ba4\u7684\u6807\u9898\u4e3a Home Assistant \u6211\u4eec\u5e0c\u671b\u6539\u6210\u81ea\u5df2\u7684\u6807\u8bc6\u5982:\u5cb1\u7279\u667a\u80fd","title":"\u66f4\u6539HomeAssistant\u5de6\u4e0a\u89d2LOGO\u6807\u9898"},{"location":"Usages/initConfig/initConfig/#hass-faviconreleases","text":"\u70b9\u51fb\u94fe\u63a5 ,\u5230\u5176github\u7684\u5b98\u65b9\u9875\u9762 \u4e0b\u8f7d\u5176\u6e90\u7801","title":"\u4e0b\u8f7d\u7b2c\u4e09\u65b9\u63d2\u4ef6hass-favicon\u7684Releases\u5230\u672c\u5730\u76ee\u5f55"},{"location":"Usages/initConfig/initConfig/#_4","text":"","title":"\u89e3\u538b\u4e0b\u8f7d\u7684\u6e90\u7801"},{"location":"Usages/initConfig/initConfig/#ha","text":"\u6253\u5f00\u6e90\u7801\u76ee\u5f55,\u8fdb\u5165custom_commponents\u76ee\u5f55,\u628afavicon\u76ee\u5f55\u6574\u4f53\u590d\u5236 \u7136\u540e,\u8fdb\u5165ha\u7684config-custom_compoents\u76ee\u5f55\u7c98\u8d34,\u590d\u5236\u5230\u7684favicon \u7136\u540e\u521b\u5efa\u76ee\u5f55 \\\\ha-o[\\config\\www\\favicons \u5e76\u628a\u80dc\u900f\u7684logo\u6587\u4ef6st-logo.,png\u653e\u5230\u76ee\u5f55\u4e2d \u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u5185\u5bb9 \u7136\u540e,\u91cd\u542fHomeAssistant\u5373\u53ef \u91cd\u542f\u540e,\u5de6\u4e0a\u811a\u7684LOGO\uff0c\u5df2\u53d8\u4e3a\u5cb1\u7279\u667a\u80fd.","title":"\u5c06\u63d2\u4ef6\u590d\u5236\u5230ha\u4e0a"},{"location":"Usages/initConfig/initConfig/#_5","text":"\u7c73\u5bb6\u96c6\u6210\u662f\u4e00\u4e2a\u7531\u5c0f\u7c73\u5b98\u65b9\u63d0\u4f9b\u652f\u6301\u7684 Home Assistant \u7684\u96c6\u6210\u7ec4\u4ef6\uff0c\u5b83\u53ef\u4ee5\u8ba9\u60a8\u5728 Home Assistant \u4e2d\u4f7f\u7528\u5c0f\u7c73 IoT \u667a\u80fd\u8bbe\u5907\u3002 \u8fd9\u4e2a\u63d2\u4ef6,\u53ef\u4ee5\u76f4\u63a5\u628a\u6240\u6709\u5c0f\u7c73\u7684\u5404\u79cd\u4f20\u611f\u5668\u96c6\u6210\u5230HomeAssistant\u4e2d,\u6240\u4ee5\u8fd9\u4e2a\u662f\u5fc5\u88c5\u63d2\u4ef6. \u5176\u5b98\u65b9\u4ed3\u5e93\u5730\u5740\u4e3a: Xiaomi Home Integration for Home Assistant https://github.com/XiaoMi/ha_xiaomi_home \u5176\u5b89\u88c5\u65b9\u6cd5\u6709\u4e09\u79cd,\u6211\u4eec\u4e3a\u4e86\u65b9\u4fbf\u9009\u62e9\u7b2c\u4e00\u79cd,\u5176\u5b83\u4e24\u79cd\u65b9\u6cd5,\u53ef\u4ee5\u81ea\u884c\u5c1d\u8bd5.\u5b98\u65b9\u63cf\u8ff0\u7684\u65b9\u88c5\u4e3b\u5f0f\u5982\u4e0b: cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config \u5176\u4e5f\u63d0\u4f9b \u4e2d\u6587\u7684\u5b89\u88c5\u8bf4\u660e","title":"\u5b89\u88c5\u7c73\u5bb6\u96c6\u6210\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#_6","text":"\u9996\u5148,\u767b\u5f55SSH.\u7136\u540e\u8fdb\u5165config\u76ee\u5f55 \u5148\u62c9\u53d6\u4ee3\u7801 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. \u7136\u540e,\u518d\u5207\u6362\u5230ha_xiaomi_home\u76ee\u5f55 cd ha_xiaomi_home \u7136\u540e\u6267\u884c\u5b89\u88c5\u6307\u4ee4 ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. \u5b89\u88c5\u5b8c\u6210,\u63d0\u793a\u9700\u8981\u91cd\u542f.","title":"\u5b89\u88c5"},{"location":"Usages/initConfig/initConfig/#_7","text":"\u5728\u91cd\u65b0\u542f\u52a8\u540e,\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210\u4e2d,\u641c\u7d22\u201c Xiaomi Home \u201d \u70b9\u51fb,\u4f1a\u63d0\u793a\u98ce\u9669\u63d0\u793a \u52fe\u9009,\u6211\u77e5\u6089,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u4f1a\u8fdb\u5165\u57fa\u7840\u914d\u7f6e\u9875\u9762,\u5982\u4e0b\u56fe \u52fe\u9009\u96c6\u6210\u7f51\u7edc\u914d\u7f6e,\u540c\u86d9,\u6ce8\u610f\u4e00\u4e0b,\u8ba4\u8bc1\u8df3\u8f6c\u5730\u5740,\u6b64\u5904\u663e\u6b3e\u4e3ahttp://homeassistant.lcaol:8123,\u8fd9\u4e2a\u5730\u5740,\u4f30\u8ba1\u4e0d\u53ef\u80fd\u901a\u8fc7,\u53ea\u56e0\u4e3a\u6211\u4eec\u662f\u5728\u5c40\u57df\u7f51\u5176\u5b83\u673a\u5668\u64cd\u4f5c\u8fd9\u4e00\u6b65\u7684,\u5b9e\u9645\u4e0a\u6211\u4eec\u7684\u5730\u5740,\u5e94\u662f\u5730\u5740\u680f\u4e2d\u6298\u5b9e\u9645\u5730\u5740,\u5982\u4e0a\u56fe,\u6211\u4eec\u7684\u8ba4\u8bc1\u5730\u5740\u662f:http://192.168.3.2:8123, \u5728\u4e0b\u4e00\u6b65\u8df3\u8f6c\u8f6c\u5c0f\u7c73\u540e,\u6253\u5f00\u7684\u7f51\u5740\u65f6,\u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u4f30\u8ba1\u662f\u6253\u4e0d\u5f00\u7684,\u9700\u8981\u628a\u90a3\u4e2a\u5730\u5740\u7684\u524d\u534a\u6bb5,\u6362\u6210\u8fd9\u4e2a\u5b9e\u9645\u5730\u5740. \u70b9\u51fb\u4e0b\u4e00\u6b65, \u6b64\u5904\u4e3a\u68c0\u6d4b\u7f51\u7edc,\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u65f6,\u624d\u80fd\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5f53\u5f39\u51fa\u5982\u4e0b\u754c\u9762\u65f6,\u8bf4\u660e\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u4e86, \u70b9\u51fb,\"\u8bf7\u70b9\u6b64\u5904\u8fdb\u884c\u767b\u5f55\", \u6b64\u65f6,\u8df3\u8f6c\u5230\u5c0f\u7c73\u6298\u8ba4\u8bc1\u7f51\u9875,\u6b64\u65f6\u8f93\u5165\u6b63\u786e\u7c73\u5bb6\u5e10\u53f7\u4e0e\u5bc6\u7801,\u70b9\u767b\u5f55 \u5f39\u51fa \u53cb\u60c5\u63d0\u793a,\u70b9\u51fb,\u540c\u610f\u5e76\u7ee7\u7eed \u5c0f\u7c73\u7684\u5b89\u5168\u9a8c\u8bc1,\u70b9\u4e0b\u4e00\u6b65, \u70b9\u51fb \u53d1\u9001\u9a8c\u8bc1\u7801 \u8f93\u5165\u9a8c\u8bc1\u7801\u540e,\u70b9\u786e\u5b9a \u8df3\u8f6c\u5230\u4e86\u8ba4\u8bc1\u7a97\u53e3,\u4f46\u662f\u5374\u662f\u65e0\u65b9\u8bbf\u95ee\u6b64\u9875\u9762,\u8bf4\u660e\u8ba4\u8bc1\u5730\u5740,\u9519\u4e86,\u6211\u4eec\u9700\u8981\u628a\u5b83\u6362\u6210\u6211\u4eec\u6b63\u786e\u7684HA\u5730\u5740\uff1ahttp://192.168.3.2:8123,\u5982\u4e0b\u56fe\u6240\u793a \u624b\u5de5\u5c06\u6b63\u786e\u7684\u5730\u5740\u66ff\u6362\u5730\u5740\u5934\u90e8\u540e,\u56de\u8f66,\u6253\u5f00\u8fd9\u4e2a\u5730\u5740,\u7c7b\u4f3c\u5982\u4e0b\u683c\u5f0f: http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 \u5982\u679c,\u7528\u4e0a\u8ff0\u65b9\u5f0f,\u4ecd\u7136\u4e0d\u80fd\u8bbf\u95ee,\u5219\u53ef\u7528\u5982\u4e0b\u65b9\u6cd5,\u66f4\u6539host\u6587\u4ef6,\u5f3a\u884c\u6307\u5b9a\u672c\u5730DNS,\u6307\u5411homeassistant.local,\u65b9\u6cd5\u5982\u4e0b: \u4fee\u6539 Windows hosts \u6587\u4ef6\u7684\u65b9\u6cd5 \u4f7f\u7528\u7ba1\u7406\u5458\u8eab\u4efd\u7528\u8bb0\u4e8b\u672c\u6253\u5f00\u5982\u4e0b\u6587\u4ef6 :C:\\Windows\\System32\\drivers\\etc\\hosts \u5728\u6700\u540e\u4e00\u884c\u589e\u52a0 192.168.3.2 homeassistant.local \u5982\u4e0b\u56fe \u7136\u540e,\u518d\u91cd\u65b0\u8bd5\u8fc7\u4e00\u6b21 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd,\u5c31\u4f1a\u81ea\u52a8\u8ba4\u8bc1\u901a\u8fc7 \u53ef\u4ee5\u6839\u636e\u63d0\u793a\u81ea\u52a8\u9009 \u5219\u623f\u95f4\u540c\u6b65\u6a21\u5f0f,\u8fd9\u4e2a\u8981\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u5c06\u63d0\u793a\u63d2\u4ef6\u96c6\u6210\u6210\u529f.\u5982\u4e0b\u793a\u610f\u56fe \u770b\u5230\u5982\u4e0b\u56fe,\u5c31\u8bf4\u660e\u96c6\u6210\u5b8c\u6210\u4e86 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u6982\u89c8\u4e2d,\u5c31\u5df2\u7ecf\u81ea\u52a8\u589e\u52a0\u4e86\u8bb8\u591a\u8bbe\u5907.","title":"\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#webrtc-camera","text":"WebRTC camera\u63d2\u4ef6\u4ee5\u5b9e\u73b0\u9891\u6d41\u64ad\u653e.\u5982\u679cha\u8981\u63a5\u5165\u89c6\u9891\u76d1\u63a7,\u5219\u9700\u8981\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6, \u4ed3\u5e93\u5730\u5740 : https://github.com/AlexxIT/WebRTC \u8fd9\u4e2a\u63d2\u4ef6\u4e5f\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u6cd5,hacs\u5b89\u88c5,\u76f4\u63a5\u590d\u5236\u7b49\u65b9\u6cd5,\u56e0\u4e3a\u4e0a\u6587,\u6211\u4eec\u5df2\u7ecf\u5b89\u88c5\u8fc7\u4e86HACS\u63d2\u4ef6\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u4f7f\u7528HACS\u65b9\u5f0f\u5b89\u88c5\u3002 \u70b9\u51fb\u540e\uff0c\u5f39\u51fa\u5982\u4e0b\u9875\u9762 \u70b9\u51fbDownLoad\u6309\u94ae \u70b9\u51fbDownLoad \u5f53\u7136,\u6211\u4eec\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u6298\u7248\u672c \u5f53\u5f39\u51fa\u7a97\u53e3\u81ea\u52a8\u6d88\u5931,\u70b9\u51fb\u4e0a\u65b9\u7684\u8fd4\u56de( \u6ce8\u610f:\u4e0d\u4f1a\u81ea\u52a8\u8fd4\u56de,\u987b\u4eba\u5de5\u8fd4\u56de ),\u8fd4\u56de\u5982\u4e0b\u56fe \u770b\u5230\u4e0a\u65b9\u7684\u7b49\u5f85\u91cd\u542f,\u8bf4\u660e\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\u4e0a,\u9700\u8981\u91cd\u542f,\u6211\u4eec\u6267\u884c\u91cd\u542f. \u91cd\u542f\u5b8c\u6210\u540e,\u4f1a\u770b\u5230,Downloaded\u4e2d\u5df2\u7ecf\u663e\u793a,\u4e86\u5b89\u88c5\u6210\u529f\u6298WebRTC Camera\u7ec4\u4ef6. \u7136\u540e,\u8fdb\u5165\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210,\u641c\u7d22WebRTC \u70b9\u51fbWebRtc Camera \u5f39\u51fago2rtc url\u5730\u5740\u7a97\u53e3,\u6b64\u63d2\u4ef6,\u6211\u4eec\u4e4b\u524d\u5df2\u88c5\u8fc7,\u5c31\u5728\u672c\u673a,\u6240\u5730\u5740\u4e0d\u7528\u6539,\u76f4\u63a5\u70b9\u63d0\u4ea4 \u70b9\u5b8c\u6210.WebRTC\u5b89\u88c5\u6210\u529f.\u5982\u4e0b\u56fe\u6240\u793a \u4e3a\u4e86\u6f14\u793a\u5982\u4f55\u663e\u793a\u76d1\u63a7\u89c6\u9891,\u6211\u4eec\u65b0\u589e\u52a0\u4e00\u4e2asample\u7684\u4eea\u8868\u76d8. \u70b9\u51fb,\u6dfb\u52a0\u4eea\u8868\u76d8 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d,\u8f93\u5165\u4eea\u8868\u76d8\u6807\u9898 \u8fd9\u6837\u6211\u6837\u5c31\u589e\u52a0\u4e86\u4e00\u4e2a\u4eea\u8868\u76d8dashboard-sampale,\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u4eea\u8868\u76d8\u4e2d\u589e\u52a0\u6f14\u793a\u7528\u7684\u7ec4\u4ef6,\u6b64\u5904,\u6211\u4eec\u60f3\u589e\u52a0\u4e00\u4e2a\u6f14\u793a\u7528\u7684\u76d1\u63a7\u6444\u50cf\u5934.\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7f16\u8f91\u6309\u94ae. \u70b9\u51fb\u521b\u5efa\u4e00\u4e2a\u7ec4\u4ef6 \u7136\u540e,\u65b0\u5efa\u5361\u7247,\u9009\u62e9\u81ea\u5b9a\u4e49WebRTC\u5361\u7247,\u5982\u679c\u6ca1\u6709\u8fd9\u4e2a\u7ec4\u4ef6,\u5219\u9700\u8981\u5237\u65b0\u51e0\u6b21,\u5c31\u80fd\u770b\u5230\u8fd9\u4e2a\u7ec4\u4ef6. \u6211\u6837\u5728\u5361\u7247\u8bbe\u7f6e\u4e2d\u8f93\u5165url\u7684\u89c6\u9891\u6d41\u5730\u5740 type: custom:webrtc-camera url: \"rtsp://admin:Camera_data2018@192.168.50.131:554/stream2\"","title":"\u5b89\u88c5WebRTC Camera"},{"location":"Usages/initConfig/initConfig/#motioneye","text":"motionEye \u662f\u4e00\u4e2a\u6d41\u884c\u7684\u6444\u50cf\u5934\u8f6f\u4ef6\uff08\u79f0\u4e3a motion\uff09\u7684\u524d\u7aef\u3002\u672c\u63d2\u4ef6\u540c\u65f6\u63d0\u4f9b\u4e86\u524d\u7aef\u548c\u6444\u50cf\u5934\u8f6f\u4ef6\uff0c\u8ba9\u60a8\u53ef\u4ee5\u5c06\u6444\u50cf\u5934\u6dfb\u52a0\u5230 Hass.io \uff08Home Assistant\uff09\u7cfb\u7edf\u4e2d\u3002 motionEye \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u95ed\u8def\u7535\u89c6\uff08CCTV\uff09\u548c\u7f51\u7edc\u89c6\u9891\u5f55\u50cf\u673a\uff08NVR\uff09\uff0c\u5b83\u8bbe\u8ba1\u4f18\u96c5\u4e14\u975e\u5e38\u6613\u4e8e\u4f7f\u7528\u3002\u5b83\u53ef\u4ee5\u7528\u4f5c\u5a74\u513f\u76d1\u89c6\u5668\u3001\u5efa\u7b51\u5de5\u5730\u76d1\u63a7\u3001\u5546\u5e97\u6444\u50cf\u5934\u5f55\u50cf\u673a\u3001\u82b1\u56ed\u5b89\u9632\u7b49\u3002","title":"\u5b89\u88c5motionEye"},{"location":"Usages/initConfig/initConfig/#motioneye_1","text":"\u652f\u6301\u5927\u91cf\u6444\u50cf\u5934\uff0c\u5305\u62ec IP \u6444\u50cf\u5934\u3002 \u53ef\u4ee5\u901a\u8fc7\u5c06\u591a\u4e2a motionEye \u5b9e\u4f8b\u8fde\u63a5\u5728\u4e00\u8d77\u6dfb\u52a0\u591a\u4e2a\u6444\u50cf\u5934\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5728\u7f51\u7edc\u4e2d\u4f7f\u7528\u8fd0\u884c MotionEyeOS \u7684 Pi Zero \u548c Pi \u6444\u50cf\u5934\u3002 \u652f\u6301\u5c06\u5f55\u50cf\u4e0a\u4f20\u5230 Google Drive \u548c Dropbox\u3002 \u652f\u6301\u8fd0\u52a8\u68c0\u6d4b\uff0c\u5305\u62ec\u90ae\u4ef6\u901a\u77e5\u548c\u8ba1\u5212\u4efb\u52a1\u3002 \u53ef\u4ee5\u8fde\u7eed\u5f55\u50cf\u3001\u8fd0\u52a8\u5f55\u50cf\u6216\u5ef6\u65f6\u5f55\u50cf\uff0c\u5e76\u652f\u6301\u4fdd\u7559\u8bbe\u7f6e\u3002 \u652f\u6301\u914d\u7f6e\u4e2d\u7684\u201c\u64cd\u4f5c\u6309\u94ae\u201d\u3002","title":"motionEye \u7684\u4e00\u4e9b\u7279\u70b9\uff1a"},{"location":"Usages/initConfig/initConfig/#_8","text":"\u5728\u8bbe\u7f6e-\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22\"motionEye\", \u70b9\u51fb\u67e5\u770b\u8be6\u60c5\u9875,\u5e76\u5b89\u88c5 motioneye\u9ed8\u8ba4\u7684\u7528\u6237\u540d\u4e3aadmin,\u5bc6\u7801\u4e3a\u7a7a.","title":"\u5b89\u88c5\u65b9\u6cd5"},{"location":"Usages/initConfig/installHacs/","text":"","title":"installHacs"},{"location":"Usages/netconfig/netconfig/","text":"\u914d\u7f6e\u7f51\u7edc \u00b6 \u516c\u53f8\u4f7f\u7528\u7684X86\u5c0f\u5de5\u63a7\u673a,\u5927\u591a\u6709\u591a\u4e2a\u7f51\u5361,\u4e00\u822c\u4e00\u4e2a\u65e0\u7ebf\u7f51\u5361,\u4e24\u4e2a\u6709\u7ebf\u7f51\u5361.\u591a\u6570\u60c5\u51b5\u4e0b,\u6211\u4eec\u53ef\u80fd\u662f\u4f7f\u7528\u7684WIFI\u7f51\u7edc\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\uff0c\u6709\u65f6\u4e3a\u4e86HA\u63d0\u4f9b\u7684\u670d\u52a1\u6298\u7a33\u5b9a\u6027\uff0c\u6211\u4eec\u5c3d\u91cf\u4f7f\u7528LAN\u7ebf\u7f51\u7edc\uff0c\u907f\u514d\u65e0\u7ebf\u7f51\u4fe1\u53f7\u8d28\u91cf\u7684\u95ee\u9898\u3002\u6240\u4ee5\u5c31\u6d89\u53ca\u5230\u914d\u7f51\u7684\u95ee\u9898\u3002 HomeAssistant\u7684\u7f51\u7edc\u914d\u7f6e,\u5728\u7cfb\u7edf\u6ca1\u6709\u5b89\u88c5\u6210\u529f\u4e4b\u524d,\u4e0d\u80fd\u901a\u8fc7web\u8fdb\u5165\u7f51\u9875\u754c\u9762\u65f6,\u914d\u7f6e\u7f51\u7edc\u53ea\u80fd\u901a\u8fc7\u81ea\u5e26\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4\u6765\u8fdb\u884c. \u719f\u6089\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4 \u00b6 HomeAssistant Cli \u63d0\u4f9b\u4e86\u9ed8\u4fe1\u6298network\u914d\u7f6e\u547d\u4ee4\u5982\u4e0b: ha netWork Useage: ha network [command] Examples: ha network info ha network interface options Available Commands: info Shows information about the host network reload Reload Network information the host scan Scan for Access Points on a wireless interface. update Update settings of a network interface vlan Create a new VLAN on an ethernet interface Flags: -h, --help help for network Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is'supervisor') --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API Use \"ha network [command] --help\" for more information about a command. \u8fd9\u4e2aha network\u547d\u4ee4,\u5927\u7ea6\u5982\u4e0b\u51e0\u4e2a\u529f\u80fd info \u663e\u793a\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f reload \u91cd\u65b0\u52a0\u8f7d\u7f51\u7edc scan \u626b\u63cf\u7f51\u7edc update \u914d\u7f6e\u7f51\u7edc \u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u65f6,\u53ef\u4ee5\u4f7f\u7528\u5176\u7b80\u5199,\u6bd4\u5982\u7701\u53bb\u524d\u9762\u7684ha,\u8fd8\u53ef\u4ee5\u7701\u53bb\u540e\u9762\u7684work \u6bd4\u5982,\u6211\u4eec\u60f3\u67e5\u770b\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f,\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c net info \u8fd9\u6761\u547d\u4ee4\u5c31\u4f1a\u628a\u6240\u6709\u7684\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\u5168\u90e8\u663e\u793a\u51fa\u6765,\u53ea\u662f\u5982\u679c\u7f51\u5361\u8f83\u591a,\u6211\u4eec\u6ca1\u6709\u6cd5\u5728\u4e00\u5c4f\u5168\u90e8\u9605\u8bfb\u5b8c,\u6240\u4ee5\u8fd9\u5c31\u5f15\u53d1\u53e6\u4e00\u4e2a\u95ee\u9898.netwrok\u6240\u6709\u7684\u5b50\u547d\u4ee4,\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u6216\u5fc5\u987b\u8ddf\u7740\u64cd\u4f5c\u5bf9\u50cf\u6765\u8fdb\u884c\u7684,\u5177\u4f53\u7684\u5c31\u662f,\u64cd\u4f5c\u6216\u663e\u793a\u54ea\u4e2a\u7f51\u5361\u63a5\u53e3.\u4e00\u822c\u60c5\u51b5\u4e0b\u662f\u5982\u4e0b\u578b\u5f0f net [command] [interface] \u5373 net [\u5b50\u547d\u4ee4] [\u7f51\u5361\u540d\u79f0] \u90a3\u4e48\u5982\u4f55\u67e5\u770b\u7f51\u5361\u540d\u79f0\u5462,\u5728haos \u7684cli\u63a7\u5236\u53f0\u754c\u9762,\u4efb\u610f\u65f6\u95f4,\u540c\u65f6\u6309\u4e0b ctrl+c \u540e,ha\u7684\u754c\u9762\u8fd4\u56de\u5230\u5f85\u673a\u754c\u9762,\u5982\u4e0b\u56fe\u6240\u793a. \u56fe\u4e2d\u5171\u663e\u793a\u4e86\u4e09\u4e2a\u7f51\u5361\u63a5\u53e3: wlp3s0 \u8fd9\u4e2a\u662f\u65e0\u7ebf\u7f51\u5361\u63a5\u53e3\u7684\u540d\u79f0,\u4e00\u822c\u60c5\u51b5\u4e0bw\u5b57\u7b26\u6253\u5934\u7684\u6211\u4e3a\u65e0\u7ebf\u7f51\u5361 enp2s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA1,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 enp4s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA2,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 \u67e5\u770b\u5230\u4e86\u8fd9\u4e09\u4e2a\u7f51\u5361\u540d\u79f0,\u6211\u4eec\u5c31\u53ef\u4ee5\u5bf9\u7f51\u5361\u8fdb\u884c\u67e5\u770b\u4fe1\u606f\u914d\u7f6e\u7b49. \u5bf9\u6709\u521d\u88c5\u7684HAOS\u8fd8\u6709\u51c6\u5907\u8fdb\u884cUdate\u7684\u5c0f\u4e3b\u673a,\u6700\u597d,\u5c31\u662f\u5728\u8def\u7531\u5668\u7aef \u9ed8\u8ba4\u63d0\u4f9b\u79d1\u5b66\u4e0a\u7f51 ,\u5426\u5219\u5728\u65b0\u5b89\u88c5\u6298\u521d\u59cb\u5316\u90a3\u91cc\u5c31\u4f1a\u88ab\u6c38\u8fdc\u5361\u4f4f,\u65e0\u6cd5\u5b89\u88c5\u6210\u529f,\u5982\u679c\u662f\u81ea\u52a8\u66f4\u65b0,\u90a3\u4e48\u5c06\u4f1a\u66f4\u65b0\u5931\u8d25. \u914d\u7f6e\u7f51\u7edc \u00b6 \u4e00\u822c\u60c5\u51b5\u4e0b,\u5bf9\u4e8eenp2s0,enp4s0,\u5982\u679c\u8def\u7531\u5668\u7aef\u63d0\u4f9b\u4e86\u81ea\u52a8\u83b7\u53d6IP\u5730\u5740\u529f\u80fd\uff0c\u5219\u65e0\u9700\u914d\u7f6e\uff0c\u7f51\u7ebf\u63d2\u5165\u5373\u53ef\u4f7f\u7528\u3002 \u4f46\u662f\u5bf9\u4e8e\u6bd4\u8f83\u590d\u6742\u7684\u7f51\u7edc\u5219\u9700\u8981\u914d\u7f6e\uff0c\u540c\u6837\uff0c\u5982\u679c\u60f3\u4f7f\u7528wifi\u7f51\u7edc,\u4e5f\u9700\u8981\u914d\u7f6e . \u914d\u7f6e\u7f51\u7edc\u7684\u547d\u4ee4\u5982\u4e0b: ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled Disable interface -h, --help help for update --ipv4-address stringArray IPv4 address for the interface in the 192.168.1.5/24 --ipv4-gateway string The IPv4 gateway the interface should use --ipv4-method string Method on IPv4: static|auto|disabled --ipv4-nameserver stringArray IPv4 address of upstream DNS servers. Use multiple times for multiple servers. --ipv6-address stringArray IPv6 address for the interface in the 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string The IPv6 gateway the interface should use --ipv6-method string Method on IPv6: static|auto|disabled --ipv6-nameserver stringArray IPv6 address for upstream DNS servers. Use multiple times for multiple servers. --wifi-auth string Used authentication: open, wep, wpa-psk --wifi-mode string Wifi mode: infrastructure, adhoc, mesh or ap --wifi-psk string Shared authentication key for wep or wpa --wifi-ssid string SSID for wifi connection Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is `supervisor`) --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API \u8fd9\u6761\u547d\u4ee4ha network update [interface] [flags],\u63d0\u4f9b\u4e86\u5f88\u591a\u529f\u80fd,\u5b83\u53ef\u4ee5\u914d\u7f6ewif\u7f51\u7edc,\u53ef\u4ee5\u5bf9\u6307\u5b9a\u7684\u7f51\u5361\u914d\u7f6eip4/6\u7684IP\u5730\u5740\uff0c\u7f51\u5173\uff0c\u662f\u5426\u542f\u7528\u7b49.\u56e0\u6b64\u53ef\u4ee5\u5728\u5b9e\u9645\u5de5\u4f5c\u4e2d\u7075\u6d3b\u4f7f\u7528. \u5177\u4f53\u7528\u6cd5\u7b80\u8bd1\u5982\u4e0b ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled \u7981\u7528\u63a5\u53e3 -h, --help \u663e\u793a\u66f4\u65b0\u7684\u5e2e\u52a9\u4fe1\u606f --ipv4-address stringArray \u63a5\u53e3\u7684 IPv4 \u5730\u5740\uff0c\u4f8b\u5982 192.168.1.5/24 --ipv4-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv4 \u7f51\u5173 --ipv4-method string IPv4 \u65b9\u6cd5: static|auto|disabled --ipv4-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv4 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --ipv6-address stringArray \u63a5\u53e3\u7684 IPv6 \u5730\u5740\uff0c\u4f8b\u5982 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv6 \u7f51\u5173 --ipv6-method string IPv6 \u65b9\u6cd5: static|auto|disabled --ipv6-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv6 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --wifi-auth string \u4f7f\u7528\u7684\u8ba4\u8bc1\u65b9\u5f0f: open, wep, wpa-psk --wifi-mode string WiFi \u6a21\u5f0f: infrastructure, adhoc, mesh \u6216 ap --wifi-psk string WEP \u6216 WPA \u7684\u5171\u4eab\u8ba4\u8bc1\u5bc6\u94a5 --wifi-ssid string WiFi \u8fde\u63a5\u7684 SSID Global Flags: --api-token string Home Assistant Supervisor API \u4ee4\u724c --config string \u53ef\u9009\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff08\u9ed8\u8ba4\u503c\u4e3a $HOME/.homeassistant.yaml\uff09 --endpoint string Home Assistant Supervisor \u7684\u7aef\u70b9\uff08\u9ed8\u8ba4\u503c\u4e3a `supervisor`\uff09 --log-level string \u65e5\u5fd7\u7ea7\u522b\uff08\u9ed8\u8ba4\u503c\u4e3a Warn\uff09 --no-progress \u7981\u7528\u8fdb\u5ea6\u6761 --raw-json \u4ee5\u539f\u59cb JSON \u683c\u5f0f\u8f93\u51fa API \u6570\u636e FATA[0000] Error while executing rootCmd: accepts 1 arg(s), received 0 \u4e0b\u9762,\u6211\u4eec\u5c31\u4ee5\u914d\u7f6ewifi\u8054\u63a5\u5230\u7f51\u7edc\u4e3a\u4f8b\u8bf4\u660e\u4e00\u4e0b: \u6bd4\u5982\u6211\u4eec\u9ed8\u8ba4\u7684WIFI\u70ed\u70b9\u5982\u4e0b: wifi info: ssid:DT_IoT_GateWay passWord:HnczjTyrb0 \u90a3\u6839\u636e\u6211\u4eec\u4e0a\u6587\u67e5\u770b\u5230\u7684\u65e0\u7ebf\u7f51\u5361\u7684\u540d\u79f0: wlp3s0 \u6211\u4eec\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u547d\u4ee4,\u6765\u8ba9haos\u5c0f\u5de5\u63a7\u673a\u8054\u4e0awifi\u7f51\u7edc: ha network update wlp3s0 --wifi-auth wpa-psk --wifi-psk \"HmczjTYrb0\" --wifi-mode infrastructure --wifi-ssid \"DT_IoT_GateWay\" --ipv4-method auto --ipv6-method disabled \u8fd9\u6761\u547d\u4ee4\u89e3\u91ca\u5982\u4e0b: \u6307\u5b9awifi\u7684\u5bc6\u7801\u65b9\u5f0f\u4e3a:wpa-psk (--wifi-auth wpa-psk). \u6307\u5b9awif\u7684\u5bc6\u7801\u4e3a:HnczjTyrb0 (--wifi-psk \"HmczjYrb0\"). \u6307\u5b9a\u7f51\u5361\u63a5\u53e3\u6a21\u5f0f\u4e3a:infrastructure \u5373\u5e38\u89c4\u6a21\u5f0f (--wifi-mode infrastructure). \u6307\u5b9a\u8981\u8054\u63a5\u7684\u7f51\u7edcSSID:DT_IoT_GateWay (--wifi-ssid \"DT_IoT_GateWay\"). \u6307\u5b9aIP\u5730\u5740\u83b7\u53d6\u65b9\u5f0f\uff08\u9759\u6001\u3001\u81ea\u52a8\u3001\u7981\u7528\uff09\uff1a\u81ea\u52a8 ( --ipv4-method auto). \u6307\u5b9a\u662f\u5426\u7981\u7528IpV6:\u7981\u7528 (--ipv6-method disabled) \u5982\u4e0b\u56fe\u6240\u793a,\u6211\u4eec\u6210\u529f\u7684\u4f7f\u7528\u8fd9\u6761\u6307\u4ee4,\u914d\u7f6e\u597d\u4e86wifi\u7f51\u7edc: \u5982\u4e0b\u6240\u793a,\u914d\u7f51\u6210\u529f\u540e,\u8def\u7531\u5668\u5df2\u81ea\u52a8\u4e3a\u5176\u5206\u914d\u597d\u4e86ip\u5730\u5740: \u6b64\u65f6,\u6211\u4eec\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u7f51\u5740 http://192.168.3.2:8123 \u5373\u53ef\u8fdb\u5165haos\u7684web\u9875\u9762. \u4e0b\u56fe\u662f\u65e0\u7ebf\u7f51\u5361\u4e0e\u6709\u7ebf\u7f51\u5361\u540c\u65f6\u542f\u7528\u7684\u60c5\u51b5,\u53ef\u4ee5\u770b\u5230,\u4e24\u4e2a\u7f51\u5361\u90fd\u88ab\u6b63\u786e\u7684\u5206\u914d\u5230\u4e86IP\u5730\u5740\uff1a \u5728\u7cfb\u7edf\u5b89\u88c5\u597d\u521d\u59cb\u5316\u5b8c\u6210\u540e\u914d\u7f6e\u7f51\u7edc \u00b6 \u7cfb\u7edf\u521d\u59cb\u5316\u5b8c\u6210\u540e,\u4ecd\u7136\u53ef\u4ee5\u8c03\u6574\u914d\u7f6e\u7f51\u7edc, \u8bbe\u7f6e-\u7cfb\u7edf-\u7f51\u7edc \u4e2d\u914d\u7f6e\u7f51\u7edc\u63a5\u53e3\u53ef\u4ee5\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e \u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u7684\u4e09\u5757\u7f51\u5361,wlp3s0,enp2s0,enp4s0,\u53ef\u5728\u6b64\u5904\u914d\u7f6e,\u6bcf\u4e2a\u7f51\u5361\u7684IP\uff0c\u5b50\u7f51\uff0c\u7f51\u5173\uff0cDNS\u7b49\uff0c\u4e5f\u53ef\u4ee5\u914d\u7f6ewi-fi\u70ed\u70b9.","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_1","text":"\u516c\u53f8\u4f7f\u7528\u7684X86\u5c0f\u5de5\u63a7\u673a,\u5927\u591a\u6709\u591a\u4e2a\u7f51\u5361,\u4e00\u822c\u4e00\u4e2a\u65e0\u7ebf\u7f51\u5361,\u4e24\u4e2a\u6709\u7ebf\u7f51\u5361.\u591a\u6570\u60c5\u51b5\u4e0b,\u6211\u4eec\u53ef\u80fd\u662f\u4f7f\u7528\u7684WIFI\u7f51\u7edc\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\uff0c\u6709\u65f6\u4e3a\u4e86HA\u63d0\u4f9b\u7684\u670d\u52a1\u6298\u7a33\u5b9a\u6027\uff0c\u6211\u4eec\u5c3d\u91cf\u4f7f\u7528LAN\u7ebf\u7f51\u7edc\uff0c\u907f\u514d\u65e0\u7ebf\u7f51\u4fe1\u53f7\u8d28\u91cf\u7684\u95ee\u9898\u3002\u6240\u4ee5\u5c31\u6d89\u53ca\u5230\u914d\u7f51\u7684\u95ee\u9898\u3002 HomeAssistant\u7684\u7f51\u7edc\u914d\u7f6e,\u5728\u7cfb\u7edf\u6ca1\u6709\u5b89\u88c5\u6210\u529f\u4e4b\u524d,\u4e0d\u80fd\u901a\u8fc7web\u8fdb\u5165\u7f51\u9875\u754c\u9762\u65f6,\u914d\u7f6e\u7f51\u7edc\u53ea\u80fd\u901a\u8fc7\u81ea\u5e26\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4\u6765\u8fdb\u884c.","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_2","text":"HomeAssistant Cli \u63d0\u4f9b\u4e86\u9ed8\u4fe1\u6298network\u914d\u7f6e\u547d\u4ee4\u5982\u4e0b: ha netWork Useage: ha network [command] Examples: ha network info ha network interface options Available Commands: info Shows information about the host network reload Reload Network information the host scan Scan for Access Points on a wireless interface. update Update settings of a network interface vlan Create a new VLAN on an ethernet interface Flags: -h, --help help for network Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is'supervisor') --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API Use \"ha network [command] --help\" for more information about a command. \u8fd9\u4e2aha network\u547d\u4ee4,\u5927\u7ea6\u5982\u4e0b\u51e0\u4e2a\u529f\u80fd info \u663e\u793a\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f reload \u91cd\u65b0\u52a0\u8f7d\u7f51\u7edc scan \u626b\u63cf\u7f51\u7edc update \u914d\u7f6e\u7f51\u7edc \u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u65f6,\u53ef\u4ee5\u4f7f\u7528\u5176\u7b80\u5199,\u6bd4\u5982\u7701\u53bb\u524d\u9762\u7684ha,\u8fd8\u53ef\u4ee5\u7701\u53bb\u540e\u9762\u7684work \u6bd4\u5982,\u6211\u4eec\u60f3\u67e5\u770b\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f,\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c net info \u8fd9\u6761\u547d\u4ee4\u5c31\u4f1a\u628a\u6240\u6709\u7684\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\u5168\u90e8\u663e\u793a\u51fa\u6765,\u53ea\u662f\u5982\u679c\u7f51\u5361\u8f83\u591a,\u6211\u4eec\u6ca1\u6709\u6cd5\u5728\u4e00\u5c4f\u5168\u90e8\u9605\u8bfb\u5b8c,\u6240\u4ee5\u8fd9\u5c31\u5f15\u53d1\u53e6\u4e00\u4e2a\u95ee\u9898.netwrok\u6240\u6709\u7684\u5b50\u547d\u4ee4,\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u6216\u5fc5\u987b\u8ddf\u7740\u64cd\u4f5c\u5bf9\u50cf\u6765\u8fdb\u884c\u7684,\u5177\u4f53\u7684\u5c31\u662f,\u64cd\u4f5c\u6216\u663e\u793a\u54ea\u4e2a\u7f51\u5361\u63a5\u53e3.\u4e00\u822c\u60c5\u51b5\u4e0b\u662f\u5982\u4e0b\u578b\u5f0f net [command] [interface] \u5373 net [\u5b50\u547d\u4ee4] [\u7f51\u5361\u540d\u79f0] \u90a3\u4e48\u5982\u4f55\u67e5\u770b\u7f51\u5361\u540d\u79f0\u5462,\u5728haos \u7684cli\u63a7\u5236\u53f0\u754c\u9762,\u4efb\u610f\u65f6\u95f4,\u540c\u65f6\u6309\u4e0b ctrl+c \u540e,ha\u7684\u754c\u9762\u8fd4\u56de\u5230\u5f85\u673a\u754c\u9762,\u5982\u4e0b\u56fe\u6240\u793a. \u56fe\u4e2d\u5171\u663e\u793a\u4e86\u4e09\u4e2a\u7f51\u5361\u63a5\u53e3: wlp3s0 \u8fd9\u4e2a\u662f\u65e0\u7ebf\u7f51\u5361\u63a5\u53e3\u7684\u540d\u79f0,\u4e00\u822c\u60c5\u51b5\u4e0bw\u5b57\u7b26\u6253\u5934\u7684\u6211\u4e3a\u65e0\u7ebf\u7f51\u5361 enp2s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA1,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 enp4s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA2,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 \u67e5\u770b\u5230\u4e86\u8fd9\u4e09\u4e2a\u7f51\u5361\u540d\u79f0,\u6211\u4eec\u5c31\u53ef\u4ee5\u5bf9\u7f51\u5361\u8fdb\u884c\u67e5\u770b\u4fe1\u606f\u914d\u7f6e\u7b49. \u5bf9\u6709\u521d\u88c5\u7684HAOS\u8fd8\u6709\u51c6\u5907\u8fdb\u884cUdate\u7684\u5c0f\u4e3b\u673a,\u6700\u597d,\u5c31\u662f\u5728\u8def\u7531\u5668\u7aef \u9ed8\u8ba4\u63d0\u4f9b\u79d1\u5b66\u4e0a\u7f51 ,\u5426\u5219\u5728\u65b0\u5b89\u88c5\u6298\u521d\u59cb\u5316\u90a3\u91cc\u5c31\u4f1a\u88ab\u6c38\u8fdc\u5361\u4f4f,\u65e0\u6cd5\u5b89\u88c5\u6210\u529f,\u5982\u679c\u662f\u81ea\u52a8\u66f4\u65b0,\u90a3\u4e48\u5c06\u4f1a\u66f4\u65b0\u5931\u8d25.","title":"\u719f\u6089\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4"},{"location":"Usages/netconfig/netconfig/#_3","text":"\u4e00\u822c\u60c5\u51b5\u4e0b,\u5bf9\u4e8eenp2s0,enp4s0,\u5982\u679c\u8def\u7531\u5668\u7aef\u63d0\u4f9b\u4e86\u81ea\u52a8\u83b7\u53d6IP\u5730\u5740\u529f\u80fd\uff0c\u5219\u65e0\u9700\u914d\u7f6e\uff0c\u7f51\u7ebf\u63d2\u5165\u5373\u53ef\u4f7f\u7528\u3002 \u4f46\u662f\u5bf9\u4e8e\u6bd4\u8f83\u590d\u6742\u7684\u7f51\u7edc\u5219\u9700\u8981\u914d\u7f6e\uff0c\u540c\u6837\uff0c\u5982\u679c\u60f3\u4f7f\u7528wifi\u7f51\u7edc,\u4e5f\u9700\u8981\u914d\u7f6e . \u914d\u7f6e\u7f51\u7edc\u7684\u547d\u4ee4\u5982\u4e0b: ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled Disable interface -h, --help help for update --ipv4-address stringArray IPv4 address for the interface in the 192.168.1.5/24 --ipv4-gateway string The IPv4 gateway the interface should use --ipv4-method string Method on IPv4: static|auto|disabled --ipv4-nameserver stringArray IPv4 address of upstream DNS servers. Use multiple times for multiple servers. --ipv6-address stringArray IPv6 address for the interface in the 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string The IPv6 gateway the interface should use --ipv6-method string Method on IPv6: static|auto|disabled --ipv6-nameserver stringArray IPv6 address for upstream DNS servers. Use multiple times for multiple servers. --wifi-auth string Used authentication: open, wep, wpa-psk --wifi-mode string Wifi mode: infrastructure, adhoc, mesh or ap --wifi-psk string Shared authentication key for wep or wpa --wifi-ssid string SSID for wifi connection Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is `supervisor`) --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API \u8fd9\u6761\u547d\u4ee4ha network update [interface] [flags],\u63d0\u4f9b\u4e86\u5f88\u591a\u529f\u80fd,\u5b83\u53ef\u4ee5\u914d\u7f6ewif\u7f51\u7edc,\u53ef\u4ee5\u5bf9\u6307\u5b9a\u7684\u7f51\u5361\u914d\u7f6eip4/6\u7684IP\u5730\u5740\uff0c\u7f51\u5173\uff0c\u662f\u5426\u542f\u7528\u7b49.\u56e0\u6b64\u53ef\u4ee5\u5728\u5b9e\u9645\u5de5\u4f5c\u4e2d\u7075\u6d3b\u4f7f\u7528. \u5177\u4f53\u7528\u6cd5\u7b80\u8bd1\u5982\u4e0b ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled \u7981\u7528\u63a5\u53e3 -h, --help \u663e\u793a\u66f4\u65b0\u7684\u5e2e\u52a9\u4fe1\u606f --ipv4-address stringArray \u63a5\u53e3\u7684 IPv4 \u5730\u5740\uff0c\u4f8b\u5982 192.168.1.5/24 --ipv4-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv4 \u7f51\u5173 --ipv4-method string IPv4 \u65b9\u6cd5: static|auto|disabled --ipv4-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv4 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --ipv6-address stringArray \u63a5\u53e3\u7684 IPv6 \u5730\u5740\uff0c\u4f8b\u5982 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv6 \u7f51\u5173 --ipv6-method string IPv6 \u65b9\u6cd5: static|auto|disabled --ipv6-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv6 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --wifi-auth string \u4f7f\u7528\u7684\u8ba4\u8bc1\u65b9\u5f0f: open, wep, wpa-psk --wifi-mode string WiFi \u6a21\u5f0f: infrastructure, adhoc, mesh \u6216 ap --wifi-psk string WEP \u6216 WPA \u7684\u5171\u4eab\u8ba4\u8bc1\u5bc6\u94a5 --wifi-ssid string WiFi \u8fde\u63a5\u7684 SSID Global Flags: --api-token string Home Assistant Supervisor API \u4ee4\u724c --config string \u53ef\u9009\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff08\u9ed8\u8ba4\u503c\u4e3a $HOME/.homeassistant.yaml\uff09 --endpoint string Home Assistant Supervisor \u7684\u7aef\u70b9\uff08\u9ed8\u8ba4\u503c\u4e3a `supervisor`\uff09 --log-level string \u65e5\u5fd7\u7ea7\u522b\uff08\u9ed8\u8ba4\u503c\u4e3a Warn\uff09 --no-progress \u7981\u7528\u8fdb\u5ea6\u6761 --raw-json \u4ee5\u539f\u59cb JSON \u683c\u5f0f\u8f93\u51fa API \u6570\u636e FATA[0000] Error while executing rootCmd: accepts 1 arg(s), received 0 \u4e0b\u9762,\u6211\u4eec\u5c31\u4ee5\u914d\u7f6ewifi\u8054\u63a5\u5230\u7f51\u7edc\u4e3a\u4f8b\u8bf4\u660e\u4e00\u4e0b: \u6bd4\u5982\u6211\u4eec\u9ed8\u8ba4\u7684WIFI\u70ed\u70b9\u5982\u4e0b: wifi info: ssid:DT_IoT_GateWay passWord:HnczjTyrb0 \u90a3\u6839\u636e\u6211\u4eec\u4e0a\u6587\u67e5\u770b\u5230\u7684\u65e0\u7ebf\u7f51\u5361\u7684\u540d\u79f0: wlp3s0 \u6211\u4eec\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u547d\u4ee4,\u6765\u8ba9haos\u5c0f\u5de5\u63a7\u673a\u8054\u4e0awifi\u7f51\u7edc: ha network update wlp3s0 --wifi-auth wpa-psk --wifi-psk \"HmczjTYrb0\" --wifi-mode infrastructure --wifi-ssid \"DT_IoT_GateWay\" --ipv4-method auto --ipv6-method disabled \u8fd9\u6761\u547d\u4ee4\u89e3\u91ca\u5982\u4e0b: \u6307\u5b9awifi\u7684\u5bc6\u7801\u65b9\u5f0f\u4e3a:wpa-psk (--wifi-auth wpa-psk). \u6307\u5b9awif\u7684\u5bc6\u7801\u4e3a:HnczjTyrb0 (--wifi-psk \"HmczjYrb0\"). \u6307\u5b9a\u7f51\u5361\u63a5\u53e3\u6a21\u5f0f\u4e3a:infrastructure \u5373\u5e38\u89c4\u6a21\u5f0f (--wifi-mode infrastructure). \u6307\u5b9a\u8981\u8054\u63a5\u7684\u7f51\u7edcSSID:DT_IoT_GateWay (--wifi-ssid \"DT_IoT_GateWay\"). \u6307\u5b9aIP\u5730\u5740\u83b7\u53d6\u65b9\u5f0f\uff08\u9759\u6001\u3001\u81ea\u52a8\u3001\u7981\u7528\uff09\uff1a\u81ea\u52a8 ( --ipv4-method auto). \u6307\u5b9a\u662f\u5426\u7981\u7528IpV6:\u7981\u7528 (--ipv6-method disabled) \u5982\u4e0b\u56fe\u6240\u793a,\u6211\u4eec\u6210\u529f\u7684\u4f7f\u7528\u8fd9\u6761\u6307\u4ee4,\u914d\u7f6e\u597d\u4e86wifi\u7f51\u7edc: \u5982\u4e0b\u6240\u793a,\u914d\u7f51\u6210\u529f\u540e,\u8def\u7531\u5668\u5df2\u81ea\u52a8\u4e3a\u5176\u5206\u914d\u597d\u4e86ip\u5730\u5740: \u6b64\u65f6,\u6211\u4eec\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u7f51\u5740 http://192.168.3.2:8123 \u5373\u53ef\u8fdb\u5165haos\u7684web\u9875\u9762. \u4e0b\u56fe\u662f\u65e0\u7ebf\u7f51\u5361\u4e0e\u6709\u7ebf\u7f51\u5361\u540c\u65f6\u542f\u7528\u7684\u60c5\u51b5,\u53ef\u4ee5\u770b\u5230,\u4e24\u4e2a\u7f51\u5361\u90fd\u88ab\u6b63\u786e\u7684\u5206\u914d\u5230\u4e86IP\u5730\u5740\uff1a","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_4","text":"\u7cfb\u7edf\u521d\u59cb\u5316\u5b8c\u6210\u540e,\u4ecd\u7136\u53ef\u4ee5\u8c03\u6574\u914d\u7f6e\u7f51\u7edc, \u8bbe\u7f6e-\u7cfb\u7edf-\u7f51\u7edc \u4e2d\u914d\u7f6e\u7f51\u7edc\u63a5\u53e3\u53ef\u4ee5\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e \u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u7684\u4e09\u5757\u7f51\u5361,wlp3s0,enp2s0,enp4s0,\u53ef\u5728\u6b64\u5904\u914d\u7f6e,\u6bcf\u4e2a\u7f51\u5361\u7684IP\uff0c\u5b50\u7f51\uff0c\u7f51\u5173\uff0cDNS\u7b49\uff0c\u4e5f\u53ef\u4ee5\u914d\u7f6ewi-fi\u70ed\u70b9.","title":"\u5728\u7cfb\u7edf\u5b89\u88c5\u597d\u521d\u59cb\u5316\u5b8c\u6210\u540e\u914d\u7f6e\u7f51\u7edc"},{"location":"install-guide/BackupAndRestore/","text":"\u7cfb\u7edf\u7684\u5907\u4efd\u4e0e\u8fd8\u539f(\u786c\u76d8) \u00b6 HomeAssistant \u7684\u5b89\u88c5\u914d\u7f6e\u8fc7\u7a0b\u8f83\u591a,\u8017\u65f6\u8f83\u957f,\u4e3a\u6b64\u6211\u4eec\u7814\u7a76\u4e86\u4e00\u4e2a,\u5feb\u901f\u7684\u5c06\u63d0\u524d\u88c5\u597d\u7684HomeAssistant\u786c\u76d8,\u6574\u5907\u5907\u4efd\u4e0e\u6062\u590d\u7684\u529e\u6cd5. \u955c\u50cf\u6587\u4ef6\u4e0b\u8f7d \u00b6 \u955c\u50cf\u6587\u4ef6\u662f\u6211\u4eec\u63d0\u524d\u5236\u4f5c\u597d\u5e76\u5907\u4efd\u78c1\u76d8\u653e\u5230\u4e91\u7aef\u7684\uff0c\u6587\u4ef6\u8f83\u5927\uff0c\u9700\u8981\u5728\u5236\u4f5c\u597dWINpe\u7cfb\u7edf\u540e,\u4e0b\u8f7d\u5e76\u653e\u5230U\u76d8\u4e2d\u3002 \u70b9\u51fb\u6b64\u4e0b\u8f7d \u5de5\u5177\u7684\u51c6\u5907 \u00b6 \u5907\u4efd\u8fd8\u539f\u786c\u76d8\uff0c\u6211\u4eec\u5747\u662f\u5730windowsPE\u4e2d\u8fdb\u884c\u7684,\u4e3a\u6b64\u6211\u4eec\u9700\u51c6\u5907\u5982\u4e0b\u5de5\u5177: windowsPE(\u5fc5\u987b) windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u5176\u81ea\u5e26\u7684Diskgenus\u5e94\u5f53\u662f\u5df2\u7ecf\u662f\u4e13\u4e1a\u7834\u89e3\u7248\u4e86,\u53ef\u4ee5\u64cd\u4f5c\u5927\u4e8e4G\u7684\u955c\u50cf\u3002\u6240\u4ee5\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u5fc5\u518d\u53e6\u5916\u627e\u5de5\u5177\u3002\u5f53\u9009\u7b2c\u4e09\u65b9PE\uff0c\u6216\u7b2c\u4e09\u65b9PE\u5e26\u7684Diskgenus\u4e0d\u80fd\u6ee1\u8db3\u9700\u8981,\u4e0d\u80fd\u6b63\u5e38\u7684\u5907\u4efd\u4e0e\u8fd8\u539f\u955c\u50cf\u65f6,\u9700\u8981\u9009\u75282\u63d0\u4f9b\u7684\u4e13\u4e1a\u7248 ,\u5e76\u5c06\u5176\u590d\u5236\u5230U\u76d8\u4e2d\u3002 Diskgenus\u4e13\u4e1a\u7834\u89e3\u7248.(\u53ef\u9009) \u200b \u70b9\u51fb\u6b64\u5904\u4e0b\u8f7d \u7528winPE\u5f15\u5bfcU\u76d8\uff0c\u5f15\u5bfc\u7cfb\u7edf\uff0c\u8fdb\u5165PE,\u542f\u52a8SiskGenius \u5206\u533a\u52a9\u624b\u7a0b\u5e8f,\u9009\u4e2d\u8981\u64cd\u4f5c\u7684\u78c1\u76d8.\u7136\u540e,\u70b9\u51fb \u83dc\u5355 \u78c1\u76d8 \u4ece\u786c\u76d8\u955c\u50cf\u6062\u590d \u00b6 \u9009\u62e9\u201c\u4ece\u6620\u50cf\u6062\u590d\u78c1\u76d8\",\u7136\u540e\u9009\u62e9U\u76d8\u4e2d\uff0c\u63d0\u524d\u51c6\u5907\u597d\u7684*.pmfx\u6587\u4ef6,\u7136\u540e\u9009\u62e9\u76ee\u6807\u78c1\u76d8,\u8fd8\u539f\u65b9\u5f0f\u4e3a:\u8fd8\u539f\u6240\u6709\u6247\u533a,\u7136\u540e\u70b9\u51fb\u5f00\u59cb,\u7cfb\u7edf\u5c31\u4f1a\u5f00\u59cb\u8fd8\u539f. \u8fd8\u539f\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a: \u7136\u540e,\u79fb\u9664U\u76d8\uff0c\u91cd\u65b0\u542f\u52a8\uff0c\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5907\u4efd\u6574\u4e2a\u786c\u76d8 \u00b6 \u9009\u62e9\"\u5907\u4efd\u78c1\u78c1\u76d8\u5230\u6620\\\u50cf\u6587\u4ef6\",\u5907\u4efd\u6a21\u5f0f\u4e3a:\u6240\u6709\u6247\u533a,\u9009\u62e9\u955c\u50cf\u6587\u4ef6,\u4e3a\u4e0b\u8f7d\u597d\u5e76\u63d0\u524d\u653e\u5165U\u76d8\u7684\u6269\u5c55\u540d\u4e3apmfx\u7684\u6620\u50cf\u6587\u4ef6,\u7136\u540e\u70b9\u51fb\"\u5f00\u59cb\" \u5927\u7ea6\u534a\u4e2a\u591a\u5c0f\u65f6,\u80fd\u5199\u5165\u5b8c\u6210.\u5982\u4e0b\u56fe\u6240\u793a,\u6620\u50cf\u6587\u4ef6\u5df2\u751f\u6210\u7ea6\u67095G\uff0c\u4fdd\u5b58\u5230\u5408\u9002\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u7528\u6765\u88c5\u673a\u6216\u8fd8\u539f\u7528\u3002","title":"BackupAndRestore"},{"location":"install-guide/BackupAndRestore/#_1","text":"HomeAssistant \u7684\u5b89\u88c5\u914d\u7f6e\u8fc7\u7a0b\u8f83\u591a,\u8017\u65f6\u8f83\u957f,\u4e3a\u6b64\u6211\u4eec\u7814\u7a76\u4e86\u4e00\u4e2a,\u5feb\u901f\u7684\u5c06\u63d0\u524d\u88c5\u597d\u7684HomeAssistant\u786c\u76d8,\u6574\u5907\u5907\u4efd\u4e0e\u6062\u590d\u7684\u529e\u6cd5.","title":"\u7cfb\u7edf\u7684\u5907\u4efd\u4e0e\u8fd8\u539f(\u786c\u76d8)"},{"location":"install-guide/BackupAndRestore/#_2","text":"\u955c\u50cf\u6587\u4ef6\u662f\u6211\u4eec\u63d0\u524d\u5236\u4f5c\u597d\u5e76\u5907\u4efd\u78c1\u76d8\u653e\u5230\u4e91\u7aef\u7684\uff0c\u6587\u4ef6\u8f83\u5927\uff0c\u9700\u8981\u5728\u5236\u4f5c\u597dWINpe\u7cfb\u7edf\u540e,\u4e0b\u8f7d\u5e76\u653e\u5230U\u76d8\u4e2d\u3002 \u70b9\u51fb\u6b64\u4e0b\u8f7d","title":"\u955c\u50cf\u6587\u4ef6\u4e0b\u8f7d"},{"location":"install-guide/BackupAndRestore/#_3","text":"\u5907\u4efd\u8fd8\u539f\u786c\u76d8\uff0c\u6211\u4eec\u5747\u662f\u5730windowsPE\u4e2d\u8fdb\u884c\u7684,\u4e3a\u6b64\u6211\u4eec\u9700\u51c6\u5907\u5982\u4e0b\u5de5\u5177: windowsPE(\u5fc5\u987b) windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u5176\u81ea\u5e26\u7684Diskgenus\u5e94\u5f53\u662f\u5df2\u7ecf\u662f\u4e13\u4e1a\u7834\u89e3\u7248\u4e86,\u53ef\u4ee5\u64cd\u4f5c\u5927\u4e8e4G\u7684\u955c\u50cf\u3002\u6240\u4ee5\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u5fc5\u518d\u53e6\u5916\u627e\u5de5\u5177\u3002\u5f53\u9009\u7b2c\u4e09\u65b9PE\uff0c\u6216\u7b2c\u4e09\u65b9PE\u5e26\u7684Diskgenus\u4e0d\u80fd\u6ee1\u8db3\u9700\u8981,\u4e0d\u80fd\u6b63\u5e38\u7684\u5907\u4efd\u4e0e\u8fd8\u539f\u955c\u50cf\u65f6,\u9700\u8981\u9009\u75282\u63d0\u4f9b\u7684\u4e13\u4e1a\u7248 ,\u5e76\u5c06\u5176\u590d\u5236\u5230U\u76d8\u4e2d\u3002 Diskgenus\u4e13\u4e1a\u7834\u89e3\u7248.(\u53ef\u9009) \u200b \u70b9\u51fb\u6b64\u5904\u4e0b\u8f7d \u7528winPE\u5f15\u5bfcU\u76d8\uff0c\u5f15\u5bfc\u7cfb\u7edf\uff0c\u8fdb\u5165PE,\u542f\u52a8SiskGenius \u5206\u533a\u52a9\u624b\u7a0b\u5e8f,\u9009\u4e2d\u8981\u64cd\u4f5c\u7684\u78c1\u76d8.\u7136\u540e,\u70b9\u51fb \u83dc\u5355 \u78c1\u76d8","title":"\u5de5\u5177\u7684\u51c6\u5907"},{"location":"install-guide/BackupAndRestore/#_4","text":"\u9009\u62e9\u201c\u4ece\u6620\u50cf\u6062\u590d\u78c1\u76d8\",\u7136\u540e\u9009\u62e9U\u76d8\u4e2d\uff0c\u63d0\u524d\u51c6\u5907\u597d\u7684*.pmfx\u6587\u4ef6,\u7136\u540e\u9009\u62e9\u76ee\u6807\u78c1\u76d8,\u8fd8\u539f\u65b9\u5f0f\u4e3a:\u8fd8\u539f\u6240\u6709\u6247\u533a,\u7136\u540e\u70b9\u51fb\u5f00\u59cb,\u7cfb\u7edf\u5c31\u4f1a\u5f00\u59cb\u8fd8\u539f. \u8fd8\u539f\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a: \u7136\u540e,\u79fb\u9664U\u76d8\uff0c\u91cd\u65b0\u542f\u52a8\uff0c\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\uff0c\u5982\u4e0b\u56fe\u6240\u793a","title":"\u4ece\u786c\u76d8\u955c\u50cf\u6062\u590d"},{"location":"install-guide/BackupAndRestore/#_5","text":"\u9009\u62e9\"\u5907\u4efd\u78c1\u78c1\u76d8\u5230\u6620\\\u50cf\u6587\u4ef6\",\u5907\u4efd\u6a21\u5f0f\u4e3a:\u6240\u6709\u6247\u533a,\u9009\u62e9\u955c\u50cf\u6587\u4ef6,\u4e3a\u4e0b\u8f7d\u597d\u5e76\u63d0\u524d\u653e\u5165U\u76d8\u7684\u6269\u5c55\u540d\u4e3apmfx\u7684\u6620\u50cf\u6587\u4ef6,\u7136\u540e\u70b9\u51fb\"\u5f00\u59cb\" \u5927\u7ea6\u534a\u4e2a\u591a\u5c0f\u65f6,\u80fd\u5199\u5165\u5b8c\u6210.\u5982\u4e0b\u56fe\u6240\u793a,\u6620\u50cf\u6587\u4ef6\u5df2\u751f\u6210\u7ea6\u67095G\uff0c\u4fdd\u5b58\u5230\u5408\u9002\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u7528\u6765\u88c5\u673a\u6216\u8fd8\u539f\u7528\u3002","title":"\u5907\u4efd\u6574\u4e2a\u786c\u76d8"},{"location":"install-guide/LinuxInstall/","text":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf \u00b6 \u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf\u684c\u9762\u7248 \uff0c\u4fdd\u5b58\u4e3aubuntu24.04-desktip-amd.iso\u3002 \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528)\u3002 \u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u8bf7\u53c2\u8003\u5176\u5b83\u6559\u7a0b\u3002 \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live\u3002 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u628a\u4e0b\u8f7d\u7684ubuntu24.04-desktip-amd.iso\u653e\u5230\u65b0\u5b89\u88c5\u7684Ubuntu\u64cd\u4f5c\u7cfb\u7edf\u4e0b\u6298\u4efb\u610f\u76ee\u5f55,\u5982,\u653e\u5230 \u8fd9\u4e2a\u76ee\u5f55. \u7136\u540e,\u627e\u5230ubuntu\u81ea\u5e26\u7684\u542f\u52a8\u76d8\u5236\u4f5c\u5de5\u5177,\u5982\u56fe\u6240\u793a c\u8fd0\u884c\u542f\u52a8\u76d8\u521b\u5efa\u5668,\u5982\u4e0b \u5148\u62e9\u521a\u521a\u653e\u7f6e\u7684ubuntu24.04-desktip-amd.iso\u4f5c\u4e3a\u6e90\u955c\u50cf,\u7136\u540e\u628a\u8981\u5236\u4f5c\u542f\u52a8\u76d8\u7684U\u76d8\u63d2\u5165USB\u53e3\uff0c\u7136\u540e\uff0c\u9009 \u62e9\u4f5c\u4e3a\u8981\u4f7f\u7528\u7684\u78c1\u76d8\uff0c\u5f53\u7136\u53ef\u4ee5\u63d0\u524d\u63d2\u5165U\u76d8\u3002\u7136\u540e\u70b9\u51fb\u5236\u4f5c\u542f\u52a8\u76d8\u3002 \u5728\u5f39\u51fa\u7684\u786e\u8ba4\u6846\u4e2d\uff0c\u70b9\u51fb\u662f\uff0c \u7136\u540e\u8f93\u51fa\u5f53\u524d\u7684\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u786e\u8ba4\uff0c \u7cfb\u7edf\u5c06\u4f1a\u81ea\u52a8\u5f00\u542f\u628aubuntu live \u542f\u52a8\u5f15\u5bfc\u76d8\u4fe1\u606f, \u5199\u5165U\u76d8\uff0c \u63d0\u793a\u5b8c\u6210\u65f6\uff0c\u70b9\u9000\u51fa\uff0c\u5f39\u51fa\u5982\u4e0b\u63d0\u793a \uff0c\u8bf4\u660e\u542f\u52a8U\u76d8\u5236\u4f5c\u6210\u529f\u4e86\u3002 \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u628aU\u76d8\u63d2\u5165\u5165X86\u5c0f\u5de5\u63a7\u673a\u5e76\u786e\u4fdd \u6b63\u786e\u914d\u7f6e\u4e86Bios \u542f\u52a8\u540e,\u6309F11\u5176\u5b83\u4e3b\u673a\u53ef\u80fd\u6709\u6240\u4e0d\u540c(\u53ef\u4ee5\u67e5\u4e3b\u677f\u8bf4\u660e\u4e66,\u6216\u54a8\u8be2\u4e3b\u677f\u5382\u5bb6),\u9009\u62e9\u4ee5U\u76d8\u5f15\u5bfc\u3002 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a,\u662f\u542f\u52a8\u65f6,\u6309F11\u4e0d\u653e,\u8fdb\u5165\u7cfb\u7edf\u5f15\u5bfc\u83dc\u5355,\u6839\u636eU\u76d8\u7684\u4e0d\u540c,U\u76d8\u5f15\u5bfc\u76d8\u4e2d\u7684\u7cfb\u7edf\u7c7b\u522b\u4e0d\u540c,\u663e\u793a\u7684\u5185\u5bb9\u7565\u6709\u4e0d\u540c,\u5982\u4e0b\u56fe\u6240\u793a \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5f53\u7cfb\u7edf\u542f\u52a8\u65f6,\u8bf7\u786e\u4fdd\u9009\u62e9\u201cTry or Install Ubuntu\". \u7cfb\u7edf\u542f\u4f1a\u542f\u52a8U\u76d8\u4e2d\u7684Ubuntu live\u7cfb\u7edf, \u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d, \u4f1a\u6709\u51e0\u4e2a\u9009\u9879\u8981\u9009\u62e9\u5982\u4e0b\u56fe\u6240\u793a, \u9009\u62e9\u8bed\u8a00 \u6b64\u5904\u76f4\u63a5\u4e0b\u4e00\u6b65 \u6b64\u5904\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7f51\u7edc\u8fde\u63a5\u53ef\u4ee5\u9009\u76f4\u63a5\u8fde\u63a5,\u4e5f\u53ef\u4ee5\u9009\u62e9wifi\u5f53\u7136,wifi\u5357\u8981\u914d\u7f6e\u70ed\u70b9. \u540c\u65f6,\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u8981\u4fdd\u6301\u7f51\u7edc\u7545\u901a( *\u4e00\u5b9a\u8981\u80fd\u6b63\u5e38\u8bbf\u95eeGoogle\u53caHomeAssistant\u5b98\u7f51 ),\u80fd\u6b63\u5e38\u7684\u8bbf\u95ee\u5e76\u4e0b\u8f7dHomeAssistantOS\u7684\u955c\u50cf. \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u8fdb\u5165Ubuntu Live\u7cfb\u7edf\u540e,\u6253\u5f00\u6d4f\u89c8\u5668,\u8bbf\u95eeHomeAssistant\u7684 \u5b98\u65b9\u6587\u6863 , \u8fdb\u5165HomeAssistant\u5b98\u7f51,\u70b9\\\u51fb\u83dc\u5355Installstatiion,\u8fdb\u5165\u5b89\u88c5\u8bf4\u660e \u627e\u5230GenericX86-84,\u5e76\u6253\u5f00\u8fd9\u4e2a\u5728\u9875\u9762 \u627e\u5230\u9875\u9762\u4e2d\u7684\u955c\u50cf\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\u56fe \u4e0b\u8f7d HomeAssistOs-x86-64\u955c\u50cf \u5f00\u59cb\u4e0b\u8f7d\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u8fc7\u7a0b\u4e2d\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u5b8c\u6210\u540e \u6587\u4ef6\u4fdd\u5b58\u5728/home/Downloads/hos_Generic-86-64-15.1.img.xz \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u5728Ubuntu Live\u7684\u7cfb\u7edf\u4e2d,\u627e\u5230\u663e\u793a\u5e94\u7528\u7a0b\u5e8f(\u4e00\u822c\u5728\u5de6\u4e0a\u89d2\u6216\u53f3\u4e0b\u89d2), \u641c\u7d22\u5e76\u627e\u5230Disks\u5e94\u7528\u7a0b\u5e8f,\u5e76\u6253\u5f00Disks\u5e94\u7528\u7a0b\u5e8f. \u5728\u5de6\u4fa7\u5217\u8868\u4e2d\u627e\u5230\u5e76\u9009\u62e9\u4f60\u7684\u76ee\u6807\u78c1\u76d8(\u4e00\u822c\u4e3a\u4f60\u8981\u5b89\u88c5HAOS\u7684\u786c\u76d8) \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u56fe\u6807\uff08\u4e09\u4e2a\u70b9\uff09\uff0c\u9009\u62e9\u201c\u6062\u590d\u78c1\u76d8\u955c\u50cf\u201d \u6d4f\u89c8\u5e76\u9009\u62e9\u4f60\u4e0b\u8f7d\u7684HAOS\u955c\u50cf\u6587\u4ef6\u3002 \u70b9\u51fb,\u5e76\u6d4f\u89c8\u5230\u4e0b\u8f7d\u7684\u6587\u4ef6 hos_Generic-86-64-15.1.img.xz \u786e\u8ba4\u76ee\u6807\u78c1\u76d8\uff0c\u5e76\u5f00\u59cb\u955c\u50cf\u6062\u590d\u8fc7\u7a0b\u3002 \u786e\u8ba4\u6807\u786c\u76d8\u6b63\u786e\u540e,\u7ee7\u7eed \u63d0\u793a\u786e\u8ba4\u65f6\u70b9\u51fb Restore \u63d0\u793a\u6388\u6743\u65f6,\u70b9\u51fb Authenticate \u786e\u5b9a\u540e,\u5c31\u4f1a\u5f00\u59cb\u628a\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8 \u8bf7\u6ce8\u610f,\u8fd9\u4e2a\u8fc7\u7a0b\u4e00\u5c06\u4f1a,\u6e05\u9664\u786c\u76d8\u4e0a\u539f\u6709\u7684\u6570\u636e,\u8bf7\u786e\u4fdd\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e. \u5199\u5165\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u6b64\u65f6,\u5c31\u5df2\u7ecf\u6210\u529f\u7684\u628aHA\u955c\u50cf\u5199\u5165\u5230\u786c\u548c\u808b\u4e2d\u4e86 \u79fb\u9664U\u76d8 \u4e00\u65e6Home Assistant\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u5b8c\u6210\uff0c\u5173\u95ed\u7cfb\u7edf\u3002 \u5f53Ubuntu\u5173\u95ed\u540e\uff0c\u79fb\u9664USB\u95ea\u5b58\u9a71\u52a8\u5668\uff08Ubuntu\u4f1a\u901a\u77e5\u60a8\u53ef\u4ee5\u5b89\u5168\u79fb\u9664\uff09\u3002 \u91cd\u542f\u7cfb\u7edf. \u73b0\u5728\uff0c\u60a8\u7684Home Assistant\u670d\u52a1\u5668\u5df2\u7ecf\u8bbe\u7f6e\u5b8c\u6bd5\uff0c\u60a8\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u5b83\u3002 \u8fdb\u5165HA cli\u754c\u9762 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/LinuxInstall/#linux","text":"\u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf\u684c\u9762\u7248 \uff0c\u4fdd\u5b58\u4e3aubuntu24.04-desktip-amd.iso\u3002 \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528)\u3002 \u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u8bf7\u53c2\u8003\u5176\u5b83\u6559\u7a0b\u3002 \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live\u3002 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u628a\u4e0b\u8f7d\u7684ubuntu24.04-desktip-amd.iso\u653e\u5230\u65b0\u5b89\u88c5\u7684Ubuntu\u64cd\u4f5c\u7cfb\u7edf\u4e0b\u6298\u4efb\u610f\u76ee\u5f55,\u5982,\u653e\u5230 \u8fd9\u4e2a\u76ee\u5f55. \u7136\u540e,\u627e\u5230ubuntu\u81ea\u5e26\u7684\u542f\u52a8\u76d8\u5236\u4f5c\u5de5\u5177,\u5982\u56fe\u6240\u793a c\u8fd0\u884c\u542f\u52a8\u76d8\u521b\u5efa\u5668,\u5982\u4e0b \u5148\u62e9\u521a\u521a\u653e\u7f6e\u7684ubuntu24.04-desktip-amd.iso\u4f5c\u4e3a\u6e90\u955c\u50cf,\u7136\u540e\u628a\u8981\u5236\u4f5c\u542f\u52a8\u76d8\u7684U\u76d8\u63d2\u5165USB\u53e3\uff0c\u7136\u540e\uff0c\u9009 \u62e9\u4f5c\u4e3a\u8981\u4f7f\u7528\u7684\u78c1\u76d8\uff0c\u5f53\u7136\u53ef\u4ee5\u63d0\u524d\u63d2\u5165U\u76d8\u3002\u7136\u540e\u70b9\u51fb\u5236\u4f5c\u542f\u52a8\u76d8\u3002 \u5728\u5f39\u51fa\u7684\u786e\u8ba4\u6846\u4e2d\uff0c\u70b9\u51fb\u662f\uff0c \u7136\u540e\u8f93\u51fa\u5f53\u524d\u7684\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u786e\u8ba4\uff0c \u7cfb\u7edf\u5c06\u4f1a\u81ea\u52a8\u5f00\u542f\u628aubuntu live \u542f\u52a8\u5f15\u5bfc\u76d8\u4fe1\u606f, \u5199\u5165U\u76d8\uff0c \u63d0\u793a\u5b8c\u6210\u65f6\uff0c\u70b9\u9000\u51fa\uff0c\u5f39\u51fa\u5982\u4e0b\u63d0\u793a \uff0c\u8bf4\u660e\u542f\u52a8U\u76d8\u5236\u4f5c\u6210\u529f\u4e86\u3002 \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u628aU\u76d8\u63d2\u5165\u5165X86\u5c0f\u5de5\u63a7\u673a\u5e76\u786e\u4fdd \u6b63\u786e\u914d\u7f6e\u4e86Bios \u542f\u52a8\u540e,\u6309F11\u5176\u5b83\u4e3b\u673a\u53ef\u80fd\u6709\u6240\u4e0d\u540c(\u53ef\u4ee5\u67e5\u4e3b\u677f\u8bf4\u660e\u4e66,\u6216\u54a8\u8be2\u4e3b\u677f\u5382\u5bb6),\u9009\u62e9\u4ee5U\u76d8\u5f15\u5bfc\u3002 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a,\u662f\u542f\u52a8\u65f6,\u6309F11\u4e0d\u653e,\u8fdb\u5165\u7cfb\u7edf\u5f15\u5bfc\u83dc\u5355,\u6839\u636eU\u76d8\u7684\u4e0d\u540c,U\u76d8\u5f15\u5bfc\u76d8\u4e2d\u7684\u7cfb\u7edf\u7c7b\u522b\u4e0d\u540c,\u663e\u793a\u7684\u5185\u5bb9\u7565\u6709\u4e0d\u540c,\u5982\u4e0b\u56fe\u6240\u793a \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5f53\u7cfb\u7edf\u542f\u52a8\u65f6,\u8bf7\u786e\u4fdd\u9009\u62e9\u201cTry or Install Ubuntu\". \u7cfb\u7edf\u542f\u4f1a\u542f\u52a8U\u76d8\u4e2d\u7684Ubuntu live\u7cfb\u7edf, \u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d, \u4f1a\u6709\u51e0\u4e2a\u9009\u9879\u8981\u9009\u62e9\u5982\u4e0b\u56fe\u6240\u793a, \u9009\u62e9\u8bed\u8a00 \u6b64\u5904\u76f4\u63a5\u4e0b\u4e00\u6b65 \u6b64\u5904\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7f51\u7edc\u8fde\u63a5\u53ef\u4ee5\u9009\u76f4\u63a5\u8fde\u63a5,\u4e5f\u53ef\u4ee5\u9009\u62e9wifi\u5f53\u7136,wifi\u5357\u8981\u914d\u7f6e\u70ed\u70b9. \u540c\u65f6,\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u8981\u4fdd\u6301\u7f51\u7edc\u7545\u901a( *\u4e00\u5b9a\u8981\u80fd\u6b63\u5e38\u8bbf\u95eeGoogle\u53caHomeAssistant\u5b98\u7f51 ),\u80fd\u6b63\u5e38\u7684\u8bbf\u95ee\u5e76\u4e0b\u8f7dHomeAssistantOS\u7684\u955c\u50cf. \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u8fdb\u5165Ubuntu Live\u7cfb\u7edf\u540e,\u6253\u5f00\u6d4f\u89c8\u5668,\u8bbf\u95eeHomeAssistant\u7684 \u5b98\u65b9\u6587\u6863 , \u8fdb\u5165HomeAssistant\u5b98\u7f51,\u70b9\\\u51fb\u83dc\u5355Installstatiion,\u8fdb\u5165\u5b89\u88c5\u8bf4\u660e \u627e\u5230GenericX86-84,\u5e76\u6253\u5f00\u8fd9\u4e2a\u5728\u9875\u9762 \u627e\u5230\u9875\u9762\u4e2d\u7684\u955c\u50cf\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\u56fe \u4e0b\u8f7d HomeAssistOs-x86-64\u955c\u50cf \u5f00\u59cb\u4e0b\u8f7d\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u8fc7\u7a0b\u4e2d\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u5b8c\u6210\u540e \u6587\u4ef6\u4fdd\u5b58\u5728/home/Downloads/hos_Generic-86-64-15.1.img.xz \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u5728Ubuntu Live\u7684\u7cfb\u7edf\u4e2d,\u627e\u5230\u663e\u793a\u5e94\u7528\u7a0b\u5e8f(\u4e00\u822c\u5728\u5de6\u4e0a\u89d2\u6216\u53f3\u4e0b\u89d2), \u641c\u7d22\u5e76\u627e\u5230Disks\u5e94\u7528\u7a0b\u5e8f,\u5e76\u6253\u5f00Disks\u5e94\u7528\u7a0b\u5e8f. \u5728\u5de6\u4fa7\u5217\u8868\u4e2d\u627e\u5230\u5e76\u9009\u62e9\u4f60\u7684\u76ee\u6807\u78c1\u76d8(\u4e00\u822c\u4e3a\u4f60\u8981\u5b89\u88c5HAOS\u7684\u786c\u76d8) \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u56fe\u6807\uff08\u4e09\u4e2a\u70b9\uff09\uff0c\u9009\u62e9\u201c\u6062\u590d\u78c1\u76d8\u955c\u50cf\u201d \u6d4f\u89c8\u5e76\u9009\u62e9\u4f60\u4e0b\u8f7d\u7684HAOS\u955c\u50cf\u6587\u4ef6\u3002 \u70b9\u51fb,\u5e76\u6d4f\u89c8\u5230\u4e0b\u8f7d\u7684\u6587\u4ef6 hos_Generic-86-64-15.1.img.xz \u786e\u8ba4\u76ee\u6807\u78c1\u76d8\uff0c\u5e76\u5f00\u59cb\u955c\u50cf\u6062\u590d\u8fc7\u7a0b\u3002 \u786e\u8ba4\u6807\u786c\u76d8\u6b63\u786e\u540e,\u7ee7\u7eed \u63d0\u793a\u786e\u8ba4\u65f6\u70b9\u51fb Restore \u63d0\u793a\u6388\u6743\u65f6,\u70b9\u51fb Authenticate \u786e\u5b9a\u540e,\u5c31\u4f1a\u5f00\u59cb\u628a\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8 \u8bf7\u6ce8\u610f,\u8fd9\u4e2a\u8fc7\u7a0b\u4e00\u5c06\u4f1a,\u6e05\u9664\u786c\u76d8\u4e0a\u539f\u6709\u7684\u6570\u636e,\u8bf7\u786e\u4fdd\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e. \u5199\u5165\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u6b64\u65f6,\u5c31\u5df2\u7ecf\u6210\u529f\u7684\u628aHA\u955c\u50cf\u5199\u5165\u5230\u786c\u548c\u808b\u4e2d\u4e86 \u79fb\u9664U\u76d8 \u4e00\u65e6Home Assistant\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u5b8c\u6210\uff0c\u5173\u95ed\u7cfb\u7edf\u3002 \u5f53Ubuntu\u5173\u95ed\u540e\uff0c\u79fb\u9664USB\u95ea\u5b58\u9a71\u52a8\u5668\uff08Ubuntu\u4f1a\u901a\u77e5\u60a8\u53ef\u4ee5\u5b89\u5168\u79fb\u9664\uff09\u3002 \u91cd\u542f\u7cfb\u7edf. \u73b0\u5728\uff0c\u60a8\u7684Home Assistant\u670d\u52a1\u5668\u5df2\u7ecf\u8bbe\u7f6e\u5b8c\u6bd5\uff0c\u60a8\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u5b83\u3002 \u8fdb\u5165HA cli\u754c\u9762 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/WinPeInstall/","text":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf \u00b6 windows Pe\u4e0b\u5199\u5165\u786c\u76d8\u955c\u50cf\u7684\u4e3b\u8981\u601d\u8def\u662f\u4f7f\u7528Roadkilnet\u5f00\u53d1\u7684Rodakill's Disk Image\u5de5\u5177\u628aHA\u7684\u955c\u50cf\u5199\u5165\u786c\u76d8. \u4e0b\u8f7dDisk Image \u00b6 DiskImage\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u4e3a ) https://roadkil.net/program.php?ProgramID=12&Action=NewOSID&DownloadVersion=12&Installer=NO \u8fdb\u5165\u7f51\u7ad9\u7684\u4e0b\u8f7d\u9875\u9762,\u5982\u4e0b,\u9009\u62e9windows8 10 or 11\u548cStand Alone Version\u7248\u672c,\u7136\u540e\u70b9\u51fb\u4e0b\u8f7d \u4e0b\u8f7d\u5b8c\u6210\u540e,\u5f97\u5230\u5982\u4e0bDiskImage_1_6_WinAll .exe\u6587\u4ef6 ,\u4fdd\u5b58\u597d,\u540e\u9762\u9700\u8981\u4fdd\u5b58\u4e48U\u76d8\u3002 \u5236\u4f5cWindowsPE\u5f15\u5bfcU\u76d8 \u00b6 windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u4e0b\u8f7d\u5b89\u88c5\u7a0b\u5e8f\u5982\u4e0b: \u8fd0\u884cWePev2.3.exe \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u5b89\u88c5\u5230U\u76d8\u56fe\u6807 \u9009\u62e9\u6b63\u786e\u7684\u4ea7\uff0c\u5e76\u914d\u597d\u5377\u6807\uff0c\u70b9\u51fb\u7acb\u5373\u5b89\u88c5\u5230U\u76d8\uff0c \u63d0\u793a\u5f00\u59cb\u5236\u4f5cU\u76d8 \u7a0d\u7b49\u7247\u523b \u7cfb\u7edf\u63d0\u793a\u5236\u4f5c\u5b8c\u6210 \u4e0b\u8f7d\u5e76\u89e3\u538bHAOS\u955c\u50cf\u5230U\u76d8 \u00b6 \u70b9\u51fb\u8bbf\u95ee Ha-os-GenerricX86-64\u9875\u9762 ,\u627e\u5230\u4e0b\u955c\u50cf\u7684\u4e0b\u8f7d\u94fe\u63a5 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5982\u4e0b\u94fe\u63a5 \u4e0b\u8f7d,\u4f46\u5c3d\u91cf\u8fd8\u662f\u6309\u4e0a\u8ff0\u65b9\u6cd5\u4e0b\u8f7d,\u4fdd\u8bc1\u6bcf\u6b21\u4e0b\u8f7d\u7684\u90fd\u662f\u5b98\u7f51\u6700\u65b0\u7684\u7248\u672c. \u4e0b\u8f7d\u5b8c\u6210\u540e\u5982\u4e0b \u89e3\u538b\u8fd9\u4e2a\u6587\u4ef6 \u5f97\u5230haos_generic-x86-64-15.1.img,\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230U\u76d8\u4e2d\u4efb\u610f\u76ee\u5f55 \u6bd4\u5982\uff0c\u6211\u653e\u5230\u4e86\u5982\u4e0b\u76ee\u5f55 \u628a\u4e4b\u524d\u4e0b\u8f7d\u597d\u7684Disk Image\u653e\u5165U\u76d8 \u00b6 \u81f3\u6b64WINpe\u5f15\u5bfcU\u76d8\u5c31\u5236\u4f5c\u597d\u4e86\u3002 \u7528\u6b64U\u76d8\u5f15\u5bfc\u5c0f\u5de5\u63a7\u673a\uff0c\u6ce8\u610f\u610f\u8981\u6b63\u786e\u7684\u914d\u7f6eBIOS\uff0c\u53ca\u8981\u7528\u6b63\u786e\u7684\u6539\u53d8\u542f\u52a8\u987a\u5e8f\u7684\u65b9\u6cd5\u5982F11\u5e38\u6309, \u5f15\u5bfc\u6210\u529f\u767d\u5e26 ,\u76f4\u5165PE\u542f\u52a8\u754c\u9762\uff0c\u9009 \u7b2c\u4e00\u9879\u9ed8\u8ba4\uff0c\u7ee7\u7eed \u7a0d\u5019\u4f1a\u8fdb\u5165PE\u7cfb\u7edf \u627e\u5230\u5e76\u542f\u52a8diskImage\u5199\u76d8\u5de5\u5177 \u70b9YES\u7ee7\u7eed \u9009 \u62e9\u4e0b\u8f7d\u597d\u7684HAOS\u7684\u5b89\u88c5\u955c\u50cfimg\u6587\u4ef6 \u63d0\u793a\u6570\u636e\u6709\u4e22\u5931\u98ce\u9669\u65f6,\u70b9\u662f \u6ce8\u610f\u5728\u5199\u5165\u4e4b\u524d,\u4e00\u5b9a\u8981\u786e\u8ba4\u662f\u786c\u76d8\u800c\u975eU\u76d8\uff0c\u4e00\u822c\u4e3aphysical disk 0 \u5199\u5165\u5b8c\u6210\u540e\u4f1a\u63d0\u793a\u5199\u5165\u6210\u529f \u91cd\u65b0\u542f\u52a8\u8fdb\u5165HA cli\u754c\u9762 \u00b6 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf"},{"location":"install-guide/WinPeInstall/#windows-pe-ha","text":"windows Pe\u4e0b\u5199\u5165\u786c\u76d8\u955c\u50cf\u7684\u4e3b\u8981\u601d\u8def\u662f\u4f7f\u7528Roadkilnet\u5f00\u53d1\u7684Rodakill's Disk Image\u5de5\u5177\u628aHA\u7684\u955c\u50cf\u5199\u5165\u786c\u76d8.","title":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf"},{"location":"install-guide/WinPeInstall/#disk-image","text":"DiskImage\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u4e3a ) https://roadkil.net/program.php?ProgramID=12&Action=NewOSID&DownloadVersion=12&Installer=NO \u8fdb\u5165\u7f51\u7ad9\u7684\u4e0b\u8f7d\u9875\u9762,\u5982\u4e0b,\u9009\u62e9windows8 10 or 11\u548cStand Alone Version\u7248\u672c,\u7136\u540e\u70b9\u51fb\u4e0b\u8f7d \u4e0b\u8f7d\u5b8c\u6210\u540e,\u5f97\u5230\u5982\u4e0bDiskImage_1_6_WinAll .exe\u6587\u4ef6 ,\u4fdd\u5b58\u597d,\u540e\u9762\u9700\u8981\u4fdd\u5b58\u4e48U\u76d8\u3002","title":"\u4e0b\u8f7dDisk Image"},{"location":"install-guide/WinPeInstall/#windowspeu","text":"windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u4e0b\u8f7d\u5b89\u88c5\u7a0b\u5e8f\u5982\u4e0b: \u8fd0\u884cWePev2.3.exe \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u5b89\u88c5\u5230U\u76d8\u56fe\u6807 \u9009\u62e9\u6b63\u786e\u7684\u4ea7\uff0c\u5e76\u914d\u597d\u5377\u6807\uff0c\u70b9\u51fb\u7acb\u5373\u5b89\u88c5\u5230U\u76d8\uff0c \u63d0\u793a\u5f00\u59cb\u5236\u4f5cU\u76d8 \u7a0d\u7b49\u7247\u523b \u7cfb\u7edf\u63d0\u793a\u5236\u4f5c\u5b8c\u6210","title":"\u5236\u4f5cWindowsPE\u5f15\u5bfcU\u76d8"},{"location":"install-guide/WinPeInstall/#haosu","text":"\u70b9\u51fb\u8bbf\u95ee Ha-os-GenerricX86-64\u9875\u9762 ,\u627e\u5230\u4e0b\u955c\u50cf\u7684\u4e0b\u8f7d\u94fe\u63a5 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5982\u4e0b\u94fe\u63a5 \u4e0b\u8f7d,\u4f46\u5c3d\u91cf\u8fd8\u662f\u6309\u4e0a\u8ff0\u65b9\u6cd5\u4e0b\u8f7d,\u4fdd\u8bc1\u6bcf\u6b21\u4e0b\u8f7d\u7684\u90fd\u662f\u5b98\u7f51\u6700\u65b0\u7684\u7248\u672c. \u4e0b\u8f7d\u5b8c\u6210\u540e\u5982\u4e0b \u89e3\u538b\u8fd9\u4e2a\u6587\u4ef6 \u5f97\u5230haos_generic-x86-64-15.1.img,\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230U\u76d8\u4e2d\u4efb\u610f\u76ee\u5f55 \u6bd4\u5982\uff0c\u6211\u653e\u5230\u4e86\u5982\u4e0b\u76ee\u5f55","title":"\u4e0b\u8f7d\u5e76\u89e3\u538bHAOS\u955c\u50cf\u5230U\u76d8"},{"location":"install-guide/WinPeInstall/#disk-imageu","text":"\u81f3\u6b64WINpe\u5f15\u5bfcU\u76d8\u5c31\u5236\u4f5c\u597d\u4e86\u3002 \u7528\u6b64U\u76d8\u5f15\u5bfc\u5c0f\u5de5\u63a7\u673a\uff0c\u6ce8\u610f\u610f\u8981\u6b63\u786e\u7684\u914d\u7f6eBIOS\uff0c\u53ca\u8981\u7528\u6b63\u786e\u7684\u6539\u53d8\u542f\u52a8\u987a\u5e8f\u7684\u65b9\u6cd5\u5982F11\u5e38\u6309, \u5f15\u5bfc\u6210\u529f\u767d\u5e26 ,\u76f4\u5165PE\u542f\u52a8\u754c\u9762\uff0c\u9009 \u7b2c\u4e00\u9879\u9ed8\u8ba4\uff0c\u7ee7\u7eed \u7a0d\u5019\u4f1a\u8fdb\u5165PE\u7cfb\u7edf \u627e\u5230\u5e76\u542f\u52a8diskImage\u5199\u76d8\u5de5\u5177 \u70b9YES\u7ee7\u7eed \u9009 \u62e9\u4e0b\u8f7d\u597d\u7684HAOS\u7684\u5b89\u88c5\u955c\u50cfimg\u6587\u4ef6 \u63d0\u793a\u6570\u636e\u6709\u4e22\u5931\u98ce\u9669\u65f6,\u70b9\u662f \u6ce8\u610f\u5728\u5199\u5165\u4e4b\u524d,\u4e00\u5b9a\u8981\u786e\u8ba4\u662f\u786c\u76d8\u800c\u975eU\u76d8\uff0c\u4e00\u822c\u4e3aphysical disk 0 \u5199\u5165\u5b8c\u6210\u540e\u4f1a\u63d0\u793a\u5199\u5165\u6210\u529f","title":"\u628a\u4e4b\u524d\u4e0b\u8f7d\u597d\u7684Disk Image\u653e\u5165U\u76d8"},{"location":"install-guide/WinPeInstall/#ha-cli","text":"\u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u91cd\u65b0\u542f\u52a8\u8fdb\u5165HA cli\u754c\u9762"},{"location":"install-guide/configX86Bios/","text":"\u901a\u7528\u8bbe\u7f6e \u00b6 \u8981\u542f\u52a8Home Assistant\u64cd\u4f5c\u7cfb\u7edf\uff0cBIOS\u9700\u8981\u542f\u7528UEFI\u542f\u52a8\u6a21\u5f0f\u5e76\u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4ee5\u4e0b\u622a\u56fe\u6765\u81ea\u7b2c\u4e03\u4ee3\u82f1\u7279\u5c14NUC\u7cfb\u7edf\u3002\u60a8\u7684\u7cfb\u7edf\u4e0a\u7684BIOS\u83dc\u5355\u53ef\u80fd\u770b\u8d77\u6765\u4e0d\u540c\uff0c\u4f46\u9009\u9879\u5e94\u8be5\u4ecd\u7136\u5b58\u5728\u5e76\u5177\u6709\u7c7b\u4f3c\u7684\u540d\u79f0\u3002 \u8981\u8fdb\u5165BIOS\uff0c\u8bf7\u542f\u52a8\u60a8\u7684x86-64\u786c\u4ef6\u5e76\u53cd\u590d\u6309\u4e0bF2\u952e\uff08\u5728\u67d0\u4e9b\u7cfb\u7edf\u4e0a\uff0c\u8fd9\u53ef\u80fd\u662fDel\u3001F1\u6216F10\u952e\uff09\u3002 \u786e\u4fdd\u542f\u7528\u4e86UEFI\u542f\u52a8\u6a21\u5f0f\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4fdd\u5b58\u66f4\u6539\u5e76\u9000\u51fa\u3002 BIOS\u914d\u7f6e\u73b0\u5df2\u5b8c\u6210\u3002 \u516c\u53f8\u5c0f\u5de5\u63a7\u673a(1900)\u914d\u7f6e \u00b6 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a\u8fdb\u5165Bios\u7684\u65b9\u5f0f,\u662f\u5f00\u673a\u65f6,\u6309DEL\u952e,\u8fdb\u5165\u5982\u4e0b\u754c\u9762 \u8fdb\u5165Bios\u540e,\u8981\u8c03OS Selection,\u9ed8\u8ba4\u4e3awindows7\u9700\u8981\u8c03\u6574\u4e3aLinux\u5982\u4e0b\u56fe \u7136\u540e\u4fdd\u5b58,\u9000\u51fa \u63d0\u793a\u4fdd\u5b58\u65f6,\u9009\u62e9YES","title":"configX86Bios"},{"location":"install-guide/configX86Bios/#_1","text":"\u8981\u542f\u52a8Home Assistant\u64cd\u4f5c\u7cfb\u7edf\uff0cBIOS\u9700\u8981\u542f\u7528UEFI\u542f\u52a8\u6a21\u5f0f\u5e76\u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4ee5\u4e0b\u622a\u56fe\u6765\u81ea\u7b2c\u4e03\u4ee3\u82f1\u7279\u5c14NUC\u7cfb\u7edf\u3002\u60a8\u7684\u7cfb\u7edf\u4e0a\u7684BIOS\u83dc\u5355\u53ef\u80fd\u770b\u8d77\u6765\u4e0d\u540c\uff0c\u4f46\u9009\u9879\u5e94\u8be5\u4ecd\u7136\u5b58\u5728\u5e76\u5177\u6709\u7c7b\u4f3c\u7684\u540d\u79f0\u3002 \u8981\u8fdb\u5165BIOS\uff0c\u8bf7\u542f\u52a8\u60a8\u7684x86-64\u786c\u4ef6\u5e76\u53cd\u590d\u6309\u4e0bF2\u952e\uff08\u5728\u67d0\u4e9b\u7cfb\u7edf\u4e0a\uff0c\u8fd9\u53ef\u80fd\u662fDel\u3001F1\u6216F10\u952e\uff09\u3002 \u786e\u4fdd\u542f\u7528\u4e86UEFI\u542f\u52a8\u6a21\u5f0f\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4fdd\u5b58\u66f4\u6539\u5e76\u9000\u51fa\u3002 BIOS\u914d\u7f6e\u73b0\u5df2\u5b8c\u6210\u3002","title":"\u901a\u7528\u8bbe\u7f6e"},{"location":"install-guide/configX86Bios/#1900","text":"\u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a\u8fdb\u5165Bios\u7684\u65b9\u5f0f,\u662f\u5f00\u673a\u65f6,\u6309DEL\u952e,\u8fdb\u5165\u5982\u4e0b\u754c\u9762 \u8fdb\u5165Bios\u540e,\u8981\u8c03OS Selection,\u9ed8\u8ba4\u4e3awindows7\u9700\u8981\u8c03\u6574\u4e3aLinux\u5982\u4e0b\u56fe \u7136\u540e\u4fdd\u5b58,\u9000\u51fa \u63d0\u793a\u4fdd\u5b58\u65f6,\u9009\u62e9YES","title":"\u516c\u53f8\u5c0f\u5de5\u63a7\u673a(1900)\u914d\u7f6e"},{"location":"install-guide/installHa/","text":"\u5b89\u88c5HomeAssistant \u00b6 HomeAssistant\u7684\u5b89\u88c5\u6709\u591a\u79cd\u65b9\u5f0f\u4e0e\u65b9\u6cd5,\u6700\u5e38\u7528\u6298\u6709\u786c\u5907\u76f4\u63a5\u5b89\u88c5,docker\u5b89\u88c5\u865a\u62df\u673a\u5b89\u88c5\u7b49. \u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u786c\u76d8\u5b89\u88c5HAOS\u4e3a\u4f8b\u4ecb\u7ecd\u57fa\u4e8ex86\u786c\u4ef6\u7684\u57fa\u7840\u4e0a\u5b89\u88c5HAOS,\u57fa\u5b83\u7684\u5b89\u88c5\u65b9\u5f0f,\u540e\u7eed\u4f1a\u4ecb\u7ecd. HAOS\u5b89\u88c5 \u00b6 \u5b89\u88c5\u5728X86PC\u786c\u76d8\u4e0a \u00b6 haos\u8981\u5b89\u88c5\u5728\u786c\u76d8\u4e0a,\u603b\u4f53\u601d\u8def\u662f,\u5148\u5230HA\u7684\u5b98\u7f51\u4e0b\u8f7dhaos\u7684\u5b98\u65b9\u955c\u50cf\u6587\u4ef6 ,\u4e00\u822c\u4e3a.gz\u6216.gz.xz\u7b49\u683c\u5f0f,\u7136\u540e\u518d\u7528\u5199\u76d8\u5de5\u5177,\u76f4\u63a5\u628a\u8fd9\u4e2a\u955c\u50cf\u5199\u5165\u786c\u76d8. \u5c06\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8\u4e0a\u7ea6\u6709\u4e24\u79cd\u65b9\u6cd5: \u5728linux\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5199\u5165\u955c\u50cf \u5728windows\u5e73\u53f0\u4e0a\u5199\u5165\u955c\u50cf \u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf \u00b6 \u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d\u5b89\u88c5ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528) \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u79fb\u9664U\u76d8 \u91cd\u542f\u7cfb\u7edf \u8fdb\u5165HA cli\u754c\u9762 \u6b64\u79cd\u65b9\u6cd5\u7684\u597d\u5904\u662f,\u4e0d\u7528\u62c6\u9664\u786c\u76d8,\u76f4\u63a5\u5728\u5c0f\u5de5\u63a7\u673a\u4e0a\u5c31\u80fd\u5b9e\u73b0\u64cd\u4f5c. \u57fa\u4e8e windows\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf. \u00b6 \u5b98\u65b9\u5728\u4ecb\u7ecd\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba9\u7528\u6237\u628a\u5c0f\u5de5\u63a7\u673a\u7684\u786c\u76d8\u62c6\u4e0b,\u88c5\u5165\u7528\u6237\u81ea\u5df2\u7684\u7535\u8111\u4e2d,\u5e76\u7528balenaEtcher\u5199\u76d8\u5de5\u5177\u5c06\u955c\u50cf\u5199\u5165\u5c0f\u5de5\u63a7\u7684\u673a\u7684\u786c\u76d8\u540e,\u518d\u628a\u5c0f\u5de5\u63a7\u673a\u673a\u7684\u786c\u76d8\u88c5\u5165\u5c0f\u5de5\u63a7\u673a.\u8fd9\u65b9\u6cd5\u65b9\u4fbf\u5feb\u6377,\u4f46\u662f\u9700\u8981\u62c6\u673a,\u6709\u9700\u8981\u7684\u7528\u6237\u53ef\u4ee5\u5230\u5b98\u65b9\u4ecb\u7ecd\u9875\u9762 Geneic x86-64 \u53bb\u770b\u5177\u4f53\u64cd\u4f5c\u65b9\u6cd5. \u6211\u4eec\u5e38\u7528\u7684\u65b9\u6cd5\u5982\u4e0b: \u5236\u4f5c\u4e00\u4e2a\u5176\u4e8ewindows PE\u7cfb\u7edf\u7684\u5f15\u5bfcU\u76d8. \u4e0b\u8f7d\u5b98\u65b9\u955c\u50cf\u5230U\u76d8\u4e2d\u3002 \u89e3\u538b\u955c\u50cf\u4e3a.img\u6587\u4ef6 \u7528PE\u5e26\u7684\u5199\u76d8\u5de5\u5177\uff0c\u5c06HA\u955c\u50cf\u5199\u5165\u786c\u76d8\u3002 \u79fb\u9664U\u76d8\u3002 \u91cd\u542f\u8fdb\u5165HA ClI. \u76f4\u63a5 \u8fd8\u539f\u6574\u4e2a\u78c1\u76d8 \u00b6 \u56e0\u3001\u4e3aHA\u5b89\u88c5\u914d\u7f6e\uff0c\u8f83\u4e3a\u590d\u6742\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u4f7f\u7528\u78c1\u76d8\u5168\u76d8\u7684\u6620\u50cf\u6765\u8fd8\u539f\u78c1\u76d8\uff0c\u6765\u8fbe\u5230\u5feb\u901f\u5b89\u88c5\u76ee\u7684\uff0c\u6b64\u65b9\u6cd5\uff0c\u80fd\u5728\u534a\u5c0f\u65f6\u5de6\u53f3\u7684\u65f6\u95f4\uff0c\u76f4\u63a5\u5b89\u88c5\u597dHA\uff0c\u540c\u65f6\uff0c\u6240\u4ee5\u7528\u7684\u5230\u8bbe\u7f6e\u4e0e\u63d2\u4ef6\u7a0b\u5e8f\u4e0e\u540c\u6b65\u88c5\u597d\uff0c\u5927\u5927\u8282\u7701\u4e86\u65f6\u95f4\u3002 \u5b89\u88c5\u5728VMware ESXi\u4e0a \u00b6 vmware ESXi\u662f\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u7684\u865a\u62df\u5316\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5176\u4e0a\u5b89\u88c5Home Assistant. \u8be6\u60c5\u89c1: vmwareExsi\u5b89\u88c5Ha.md","title":"\u5b89\u88c5"},{"location":"install-guide/installHa/#homeassistant","text":"HomeAssistant\u7684\u5b89\u88c5\u6709\u591a\u79cd\u65b9\u5f0f\u4e0e\u65b9\u6cd5,\u6700\u5e38\u7528\u6298\u6709\u786c\u5907\u76f4\u63a5\u5b89\u88c5,docker\u5b89\u88c5\u865a\u62df\u673a\u5b89\u88c5\u7b49. \u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u786c\u76d8\u5b89\u88c5HAOS\u4e3a\u4f8b\u4ecb\u7ecd\u57fa\u4e8ex86\u786c\u4ef6\u7684\u57fa\u7840\u4e0a\u5b89\u88c5HAOS,\u57fa\u5b83\u7684\u5b89\u88c5\u65b9\u5f0f,\u540e\u7eed\u4f1a\u4ecb\u7ecd.","title":"\u5b89\u88c5HomeAssistant"},{"location":"install-guide/installHa/#haos","text":"","title":"HAOS\u5b89\u88c5"},{"location":"install-guide/installHa/#x86pc","text":"haos\u8981\u5b89\u88c5\u5728\u786c\u76d8\u4e0a,\u603b\u4f53\u601d\u8def\u662f,\u5148\u5230HA\u7684\u5b98\u7f51\u4e0b\u8f7dhaos\u7684\u5b98\u65b9\u955c\u50cf\u6587\u4ef6 ,\u4e00\u822c\u4e3a.gz\u6216.gz.xz\u7b49\u683c\u5f0f,\u7136\u540e\u518d\u7528\u5199\u76d8\u5de5\u5177,\u76f4\u63a5\u628a\u8fd9\u4e2a\u955c\u50cf\u5199\u5165\u786c\u76d8. \u5c06\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8\u4e0a\u7ea6\u6709\u4e24\u79cd\u65b9\u6cd5: \u5728linux\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5199\u5165\u955c\u50cf \u5728windows\u5e73\u53f0\u4e0a\u5199\u5165\u955c\u50cf","title":"\u5b89\u88c5\u5728X86PC\u786c\u76d8\u4e0a"},{"location":"install-guide/installHa/#linux","text":"\u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d\u5b89\u88c5ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528) \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u79fb\u9664U\u76d8 \u91cd\u542f\u7cfb\u7edf \u8fdb\u5165HA cli\u754c\u9762 \u6b64\u79cd\u65b9\u6cd5\u7684\u597d\u5904\u662f,\u4e0d\u7528\u62c6\u9664\u786c\u76d8,\u76f4\u63a5\u5728\u5c0f\u5de5\u63a7\u673a\u4e0a\u5c31\u80fd\u5b9e\u73b0\u64cd\u4f5c.","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/installHa/#windows","text":"\u5b98\u65b9\u5728\u4ecb\u7ecd\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba9\u7528\u6237\u628a\u5c0f\u5de5\u63a7\u673a\u7684\u786c\u76d8\u62c6\u4e0b,\u88c5\u5165\u7528\u6237\u81ea\u5df2\u7684\u7535\u8111\u4e2d,\u5e76\u7528balenaEtcher\u5199\u76d8\u5de5\u5177\u5c06\u955c\u50cf\u5199\u5165\u5c0f\u5de5\u63a7\u7684\u673a\u7684\u786c\u76d8\u540e,\u518d\u628a\u5c0f\u5de5\u63a7\u673a\u673a\u7684\u786c\u76d8\u88c5\u5165\u5c0f\u5de5\u63a7\u673a.\u8fd9\u65b9\u6cd5\u65b9\u4fbf\u5feb\u6377,\u4f46\u662f\u9700\u8981\u62c6\u673a,\u6709\u9700\u8981\u7684\u7528\u6237\u53ef\u4ee5\u5230\u5b98\u65b9\u4ecb\u7ecd\u9875\u9762 Geneic x86-64 \u53bb\u770b\u5177\u4f53\u64cd\u4f5c\u65b9\u6cd5. \u6211\u4eec\u5e38\u7528\u7684\u65b9\u6cd5\u5982\u4e0b: \u5236\u4f5c\u4e00\u4e2a\u5176\u4e8ewindows PE\u7cfb\u7edf\u7684\u5f15\u5bfcU\u76d8. \u4e0b\u8f7d\u5b98\u65b9\u955c\u50cf\u5230U\u76d8\u4e2d\u3002 \u89e3\u538b\u955c\u50cf\u4e3a.img\u6587\u4ef6 \u7528PE\u5e26\u7684\u5199\u76d8\u5de5\u5177\uff0c\u5c06HA\u955c\u50cf\u5199\u5165\u786c\u76d8\u3002 \u79fb\u9664U\u76d8\u3002 \u91cd\u542f\u8fdb\u5165HA ClI.","title":"\u57fa\u4e8ewindows\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf."},{"location":"install-guide/installHa/#_1","text":"\u56e0\u3001\u4e3aHA\u5b89\u88c5\u914d\u7f6e\uff0c\u8f83\u4e3a\u590d\u6742\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u4f7f\u7528\u78c1\u76d8\u5168\u76d8\u7684\u6620\u50cf\u6765\u8fd8\u539f\u78c1\u76d8\uff0c\u6765\u8fbe\u5230\u5feb\u901f\u5b89\u88c5\u76ee\u7684\uff0c\u6b64\u65b9\u6cd5\uff0c\u80fd\u5728\u534a\u5c0f\u65f6\u5de6\u53f3\u7684\u65f6\u95f4\uff0c\u76f4\u63a5\u5b89\u88c5\u597dHA\uff0c\u540c\u65f6\uff0c\u6240\u4ee5\u7528\u7684\u5230\u8bbe\u7f6e\u4e0e\u63d2\u4ef6\u7a0b\u5e8f\u4e0e\u540c\u6b65\u88c5\u597d\uff0c\u5927\u5927\u8282\u7701\u4e86\u65f6\u95f4\u3002","title":"\u76f4\u63a5\u8fd8\u539f\u6574\u4e2a\u78c1\u76d8"},{"location":"install-guide/installHa/#vmware-esxi","text":"vmware ESXi\u662f\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u7684\u865a\u62df\u5316\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5176\u4e0a\u5b89\u88c5Home Assistant. \u8be6\u60c5\u89c1: vmwareExsi\u5b89\u88c5Ha.md","title":"\u5b89\u88c5\u5728VMware ESXi\u4e0a"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/","text":"\u57fa\u4e8evmWare Exsi\u5b89\u88c5HA \u00b6 1. \u51c6\u5907\u5de5\u4f5c \u00b6 \u4e0b\u8f7dVMware ESXi\u5b89\u88c5\u955c\u50cf. \u6253\u5f00\u9875\u9762 https://www.home-assistant.io/installation/alternative \u70b9\u51fb\u4e0b\u8f7d\u201c VMware ESXi/vSphere \u7684 .ova \u683c\u5f0f\u955c\u50cf\u6587\u4ef6\u201d \u6ce8\u610f1 \u4f7f\u7528 E1000 \u6216 E1000E \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u3002\u5f53\u4f7f\u7528 VMware \u7684 VMXnet3 \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u65f6\uff0c\u5df2\u786e\u8ba4\u5b58\u5728 mDNS/\u591a\u64ad\u53d1\u73b0\u95ee\u9898\u3002 \u89e3\u6790\uff1a E1000 \u548c E1000E\uff1a\u63a8\u8350\u7684\u865a\u62df\u7f51\u7edc\u9002\u914d\u5668 VMXnet3\uff1a\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7f51\u7edc\u53d1\u73b0\u95ee\u9898 mDNS\uff1a\u591a\u64ad\u57df\u540d\u7cfb\u7edf \u591a\u64ad\u53d1\u73b0\uff1a\u8bbe\u5907\u5728\u7f51\u7edc\u4e0a\u81ea\u52a8\u53d1\u73b0\u548c\u901a\u4fe1\u7684\u673a\u5236 \u5efa\u8bae\uff1a \u5728 VMware ESXi \u521b\u5efa\u865a\u62df\u673a\u65f6 \u7f51\u7edc\u9002\u914d\u5668\u9009\u62e9 E1000 \u6216 E1000E \u907f\u514d\u4f7f\u7528 VMXnet3 \u6ce8\u610f2 \u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\uff0c\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a\u767b\u5f55ESXi\u4e3b\u673a\uff0c\u9009\u62e9\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff0c\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u9009\u62e9OVF\u6216OVA\u6587\u4ef6\u5e76\u5b8c\u6210\u540e\u7eed\u8bbe\u7f6e\u3002\ufeff \u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u767b\u5f55ESXi\u4e3b\u673a\uff1a:\u4f7f\u7528Web Client\u6216vSphere Client\u767b\u5f55\u5230\u60a8\u7684ESXi\u4e3b\u673a\u3002\ufeff \u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff1a:\u5728ESXi\u754c\u9762\u4e2d\uff0c\u627e\u5230\u5e76\u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u9009\u9879\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u7c7b\u578b\uff1a:\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9OVF/OVA\u6587\u4ef6\uff1a:\u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u7136\u540e\u9009\u62e9\u8981\u90e8\u7f72\u7684OVF\u6216OVA\u6587\u4ef6\uff0c\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff1a:\u9009\u62e9\u865a\u62df\u673a\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u9009\u9879\uff1a:\u6839\u636e\u9700\u8981\u9009\u62e9\u90e8\u7f72\u9009\u9879\uff0c\u4f8b\u5982\u7f51\u7edc\u914d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u5b8c\u6210\u90e8\u7f72\uff1a:\u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002\ufeff \u542f\u52a8\u865a\u62df\u673a\uff1a:\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u542f\u52a8\u65b0\u521b\u5efa\u7684\u865a\u62df\u673a\u5373\u53ef\u3002\ufeff \u6ce8\u610f\u4e8b\u9879\uff1a \u5982\u679c\u4f7f\u7528OVF\u6587\u4ef6\uff0c\u901a\u5e38\u9700\u8981\u914d\u5408VMDK\u7b49\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u4e00\u8d77\u4f7f\u7528\u3002\ufeff \u786e\u4fddOVF\u6587\u4ef6\u548c\u76f8\u5173\u7684\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u90fd\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\uff0c\u6216\u8005\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\u3002\ufeff \u5728\u201c\u90e8\u7f72\u9009\u9879\u201d\u9875\u9762\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u3001\u8d44\u6e90\u7b49\u8bbe\u7f6e\u3002\ufeff \u5982\u679c\u9047\u5230\u201c\u7f3a\u5c11\u78c1\u76d8\u955c\u50cf\u201d\u7b49\u62a5\u9519\uff0c\u53ef\u80fd\u662f\u7531\u4e8eOVF\u6587\u4ef6\u4e2d\u5f15\u7528\u7684\u78c1\u76d8\u6587\u4ef6\u8def\u5f84\u4e0d\u6b63\u786e\uff0c\u6216\u8005\u78c1\u76d8\u6587\u4ef6\u672a\u6b63\u786e\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\uff0c\u9700\u8981\u68c0\u67e5\u5e76\u4fee\u6b63\u3002\ufeff \u5bf9\u4e8e\u67d0\u4e9bOVF\u6a21\u677f\uff0c\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u4fee\u6539\u865a\u62df\u673a\u7684\u786c\u4ef6\u7248\u672c\u4ee5\u517c\u5bb9ESXi\u7248\u672c\u3002\ufeff \u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u60a8\u5c31\u53ef\u4ee5\u6210\u529f\u5730\u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\u4e86 2. \u5b89\u88c5\u6b65\u9aa4 \u00b6 \u767b\u5f55\u5230ESXi\u4e3b\u673a\u7684Web\u754c\u9762\u3002 \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb\u201c\u865a\u62df\u673a\u201d\u3002 \u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u6309\u94ae\u3002 \u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u5e76\u9009\u62e9\u4e0b\u8f7d\u7684Home Assistant OVA\u6587\u4ef6\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u7684\u5b58\u50a8\u4f4d\u7f6e\u5373\u53ef\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u7f51\u7edc\u6620\u5c04\u201d\u9875\u9762\uff0c\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u786e\u4fdd\u4f7f\u7528E1000\u6216E1000E\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002 \u9875\u9762\u5e95\u90e8\u4f1a\u663e\u793a\u90e8\u7f72\u8fdb\u5ea6\uff0c\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u4e2d\u770b\u5230\u65b0\u521b\u5efa\u7684Home Assistant\u865a\u62df\u673a\u3002 \u9009\u4e2dHome Assistant\u865a\u62df\u673a\uff0c\u70b9\u51fb\u201c\u542f\u52a8\u201d\u6309\u94ae\u6765\u542f\u52a8\u865a\u673a \u9996\u6b21\u542f\u52a8\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u770b\u5230ha> \u8fdb\u793a\u7b26\u540e\uff0c\u53ef\u4ee5\u8bd5\u7740\u8f93\u5165 ha \u547d\u4ee4\u6765\u68c0\u67e5Home Assistant\u7684\u72b6\u6001\u3002 \u4e0a\u8ff0\u72b6\u6001\uff0c\u5982\u679c\u663e\u793a \"System is not ready with state: setup\"\uff0c\u8bf4\u660e\u7cfb\u7edf\u6b63\u5728\u5b89\u88c5\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u76f4\u5230\u7cfb\u7edf\u5b8c\u5168\u542f\u52a8\u540e\u518d\u8bbf\u95eeWeb\u754c\u9762\u3002\u9996\u6b21\u542f\u52a8 Home Assistant \u9700\u8981\u8f83\u957f\u65f6\u95f4\uff0c\u901a\u5e38\u9700\u8981 10-30 \u5206\u949f\uff0c\u8fd9\u53d6\u51b3\u4e8e\u60a8\u7684\u786c\u4ef6\u914d\u7f6e\u3002 \u7a0d\u7b49\u4e00\u4f1a\uff0c\u6211\u4eec\u518d\u6b21\u7528ha cli info\u6765\u67e5\u770b\u72b6\u6001 \u7136\u540e\u7528 ha network info \u6765\u67e5\u770b\u7f51\u7edc\u72b6\u6001,\u53ef\u89c1\u6211\u4eec\u7684IP\u5730\u5740\u662f:192.168.1.51,\u540e\u7eed\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2aIP\u5730\u5740\u6765\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\u3002 \u542f\u52a8\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\uff0c\u901a\u5e38\u662f\u901a\u8fc7ESXi\u4e3b\u673a\u7684IP\u5730\u5740\u52a0\u4e0a\u7aef\u53e38123\u6765\u8bbf\u95ee\uff0c\u4f8b\u5982\uff1ahttp:// :8123\u3002 \u672c\u4f8b\u662fHttp://192.168.1.51:8123 \u5982\u4e0b\uff0c\u663e\u793a\uff0c\u8fd8\u5728\u5b89\u88c5\u4e2d \u7b49\u5f85\u5373\u53ef\uff0c\u540e\u7eed\u7684\u5b89\u88c5\u8c03\u8bd5\u7b49\uff0c\u89c1\u5176\u5b83\u6587\u6863\u3002","title":"vmwareExsi\u5b89\u88c5Ha"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#vmware-exsiha","text":"","title":"\u57fa\u4e8evmWare Exsi\u5b89\u88c5HA"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#1","text":"\u4e0b\u8f7dVMware ESXi\u5b89\u88c5\u955c\u50cf. \u6253\u5f00\u9875\u9762 https://www.home-assistant.io/installation/alternative \u70b9\u51fb\u4e0b\u8f7d\u201c VMware ESXi/vSphere \u7684 .ova \u683c\u5f0f\u955c\u50cf\u6587\u4ef6\u201d \u6ce8\u610f1 \u4f7f\u7528 E1000 \u6216 E1000E \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u3002\u5f53\u4f7f\u7528 VMware \u7684 VMXnet3 \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u65f6\uff0c\u5df2\u786e\u8ba4\u5b58\u5728 mDNS/\u591a\u64ad\u53d1\u73b0\u95ee\u9898\u3002 \u89e3\u6790\uff1a E1000 \u548c E1000E\uff1a\u63a8\u8350\u7684\u865a\u62df\u7f51\u7edc\u9002\u914d\u5668 VMXnet3\uff1a\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7f51\u7edc\u53d1\u73b0\u95ee\u9898 mDNS\uff1a\u591a\u64ad\u57df\u540d\u7cfb\u7edf \u591a\u64ad\u53d1\u73b0\uff1a\u8bbe\u5907\u5728\u7f51\u7edc\u4e0a\u81ea\u52a8\u53d1\u73b0\u548c\u901a\u4fe1\u7684\u673a\u5236 \u5efa\u8bae\uff1a \u5728 VMware ESXi \u521b\u5efa\u865a\u62df\u673a\u65f6 \u7f51\u7edc\u9002\u914d\u5668\u9009\u62e9 E1000 \u6216 E1000E \u907f\u514d\u4f7f\u7528 VMXnet3 \u6ce8\u610f2 \u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\uff0c\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a\u767b\u5f55ESXi\u4e3b\u673a\uff0c\u9009\u62e9\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff0c\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u9009\u62e9OVF\u6216OVA\u6587\u4ef6\u5e76\u5b8c\u6210\u540e\u7eed\u8bbe\u7f6e\u3002\ufeff \u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u767b\u5f55ESXi\u4e3b\u673a\uff1a:\u4f7f\u7528Web Client\u6216vSphere Client\u767b\u5f55\u5230\u60a8\u7684ESXi\u4e3b\u673a\u3002\ufeff \u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff1a:\u5728ESXi\u754c\u9762\u4e2d\uff0c\u627e\u5230\u5e76\u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u9009\u9879\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u7c7b\u578b\uff1a:\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9OVF/OVA\u6587\u4ef6\uff1a:\u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u7136\u540e\u9009\u62e9\u8981\u90e8\u7f72\u7684OVF\u6216OVA\u6587\u4ef6\uff0c\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff1a:\u9009\u62e9\u865a\u62df\u673a\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u9009\u9879\uff1a:\u6839\u636e\u9700\u8981\u9009\u62e9\u90e8\u7f72\u9009\u9879\uff0c\u4f8b\u5982\u7f51\u7edc\u914d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u5b8c\u6210\u90e8\u7f72\uff1a:\u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002\ufeff \u542f\u52a8\u865a\u62df\u673a\uff1a:\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u542f\u52a8\u65b0\u521b\u5efa\u7684\u865a\u62df\u673a\u5373\u53ef\u3002\ufeff \u6ce8\u610f\u4e8b\u9879\uff1a \u5982\u679c\u4f7f\u7528OVF\u6587\u4ef6\uff0c\u901a\u5e38\u9700\u8981\u914d\u5408VMDK\u7b49\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u4e00\u8d77\u4f7f\u7528\u3002\ufeff \u786e\u4fddOVF\u6587\u4ef6\u548c\u76f8\u5173\u7684\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u90fd\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\uff0c\u6216\u8005\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\u3002\ufeff \u5728\u201c\u90e8\u7f72\u9009\u9879\u201d\u9875\u9762\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u3001\u8d44\u6e90\u7b49\u8bbe\u7f6e\u3002\ufeff \u5982\u679c\u9047\u5230\u201c\u7f3a\u5c11\u78c1\u76d8\u955c\u50cf\u201d\u7b49\u62a5\u9519\uff0c\u53ef\u80fd\u662f\u7531\u4e8eOVF\u6587\u4ef6\u4e2d\u5f15\u7528\u7684\u78c1\u76d8\u6587\u4ef6\u8def\u5f84\u4e0d\u6b63\u786e\uff0c\u6216\u8005\u78c1\u76d8\u6587\u4ef6\u672a\u6b63\u786e\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\uff0c\u9700\u8981\u68c0\u67e5\u5e76\u4fee\u6b63\u3002\ufeff \u5bf9\u4e8e\u67d0\u4e9bOVF\u6a21\u677f\uff0c\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u4fee\u6539\u865a\u62df\u673a\u7684\u786c\u4ef6\u7248\u672c\u4ee5\u517c\u5bb9ESXi\u7248\u672c\u3002\ufeff \u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u60a8\u5c31\u53ef\u4ee5\u6210\u529f\u5730\u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\u4e86","title":"1. \u51c6\u5907\u5de5\u4f5c"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#2","text":"\u767b\u5f55\u5230ESXi\u4e3b\u673a\u7684Web\u754c\u9762\u3002 \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb\u201c\u865a\u62df\u673a\u201d\u3002 \u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u6309\u94ae\u3002 \u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u5e76\u9009\u62e9\u4e0b\u8f7d\u7684Home Assistant OVA\u6587\u4ef6\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u7684\u5b58\u50a8\u4f4d\u7f6e\u5373\u53ef\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u7f51\u7edc\u6620\u5c04\u201d\u9875\u9762\uff0c\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u786e\u4fdd\u4f7f\u7528E1000\u6216E1000E\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002 \u9875\u9762\u5e95\u90e8\u4f1a\u663e\u793a\u90e8\u7f72\u8fdb\u5ea6\uff0c\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u4e2d\u770b\u5230\u65b0\u521b\u5efa\u7684Home Assistant\u865a\u62df\u673a\u3002 \u9009\u4e2dHome Assistant\u865a\u62df\u673a\uff0c\u70b9\u51fb\u201c\u542f\u52a8\u201d\u6309\u94ae\u6765\u542f\u52a8\u865a\u673a \u9996\u6b21\u542f\u52a8\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u770b\u5230ha> \u8fdb\u793a\u7b26\u540e\uff0c\u53ef\u4ee5\u8bd5\u7740\u8f93\u5165 ha \u547d\u4ee4\u6765\u68c0\u67e5Home Assistant\u7684\u72b6\u6001\u3002 \u4e0a\u8ff0\u72b6\u6001\uff0c\u5982\u679c\u663e\u793a \"System is not ready with state: setup\"\uff0c\u8bf4\u660e\u7cfb\u7edf\u6b63\u5728\u5b89\u88c5\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u76f4\u5230\u7cfb\u7edf\u5b8c\u5168\u542f\u52a8\u540e\u518d\u8bbf\u95eeWeb\u754c\u9762\u3002\u9996\u6b21\u542f\u52a8 Home Assistant \u9700\u8981\u8f83\u957f\u65f6\u95f4\uff0c\u901a\u5e38\u9700\u8981 10-30 \u5206\u949f\uff0c\u8fd9\u53d6\u51b3\u4e8e\u60a8\u7684\u786c\u4ef6\u914d\u7f6e\u3002 \u7a0d\u7b49\u4e00\u4f1a\uff0c\u6211\u4eec\u518d\u6b21\u7528ha cli info\u6765\u67e5\u770b\u72b6\u6001 \u7136\u540e\u7528 ha network info \u6765\u67e5\u770b\u7f51\u7edc\u72b6\u6001,\u53ef\u89c1\u6211\u4eec\u7684IP\u5730\u5740\u662f:192.168.1.51,\u540e\u7eed\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2aIP\u5730\u5740\u6765\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\u3002 \u542f\u52a8\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\uff0c\u901a\u5e38\u662f\u901a\u8fc7ESXi\u4e3b\u673a\u7684IP\u5730\u5740\u52a0\u4e0a\u7aef\u53e38123\u6765\u8bbf\u95ee\uff0c\u4f8b\u5982\uff1ahttp:// :8123\u3002 \u672c\u4f8b\u662fHttp://192.168.1.51:8123 \u5982\u4e0b\uff0c\u663e\u793a\uff0c\u8fd8\u5728\u5b89\u88c5\u4e2d \u7b49\u5f85\u5373\u53ef\uff0c\u540e\u7eed\u7684\u5b89\u88c5\u8c03\u8bd5\u7b49\uff0c\u89c1\u5176\u5b83\u6587\u6863\u3002","title":"2. \u5b89\u88c5\u6b65\u9aa4"}]}
\ No newline at end of file
+{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"HomeAssistant\u672c\u5730\u90e8\u7f72\u53ca\u88c5\u8c03\u8bd5\u8bf4\u660e \u00b6 \u7b80\u8981\u8bf4\u660e \u5b89\u88c5HomeAssistant linux \u4e0b\u5b89\u88c5","title":"\u9996\u9875"},{"location":"#homeassistant","text":"\u7b80\u8981\u8bf4\u660e \u5b89\u88c5HomeAssistant linux \u4e0b\u5b89\u88c5","title":"HomeAssistant\u672c\u5730\u90e8\u7f72\u53ca\u88c5\u8c03\u8bd5\u8bf4\u660e"},{"location":"about/","text":"\u5173\u4e8e\u6211\u4eec \u00b6 \u5cb1\u7279\u667a\u80fd\u79d1\u6280\uff08\u4e0a\u6d77\uff09\u6709\u9650\u516c\u53f8 \u00b6 \u6570\u636e\u6d41\u52a8\u4e4b\u5904\uff0c\u6548\u7387\u81ea\u7136\u53d1\u751f\u3002 \u00b6 DATA\u4ee3\u8868\u611f\u77e5\u3001\u8fde\u63a5\u4e0e\u667a\u80fd\u3002\u5728\u7e41\u6742\u7684\u533b\u7597\u6570\u636e\u4e2d\uff0c\u4e00\u573a\u6570\u5b57\u5316\u9769\u547d\u6b63\u5728\u53d1\u751f\uff0c\u6211\u4eec\u5b88\u62a4\u7684\u4e0d\u6b62\u662f\u6570\u636e\uff0c\u66f4\u662f\u60a3\u8005\u7684\u6bcf\u4e00\u5206\u949f\u3002\u5cb1\u7279\u667a\u80fd\u2013\u8ba9\u6bcf\u4e00\u53f0\u8bbe\u5907\u6210\u4e3a\u667a\u6167\u533b\u7597\u7684\u795e\u7ecf\u5143\u3002 25\u5e74\u533b\u7597\u4fe1\u606f\u5316\u6df1\u8015\u8005\uff0c\u56e2\u961f\u81ea2000\u5e74\u8d77\u6301\u7eed\u63a2\u7d22\u4fe1\u606f\u5316\u5728\u533b\u7597\u573a\u666f\u7684\u6df1\u5ea6\u5e94\u7528 \u00b6 \u6700\u4f73\u5b9e\u8df5\uff1a\u670d\u52a1\u5168\u7403\u8d85\u8fc7600+\u533b\u7597\u673a\u6784\uff0c\u7eed\u7ea6\u7387\u8d8597% \u5168\u7403\u670d\u52a1\uff1a\u72ec\u7acb\u7684\u82f1/\u65e5/\u9a6c\u6765\u8bed\u7248\u672c\uff0c\u9002\u914d\u5f53\u5730\u4e34\u5e8a\u8def\u5f84 \u6784\u5efa\u6807\u51c6\uff1a\u4e3b\u5bfc\u5236\u5b9a\u591a\u9879\u6807\u51c6\uff0c\u300c\u8840\u6db2\u900f\u6790\u8f6f\u4ef6\u6280\u672f\u8981\u6c42\u300d \u6570\u636e\u4e3b\u6743\uff1a\u5373\u4f7f\u7ec8\u6b62\u5408\u4f5c\uff0c\u4ecd\u7136\u4fdd\u8bc1\u7528\u6237\u4e0d\u53d7\u9650\u5236\u7684\u8bbf\u95ee \u56de\u5f52\u672c\u8d28 \u00b6 \u4e0d\u662f\u7528\u6280\u672f\u66ff\u4ee3\u4eba,\u800c\u662f\u8ba9\u800c\u662f\u8ba9\u4eba\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\uff0c\u56de\u5f52\u533b\u7597\u670d\u52a1\u7684\u672c\u8d28\u3002 \u77e5\u8bc6\u53cd\u54fa \u00b6 \u57fa\u5c42\u533b\u9662\u6848\u4f8b\u81ea\u52a8\u6c89\u6dc0\u4e3a\u4e09\u7532\u4f18\u5316\u7b56\u7565\uff0c\u8bc6\u522b\u79d1\u5ba4\u5de5\u4f5c\u6d41\u5dee\u5f02\uff0c\u751f\u6210\u5b9a\u5236\u65b9\u6848\u3002 \u5f00\u653e\u751f\u6001 \u00b6 \u5f00\u653eAPI\uff0c\u96c6\u6210100+\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\uff0c\u5171\u5efa\u533b\u7597\u6570\u636e\u4ea4\u4e92\u6807\u51c6\u3002 \u4e3a\u60a8\u6784\u5efa\u53ef\u751f\u957f\u7684\u6280\u672f\u751f\u6001\u548c\u53ef\u6301\u7eed\u7684\u4e1a\u52a1 \u00b6 \u50cf\u642d\u79ef\u6728\u822c\u81ea\u7531\u6269\u5c55\uff0c\u7834\u9664\u201d\u6570\u5b57\u5316=\u9ad8\u6295\u5165\uff0c\u4ece\u57fa\u7840\u7269\u8054\u5230AI\u51b3\u7b56\uff0c\u5206\u9636\u6bb5\u5efa\u8bbe\u907f\u514d\u4e00\u6b21\u6027\u8fc7\u8f7d\u6295\u5165\u3002\u4e0d\u662f\u63a8\u7ffb\u91cd\u5efa\u7cfb\u7edf\uff0c\u800c\u662f\u8ba9\u73b0\u6709\u8d44\u4ea7\u6301\u7eed\u4ea7\u751f\u6307\u6570\u7ea7\u4ef7\u503c\u2014\u2014\u8fd9\u624d\u662f\u533b\u7597\u6570\u5b57\u5316\u7684\u7ec8\u6781\u4f7f\u547d\u3002","title":"\u5173\u4e8e"},{"location":"about/#_1","text":"","title":"\u5173\u4e8e\u6211\u4eec"},{"location":"about/#_2","text":"","title":"\u5cb1\u7279\u667a\u80fd\u79d1\u6280\uff08\u4e0a\u6d77\uff09\u6709\u9650\u516c\u53f8"},{"location":"about/#_3","text":"DATA\u4ee3\u8868\u611f\u77e5\u3001\u8fde\u63a5\u4e0e\u667a\u80fd\u3002\u5728\u7e41\u6742\u7684\u533b\u7597\u6570\u636e\u4e2d\uff0c\u4e00\u573a\u6570\u5b57\u5316\u9769\u547d\u6b63\u5728\u53d1\u751f\uff0c\u6211\u4eec\u5b88\u62a4\u7684\u4e0d\u6b62\u662f\u6570\u636e\uff0c\u66f4\u662f\u60a3\u8005\u7684\u6bcf\u4e00\u5206\u949f\u3002\u5cb1\u7279\u667a\u80fd\u2013\u8ba9\u6bcf\u4e00\u53f0\u8bbe\u5907\u6210\u4e3a\u667a\u6167\u533b\u7597\u7684\u795e\u7ecf\u5143\u3002","title":"\u6570\u636e\u6d41\u52a8\u4e4b\u5904\uff0c\u6548\u7387\u81ea\u7136\u53d1\u751f\u3002"},{"location":"about/#252000","text":"\u6700\u4f73\u5b9e\u8df5\uff1a\u670d\u52a1\u5168\u7403\u8d85\u8fc7600+\u533b\u7597\u673a\u6784\uff0c\u7eed\u7ea6\u7387\u8d8597% \u5168\u7403\u670d\u52a1\uff1a\u72ec\u7acb\u7684\u82f1/\u65e5/\u9a6c\u6765\u8bed\u7248\u672c\uff0c\u9002\u914d\u5f53\u5730\u4e34\u5e8a\u8def\u5f84 \u6784\u5efa\u6807\u51c6\uff1a\u4e3b\u5bfc\u5236\u5b9a\u591a\u9879\u6807\u51c6\uff0c\u300c\u8840\u6db2\u900f\u6790\u8f6f\u4ef6\u6280\u672f\u8981\u6c42\u300d \u6570\u636e\u4e3b\u6743\uff1a\u5373\u4f7f\u7ec8\u6b62\u5408\u4f5c\uff0c\u4ecd\u7136\u4fdd\u8bc1\u7528\u6237\u4e0d\u53d7\u9650\u5236\u7684\u8bbf\u95ee","title":"25\u5e74\u533b\u7597\u4fe1\u606f\u5316\u6df1\u8015\u8005\uff0c\u56e2\u961f\u81ea2000\u5e74\u8d77\u6301\u7eed\u63a2\u7d22\u4fe1\u606f\u5316\u5728\u533b\u7597\u573a\u666f\u7684\u6df1\u5ea6\u5e94\u7528"},{"location":"about/#_4","text":"\u4e0d\u662f\u7528\u6280\u672f\u66ff\u4ee3\u4eba,\u800c\u662f\u8ba9\u800c\u662f\u8ba9\u4eba\u4ece\u91cd\u590d\u52b3\u52a8\u4e2d\u89e3\u653e\uff0c\u56de\u5f52\u533b\u7597\u670d\u52a1\u7684\u672c\u8d28\u3002","title":"\u56de\u5f52\u672c\u8d28"},{"location":"about/#_5","text":"\u57fa\u5c42\u533b\u9662\u6848\u4f8b\u81ea\u52a8\u6c89\u6dc0\u4e3a\u4e09\u7532\u4f18\u5316\u7b56\u7565\uff0c\u8bc6\u522b\u79d1\u5ba4\u5de5\u4f5c\u6d41\u5dee\u5f02\uff0c\u751f\u6210\u5b9a\u5236\u65b9\u6848\u3002","title":"\u77e5\u8bc6\u53cd\u54fa"},{"location":"about/#_6","text":"\u5f00\u653eAPI\uff0c\u96c6\u6210100+\u7b2c\u4e09\u65b9\u89e3\u51b3\u65b9\u6848\uff0c\u5171\u5efa\u533b\u7597\u6570\u636e\u4ea4\u4e92\u6807\u51c6\u3002","title":"\u5f00\u653e\u751f\u6001"},{"location":"about/#_7","text":"\u50cf\u642d\u79ef\u6728\u822c\u81ea\u7531\u6269\u5c55\uff0c\u7834\u9664\u201d\u6570\u5b57\u5316=\u9ad8\u6295\u5165\uff0c\u4ece\u57fa\u7840\u7269\u8054\u5230AI\u51b3\u7b56\uff0c\u5206\u9636\u6bb5\u5efa\u8bbe\u907f\u514d\u4e00\u6b21\u6027\u8fc7\u8f7d\u6295\u5165\u3002\u4e0d\u662f\u63a8\u7ffb\u91cd\u5efa\u7cfb\u7edf\uff0c\u800c\u662f\u8ba9\u73b0\u6709\u8d44\u4ea7\u6301\u7eed\u4ea7\u751f\u6307\u6570\u7ea7\u4ef7\u503c\u2014\u2014\u8fd9\u624d\u662f\u533b\u7597\u6570\u5b57\u5316\u7684\u7ec8\u6781\u4f7f\u547d\u3002","title":"\u4e3a\u60a8\u6784\u5efa\u53ef\u751f\u957f\u7684\u6280\u672f\u751f\u6001\u548c\u53ef\u6301\u7eed\u7684\u4e1a\u52a1"},{"location":"Usages/usage/","text":"\u4f7f\u7528\u6559\u7a0b \u00b6 \u57fa\u7840\u914d\u7f6e \u00b6 \u914d\u7f6e\u7f51\u7edc \u521d\u59cb\u5316\u914d\u7f6e \u5fc5\u88c5\u63d2\u4ef6\u6216\u7ec4\u4ef6 \u00b6 - HACS \u00b6","title":"\u4f7f\u7528\u6982\u8ff0"},{"location":"Usages/usage/#_1","text":"","title":"\u4f7f\u7528\u6559\u7a0b"},{"location":"Usages/usage/#_2","text":"\u914d\u7f6e\u7f51\u7edc \u521d\u59cb\u5316\u914d\u7f6e","title":"\u57fa\u7840\u914d\u7f6e"},{"location":"Usages/usage/#_3","text":"","title":"\u5fc5\u88c5\u63d2\u4ef6\u6216\u7ec4\u4ef6"},{"location":"Usages/usage/#-hacs","text":"","title":"- HACS"},{"location":"Usages/QA/HA-%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%8A%B6%E6%80%81%E5%8F%8D%E8%BD%AC/","text":"\u9996\u5148\uff0c\u5728\u5c0f\u7c73\u7684\u8bbe\u5907\u91cc\uff0c\u627e\u5230\u4f60\u8981\u53cd\u8f6c\u72b6\u8bb0\u7684\u4f20\u611f\u5668\u7684 ID, \u4ee5\u5927\u8fde\u4e3a\u4f8b\uff0c\u51b0\u7bb1\u95e8\u7684\u4f20\u611f\u5668\u72b6\u6001\u662f\u53cd\u7684\uff0c\u95e8\u5f00\u65f6\u663e\u793a\u5173\u7684\uff0c\u95e8\u5173\u65f6\u663e\u793a\u5f00\u7684\uff0c\u9700\u8981\u53cd\u8f6c\u663e \u6cd5\uff0c\u6b64\u8bbe\u5907\u7684\u4f20\u611f\u5668 ID \u4e3a\uff1a \u201cbinary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2 \u8bb0\u4f4f\u8fd9\u4e2a ID \u627e\u5230\u914d\u7f6e\u6587\u4ef6 \u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u683c\u5f0f\u7684\u4f20\u611f\u5668\u53cd\u8f6c\u914d\u7f6e\uff0c\u6ce8\u610f\uff0c\u6b64\u914d\u7f6e\u8981\u4e25\u683c\u9075\u5b88 YML \u683c\u5f0f\uff0c\u4e0d\u61c2 \u7684\u53ef\u4ee5\u767e\u5ea6\u5b66\u4e00\u4e0b\uff0c \u5185\u5bb9\u4e3a\uff1a - binary_sensor: - name: \"\u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c)\" unique_id: \"reversed_\u5927\u8fde\u51b0\u7bb1\u95e8_1\" state: > {{ is_state('binary_sensor.isa_cn_blt_3_1lqaf2rrgco01_dw2hl_contact_state_p_2_2', 'off') }} \u6ce8\u610f\uff0cstate \u540e\u9762\u7684\u683c\u5f0f\u8981\u5bf9\uff0c\u4f20\u611f\u5668 ID \u8981\u6362\u6210\u521a\u8bb0\u4e0b\u7684\u4f20\u611f\u5668 ID \u8fd9\u6837\u4f60\u5c31\u591a\u4e86\u4e00\u4e2a\u540d\u79f0\u4e3a\uff1a\u201c\u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c)\u201d\u7684\u4f20\u611f\u5668 \u7136\u540e\uff0c\u5230\u4eea\u8868\u76d8\uff0c\u5bf9\u5e94\u7684\u7ec4\u4ef6\u4e2d \u9009\u4e2d \u5927\u8fde\u51b0\u7bb1\u95e8-1 (\u72b6\u6001\u53cd\u8f6c) \u4fdd\u5b58\u5373\u53ef \u8fd9\u6837\u5c31\u5b9e\u73b0\u4e86\u53cd\u8f6c\uff0c\u4eea\u8868\u76d8\u4e2d\uff0c\u4e0d\u8981\u518d\u4f7f\u7528\u539f\u6765\u7684 ID\uff0c\u8981\u4f7f\u7528\u4f60\u914d\u7f6e\u6587\u4ef6\u4e2d\u65b0\u589e\u7684 id \u6ce8\u610f\uff1a \u5982\u679c\uff0c\u72b6\u6001\u6ca1\u6709\u53cd\u8f6c\uff0c\u53ef\u4ee5\u4ece\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u4f20\u611f\u5668\u7684\u72b6\u6001\uff0c\u786e\u8ba4\u662f\u5426\u6b63\u786e\u53cd\u8f6c\u3002","title":"HA-\u5982\u4f55\u5b9e\u73b0\u72b6\u6001\u53cd\u8f6c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/","text":"TQS-88 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a-\u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c \u00b6 \u6ce8\u610f\u4e8b\u9879 \u00b6 \u5728\u5f00\u59cb\u4f7f\u7528\u900f\u6790\u673a\u524d\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u672c\u64cd\u4f5c\u624b\u518c\u3002 \u4efb\u4f55\u4e0d\u5f53\u64cd\u4f5c\u90fd\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e8b\u6545\u3002\u4f7f\u7528\u7b26\u5408\u672c\u8bf4\u660e\u7684\u900f\u6790\u673a\u3002 \u8bf7\u5c06\u672c\u64cd\u4f5c\u624b\u518c\u7f6e\u4e8e\u6613\u4e8e\u83b7\u53d6\u7684\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u53ef\u968f\u65f6\u53c2\u9605\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u65e8\u5728\u4e3a\u64cd\u4f5c\u4eba\u5458\u63d0\u4f9b\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u4e3b\u8981\u6db5\u76d6\u4ee5\u4e0b\u6709\u5173\"\u6570\u636e\u901a\u4fe1\"\u7684\u5185\u5bb9\uff1a 1. \u89c4\u683c 2. \u4e0ePC\u7684\u8fde\u63a5 \u6b63\u6587\u4e2d\u8b66\u793a\u5b9a\u4e49\u5982\u4e0b\uff1a - \u6ce8\u610f \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4f7f\u7528\u8bf4\u660e\u3002\u60a8\u5fc5\u987b\u9075\u5b88\u4f7f\u7528\u8bf4\u660e\u3002 - \u9644\u6ce8 \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4e3a\u4e86\u8ba9\u60a8\u589e\u8fdb\u7406\u89e3\u7684\u6709\u7528\u4fe1\u606f\u6216\u8865\u5145\u8bf4\u660e\u4e8b\u9879\u3002 \u7b80\u4ecb \u00b6 \u64cd\u4f5c\u6b64\u9009\u914d\u4ef6\uff08\"\u6570\u636e\u901a\u4fe1\"\u529f\u80fd\uff09\u65f6\uff0c\u8bf7\u52a1\u5fc5\u5145\u5206\u7406\u89e3\u548c\u7279\u522b\u6ce8\u610f\u4ee5\u4e0b\u4e8b\u9879\u3002\u4f7f\u7528\u524d\u5fc5\u987b\u5145\u5206\u4e86\u89e3\u5185\u5bb9\u3002 1. \u64cd\u4f5c\u624b\u518c \u00b6 (1) \u672c\u64cd\u4f5c\u624b\u518c\u4ecb\u7ecd\u4e86\u6b63\u786e\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u548c\u5b89\u5168\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u5e76\u975e\u65e8\u5728\u8bf4\u660e\u5bf9\u60a3\u8005\u7684\u6cbb\u7597\u3002 (2) \u53ea\u6709\u4ed4\u7ec6\u9605\u8bfb\u5e76\u5145\u5206\u7406\u89e3\u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u6240\u542b\u7684\u8bf4\u660e\u540e\uff0c\u624d\u80fd\u4f7f\u7528\u8bbe\u5907\u5e76\u8fdb\u884c\u64cd\u4f5c\u4ee5\u53ca\u7ef4\u62a4\u3002 (3) \u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u7684\u64cd\u4f5c\u65b9\u6cd5\u548c\u5b89\u5168\u6ce8\u610f\u4e8b\u9879\u9002\u7528\u4e8e\u8fdb\u884c\u7279\u5b9a\u76ee\u7684\u7684\"\u6570\u636e\u901a\u4fe1\"\u4f7f\u7528\u3002\u8bf7\u52ff\u5c1d\u8bd5\u4ee5\u672c\u624b\u518c\u4e2d\u6240\u5217\u4ee5\u5916\u7684\u4efb\u4f55\u65b9\u5f0f\u4f7f\u7528\u8bbe\u5907\u3002 \u672c\u624b\u518c\u7684\u5185\u5bb9\u53d7\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7248\u6743\u4fdd\u62a4\uff0c\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\u672a\u7ecf\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4e8b\u5148\u4e66\u9762\u540c\u610f\uff0c\u4e0d\u5f97\u4ee5\u4efb\u4f55\u5f62\u5f0f\u590d\u5236\u3001\u8f6c\u8f7d\u672c\u624b\u518c\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\uff0c\u6216\u5c06\u5176\u8bd1\u4e3a\u5176\u4ed6\u8bed\u8a00\u3002 2. \u8d23\u4efb\u9650\u5236 \u00b6 \u6211\u4eec\u5e0c\u671b\u60a8\u4e8b\u524d\u4e86\u89e3\uff0c\u5bf9\u7531\u4e8e\u64cd\u4f5c\u6b64\u900f\u6790\u673a\u6240\u9020\u6210\u7684\u4efb\u4f55\u53ef\u80fd\u7684\u635f\u5bb3\u6216\u5229\u76ca\u635f\u5931\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u8bf7\u52ff\u62c6\u5378\u6216\u6539\u9020\u900f\u6790\u673a\uff0c\u5426\u5219\u5c06\u4e0d\u5728\u5236\u9020\u5546\u4fdd\u4fee\u8303\u56f4\u4e4b\u5185\u3002 \u7531\u4e8e\u5ba2\u6237\u62c6\u5378\u3001\u6539\u9020\u3001\u5206\u89e3\u6216\u4f7f\u7528\u4e0d\u5f53\u4ee5\u53ca\u5b89\u88c5\u73af\u5883\u3001\u642c\u8fd0\u4e0d\u5f53\u7b49\u9020\u6210\u7684\u635f\u5bb3\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u5982\u679c\u65e0\u6cd5\u53d1\u6325\u56fa\u6709\u529f\u80fd\uff0c\u5219\u4e0d\u5f97\u7528\u4e8e\u6cbb\u7597\u7528\u9014\u3002\u5bf9\u6b64\u7c7b\u60c5\u5f62\u4e0b\u9020\u6210\u7684\u4efb\u4f55\u635f\u5bb3\u6216\u5bf9\u60a3\u8005\u7684\u635f\u4f24\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u900f\u6790\u673a\u7684\u65e5\u5e38\u7ef4\u62a4\u548c\u68c0\u67e5\u5e94\u6839\u636e\"\u7ef4\u62a4\u68c0\u67e5\u624b\u518c\"\u8fdb\u884c\u3002 \u7b2c1\u7ae0 \u89c4\u683c \u00b6 1.1 \u6570\u636e\u901a\u4fe1\u529f\u80fd\u7684\u63cf\u8ff0 \u00b6 \u900f\u6790\u673a\u7684\u6cbb\u7597\u6570\u636e\u548c\u8bbe\u7f6e\u6570\u636e\u53ef\u4ece\u4ee5\u592a\u7f51\u63a5\u53e3\u4f20\u8f93\u5230\u8ba1\u7b97\u673a\u4e2d\u3002 1.2 \u901a\u4fe1\u89c4\u683c \u00b6 1.2.1 LAN\u53c2\u6570 \u00b6 \u7f16\u53f7 \u9879\u76ee \u63cf\u8ff0 1 \u4ee5\u592a\u7f51\u63a5\u53e3 10Base-T \u6216 100Base-TX\uff08\u81ea\u52a8\u611f\u5e94\uff09 2 \u4e32\u53e3 RJ45 3 \u7f51\u7edc\u914d\u7f6e \u53ef\u81ea\u5b9a\u4e49 1.2.2 \u900f\u6790\u673a\u901a\u4fe1\u6b65\u9aa4 \u00b6 \u900f\u6790\u673a\u7aef\u7ba1\u7406\u7684\u6570\u636e\u901a\u8fc7PC\u7aef\u7684\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u8fdb\u884c\u4f20\u8f93\u3002 graph TD A[PC] -->|\u6570\u636e\u4f20\u8f93\u8bf7\u6c42| B[\u900f\u6790\u673a] B -->|\u6570\u636e\u4f20\u8f93| A B -->|\u4e34\u5e8a\u6570\u636e\u4f20\u8f93| A [1] PC\u7aef\u4f20\u8f93\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff08\u53c2\u9605\u7b2c1.2.3\u8282\uff09\u3002 [2] \u900f\u6790\u673a\u63a5\u6536PC\u7684\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff0c\u5e76\u53d1\u9001\u5404\u79cd\u76f8\u5e94\u7684\u6570\u636e\uff08\u53c2\u9605\u7b2c1.2.4\u8282\u548c\u7b2c1.2.5\u8282\uff09\u3002 1.2.3 \u4ecePC\u4f20\u8f93\u5230\u900f\u6790\u673a\u7684\u6570\u636e\u53ca\u5176\u683c\u5f0f \u00b6 \u6570\u636e\u4f20\u8f93\u8bf7\u6c42\uff083\u4e2a\u5b57\u8282\uff09 \"K\"\uff084BH\uff09 CR\uff080DH\uff09 LF\uff080AH\uff09 1.2.4 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e\u683c\u5f0f \u00b6 \u4e34\u5e8a\u6570\u636e \u00b6 \u5f00\u59cb [1] \u6570\u636e\u957f\u5ea6 [2] \u6570\u636e [3] \u603b\u6570 [4] \u7ed3\u675f [5] \u6570\u636e\u7ec4\u6210 \u00b6 \u7f16\u53f7 \u5b57\u8282\u6570 \u63cf\u8ff0 [1] 2 \u6570\u636e\u5f00\u59cb\u4ee3\u7801\uff08ASCII\uff09 \"K\"\"1\" [2] 3 \u6570\u636e\u957f\u5ea6\uff08ASCII\uff09 \u91c7\u75283\u4f4d\u6570\u7684\u5f62\u5f0f\u8868\u793a\u7b2c\u4e09\u9879\u4e2d\u8ba1\u7b97\u7684\u6240\u6709\u5b57\u8282\u7684\u603b\u548c\u3002 \u4f8b\u5982\uff09\u5982\u679c\u603b\u6570\u4e3a123\u4e2a\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"1\",\"2\",\"3\" [3] 1 \u6570\u636e\u9a8c\u8bc1\u4ee3\u7801\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [3] \u5355\u4e2a \u6570\u636e\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [4] 2 \u7528\u4e8e\u548c\u6570\u6821\u9a8c\u7684\u6570\u636e \u8ba1\u7b97[1]\uff5e[3]\u603b\u548c\uff0c\u8f83\u4f4e\u7684\u5341\u516d\u8fdb\u52362\u4f4d\u6570\u4f1a\u8f6c\u6362\u6210ASCII\u4ee3\u7801\u3002 \u4f8b\u5982\uff09\u603b\u51715aH\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"5\"\u3001\"A\" [5] 2 \u6570\u636e\u7ed3\u675f\u4ee3\u7801 CR\u3001LF 1.2.5 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e \u00b6 \u6570\u636e\u5217\u8868 \u00b6 \u7f16\u53f7 \u6570\u636e\u540d\u79f0 \u6570\u636e\u6807\u8bc6\u4ee3\u7801 \u5b57\u8282\u6570 \u5355\u4f4d 1 UF\u76ee\u6807 \"A\" 5 L 2 UF\u91cf \"B\" 5 L 3 UF\u901f\u7387 \"C\" 5 L/hr 4 \u8840\u6db2\u6d41\u901f \"D\" 5 mL/min 5 \u6ce8\u5c04\u5668\u6d41\u901f \"E\" 5 mL/h 6 \u900f\u6790\u6db2\u6e29\u5ea6 \"F\" 5 \u6444\u6c0f\u5ea6 7 \u900f\u6790\u6db2\u7535\u5bfc\u5ea6 \"G\" 5 mS/cm 8 \u9759\u8109\u538b \"H\" 5 mmHg 9 \u900f\u6790\u6db2\u538b \"I\" 5 mmHg 10 TMP \"J\" 5 mmHg 11 \u900f\u6790\u65f6\u95f4 \"K\" 5 min 12 \u900f\u6790\u6db2\u6e29\u5ea6\u8b66\u62a5 \"a\" 1 \u2014 13 \u7535\u5bfc\u5ea6\u8b66\u62a5 \"b\" 1 \u2014 14 \u9759\u8109\u538b\u8b66\u62a5 \"c\" 1 \u2014 15 \u900f\u6790\u6db2\u538b\u529b\u8b66\u62a5 \"d\" 1 \u2014 16 TMP\u8b66\u62a5 \"e\" 1 \u2014 17 \u6c14\u6ce1\u4fa6\u6d4b\u5668\u8b66\u62a5 \"f\" 1 \u2014 18 \u6f0f\u8840\u8b66\u62a5 \"g\" 1 \u2014 19 \u5176\u4ed6\u8b66\u62a5 \"h\" 1 \u2014 20 \u900f\u6790\u6db2\u6d41\u901f \"L\" 5 mL/min 21 BPM\u68c0\u6d4b\u65f6\u95f4 \"M\" 5 \u65f6\u95f4 22 BPM\u6700\u9ad8\u8840\u538b \"N\" 5 mmHg 23 BPM\u6700\u4f4e\u8840\u538b \"O\" 5 mmHg 24 BPM\u8109\u51b2 \"P\" 5 \u8109\u51b2 25 BPM\u6536\u7f29\u4e0a\u9650\u8b66\u62a5 \"Q\" 5 mmHg 26 BPM\u6536\u7f29\u4e0b\u9650\u8b66\u62a5 \"R\" 5 mmHg 27 BPM\u538b\u8109\u5e26\u538b\u529b \"S\" 5 mmHg 28 BPM\u68c0\u6d4b\u95f4\u9694\u65f6\u95f4 \"T\" 5 min 29 \u603b\u8840\u6db2\u6d41\u91cf \"U\" 5 L 30 \u9759\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"V\" 5 mmHg 31 \u9759\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"W\" 5 mmHg 32 \u603b\u6ce8\u5c04\u6d41\u91cf \"X\" 5 mL 33 \u900f\u6790\u6db2\u538b\u4e0a\u9650\u8b66\u62a5 \"Y\" 5 mmHg 34 \u900f\u6790\u6db2\u538b\u4e0b\u9650\u8b66\u62a5 \"Z\" 5 mmHg 35 NaCl\u6ce8\u5165\u7ea7\u522b \"i\" 5 \u2014 36 UF\u4e2a\u6027\u5316\u7a0b\u5e8f \"j\" 1 \u2014 37 \u900f\u6790\u6db2\u9009\u62e9 \"k\" 1 \u2014 38 \u7535\u5bfc\u5ea6\u7ea7\u522b \"l\" 1 \u2014 39 \u6570\u636e\u901a\u4fe1\u72b6\u6001 \"m\" 1 \u2014 40 \u5e8f\u5217\u53f7 \"n\" 8 \u2014 41 \u52a8\u8109\u538b \"o\" 5 mmHg 42 \u52a8\u8109\u538b\u8b66\u62a5 \"p\" 1 \u2014 43 \u52a8\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"q\" 5 mmHg 44 \u52a8\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"r\" 5 mmHg 45 TMP\u4e0a\u9650\u8b66\u62a5 \"s\" 5 mmHg 46 TMP\u4e0b\u9650\u8b66\u62a5 \"t\" 5 mmHg 47 \u7f6e\u6362\u7387 \"u\" 5 L/hr 48 \u7f6e\u6362\u76ee\u6807\u91cf \"v\" 5 L 49 \u7f6e\u6362\u6db2\u8fdb\u7a0b\u91cf \"w\" 5 L 50 Na\u4e2a\u6027\u5316\u7a0b\u5e8f \"x\" 1 \u2014 51 \u8840\u6db2\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"y\" 1 \u2014 52 \u6ce8\u5c04\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"z\" 1 \u2014 53 \u900f\u6790\u6db2\u4e2a\u6027\u5316\u7a0b\u5e8f \"!\" 1 \u2014 54 \u900f\u6790\u6db2\u6e29\u5ea6\u8bbe\u7f6e\u503c \"#\" 5 \u6444\u6c0f\u5ea6 55 \u7f3a\u6c342\u8b66\u62a5 \"$\" 1 \u2014 \u6570\u636e\u8bf4\u660e \u00b6 1) \u672a\u6307\u5b9a\u6570\u636e\u4f20\u8f93\u7684\u987a\u5e8f\u3002 2) \u7b2c1\u523011\u9879\u300120\u523035\u9879\u300141\u9879\u300143\u523049\u9879\u548c54\u9879\u7684\u6570\u636e\u4ee55\u4f4d\u6570\u8868\u793a\u3002 - \u5982\u679c\u5305\u542b\u5c0f\u6570\u70b9\uff0c\u52195\u4f4d\u6570\u5305\u542b\u4e86\u5c0f\u6570\u70b9\u3002 - \u5982\u679c\u6570\u636e\u4e3a\u8d1f\u6570\uff0c\u6570\u5b57\u5c06\u4ee5\u51cf\u53f7\u6807\u5fd7\"-\"\u5f00\u5934\u3002 - \u5982\u679c\u9ad8\u4f4d\u5b57\u8282\u4e3a\u96f6\uff0c\u5219\u663e\u793a\"0\"\u3002 - \u4f8b\u5982\uff09\u76ee\u6807UF\u91cf\u4e3a2.35L\uff0c\u5219\u8f93\u5165\"0\"\u3001\"2\"\u3001\".\"\u3001\"3\"\u548c\"5\"\u3002 3) \u7b2c12\u81f319\u9879\u300142\u9879\u548c55\u9879\u7684\u8b66\u62a5\u503c\u4e3a\"1\"\uff08\u5df2\u8b66\u62a5\uff09\u6216\"0\"\uff08\u672a\u8b66\u62a5\uff09\u3002 4) \u7b2c19\u9879\u5176\u4ed6\u8b66\u62a5\u662f\u9664\u7b2c12\u81f318\u9879\u300142\u9879\u548c55\u9879\u4ee5\u5916\u7684\u8b66\u62a5\u3002 5) \u7b2c40\u9879\u6570\u636e\u662f\u5e8f\u5217\u53f7\uff08\u5de6\u5bf9\u9f50\uff09\u3002 6) \u7b2c21\u9879\"\u8840\u538b\u68c0\u6d4b\u65f6\u95f4\"\u6307\u662f\u5426\u5bf9\u8840\u538b\u8fdb\u884c\u68c0\u6d4b\u7684\u5224\u65ad\u3002 7) \u7b2c25\u81f328\u9879\u662f\u4e0e\u8840\u538b\u76f8\u5173\u7684\u8bbe\u7f6e\u3002 - \u8bbe\u7f6e\u66f4\u6539\u540e\uff0c\u6700\u65b0\u8bbe\u7f6e\u4f1a\u5728\u4e0b\u4e00\u6b21\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u65f6\u4f20\u8f93\u3002 \u7b2c2\u7ae0 \u4e0ePC\u7684\u8fde\u63a5 \u00b6 2.1 \u8fde\u63a5\u900f\u6790\u673a\u548cPC \u00b6 \u7f16\u53f7 \u540d\u79f0 \u529f\u80fd 1 LAN - \u901a\u8fc7\u672c\u900f\u6790\u673a\u80cc\u9762\u63d0\u4f9b\u7684LAN\u63a5\u53e3\uff0c\u8fde\u63a5\u6b64\u900f\u6790\u673a\u548cPC\u3002 - LAN\uff1aRJ-45\u4e32\u53e3\u3002 2.2 \u901a\u4fe1\u57fa\u677fIP\u7684\u8bbe\u5b9a \u00b6 2.2.1 \u6253\u5f00\"\u641c\u7d22\u5de5\u5177\"\u5e94\u7528\u7a0b\u5e8f \u00b6 \u5982\u4e0b\u56fe\u6240\u793a\uff1a 2.2.2 \u641c\u7d22\u901a\u4fe1\u57fa\u677f \u00b6 \u5728\u6253\u5f00\u7684\"\u641c\u7d22\u5de5\u5177\"\u754c\u9762\u4e0b\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7c7b\u4f3c\u671b\u8fdc\u955c\u6807\u5fd7\u7684\"\u641c\u7d22\"\u6309\u94ae\uff0c\u641c\u7d22\u5df2\u7ecf\u8fde\u63a5\u5230\u7535\u8111\u7684\u901a\u4fe1\u57fa\u677f\u3002 2.2.3 \u8bbe\u5b9aPC\u7f51\u7edc\u53c2\u6570 \u00b6 \u4e3a\u786e\u4fddPC\u548c\u901a\u4fe1\u57fa\u677f\u7684\u6b63\u5e38\u901a\u4fe1\uff0c\u6839\u636e\u641c\u7d22\u5230\u7684\u901a\u4fe1\u57fa\u677f\u7684IP\u5bf9\u901a\u4fe1\u7528PC\u8fdb\u884c\u53c2\u6570\u8bbe\u5b9a\uff08IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\uff09\u3002 IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\u7684\u8bbe\u5b9a\uff1a 1) \u786e\u4fdd\u548c\u901a\u4fe1\u57fa\u677fIP\u5730\u5740\u5728\u540c\u4e00\u57df\u5185\uff0c\u4e14\u8bbe\u5b9a\u7684IP\u548c\u540c\u4e00\u57df\u5185\u5176\u4ed6\u8bbe\u5907\u7684IP\u4e0d\u51b2\u7a81\u3002 2) PC\u7684IP\u5730\u5740\u8bbe\u5b9a\u5b8c\u6210\u540e\uff0c\u9f20\u6807\u70b9\u51fb\u5b50\u7f51\u63a9\u7801\u8f93\u5165\u680f\uff0c\u5b50\u7f51\u63a9\u7801\u4f1a\u81ea\u52a8\u751f\u6210\uff08\u539f\u5219\u4e0a\u81ea\u52a8\u751f\u6210\u7684\u5b50\u7f51\u63a9\u7801\u548c\u901a\u4fe1\u57fa\u677f\u7684\u5b50\u7f51\u63a9\u7801\u662f\u76f8\u540c\u7684\uff0c\u53c2\u80032.2.4\u5bf9\u5b50\u7f51\u63a9\u7801\u8fdb\u884c\u786e\u8ba4\uff09\u3002 3) PC\u7684\u9ed8\u8ba4\u7f51\u5173\u548c\u901a\u4fe1\u57fa\u677f\u76f8\u540c\uff08\u53c2\u80032.2.4\u5bf9\u9ed8\u8ba4\u7f51\u5173\u8fdb\u884c\u786e\u8ba4\uff09\u3002 2.2.4 \u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762 \u00b6 \u9009\u4e2d\u641c\u7d22\u5230\u7684\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\"\u6309\u94ae\uff0c\u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762\u3002\u5728IP\u8bbe\u5b9a\u754c\u9762\u4e0b\uff0c\u6839\u636e\u9700\u8981\uff0c\u91cd\u65b0\u8bbe\u5b9a\u901a\u4fe1\u57fa\u677f\u7684IP\uff0c\u5e76\u70b9\u51fb\"\u4fdd\u5b58\"\u952e\uff0c\u5b8c\u6210\u65b0IP\u7684\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u901a\u4fe1\u57fa\u677fIP\u8bbe\u5b9a\u754c\u9762\u4e5f\u53ef\u4ee5\u4e0d\u7528\"\u641c\u7d22\u5de5\u5177\"\u8f6f\u4ef6\u800c\u76f4\u63a5\u5728IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 http://192.168.0.233/ \u76f4\u63a5\u6253\u5f00\u3002 2.3 \u901a\u4fe1\u57fa\u677f\u4e34\u65f6IP\u7684\u8bbe\u5b9a\u65b9\u6cd5 \u00b6 2.3.1 \u8bbe\u7f6e\u4e34\u65f6IP \u00b6 \u70b9\u51fb\"\u641c\u7d22\"\u6309\u94ae\u5bf9\u8fde\u63a5\u5230PC\u7684\u901a\u4fe1\u8bbe\u5907\u8fdb\u884c\u641c\u7d22\uff0c\u9009\u4e2d\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u6309\u94ae\u3002 2.3.2 \u914d\u7f6e\u4e34\u65f6IP \u00b6 \u5728\u6253\u5f00\u7684\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u754c\u9762\u4e0b\uff0c\u5373\u53ef\u6839\u636e\u9700\u8981\u5bf9\u76ee\u6807IP\u8fdb\u884c\u4e34\u65f6\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u8bbe\u5b9a\u7684IP\u53ea\u6709\u5728\u8bbe\u5907\u672a\u65ad\u7535\u548c\u672a\u91cd\u542f\u65f6\u6709\u6548\uff0c\u5982\u679c\u8bbe\u5907\u91cd\u542f\u6216\u8005\u65ad\u7535\uff0cIP\u7684\u8bbe\u5b9a\u4f1a\u81ea\u52a8\u6062\u590d\u5230\u51fa\u5382\u8bbe\u7f6e\u3002 2.4 \u901a\u4fe1\u57fa\u677f\u7684\u91cd\u7f6e\u529f\u80fd \u00b6 2.4.1 \u6253\u5f00\u57fa\u677f\u7ba1\u7406\u754c\u9762 \u00b6 \u5728PC\u7684IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u901a\u4fe1\u57fa\u677f\u7684IP\u5730\u5740\u8fdb\u884c\u641c\u7d22\uff08\u4ee5IP\u5730\u5740\u4e3a192.168.0.233\u4e3a\u4f8b\uff0c\u5728IE\u6d4f\u89c8\u5668\u4e2d\u5e94\u8f93\u5165 http://192.168.0.233/ \uff09\u6253\u5f00\u5982\u4e0b\u7684\u753b\u9762\u3002 2.4.2 \u6267\u884c\u6062\u590d\u51fa\u5382\u8bbe\u7f6e \u00b6 \u70b9\u51fb\u753b\u9762\u5de6\u4fa7\u7684\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u9879\uff0c\u8fdb\u5165\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u754c\u9762\u3002\u70b9\u51fb\"\u6062\u590d\"\u952e\u5373\u53ef\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\u3002 \u6587\u6863\u4fe1\u606f \u00b6 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a TQS-88 \u9009\u914d \u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c 00\u7248\u53d1\u5e03 2019/01/11 \u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8 \u9752\u5c9b\u5e02\u5373\u58a8\u533a\u670d\u88c5\u5de5\u4e1a\u56ed\u5185\u5b54\u96c0\u6cb3\u56db\u8def63\u53f7 \u7535\u8bdd\uff1a0532-81721030 \u4f20\u771f\uff1a0532-81721025 \u90ae\u653f\u7f16\u7801\uff1a266200 \u2611 \u539f\u7248\u53d1\u884c \u25a1 \u539f\u7248\u8bd1\u672c \u9644\u5f55 \u00b6","title":"TS88\u900f\u6790\u673a\u8054\u673a\u901a\u4fe1-\u4e2d\u6587\u7248"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#tqs-88-","text":"","title":"TQS-88 \u5355\u4eba\u8840\u6db2\u900f\u6790\u673a-\u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_1","text":"\u5728\u5f00\u59cb\u4f7f\u7528\u900f\u6790\u673a\u524d\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u672c\u64cd\u4f5c\u624b\u518c\u3002 \u4efb\u4f55\u4e0d\u5f53\u64cd\u4f5c\u90fd\u53ef\u80fd\u4f1a\u5bfc\u81f4\u4e8b\u6545\u3002\u4f7f\u7528\u7b26\u5408\u672c\u8bf4\u660e\u7684\u900f\u6790\u673a\u3002 \u8bf7\u5c06\u672c\u64cd\u4f5c\u624b\u518c\u7f6e\u4e8e\u6613\u4e8e\u83b7\u53d6\u7684\u4f4d\u7f6e\uff0c\u4ee5\u4fbf\u5728\u9700\u8981\u65f6\u53ef\u968f\u65f6\u53c2\u9605\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u65e8\u5728\u4e3a\u64cd\u4f5c\u4eba\u5458\u63d0\u4f9b\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u3002 \u672c\u64cd\u4f5c\u624b\u518c\u4e3b\u8981\u6db5\u76d6\u4ee5\u4e0b\u6709\u5173\"\u6570\u636e\u901a\u4fe1\"\u7684\u5185\u5bb9\uff1a 1. \u89c4\u683c 2. \u4e0ePC\u7684\u8fde\u63a5 \u6b63\u6587\u4e2d\u8b66\u793a\u5b9a\u4e49\u5982\u4e0b\uff1a - \u6ce8\u610f \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4f7f\u7528\u8bf4\u660e\u3002\u60a8\u5fc5\u987b\u9075\u5b88\u4f7f\u7528\u8bf4\u660e\u3002 - \u9644\u6ce8 \uff1a\u6b64\u6807\u5fd7\u540e\u7684\u63cf\u8ff0\u662f\u4e3a\u4e86\u8ba9\u60a8\u589e\u8fdb\u7406\u89e3\u7684\u6709\u7528\u4fe1\u606f\u6216\u8865\u5145\u8bf4\u660e\u4e8b\u9879\u3002","title":"\u6ce8\u610f\u4e8b\u9879"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_2","text":"\u64cd\u4f5c\u6b64\u9009\u914d\u4ef6\uff08\"\u6570\u636e\u901a\u4fe1\"\u529f\u80fd\uff09\u65f6\uff0c\u8bf7\u52a1\u5fc5\u5145\u5206\u7406\u89e3\u548c\u7279\u522b\u6ce8\u610f\u4ee5\u4e0b\u4e8b\u9879\u3002\u4f7f\u7528\u524d\u5fc5\u987b\u5145\u5206\u4e86\u89e3\u5185\u5bb9\u3002","title":"\u7b80\u4ecb"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#1","text":"(1) \u672c\u64cd\u4f5c\u624b\u518c\u4ecb\u7ecd\u4e86\u6b63\u786e\u4f7f\u7528\"\u6570\u636e\u901a\u4fe1\"\u6240\u9700\u7684\u4fe1\u606f\u548c\u5b89\u5168\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u5e76\u975e\u65e8\u5728\u8bf4\u660e\u5bf9\u60a3\u8005\u7684\u6cbb\u7597\u3002 (2) \u53ea\u6709\u4ed4\u7ec6\u9605\u8bfb\u5e76\u5145\u5206\u7406\u89e3\u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u6240\u542b\u7684\u8bf4\u660e\u540e\uff0c\u624d\u80fd\u4f7f\u7528\u8bbe\u5907\u5e76\u8fdb\u884c\u64cd\u4f5c\u4ee5\u53ca\u7ef4\u62a4\u3002 (3) \u672c\u64cd\u4f5c\u624b\u518c\u4e2d\u7684\u64cd\u4f5c\u65b9\u6cd5\u548c\u5b89\u5168\u6ce8\u610f\u4e8b\u9879\u9002\u7528\u4e8e\u8fdb\u884c\u7279\u5b9a\u76ee\u7684\u7684\"\u6570\u636e\u901a\u4fe1\"\u4f7f\u7528\u3002\u8bf7\u52ff\u5c1d\u8bd5\u4ee5\u672c\u624b\u518c\u4e2d\u6240\u5217\u4ee5\u5916\u7684\u4efb\u4f55\u65b9\u5f0f\u4f7f\u7528\u8bbe\u5907\u3002 \u672c\u624b\u518c\u7684\u5185\u5bb9\u53d7\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7248\u6743\u4fdd\u62a4\uff0c\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4fdd\u7559\u6240\u6709\u6743\u5229\u3002\u672a\u7ecf\u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8\u4e8b\u5148\u4e66\u9762\u540c\u610f\uff0c\u4e0d\u5f97\u4ee5\u4efb\u4f55\u5f62\u5f0f\u590d\u5236\u3001\u8f6c\u8f7d\u672c\u624b\u518c\u4e2d\u7684\u4efb\u4f55\u5185\u5bb9\uff0c\u6216\u5c06\u5176\u8bd1\u4e3a\u5176\u4ed6\u8bed\u8a00\u3002","title":"1. \u64cd\u4f5c\u624b\u518c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#2","text":"\u6211\u4eec\u5e0c\u671b\u60a8\u4e8b\u524d\u4e86\u89e3\uff0c\u5bf9\u7531\u4e8e\u64cd\u4f5c\u6b64\u900f\u6790\u673a\u6240\u9020\u6210\u7684\u4efb\u4f55\u53ef\u80fd\u7684\u635f\u5bb3\u6216\u5229\u76ca\u635f\u5931\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u8bf7\u52ff\u62c6\u5378\u6216\u6539\u9020\u900f\u6790\u673a\uff0c\u5426\u5219\u5c06\u4e0d\u5728\u5236\u9020\u5546\u4fdd\u4fee\u8303\u56f4\u4e4b\u5185\u3002 \u7531\u4e8e\u5ba2\u6237\u62c6\u5378\u3001\u6539\u9020\u3001\u5206\u89e3\u6216\u4f7f\u7528\u4e0d\u5f53\u4ee5\u53ca\u5b89\u88c5\u73af\u5883\u3001\u642c\u8fd0\u4e0d\u5f53\u7b49\u9020\u6210\u7684\u635f\u5bb3\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u5982\u679c\u65e0\u6cd5\u53d1\u6325\u56fa\u6709\u529f\u80fd\uff0c\u5219\u4e0d\u5f97\u7528\u4e8e\u6cbb\u7597\u7528\u9014\u3002\u5bf9\u6b64\u7c7b\u60c5\u5f62\u4e0b\u9020\u6210\u7684\u4efb\u4f55\u635f\u5bb3\u6216\u5bf9\u60a3\u8005\u7684\u635f\u4f24\uff0c\u6211\u4eec\u4e0d\u627f\u62c5\u4efb\u4f55\u8d23\u4efb\u3002 \u900f\u6790\u673a\u7684\u65e5\u5e38\u7ef4\u62a4\u548c\u68c0\u67e5\u5e94\u6839\u636e\"\u7ef4\u62a4\u68c0\u67e5\u624b\u518c\"\u8fdb\u884c\u3002","title":"2. \u8d23\u4efb\u9650\u5236"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#1_1","text":"","title":"\u7b2c1\u7ae0 \u89c4\u683c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#11","text":"\u900f\u6790\u673a\u7684\u6cbb\u7597\u6570\u636e\u548c\u8bbe\u7f6e\u6570\u636e\u53ef\u4ece\u4ee5\u592a\u7f51\u63a5\u53e3\u4f20\u8f93\u5230\u8ba1\u7b97\u673a\u4e2d\u3002","title":"1.1 \u6570\u636e\u901a\u4fe1\u529f\u80fd\u7684\u63cf\u8ff0"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#12","text":"","title":"1.2 \u901a\u4fe1\u89c4\u683c"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#121-lan","text":"\u7f16\u53f7 \u9879\u76ee \u63cf\u8ff0 1 \u4ee5\u592a\u7f51\u63a5\u53e3 10Base-T \u6216 100Base-TX\uff08\u81ea\u52a8\u611f\u5e94\uff09 2 \u4e32\u53e3 RJ45 3 \u7f51\u7edc\u914d\u7f6e \u53ef\u81ea\u5b9a\u4e49","title":"1.2.1 LAN\u53c2\u6570"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#122","text":"\u900f\u6790\u673a\u7aef\u7ba1\u7406\u7684\u6570\u636e\u901a\u8fc7PC\u7aef\u7684\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u8fdb\u884c\u4f20\u8f93\u3002 graph TD A[PC] -->|\u6570\u636e\u4f20\u8f93\u8bf7\u6c42| B[\u900f\u6790\u673a] B -->|\u6570\u636e\u4f20\u8f93| A B -->|\u4e34\u5e8a\u6570\u636e\u4f20\u8f93| A [1] PC\u7aef\u4f20\u8f93\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff08\u53c2\u9605\u7b2c1.2.3\u8282\uff09\u3002 [2] \u900f\u6790\u673a\u63a5\u6536PC\u7684\u6570\u636e\u8bf7\u6c42\u4fe1\u53f7\uff0c\u5e76\u53d1\u9001\u5404\u79cd\u76f8\u5e94\u7684\u6570\u636e\uff08\u53c2\u9605\u7b2c1.2.4\u8282\u548c\u7b2c1.2.5\u8282\uff09\u3002","title":"1.2.2 \u900f\u6790\u673a\u901a\u4fe1\u6b65\u9aa4"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#123-pc","text":"\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\uff083\u4e2a\u5b57\u8282\uff09 \"K\"\uff084BH\uff09 CR\uff080DH\uff09 LF\uff080AH\uff09","title":"1.2.3 \u4ecePC\u4f20\u8f93\u5230\u900f\u6790\u673a\u7684\u6570\u636e\u53ca\u5176\u683c\u5f0f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#124-pc","text":"","title":"1.2.4 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e\u683c\u5f0f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_3","text":"\u5f00\u59cb [1] \u6570\u636e\u957f\u5ea6 [2] \u6570\u636e [3] \u603b\u6570 [4] \u7ed3\u675f [5]","title":"\u4e34\u5e8a\u6570\u636e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_4","text":"\u7f16\u53f7 \u5b57\u8282\u6570 \u63cf\u8ff0 [1] 2 \u6570\u636e\u5f00\u59cb\u4ee3\u7801\uff08ASCII\uff09 \"K\"\"1\" [2] 3 \u6570\u636e\u957f\u5ea6\uff08ASCII\uff09 \u91c7\u75283\u4f4d\u6570\u7684\u5f62\u5f0f\u8868\u793a\u7b2c\u4e09\u9879\u4e2d\u8ba1\u7b97\u7684\u6240\u6709\u5b57\u8282\u7684\u603b\u548c\u3002 \u4f8b\u5982\uff09\u5982\u679c\u603b\u6570\u4e3a123\u4e2a\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"1\",\"2\",\"3\" [3] 1 \u6570\u636e\u9a8c\u8bc1\u4ee3\u7801\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [3] \u5355\u4e2a \u6570\u636e\uff08ASCII\uff09 \uff08\u8bf7\u53c2\u96051.2.5\u3002\uff09 * \u6309\u6570\u636e\u7c7b\u578b\u7684\u7f16\u53f7\u53cd\u590d\u4f20\u8f93\u3002 [4] 2 \u7528\u4e8e\u548c\u6570\u6821\u9a8c\u7684\u6570\u636e \u8ba1\u7b97[1]\uff5e[3]\u603b\u548c\uff0c\u8f83\u4f4e\u7684\u5341\u516d\u8fdb\u52362\u4f4d\u6570\u4f1a\u8f6c\u6362\u6210ASCII\u4ee3\u7801\u3002 \u4f8b\u5982\uff09\u603b\u51715aH\u5b57\u8282\uff0c\u5219\u663e\u793a\u4e3a\uff1a\"5\"\u3001\"A\" [5] 2 \u6570\u636e\u7ed3\u675f\u4ee3\u7801 CR\u3001LF","title":"\u6570\u636e\u7ec4\u6210"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#125-pc","text":"","title":"1.2.5 \u4ece\u900f\u6790\u673a\u4f20\u8f93\u5230PC\u7684\u6570\u636e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_5","text":"\u7f16\u53f7 \u6570\u636e\u540d\u79f0 \u6570\u636e\u6807\u8bc6\u4ee3\u7801 \u5b57\u8282\u6570 \u5355\u4f4d 1 UF\u76ee\u6807 \"A\" 5 L 2 UF\u91cf \"B\" 5 L 3 UF\u901f\u7387 \"C\" 5 L/hr 4 \u8840\u6db2\u6d41\u901f \"D\" 5 mL/min 5 \u6ce8\u5c04\u5668\u6d41\u901f \"E\" 5 mL/h 6 \u900f\u6790\u6db2\u6e29\u5ea6 \"F\" 5 \u6444\u6c0f\u5ea6 7 \u900f\u6790\u6db2\u7535\u5bfc\u5ea6 \"G\" 5 mS/cm 8 \u9759\u8109\u538b \"H\" 5 mmHg 9 \u900f\u6790\u6db2\u538b \"I\" 5 mmHg 10 TMP \"J\" 5 mmHg 11 \u900f\u6790\u65f6\u95f4 \"K\" 5 min 12 \u900f\u6790\u6db2\u6e29\u5ea6\u8b66\u62a5 \"a\" 1 \u2014 13 \u7535\u5bfc\u5ea6\u8b66\u62a5 \"b\" 1 \u2014 14 \u9759\u8109\u538b\u8b66\u62a5 \"c\" 1 \u2014 15 \u900f\u6790\u6db2\u538b\u529b\u8b66\u62a5 \"d\" 1 \u2014 16 TMP\u8b66\u62a5 \"e\" 1 \u2014 17 \u6c14\u6ce1\u4fa6\u6d4b\u5668\u8b66\u62a5 \"f\" 1 \u2014 18 \u6f0f\u8840\u8b66\u62a5 \"g\" 1 \u2014 19 \u5176\u4ed6\u8b66\u62a5 \"h\" 1 \u2014 20 \u900f\u6790\u6db2\u6d41\u901f \"L\" 5 mL/min 21 BPM\u68c0\u6d4b\u65f6\u95f4 \"M\" 5 \u65f6\u95f4 22 BPM\u6700\u9ad8\u8840\u538b \"N\" 5 mmHg 23 BPM\u6700\u4f4e\u8840\u538b \"O\" 5 mmHg 24 BPM\u8109\u51b2 \"P\" 5 \u8109\u51b2 25 BPM\u6536\u7f29\u4e0a\u9650\u8b66\u62a5 \"Q\" 5 mmHg 26 BPM\u6536\u7f29\u4e0b\u9650\u8b66\u62a5 \"R\" 5 mmHg 27 BPM\u538b\u8109\u5e26\u538b\u529b \"S\" 5 mmHg 28 BPM\u68c0\u6d4b\u95f4\u9694\u65f6\u95f4 \"T\" 5 min 29 \u603b\u8840\u6db2\u6d41\u91cf \"U\" 5 L 30 \u9759\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"V\" 5 mmHg 31 \u9759\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"W\" 5 mmHg 32 \u603b\u6ce8\u5c04\u6d41\u91cf \"X\" 5 mL 33 \u900f\u6790\u6db2\u538b\u4e0a\u9650\u8b66\u62a5 \"Y\" 5 mmHg 34 \u900f\u6790\u6db2\u538b\u4e0b\u9650\u8b66\u62a5 \"Z\" 5 mmHg 35 NaCl\u6ce8\u5165\u7ea7\u522b \"i\" 5 \u2014 36 UF\u4e2a\u6027\u5316\u7a0b\u5e8f \"j\" 1 \u2014 37 \u900f\u6790\u6db2\u9009\u62e9 \"k\" 1 \u2014 38 \u7535\u5bfc\u5ea6\u7ea7\u522b \"l\" 1 \u2014 39 \u6570\u636e\u901a\u4fe1\u72b6\u6001 \"m\" 1 \u2014 40 \u5e8f\u5217\u53f7 \"n\" 8 \u2014 41 \u52a8\u8109\u538b \"o\" 5 mmHg 42 \u52a8\u8109\u538b\u8b66\u62a5 \"p\" 1 \u2014 43 \u52a8\u8109\u538b\u4e0a\u9650\u8b66\u62a5 \"q\" 5 mmHg 44 \u52a8\u8109\u538b\u4e0b\u9650\u8b66\u62a5 \"r\" 5 mmHg 45 TMP\u4e0a\u9650\u8b66\u62a5 \"s\" 5 mmHg 46 TMP\u4e0b\u9650\u8b66\u62a5 \"t\" 5 mmHg 47 \u7f6e\u6362\u7387 \"u\" 5 L/hr 48 \u7f6e\u6362\u76ee\u6807\u91cf \"v\" 5 L 49 \u7f6e\u6362\u6db2\u8fdb\u7a0b\u91cf \"w\" 5 L 50 Na\u4e2a\u6027\u5316\u7a0b\u5e8f \"x\" 1 \u2014 51 \u8840\u6db2\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"y\" 1 \u2014 52 \u6ce8\u5c04\u6cf5\u4e2a\u6027\u5316\u7a0b\u5e8f \"z\" 1 \u2014 53 \u900f\u6790\u6db2\u4e2a\u6027\u5316\u7a0b\u5e8f \"!\" 1 \u2014 54 \u900f\u6790\u6db2\u6e29\u5ea6\u8bbe\u7f6e\u503c \"#\" 5 \u6444\u6c0f\u5ea6 55 \u7f3a\u6c342\u8b66\u62a5 \"$\" 1 \u2014","title":"\u6570\u636e\u5217\u8868"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_6","text":"1) \u672a\u6307\u5b9a\u6570\u636e\u4f20\u8f93\u7684\u987a\u5e8f\u3002 2) \u7b2c1\u523011\u9879\u300120\u523035\u9879\u300141\u9879\u300143\u523049\u9879\u548c54\u9879\u7684\u6570\u636e\u4ee55\u4f4d\u6570\u8868\u793a\u3002 - \u5982\u679c\u5305\u542b\u5c0f\u6570\u70b9\uff0c\u52195\u4f4d\u6570\u5305\u542b\u4e86\u5c0f\u6570\u70b9\u3002 - \u5982\u679c\u6570\u636e\u4e3a\u8d1f\u6570\uff0c\u6570\u5b57\u5c06\u4ee5\u51cf\u53f7\u6807\u5fd7\"-\"\u5f00\u5934\u3002 - \u5982\u679c\u9ad8\u4f4d\u5b57\u8282\u4e3a\u96f6\uff0c\u5219\u663e\u793a\"0\"\u3002 - \u4f8b\u5982\uff09\u76ee\u6807UF\u91cf\u4e3a2.35L\uff0c\u5219\u8f93\u5165\"0\"\u3001\"2\"\u3001\".\"\u3001\"3\"\u548c\"5\"\u3002 3) \u7b2c12\u81f319\u9879\u300142\u9879\u548c55\u9879\u7684\u8b66\u62a5\u503c\u4e3a\"1\"\uff08\u5df2\u8b66\u62a5\uff09\u6216\"0\"\uff08\u672a\u8b66\u62a5\uff09\u3002 4) \u7b2c19\u9879\u5176\u4ed6\u8b66\u62a5\u662f\u9664\u7b2c12\u81f318\u9879\u300142\u9879\u548c55\u9879\u4ee5\u5916\u7684\u8b66\u62a5\u3002 5) \u7b2c40\u9879\u6570\u636e\u662f\u5e8f\u5217\u53f7\uff08\u5de6\u5bf9\u9f50\uff09\u3002 6) \u7b2c21\u9879\"\u8840\u538b\u68c0\u6d4b\u65f6\u95f4\"\u6307\u662f\u5426\u5bf9\u8840\u538b\u8fdb\u884c\u68c0\u6d4b\u7684\u5224\u65ad\u3002 7) \u7b2c25\u81f328\u9879\u662f\u4e0e\u8840\u538b\u76f8\u5173\u7684\u8bbe\u7f6e\u3002 - \u8bbe\u7f6e\u66f4\u6539\u540e\uff0c\u6700\u65b0\u8bbe\u7f6e\u4f1a\u5728\u4e0b\u4e00\u6b21\u6570\u636e\u4f20\u8f93\u8bf7\u6c42\u65f6\u4f20\u8f93\u3002","title":"\u6570\u636e\u8bf4\u660e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#2-pc","text":"","title":"\u7b2c2\u7ae0 \u4e0ePC\u7684\u8fde\u63a5"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#21-pc","text":"\u7f16\u53f7 \u540d\u79f0 \u529f\u80fd 1 LAN - \u901a\u8fc7\u672c\u900f\u6790\u673a\u80cc\u9762\u63d0\u4f9b\u7684LAN\u63a5\u53e3\uff0c\u8fde\u63a5\u6b64\u900f\u6790\u673a\u548cPC\u3002 - LAN\uff1aRJ-45\u4e32\u53e3\u3002","title":"2.1 \u8fde\u63a5\u900f\u6790\u673a\u548cPC"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#22-ip","text":"","title":"2.2 \u901a\u4fe1\u57fa\u677fIP\u7684\u8bbe\u5b9a"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#221","text":"\u5982\u4e0b\u56fe\u6240\u793a\uff1a","title":"2.2.1 \u6253\u5f00\"\u641c\u7d22\u5de5\u5177\"\u5e94\u7528\u7a0b\u5e8f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#222","text":"\u5728\u6253\u5f00\u7684\"\u641c\u7d22\u5de5\u5177\"\u754c\u9762\u4e0b\uff0c\u70b9\u51fb\u5de6\u4e0a\u89d2\u7c7b\u4f3c\u671b\u8fdc\u955c\u6807\u5fd7\u7684\"\u641c\u7d22\"\u6309\u94ae\uff0c\u641c\u7d22\u5df2\u7ecf\u8fde\u63a5\u5230\u7535\u8111\u7684\u901a\u4fe1\u57fa\u677f\u3002","title":"2.2.2 \u641c\u7d22\u901a\u4fe1\u57fa\u677f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#223-pc","text":"\u4e3a\u786e\u4fddPC\u548c\u901a\u4fe1\u57fa\u677f\u7684\u6b63\u5e38\u901a\u4fe1\uff0c\u6839\u636e\u641c\u7d22\u5230\u7684\u901a\u4fe1\u57fa\u677f\u7684IP\u5bf9\u901a\u4fe1\u7528PC\u8fdb\u884c\u53c2\u6570\u8bbe\u5b9a\uff08IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\uff09\u3002 IP\u5730\u5740\u3001\u5b50\u7f51\u63a9\u7801\u3001\u9ed8\u8ba4\u7f51\u5173\u7684\u8bbe\u5b9a\uff1a 1) \u786e\u4fdd\u548c\u901a\u4fe1\u57fa\u677fIP\u5730\u5740\u5728\u540c\u4e00\u57df\u5185\uff0c\u4e14\u8bbe\u5b9a\u7684IP\u548c\u540c\u4e00\u57df\u5185\u5176\u4ed6\u8bbe\u5907\u7684IP\u4e0d\u51b2\u7a81\u3002 2) PC\u7684IP\u5730\u5740\u8bbe\u5b9a\u5b8c\u6210\u540e\uff0c\u9f20\u6807\u70b9\u51fb\u5b50\u7f51\u63a9\u7801\u8f93\u5165\u680f\uff0c\u5b50\u7f51\u63a9\u7801\u4f1a\u81ea\u52a8\u751f\u6210\uff08\u539f\u5219\u4e0a\u81ea\u52a8\u751f\u6210\u7684\u5b50\u7f51\u63a9\u7801\u548c\u901a\u4fe1\u57fa\u677f\u7684\u5b50\u7f51\u63a9\u7801\u662f\u76f8\u540c\u7684\uff0c\u53c2\u80032.2.4\u5bf9\u5b50\u7f51\u63a9\u7801\u8fdb\u884c\u786e\u8ba4\uff09\u3002 3) PC\u7684\u9ed8\u8ba4\u7f51\u5173\u548c\u901a\u4fe1\u57fa\u677f\u76f8\u540c\uff08\u53c2\u80032.2.4\u5bf9\u9ed8\u8ba4\u7f51\u5173\u8fdb\u884c\u786e\u8ba4\uff09\u3002","title":"2.2.3 \u8bbe\u5b9aPC\u7f51\u7edc\u53c2\u6570"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#224-ip","text":"\u9009\u4e2d\u641c\u7d22\u5230\u7684\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\"\u6309\u94ae\uff0c\u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762\u3002\u5728IP\u8bbe\u5b9a\u754c\u9762\u4e0b\uff0c\u6839\u636e\u9700\u8981\uff0c\u91cd\u65b0\u8bbe\u5b9a\u901a\u4fe1\u57fa\u677f\u7684IP\uff0c\u5e76\u70b9\u51fb\"\u4fdd\u5b58\"\u952e\uff0c\u5b8c\u6210\u65b0IP\u7684\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u901a\u4fe1\u57fa\u677fIP\u8bbe\u5b9a\u754c\u9762\u4e5f\u53ef\u4ee5\u4e0d\u7528\"\u641c\u7d22\u5de5\u5177\"\u8f6f\u4ef6\u800c\u76f4\u63a5\u5728IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165 http://192.168.0.233/ \u76f4\u63a5\u6253\u5f00\u3002","title":"2.2.4 \u8fdb\u5165IP\u8bbe\u5b9a\u754c\u9762"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#23-ip","text":"","title":"2.3 \u901a\u4fe1\u57fa\u677f\u4e34\u65f6IP\u7684\u8bbe\u5b9a\u65b9\u6cd5"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#231-ip","text":"\u70b9\u51fb\"\u641c\u7d22\"\u6309\u94ae\u5bf9\u8fde\u63a5\u5230PC\u7684\u901a\u4fe1\u8bbe\u5907\u8fdb\u884c\u641c\u7d22\uff0c\u9009\u4e2d\u76ee\u6807IP\uff0c\u70b9\u51fb\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u6309\u94ae\u3002","title":"2.3.1 \u8bbe\u7f6e\u4e34\u65f6IP"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#232-ip","text":"\u5728\u6253\u5f00\u7684\"\u8bbe\u7f6e\u4e34\u65f6IP\uff08F\uff09\"\u754c\u9762\u4e0b\uff0c\u5373\u53ef\u6839\u636e\u9700\u8981\u5bf9\u76ee\u6807IP\u8fdb\u884c\u4e34\u65f6\u8bbe\u5b9a\u3002 \u6ce8\u610f \uff1a\u8bbe\u5b9a\u7684IP\u53ea\u6709\u5728\u8bbe\u5907\u672a\u65ad\u7535\u548c\u672a\u91cd\u542f\u65f6\u6709\u6548\uff0c\u5982\u679c\u8bbe\u5907\u91cd\u542f\u6216\u8005\u65ad\u7535\uff0cIP\u7684\u8bbe\u5b9a\u4f1a\u81ea\u52a8\u6062\u590d\u5230\u51fa\u5382\u8bbe\u7f6e\u3002","title":"2.3.2 \u914d\u7f6e\u4e34\u65f6IP"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#24","text":"","title":"2.4 \u901a\u4fe1\u57fa\u677f\u7684\u91cd\u7f6e\u529f\u80fd"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#241","text":"\u5728PC\u7684IE\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u901a\u4fe1\u57fa\u677f\u7684IP\u5730\u5740\u8fdb\u884c\u641c\u7d22\uff08\u4ee5IP\u5730\u5740\u4e3a192.168.0.233\u4e3a\u4f8b\uff0c\u5728IE\u6d4f\u89c8\u5668\u4e2d\u5e94\u8f93\u5165 http://192.168.0.233/ \uff09\u6253\u5f00\u5982\u4e0b\u7684\u753b\u9762\u3002","title":"2.4.1 \u6253\u5f00\u57fa\u677f\u7ba1\u7406\u754c\u9762"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#242","text":"\u70b9\u51fb\u753b\u9762\u5de6\u4fa7\u7684\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u9879\uff0c\u8fdb\u5165\"\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\"\u754c\u9762\u3002\u70b9\u51fb\"\u6062\u590d\"\u952e\u5373\u53ef\u6062\u590d\u51fa\u5382\u8bbe\u7f6e\u3002","title":"2.4.2 \u6267\u884c\u6062\u590d\u51fa\u5382\u8bbe\u7f6e"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_7","text":"\u5355\u4eba\u8840\u6db2\u900f\u6790\u673a TQS-88 \u9009\u914d \u6570\u636e\u901a\u4fe1\u64cd\u4f5c\u624b\u518c 00\u7248\u53d1\u5e03 2019/01/11 \u4e1c\u4e3d\u533b\u7597\u79d1\u6280\uff08\u9752\u5c9b\uff09\u80a1\u4efd\u6709\u9650\u516c\u53f8 \u9752\u5c9b\u5e02\u5373\u58a8\u533a\u670d\u88c5\u5de5\u4e1a\u56ed\u5185\u5b54\u96c0\u6cb3\u56db\u8def63\u53f7 \u7535\u8bdd\uff1a0532-81721030 \u4f20\u771f\uff1a0532-81721025 \u90ae\u653f\u7f16\u7801\uff1a266200 \u2611 \u539f\u7248\u53d1\u884c \u25a1 \u539f\u7248\u8bd1\u672c","title":"\u6587\u6863\u4fe1\u606f"},{"location":"Usages/QA/TS88%E9%80%8F%E6%9E%90%E6%9C%BA%E8%81%94%E6%9C%BA%E9%80%9A%E4%BF%A1-%E4%B8%AD%E6%96%87%E7%89%88/#_8","text":"","title":"\u9644\u5f55"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/","text":"VMware ESXi\u4e2d\u6269\u5c55Home Assistant OS\u786c\u76d8\u7a7a\u95f4\u6307\u5357 \u00b6 \u6982\u8ff0 \u00b6 \u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728VMware ESXi\u73af\u5883\u4e2d\u5c06\u901a\u8fc7OVA\u65b9\u5f0f\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a\u786c\u76d8\u4ece32GB\u6269\u5c55\u5230500GB\u3002 \u524d\u63d0\u6761\u4ef6 \u00b6 VMware ESXi 5.5 \u6216\u66f4\u9ad8\u7248\u672c \u5df2\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a ESXi\u4e3b\u673a\u6709\u8db3\u591f\u7684\u5b58\u50a8\u7a7a\u95f4\uff08\u81f3\u5c11500GB\u53ef\u7528\uff09 \u7ba1\u7406\u5458\u6743\u9650\u8bbf\u95eeESXi Web\u754c\u9762 \u64cd\u4f5c\u6b65\u9aa4 \u00b6 \u6b65\u9aa41\uff1a\u51c6\u5907\u5de5\u4f5c \u00b6 \u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \uff08\u5f3a\u70c8\u5efa\u8bae\uff09 \u5728ESXi Web\u754c\u9762\u4e2d\u9009\u62e9Home Assistant\u865a\u62df\u673a \u70b9\u51fb\"\u64cd\u4f5c\" \u2192 \"\u521b\u5efa\u5feb\u7167\" \u8f93\u5165\u5feb\u7167\u540d\u79f0\uff1a \u6269\u5bb9\u524d\u5907\u4efd_YYYY-MM-DD \u70b9\u51fb\"\u521b\u5efa\u5feb\u7167\" \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u5728Home Assistant\u754c\u9762\u4e2d\u9009\u62e9\"\u7cfb\u7edf\" \u2192 \"\u91cd\u542f\u7cfb\u7edf\" \u9009\u62e9\"\u5173\u673a\"\u9009\u9879 \u6216\u5728ESXi\u754c\u9762\u4e2d\u9009\u62e9\u865a\u62df\u673a\uff0c\u70b9\u51fb\"\u5173\u95ed\u7535\u6e90\" \u26a0\ufe0f \u91cd\u8981 \uff1a\u786e\u4fdd\u662f\u5b8c\u5168\u5173\u95ed\uff0c\u4e0d\u662f\u6302\u8d77\u72b6\u6001 \u6b65\u9aa42\uff1a\u5728ESXi\u4e2d\u6269\u5c55\u786c\u76d8 \u00b6 \u8fdb\u5165\u865a\u62df\u673a\u7f16\u8f91\u6a21\u5f0f \u5728ESXi Web\u754c\u9762\u4e2d\u53f3\u952e\u70b9\u51fbHome Assistant\u865a\u62df\u673a \u9009\u62e9\"\u7f16\u8f91\u8bbe\u7f6e\" \u4fee\u6539\u786c\u76d8\u5bb9\u91cf \u5728\u865a\u62df\u786c\u4ef6\u5217\u8868\u4e2d\u627e\u5230\"\u786c\u76d81\" \u5f53\u524d\u663e\u793a\u4e3a\"32 GB\" \u5c06\u6570\u503c\u6539\u4e3a\"500\"\uff0c\u5355\u4f4d\u4fdd\u6301\"GB\" \u70b9\u51fb\"\u4fdd\u5b58\" \u786e\u8ba4\u66f4\u6539 \u68c0\u67e5\u865a\u62df\u673a\u8bbe\u7f6e\u4e2d\u786c\u76d8\u5bb9\u91cf\u5df2\u663e\u793a\u4e3a500GB \u5173\u95ed\u7f16\u8f91\u7a97\u53e3 \u6b65\u9aa43\uff1a\u542f\u52a8\u865a\u62df\u673a \u00b6 \u542f\u52a8Home Assistant \u70b9\u51fb\u865a\u62df\u673a\u7684\"\u5f00\u542f\u7535\u6e90\"\u6309\u94ae \u7b49\u5f85Home Assistant\u5b8c\u5168\u542f\u52a8 \u901a\u8fc7Web\u754c\u9762\u786e\u8ba4\u7cfb\u7edf\u6b63\u5e38\u8fd0\u884c \u6b65\u9aa44\uff1a\u6269\u5c55\u6587\u4ef6\u7cfb\u7edf \u00b6 \u865a\u62df\u786c\u76d8\u5df2\u6269\u5c55\uff0c\u4f46\u64cd\u4f5c\u7cfb\u7edf\u8fd8\u9700\u8981\u8bc6\u522b\u5e76\u4f7f\u7528\u65b0\u589e\u7a7a\u95f4\u3002 \u65b9\u6cd51\uff1a\u4f7f\u7528Home Assistant\u5185\u7f6e\u5de5\u5177\uff08\u63a8\u8350\uff09 \u00b6 \u8bbf\u95eeHome Assistant\u7ec8\u7aef \u5728Home Assistant Web\u754c\u9762\u4e2d \u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u9644\u52a0\u7ec4\u4ef6\" \u2192 \"Advanced SSH & Web Terminal\" \u5982\u679c\u6ca1\u6709\u5b89\u88c5\uff0c\u9700\u8981\u5148\u5b89\u88c5SSH\u9644\u52a0\u7ec4\u4ef6 \u6267\u884c\u6269\u5c55\u547d\u4ee4 ```bash # \u67e5\u770b\u5f53\u524d\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5 df -h # \u6269\u5c55\u6839\u5206\u533a\uff08\u901a\u5e38\u662f/dev/sda8\uff09 resize2fs /dev/sda8 # \u518d\u6b21\u67e5\u770b\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5\uff0c\u786e\u8ba4\u6269\u5c55\u6210\u529f df -h ``` \u65b9\u6cd52\uff1a\u4f7f\u7528SSH\u8fde\u63a5\uff08\u5907\u9009\uff09 \u00b6 \u542f\u7528SSH \u5728Home Assistant Web\u754c\u9762\u4e2d\u542f\u7528SSH\u529f\u80fd \u901a\u8fc7SSH\u8fde\u63a5 ```bash # \u8fde\u63a5\u5230Home Assistant ssh root@[Home_Assistant_IP] # \u67e5\u770b\u78c1\u76d8\u5206\u533a fdisk -l # \u6269\u5c55\u6587\u4ef6\u7cfb\u7edf resize2fs /dev/sda8 ``` \u6b65\u9aa45\uff1a\u9a8c\u8bc1\u6269\u5c55\u7ed3\u679c \u00b6 \u68c0\u67e5\u5b58\u50a8\u7a7a\u95f4 \u901a\u8fc7SSH\u6216\u7ec8\u7aef\u6267\u884c\u547d\u4ee4\uff1a df -h \u6216\u5728Home Assistant Web\u754c\u9762\u4e2d\u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u7cfb\u7edf\" \u2192 \"\u5b58\u50a8\" \u786e\u8ba4\u53ef\u7528\u7a7a\u95f4\u63a5\u8fd1500GB \u6210\u529f\u6848\u4f8b\u8f93\u51fa\u793a\u4f8b\uff1a bash \u279c ~ df -h Filesystem Size Used Available Use% Mounted on /dev/sda8 491.4G 5.4G 466.0G 1% /homeassistant /dev/sda8 491.4G 5.4G 466.0G 1% /data /dev/sda8 491.4G 5.4G 466.0G 1% /backup /dev/sda8 491.4G 5.4G 466.0G 1% /media /dev/sda8 491.4G 5.4G 466.0G 1% /share \u53ef\u4ee5\u770b\u5230 /dev/sda8 \u5206\u533a\u5df2\u6210\u529f\u6269\u5c55\u5230 491.4GB \uff0c\u53ef\u7528\u7a7a\u95f4 466.0GB \u3002 \u9a8c\u8bc1\u7cfb\u7edf\u7a33\u5b9a\u6027 \u91cd\u542fHome Assistant\u7cfb\u7edf \u786e\u8ba4\u6240\u6709\u529f\u80fd\u6b63\u5e38\u5de5\u4f5c \u68c0\u67e5\u65e5\u5fd7\u4e2d\u65e0\u9519\u8bef\u4fe1\u606f \u6545\u969c\u6392\u9664 \u00b6 \u95ee\u98981\uff1a\u865a\u62df\u673a\u65e0\u6cd5\u542f\u52a8 \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5ESXi\u4e3b\u673a\u5b58\u50a8\u7a7a\u95f4\u662f\u5426\u5145\u8db3 - \u6062\u590d\u5230\u6269\u5bb9\u524d\u7684\u5feb\u7167 - \u91cd\u65b0\u6267\u884c\u6269\u5bb9\u6b65\u9aa4 \u95ee\u98982\uff1a\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u5931\u8d25 \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a # \u68c0\u67e5\u6587\u4ef6\u7cfb\u7edf fsck /dev/sda8 # \u5f3a\u5236\u6269\u5c55 resize2fs -f /dev/sda8 \u95ee\u98983\uff1a\u6269\u5c55\u540e\u7a7a\u95f4\u672a\u663e\u793a \u00b6 \u89e3\u51b3\u65b9\u6848\uff1a - \u91cd\u542fHome Assistant\u7cfb\u7edf - \u68c0\u67e5\u5206\u533a\u8868\uff1a fdisk -l - \u624b\u52a8\u6269\u5c55\u5206\u533a\uff1a parted /dev/sda resizepart 8 100% \u6ce8\u610f\u4e8b\u9879 \u00b6 \u26a0\ufe0f \u5b89\u5168\u8b66\u544a \u00b6 \u5fc5\u987b \u5728\u64cd\u4f5c\u524d\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u786e\u4fdd\u5728\u7ef4\u62a4\u7a97\u53e3\u671f\u95f4\u6267\u884c\u6b64\u64cd\u4f5c \u5efa\u8bae\u5728\u6d4b\u8bd5\u73af\u5883\u4e2d\u5148\u9a8c\u8bc1\u6b65\u9aa4 \ud83d\udca1 \u6700\u4f73\u5b9e\u8df5 \u00b6 \u5b9a\u671f\u5907\u4efdHome Assistant\u914d\u7f6e \u76d1\u63a7ESXi\u4e3b\u673a\u5b58\u50a8\u4f7f\u7528\u60c5\u51b5 \u8003\u8651\u4f7f\u7528\u7cbe\u7b80\u914d\u7f6e\u78c1\u76d8\u4ee5\u8282\u7701\u7a7a\u95f4 \ud83d\udccb \u9a8c\u8bc1\u6e05\u5355 \u00b6 \u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u4fee\u6539\u865a\u62df\u786c\u76d8\u5927\u5c0f\u4e3a500GB \u542f\u52a8\u865a\u62df\u673a\u5e76\u786e\u8ba4\u6b63\u5e38\u8fd0\u884c \u6267\u884c\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u547d\u4ee4 \u9a8c\u8bc1\u5b58\u50a8\u7a7a\u95f4\u663e\u793a\u63a5\u8fd1500GB \u6d4b\u8bd5Home Assistant\u6240\u6709\u529f\u80fd \u5220\u9664\u4e0d\u9700\u8981\u7684\u5feb\u7167\uff08\u53ef\u9009\uff09 \u76f8\u5173\u6587\u6863 \u00b6 Home Assistant\u5907\u4efd\u548c\u6062\u590d\u6307\u5357 VMware ESXi\u865a\u62df\u673a\u7ba1\u7406\u6307\u5357 \u66f4\u65b0\u8bb0\u5f55 \u00b6 2025-07-17\uff1a\u521d\u59cb\u7248\u672c\u521b\u5efa 2025-07-17\uff1a\u6dfb\u52a0\u6210\u529f\u6848\u4f8b\u9a8c\u8bc1\uff0c\u786e\u8ba432GB\u2192500GB\u6269\u5c55\u5b8c\u5168\u6210\u529f \u5305\u542b\u4ece32GB\u6269\u5c55\u5230500GB\u7684\u5b8c\u6574\u6b65\u9aa4\u548c\u5b9e\u9645\u9a8c\u8bc1\u7ed3\u679c \u6587\u6863\u4f5c\u8005 \uff1a\u6280\u672f\u56e2\u961f \u6700\u540e\u66f4\u65b0 \uff1a2025\u5e747\u670817\u65e5 \u9002\u7528\u7248\u672c \uff1aVMware ESXi 5.5+, Home Assistant OS \u6240\u6709\u7248\u672c","title":"VMware-ESXi\u6269\u5c55HomeAssistant\u786c\u76d8\u6307\u5357"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#vmware-esxihome-assistant-os","text":"","title":"VMware ESXi\u4e2d\u6269\u5c55Home Assistant OS\u786c\u76d8\u7a7a\u95f4\u6307\u5357"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_1","text":"\u672c\u6587\u6863\u4ecb\u7ecd\u5982\u4f55\u5728VMware ESXi\u73af\u5883\u4e2d\u5c06\u901a\u8fc7OVA\u65b9\u5f0f\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a\u786c\u76d8\u4ece32GB\u6269\u5c55\u5230500GB\u3002","title":"\u6982\u8ff0"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_2","text":"VMware ESXi 5.5 \u6216\u66f4\u9ad8\u7248\u672c \u5df2\u5b89\u88c5\u7684Home Assistant OS\u865a\u62df\u673a ESXi\u4e3b\u673a\u6709\u8db3\u591f\u7684\u5b58\u50a8\u7a7a\u95f4\uff08\u81f3\u5c11500GB\u53ef\u7528\uff09 \u7ba1\u7406\u5458\u6743\u9650\u8bbf\u95eeESXi Web\u754c\u9762","title":"\u524d\u63d0\u6761\u4ef6"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_3","text":"","title":"\u64cd\u4f5c\u6b65\u9aa4"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1","text":"\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \uff08\u5f3a\u70c8\u5efa\u8bae\uff09 \u5728ESXi Web\u754c\u9762\u4e2d\u9009\u62e9Home Assistant\u865a\u62df\u673a \u70b9\u51fb\"\u64cd\u4f5c\" \u2192 \"\u521b\u5efa\u5feb\u7167\" \u8f93\u5165\u5feb\u7167\u540d\u79f0\uff1a \u6269\u5bb9\u524d\u5907\u4efd_YYYY-MM-DD \u70b9\u51fb\"\u521b\u5efa\u5feb\u7167\" \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u5728Home Assistant\u754c\u9762\u4e2d\u9009\u62e9\"\u7cfb\u7edf\" \u2192 \"\u91cd\u542f\u7cfb\u7edf\" \u9009\u62e9\"\u5173\u673a\"\u9009\u9879 \u6216\u5728ESXi\u754c\u9762\u4e2d\u9009\u62e9\u865a\u62df\u673a\uff0c\u70b9\u51fb\"\u5173\u95ed\u7535\u6e90\" \u26a0\ufe0f \u91cd\u8981 \uff1a\u786e\u4fdd\u662f\u5b8c\u5168\u5173\u95ed\uff0c\u4e0d\u662f\u6302\u8d77\u72b6\u6001","title":"\u6b65\u9aa41\uff1a\u51c6\u5907\u5de5\u4f5c"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2esxi","text":"\u8fdb\u5165\u865a\u62df\u673a\u7f16\u8f91\u6a21\u5f0f \u5728ESXi Web\u754c\u9762\u4e2d\u53f3\u952e\u70b9\u51fbHome Assistant\u865a\u62df\u673a \u9009\u62e9\"\u7f16\u8f91\u8bbe\u7f6e\" \u4fee\u6539\u786c\u76d8\u5bb9\u91cf \u5728\u865a\u62df\u786c\u4ef6\u5217\u8868\u4e2d\u627e\u5230\"\u786c\u76d81\" \u5f53\u524d\u663e\u793a\u4e3a\"32 GB\" \u5c06\u6570\u503c\u6539\u4e3a\"500\"\uff0c\u5355\u4f4d\u4fdd\u6301\"GB\" \u70b9\u51fb\"\u4fdd\u5b58\" \u786e\u8ba4\u66f4\u6539 \u68c0\u67e5\u865a\u62df\u673a\u8bbe\u7f6e\u4e2d\u786c\u76d8\u5bb9\u91cf\u5df2\u663e\u793a\u4e3a500GB \u5173\u95ed\u7f16\u8f91\u7a97\u53e3","title":"\u6b65\u9aa42\uff1a\u5728ESXi\u4e2d\u6269\u5c55\u786c\u76d8"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#3","text":"\u542f\u52a8Home Assistant \u70b9\u51fb\u865a\u62df\u673a\u7684\"\u5f00\u542f\u7535\u6e90\"\u6309\u94ae \u7b49\u5f85Home Assistant\u5b8c\u5168\u542f\u52a8 \u901a\u8fc7Web\u754c\u9762\u786e\u8ba4\u7cfb\u7edf\u6b63\u5e38\u8fd0\u884c","title":"\u6b65\u9aa43\uff1a\u542f\u52a8\u865a\u62df\u673a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#4","text":"\u865a\u62df\u786c\u76d8\u5df2\u6269\u5c55\uff0c\u4f46\u64cd\u4f5c\u7cfb\u7edf\u8fd8\u9700\u8981\u8bc6\u522b\u5e76\u4f7f\u7528\u65b0\u589e\u7a7a\u95f4\u3002","title":"\u6b65\u9aa44\uff1a\u6269\u5c55\u6587\u4ef6\u7cfb\u7edf"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1home-assistant","text":"\u8bbf\u95eeHome Assistant\u7ec8\u7aef \u5728Home Assistant Web\u754c\u9762\u4e2d \u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u9644\u52a0\u7ec4\u4ef6\" \u2192 \"Advanced SSH & Web Terminal\" \u5982\u679c\u6ca1\u6709\u5b89\u88c5\uff0c\u9700\u8981\u5148\u5b89\u88c5SSH\u9644\u52a0\u7ec4\u4ef6 \u6267\u884c\u6269\u5c55\u547d\u4ee4 ```bash # \u67e5\u770b\u5f53\u524d\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5 df -h # \u6269\u5c55\u6839\u5206\u533a\uff08\u901a\u5e38\u662f/dev/sda8\uff09 resize2fs /dev/sda8 # \u518d\u6b21\u67e5\u770b\u78c1\u76d8\u4f7f\u7528\u60c5\u51b5\uff0c\u786e\u8ba4\u6269\u5c55\u6210\u529f df -h ```","title":"\u65b9\u6cd51\uff1a\u4f7f\u7528Home Assistant\u5185\u7f6e\u5de5\u5177\uff08\u63a8\u8350\uff09"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2ssh","text":"\u542f\u7528SSH \u5728Home Assistant Web\u754c\u9762\u4e2d\u542f\u7528SSH\u529f\u80fd \u901a\u8fc7SSH\u8fde\u63a5 ```bash # \u8fde\u63a5\u5230Home Assistant ssh root@[Home_Assistant_IP] # \u67e5\u770b\u78c1\u76d8\u5206\u533a fdisk -l # \u6269\u5c55\u6587\u4ef6\u7cfb\u7edf resize2fs /dev/sda8 ```","title":"\u65b9\u6cd52\uff1a\u4f7f\u7528SSH\u8fde\u63a5\uff08\u5907\u9009\uff09"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#5","text":"\u68c0\u67e5\u5b58\u50a8\u7a7a\u95f4 \u901a\u8fc7SSH\u6216\u7ec8\u7aef\u6267\u884c\u547d\u4ee4\uff1a df -h \u6216\u5728Home Assistant Web\u754c\u9762\u4e2d\u8fdb\u5165\"\u8bbe\u7f6e\" \u2192 \"\u7cfb\u7edf\" \u2192 \"\u5b58\u50a8\" \u786e\u8ba4\u53ef\u7528\u7a7a\u95f4\u63a5\u8fd1500GB \u6210\u529f\u6848\u4f8b\u8f93\u51fa\u793a\u4f8b\uff1a bash \u279c ~ df -h Filesystem Size Used Available Use% Mounted on /dev/sda8 491.4G 5.4G 466.0G 1% /homeassistant /dev/sda8 491.4G 5.4G 466.0G 1% /data /dev/sda8 491.4G 5.4G 466.0G 1% /backup /dev/sda8 491.4G 5.4G 466.0G 1% /media /dev/sda8 491.4G 5.4G 466.0G 1% /share \u53ef\u4ee5\u770b\u5230 /dev/sda8 \u5206\u533a\u5df2\u6210\u529f\u6269\u5c55\u5230 491.4GB \uff0c\u53ef\u7528\u7a7a\u95f4 466.0GB \u3002 \u9a8c\u8bc1\u7cfb\u7edf\u7a33\u5b9a\u6027 \u91cd\u542fHome Assistant\u7cfb\u7edf \u786e\u8ba4\u6240\u6709\u529f\u80fd\u6b63\u5e38\u5de5\u4f5c \u68c0\u67e5\u65e5\u5fd7\u4e2d\u65e0\u9519\u8bef\u4fe1\u606f","title":"\u6b65\u9aa45\uff1a\u9a8c\u8bc1\u6269\u5c55\u7ed3\u679c"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_4","text":"","title":"\u6545\u969c\u6392\u9664"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#1_1","text":"\u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5ESXi\u4e3b\u673a\u5b58\u50a8\u7a7a\u95f4\u662f\u5426\u5145\u8db3 - \u6062\u590d\u5230\u6269\u5bb9\u524d\u7684\u5feb\u7167 - \u91cd\u65b0\u6267\u884c\u6269\u5bb9\u6b65\u9aa4","title":"\u95ee\u98981\uff1a\u865a\u62df\u673a\u65e0\u6cd5\u542f\u52a8"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#2","text":"\u89e3\u51b3\u65b9\u6848\uff1a # \u68c0\u67e5\u6587\u4ef6\u7cfb\u7edf fsck /dev/sda8 # \u5f3a\u5236\u6269\u5c55 resize2fs -f /dev/sda8","title":"\u95ee\u98982\uff1a\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u5931\u8d25"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#3_1","text":"\u89e3\u51b3\u65b9\u6848\uff1a - \u91cd\u542fHome Assistant\u7cfb\u7edf - \u68c0\u67e5\u5206\u533a\u8868\uff1a fdisk -l - \u624b\u52a8\u6269\u5c55\u5206\u533a\uff1a parted /dev/sda resizepart 8 100%","title":"\u95ee\u98983\uff1a\u6269\u5c55\u540e\u7a7a\u95f4\u672a\u663e\u793a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_5","text":"","title":"\u6ce8\u610f\u4e8b\u9879"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_6","text":"\u5fc5\u987b \u5728\u64cd\u4f5c\u524d\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u786e\u4fdd\u5728\u7ef4\u62a4\u7a97\u53e3\u671f\u95f4\u6267\u884c\u6b64\u64cd\u4f5c \u5efa\u8bae\u5728\u6d4b\u8bd5\u73af\u5883\u4e2d\u5148\u9a8c\u8bc1\u6b65\u9aa4","title":"\u26a0\ufe0f \u5b89\u5168\u8b66\u544a"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_7","text":"\u5b9a\u671f\u5907\u4efdHome Assistant\u914d\u7f6e \u76d1\u63a7ESXi\u4e3b\u673a\u5b58\u50a8\u4f7f\u7528\u60c5\u51b5 \u8003\u8651\u4f7f\u7528\u7cbe\u7b80\u914d\u7f6e\u78c1\u76d8\u4ee5\u8282\u7701\u7a7a\u95f4","title":"\ud83d\udca1 \u6700\u4f73\u5b9e\u8df5"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_8","text":"\u521b\u5efa\u865a\u62df\u673a\u5feb\u7167 \u5b8c\u5168\u5173\u95ed\u865a\u62df\u673a \u4fee\u6539\u865a\u62df\u786c\u76d8\u5927\u5c0f\u4e3a500GB \u542f\u52a8\u865a\u62df\u673a\u5e76\u786e\u8ba4\u6b63\u5e38\u8fd0\u884c \u6267\u884c\u6587\u4ef6\u7cfb\u7edf\u6269\u5c55\u547d\u4ee4 \u9a8c\u8bc1\u5b58\u50a8\u7a7a\u95f4\u663e\u793a\u63a5\u8fd1500GB \u6d4b\u8bd5Home Assistant\u6240\u6709\u529f\u80fd \u5220\u9664\u4e0d\u9700\u8981\u7684\u5feb\u7167\uff08\u53ef\u9009\uff09","title":"\ud83d\udccb \u9a8c\u8bc1\u6e05\u5355"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_9","text":"Home Assistant\u5907\u4efd\u548c\u6062\u590d\u6307\u5357 VMware ESXi\u865a\u62df\u673a\u7ba1\u7406\u6307\u5357","title":"\u76f8\u5173\u6587\u6863"},{"location":"Usages/QA/VMware-ESXi%E6%89%A9%E5%B1%95HomeAssistant%E7%A1%AC%E7%9B%98%E6%8C%87%E5%8D%97/#_10","text":"2025-07-17\uff1a\u521d\u59cb\u7248\u672c\u521b\u5efa 2025-07-17\uff1a\u6dfb\u52a0\u6210\u529f\u6848\u4f8b\u9a8c\u8bc1\uff0c\u786e\u8ba432GB\u2192500GB\u6269\u5c55\u5b8c\u5168\u6210\u529f \u5305\u542b\u4ece32GB\u6269\u5c55\u5230500GB\u7684\u5b8c\u6574\u6b65\u9aa4\u548c\u5b9e\u9645\u9a8c\u8bc1\u7ed3\u679c \u6587\u6863\u4f5c\u8005 \uff1a\u6280\u672f\u56e2\u961f \u6700\u540e\u66f4\u65b0 \uff1a2025\u5e747\u670817\u65e5 \u9002\u7528\u7248\u672c \uff1aVMware ESXi 5.5+, Home Assistant OS \u6240\u6709\u7248\u672c","title":"\u66f4\u65b0\u8bb0\u5f55"},{"location":"Usages/QA/errorsQA/","text":"\u5e38\u89c1\u9519\u8bef \u00b6 \u914d\u7f6e\u6587\u4ef6\u51fa\u9519 \u00b6 \u5f53\u51fa\u73b0\u8fd9\u79cd\u56fe,\u4f30\u8ba1\u662f\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u51fa\u9519,\u4e0d\u7b26\u5408yam\u683c\u5f0f,\u8bf7\u7528\u5171\u4eab\u76ee\u5f55smb\u6216ssh\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\u4fee\u6b63\u683c\u5f0f\u540e,\u91cd\u542f\u518d\u8bd5","title":"errorsQA"},{"location":"Usages/QA/errorsQA/#_1","text":"","title":"\u5e38\u89c1\u9519\u8bef"},{"location":"Usages/QA/errorsQA/#_2","text":"\u5f53\u51fa\u73b0\u8fd9\u79cd\u56fe,\u4f30\u8ba1\u662f\u914d\u7f6e\u6587\u4ef6\u683c\u5f0f\u51fa\u9519,\u4e0d\u7b26\u5408yam\u683c\u5f0f,\u8bf7\u7528\u5171\u4eab\u76ee\u5f55smb\u6216ssh\u6253\u5f00\u914d\u7f6e\u6587\u4ef6\u4fee\u6b63\u683c\u5f0f\u540e,\u91cd\u542f\u518d\u8bd5","title":"\u914d\u7f6e\u6587\u4ef6\u51fa\u9519"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E6%8A%8AHAos%E7%9A%84%E6%BA%90%E6%8D%A2%E6%88%90%E5%9B%BD%E5%86%85%E6%BA%90/","text":"\u8981\u66f4\u6539haos\uff08\u53ef\u80fd\u662f\u6307HaOS\uff0c\u4e00\u4e2a\u57fa\u4e8eLinux\u7684\u64cd\u4f5c\u7cfb\u7edf\uff09\u7684\u8f6f\u4ef6\u6e90\u4e3a\u56fd\u5185\u6e90\uff0c \u9700\u8981\u7f16\u8f91 /etc/apk/repositories \u6587\u4ef6\uff0c\u7136\u540e\u66ff\u6362\u73b0\u6709\u7684\u6e90\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\u3002\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u5907\u4efd\u539f\u59cb\u6587\u4ef6:\u786e\u4fdd\u5728\u4fee\u6539\u4e4b\u524d\u5907\u4efd\u539f\u59cb\u7684 /etc/apk/repositories \u6587\u4ef6\uff0c\u4ee5\u9632\u4fee\u6539\u9519\u8bef\u5bfc\u81f4\u95ee\u9898\u3002 sudo cp /etc/apk/repositories /etc/apk/repositories.bak \u7f16\u8f91\u6587\u4ef6:\u4f7f\u7528\u6587\u672c\u7f16\u8f91\u5668\uff08\u5982vi\u3001nano\u7b49\uff09\u6253\u5f00 /etc/apk/repositories \u6587\u4ef6\u3002 sudo vi /etc/apk/repositories \u66ff\u6362\u6e90:\u5c06\u6587\u4ef6\u4e2d\u7684\u5185\u5bb9\u66ff\u6362\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\uff0c\u4f8b\u5982\u963f\u91cc\u4e91\u6216\u6e05\u534e\u5927\u5b66\u7684\u6e90\u3002\\ \u4e0b\u662f\u963f\u91cc\u4e91\u7684\u793a\u4f8b\uff1a https://mirrors.aliyun.com/alpine/latest-stable/main https://mirrors.aliyun.com/alpine/latest-stable/community \u6e05\u534e\u5927\u5b66\u7684\u6e90\u793a\u4f8b\uff1a https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\u4e00\u4e2a\u6e90\uff0c\u5e76\u5c06\u539f\u6587\u4ef6\u5185\u5bb9\u66ff\u6362\u3002 \u4fdd\u5b58\u5e76\u9000\u51fa:\u5982\u679c\u4f7f\u7528vi\uff0c\u6309\u4e0bEsc\uff0c\u7136\u540e\u8f93\u5165 :wq \u4fdd\u5b58\u5e76\u9000\u51fa\u3002 \u66f4\u65b0\u8f6f\u4ef6\u5305\u5217\u8868:\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u66f4\u65b0\u8f6f\u4ef6\u5305\u5217\u8868\uff0c\u4f7f\u66f4\u6539\u751f\u6548\u3002 sudo apk update \u5b8c\u6210\u4ee5\u4e0a\u6b65\u9aa4\u540e\uff0chaos\u7684\u8f6f\u4ef6\u6e90\u5c31\u6210\u529f\u66f4\u6362\u4e3a\u56fd\u5185\u955c\u50cf\u6e90\u4e86\u3002","title":"\u5982\u4f55\u628aHAos\u7684\u6e90\u6362\u6210\u56fd\u5185\u6e90"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/","text":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA \u00b6 \u548c\u98ce\u5929\u6c14\u7b80\u4ecb \u00b6 \u548c\u98ce\u5929\u6c14\u662f\u4e00\u4e2a\u63d0\u4f9b\u5929\u6c14\u4fe1\u606f\u7684API\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u96c6\u6210\u5230Home Assistant\u4e2d\u3002 \u96c6\u6210\u6b65\u9aa4 \u00b6 \u5728Home Assistant\u4e2d\u5b89\u88c5\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u3002 \u914d\u7f6e\u548c\u98ce\u5929\u6c14API\u5bc6\u94a5\u3002 \u5728\u81ea\u52a8\u5316\u4e2d\u4f7f\u7528\u548c\u98ce\u5929\u6c14\u63d0\u4f9b\u7684\u5929\u6c14\u6570\u636e\u3002 \u793a\u4f8b \u00b6 \u767b\u5f55\u548c\u98ce\u5929\u6c14\u63a7\u5236\u53f0\uff0chttps://console.qweather.com/project?lang=zh \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5148\u4e3a\u6b64\u4e2d\u5fc3\u521b\u5efa\u4e00\u4e2a\u9879\u76ee\uff0c\u4e3a\u7684\u662f\u4e3a\u6bcf\u4e2a\u4e2d\u5fc3\u4f7f\u7528\u7684api\u8c03\u7528\u6b21\u6570\u7684\u7edf\u8ba1 \u8bb0\u5f55\u4e0b\u6765\u76f8\u5173\u4fe1\u606f \u9879\u76ee\u540d\u79f0\uff1a\u6e56\u5357\u65fa\u65fa \u9879\u76eeID:2HKR2MC5WM API-KEY:885d8b06871b445fbc1beb2eda11cd6c \u5f00\u53d1\u8005ID:Q137B51456 API-Host\uff1and4up3fy3t.re.qweatherapi.com \u67e5\u8be2\u57ce\u5e02\u533a\u57df\u4ee3\u7801\u7684\u7684\u5740\uff1a git clone https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u914d\u7f6e\u53c2\u8003 \u00b6 \u6253\u5f00\u7684\u914d\u7f6e\u6587\u4ef6 configuration.yaml \uff0c\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a weather: - platform: heweather location: 101210301 # \u4f60\u7684\u533a\u57df\u4ee3\u7801\u57ce\u5e02id host: nd4up3fy3t.re.qweatherapi.com # API Host key: 885d8b06871b445fbc1beb2eda11cd6c # \u4f60\u7684API KEY \u5176\u4e2d\uff0c\u8981\u66f4\u6362\u7684\u5185\u5bb9\u4e3b\u8981\u6709\uff0c\u533a\u57df\u4ee3\u7801\u57ce\u5e02id\u3001API Host\u548cAPI KEY\u3002 \u5982\u4e0b\u56fe \u83b7\u53d6\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\u7684\u65b9\u6cd5 \u00b6 \u8fd9\u91cc\u4e00\u5b9a\u8981\u914d\u5bf9\u6b63\u786e\u7684\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\uff0c\u5426\u5219\u4f1a\u62a5\u7684\u5929\u6c14\u4e0d\u51c6\u3002 \u53ef\u4ee5\u901a\u8fc7\u6b64\u6587\u6863\u63d0\u4f9b\u7684API\uff0c\u67e5\u8be2 https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u5176\u4e2d: X-QW-Api-Key \u4e3a\u4f60\u7684API\u5bc6\u94a5\u3002 location \u4e3a\u4f60\u8981\u67e5\u8be2\u7684\u57ce\u5e02\u540d\u79f0\u62fc\u97f3. curl -H \"X-QW-Api-Key: 885d8b06871b445fbc1beb2eda11cd6c\" --compressed \\ 'https://nd4up3fy3t.re.qweatherapi.com/geo/v2/city/lookup?location=changsha' \u5982\u4e0b\u56fe\u6240\u793a","title":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#ha","text":"","title":"\u5982\u4f55\u96c6\u6210\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u5230HA"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_1","text":"\u548c\u98ce\u5929\u6c14\u662f\u4e00\u4e2a\u63d0\u4f9b\u5929\u6c14\u4fe1\u606f\u7684API\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u96c6\u6210\u5230Home Assistant\u4e2d\u3002","title":"\u548c\u98ce\u5929\u6c14\u7b80\u4ecb"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_2","text":"\u5728Home Assistant\u4e2d\u5b89\u88c5\u548c\u98ce\u5929\u6c14\u7ec4\u4ef6\u3002 \u914d\u7f6e\u548c\u98ce\u5929\u6c14API\u5bc6\u94a5\u3002 \u5728\u81ea\u52a8\u5316\u4e2d\u4f7f\u7528\u548c\u98ce\u5929\u6c14\u63d0\u4f9b\u7684\u5929\u6c14\u6570\u636e\u3002","title":"\u96c6\u6210\u6b65\u9aa4"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_3","text":"\u767b\u5f55\u548c\u98ce\u5929\u6c14\u63a7\u5236\u53f0\uff0chttps://console.qweather.com/project?lang=zh \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5148\u4e3a\u6b64\u4e2d\u5fc3\u521b\u5efa\u4e00\u4e2a\u9879\u76ee\uff0c\u4e3a\u7684\u662f\u4e3a\u6bcf\u4e2a\u4e2d\u5fc3\u4f7f\u7528\u7684api\u8c03\u7528\u6b21\u6570\u7684\u7edf\u8ba1 \u8bb0\u5f55\u4e0b\u6765\u76f8\u5173\u4fe1\u606f \u9879\u76ee\u540d\u79f0\uff1a\u6e56\u5357\u65fa\u65fa \u9879\u76eeID:2HKR2MC5WM API-KEY:885d8b06871b445fbc1beb2eda11cd6c \u5f00\u53d1\u8005ID:Q137B51456 API-Host\uff1and4up3fy3t.re.qweatherapi.com \u67e5\u8be2\u57ce\u5e02\u533a\u57df\u4ee3\u7801\u7684\u7684\u5740\uff1a git clone https://github.com/qwd/LocationList.git.com/docs/api/geoapi/","title":"\u793a\u4f8b"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#_4","text":"\u6253\u5f00\u7684\u914d\u7f6e\u6587\u4ef6 configuration.yaml \uff0c\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a weather: - platform: heweather location: 101210301 # \u4f60\u7684\u533a\u57df\u4ee3\u7801\u57ce\u5e02id host: nd4up3fy3t.re.qweatherapi.com # API Host key: 885d8b06871b445fbc1beb2eda11cd6c # \u4f60\u7684API KEY \u5176\u4e2d\uff0c\u8981\u66f4\u6362\u7684\u5185\u5bb9\u4e3b\u8981\u6709\uff0c\u533a\u57df\u4ee3\u7801\u57ce\u5e02id\u3001API Host\u548cAPI KEY\u3002 \u5982\u4e0b\u56fe","title":"\u914d\u7f6e\u53c2\u8003"},{"location":"Usages/QA/%E5%A6%82%E4%BD%95%E9%9B%86%E6%88%90%E5%92%8C%E9%A3%8E%E5%A4%A9%E6%B0%94%E7%BB%84%E4%BB%B6%E5%88%B0HA/#id","text":"\u8fd9\u91cc\u4e00\u5b9a\u8981\u914d\u5bf9\u6b63\u786e\u7684\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\uff0c\u5426\u5219\u4f1a\u62a5\u7684\u5929\u6c14\u4e0d\u51c6\u3002 \u53ef\u4ee5\u901a\u8fc7\u6b64\u6587\u6863\u63d0\u4f9b\u7684API\uff0c\u67e5\u8be2 https://github.com/qwd/LocationList.git.com/docs/api/geoapi/ \u5176\u4e2d: X-QW-Api-Key \u4e3a\u4f60\u7684API\u5bc6\u94a5\u3002 location \u4e3a\u4f60\u8981\u67e5\u8be2\u7684\u57ce\u5e02\u540d\u79f0\u62fc\u97f3. curl -H \"X-QW-Api-Key: 885d8b06871b445fbc1beb2eda11cd6c\" --compressed \\ 'https://nd4up3fy3t.re.qweatherapi.com/geo/v2/city/lookup?location=changsha' \u5982\u4e0b\u56fe\u6240\u793a","title":"\u83b7\u53d6\u57ce\u5e02id\u533a\u57df\u4ee3\u7801\u7684\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/","text":"\u4eba\u5b58\u5728\u4f20\u611f\u5668-\u5982\u5395\u98ce\u9669\u63d0\u793a\u914d\u7f6e\u65b9\u6cd5 \u00b6 \u4eba\u5458\u611f\u5e94\u5668\u5361\u7247\u4ee3\u7801\u751f\u6210\u5668 \u5148\u627e\u51fa\u8981\u914d\u7f6e\u7684\u4f20\u611f\u5668\u7684\u5b9e\u4f53ID \u00b6 \u4e0b\u9762\u4ee5\u5927\u8fde\u7684\u8fd9\u4e2a\u4eba\u5b58\u5728\u4f20\u611f\u566801\u4e3a\u4f8b\uff1a \u4eba\u5b58\u5728\u4f20\u611f\u566801 \u5149\u7167\u5ea6\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005 \u65e0\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082 \u6709\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081 \u5b58\u5728\u4f20\u611f\u5668 \u6709\u4eba\u65e0\u4eba \u72b6\u6001\u662f\u5426\u89e6\u53d1 sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078 \u4eea\u8868\u76d8\u914d\u7f6e \u00b6 \u5728\u4eea\u8868\u76d8\uff0c\u76f8\u5e94\u4f4d\u7f6e\uff0c\u65b0\u5efa\u7ec4\u4ef6\uff0c\u8fdb\u5165\u4ee3\u7801\u7f16\u8f91\uff0c\u8d34\u5165\u5982\u4e0b\u683c\u5f0f\u7684YAML\u5185\u5bb9: type : markdown content : > 1\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u533b\u7528\u536b\u751f\u95f4 type : markdown content : > \u533b\u62a4\u536b\u751f\u95f4{% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e8c\u53f7\u536b\u751f\u95f4 type : markdown content : > 2\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e09\u53f7\u536b\u751f\u95f4 type : markdown content : > \u7537\u536b{% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3","title":"\u5982\u5395\u98ce\u9669-\u4eba\u5b58\u5728\u4f20\u611f\u5668\u914d\u7f6e\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#-","text":"\u4eba\u5458\u611f\u5e94\u5668\u5361\u7247\u4ee3\u7801\u751f\u6210\u5668","title":"\u4eba\u5b58\u5728\u4f20\u611f\u5668-\u5982\u5395\u98ce\u9669\u63d0\u793a\u914d\u7f6e\u65b9\u6cd5"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#id","text":"\u4e0b\u9762\u4ee5\u5927\u8fde\u7684\u8fd9\u4e2a\u4eba\u5b58\u5728\u4f20\u611f\u566801\u4e3a\u4f8b\uff1a \u4eba\u5b58\u5728\u4f20\u611f\u566801 \u5149\u7167\u5ea6\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005 \u65e0\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082 \u6709\u4eba\u6301\u7eed\u65f6\u957f\uff1a sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081 \u5b58\u5728\u4f20\u611f\u5668 \u6709\u4eba\u65e0\u4eba \u72b6\u6001\u662f\u5426\u89e6\u53d1 sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078","title":"\u5148\u627e\u51fa\u8981\u914d\u7f6e\u7684\u4f20\u611f\u5668\u7684\u5b9e\u4f53ID"},{"location":"Usages/QA/%E5%A6%82%E5%8E%95%E9%A3%8E%E9%99%A9-%E4%BA%BA%E5%AD%98%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/#_1","text":"\u5728\u4eea\u8868\u76d8\uff0c\u76f8\u5e94\u4f4d\u7f6e\uff0c\u65b0\u5efa\u7ec4\u4ef6\uff0c\u8fdb\u5165\u4ee3\u7801\u7f16\u8f91\uff0c\u8d34\u5165\u5982\u4e0b\u683c\u5f0f\u7684YAML\u5185\u5bb9: type : markdown content : > 1\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqavn130ck00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u533b\u7528\u536b\u751f\u95f4 type : markdown content : > \u533b\u62a4\u536b\u751f\u95f4{% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', 'on') or is_state('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqll06fp0c00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e8c\u53f7\u536b\u751f\u95f4 type : markdown content : > 2\u53f7{% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_illumination_p_2_1005') |default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_occupancy_status_p_2_1078', 'on') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1lqb1cfugcc00_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3 \u4e09\u53f7\u536b\u751f\u95f4 type : markdown content : > \u7537\u536b{% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} # \ud83d\udd34 \u6709\u4eba-\u4e0d\u53ef\u7528 {% else %} # \ud83d\udfe2 \u65e0\u4eba-\u53ef\u7528 {% endif %} **\u5149\u7167\u5ea6:** {{ states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_illumination_p_2_1005') | default('\u672a\u77e5') }} lx {% if is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', 'on') or is_state('binary_sensor.xiaomi_cn_blt_3_1magboil90c01_03_occupancy_status_p_2_1078', '\u6709\u4eba') %} **\u6709\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_has_someone_duration_p_2_1081') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% else %} **\u65e0\u4eba\u6301\u7eed:** {% set duration = states('sensor.xiaomi_cn_blt_3_1magboil90c01_03_no_one_duration_p_2_1082') %}{{ '\u672a\u77e5' if duration in ['unknown', 'unavailable', ''] else duration }} {% endif %} card_mod : style : | ha-card { text-align: center; } ha-card h1 { font-size: 48px !important; margin: 10px 0 !important; } ha-card p { font-size: 18px !important; margin: 5px 0 !important; } grid_options : columns : 6 rows : 3","title":"\u4eea\u8868\u76d8\u914d\u7f6e"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/","text":"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357 \u00b6 1. \u524d\u63d0\u6761\u4ef6 \u00b6 \u5df2\u5b89\u88c5\u5e76\u914d\u7f6e\u597dHome Assistant \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86MQTT Broker \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86Node-RED \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff08\u5982Miaomiaoc CN BLT 3\uff09 \u5df2\u7ecf\u83b7\u53d6\u5230\u4e86\u80dc\u900f\u7684MQTT\u670d\u52a1\u5668Broker\u5730\u5740\u548c\u7aef\u53e3 2. \u5728Home Assistant\u4e2d\u914d\u7f6e\u4f20\u611f\u5668\u81ea\u52a8\u5316 \u00b6 1.\u627e\u5230\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u00b6 \u900f\u6790\u4e2d\u5fc3\u53ef\u80fd\u5b89\u88c5\u4e86\u591a\u4e2a\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff0c\u9996\u5148\u9700\u8981\u627e\u5230\u5bf9\u5e94\u7684\u5b9e\u4f53ID\u3002 \u53ef\u4ee5\u5728Home Assistant\u7684\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u5f53\u524d\u6240\u6709\u4f20\u611f\u5668\u7684\u72b6\u6001\u3002 \u4e5f\u53ef\u4ee5\u5728\u5df2\u7ecf\u8bbe\u5907\u4e0e\u670d\u52a1\uff0c\u96c6\u6210\uff0c\u4e2d\u627e\u5230\u7c73\u5bb6\u7684\u8bbe\u5907\uff0c\u627e\u5230\u90a3\u4e2a\u4f20\u611f\u5668 \u627e\u5230\u9700\u8981\u914d\u7f6e\u4e3a\u73af\u5883\u6e29\u5ea6\u7684\u4f20\u611f\u5668 \u70b9\u51fb\u6e29\u5ea6\u5b9e\u4f53 \u70b9\u51fb\u8bbe\u7f6e\u56fe\u6807 \u5982\u672c\u4f8b\u83b7\u53d6\u5230\u7684\u5b9e\u4f53ID\u4e3a sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u3002\u8bb0\u4f4f\u6b64ID\uff0c\u540e\u9762\u5f88\u591a\u5730\u65b9\u90fd\u4f1a\u7528\u5230. 2. \u521b\u5efa\u81ea\u52a8\u5316\u89c4\u5219 \u00b6 \u6211\u4eec\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5f53\u4f20\u611f\u5668\u72b6\u6001\u66f4\u65b0\u65f6\u53ca\u6bcf\u969430\u79d2\uff0c\u5c06\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230Home Assistant\u5185\u90e8\u96c6\u6210\u7684\u7684MQTT\u670d\u52a1\u5668\u3002 \u8fdb\u5165 \"\u914d\u7f6e\" \u2192 \"\u81ea\u52a8\u5316\u548c\u573a\u666f\" \u2192 \"\u81ea\u52a8\u5316\"\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684 \"+\" \u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\u89c4\u5219\u3002 \u8fdb\u5165\u81ea\u52a8\u5316\u89c4\u5219\u7f16\u8f91\u754c\u9762\u540e\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\"\u521b\u5efa\u81ea\u52a8\u5316\"\u6309\u94ae\u3002\u5728\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\u9009\u62e9\"\u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\"\u3002 \u5728\u65b0\u5efa\u81ea\u52a8\u5316\u754c\u9762\uff0c\u70b9\u53f3\u4e0a\u89d2\u7684\u4e09\u4e2a\u70b9\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5728\u5f39\u51fa\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\uff0c\u70b9\u51fb\u8fdb\u5165YHAML\u7f16\u8f91,\u8fdb\u5165\u4ee3\u7801\u6a21\u5f0f\uff0c\u5982\u4e0b\u6240\u793a \u5728\u8fd9\u4e2a\u5927\u7684\u6587\u672c\u6846\u4e2d\u7c98\u5165\u5982\u4e0b\u4ee3\u7801\uff1a alias : \u53d1\u5e03\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u5230MQTT description : \u5f53\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u53d8\u5316\u6216\u6bcf30\u79d2\u5b9a\u65f6\u65f6\uff0c\u81ea\u52a8\u53d1\u5e03\u5230MQTT\u4f9bNode-RED\u4f7f\u7528 triggers : - entity_id : sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 trigger : state - seconds : /30 trigger : time_pattern conditions : - condition : template value_template : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') not in ['unavailable', 'unknown', 'None'] and states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') | float(-999) != -999 }} actions : - data : topic : >- homeassistant/sensor/sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1/state payload : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') }} retain : false qos : 0 action : mqtt.publish mode : single \u6ce8\u610f: \u4ee5\u4e0a\u4ee3\u7801\u4e2d\u7684 sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u662f\u793a\u4f8b\u5b9e\u4f53ID\uff0c\u8bf7\u66ff\u6362\u4e3a\u4f60 \u5b9e\u9645\u7684\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u3002 \u653e\u7f6e\u5b8c\u6210\u540e\uff0c\u5982\u4e0b\u56fe\u793a\u610f \u89c2\u5bdf\u4e0a\u6b21\u89e6\u53d1\u5217\u662f\u5426\u4f1a\u6bcf\u969430\u79d2\u6267\u884c\u4e00\u6b21 \u8fd4\u56de\u5230\u4f20\u611f\u5668\u7684\u8bbe\u5907\u754c\u9762\u4e5f\u80fd\u770b\u5230\u8bbe\u5907\u7684\u81ea\u52a8\u5316\u4e0b\u9762\u6709\u4e00\u6761\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5982\u4e0b\u56fe \u5230\u6b64\uff0c\u81ea\u52a8\u5316\u89c4\u5219\u5df2\u914d\u7f6e\u5b8c\u6210\u3002 3. \u5728Node-RED\u4e2d\u914d\u7f6eMQTT\u63a5\u6536\u8f6c\u53d1 \u00b6 1. \u6253\u5f00Node-RED\u7f16\u8f91\u5668 \u00b6 \u6253\u5f00nod-red\u7f16\u8f91\u5668\uff0c\u6709\u7684HA\u53ef\u80fd\u662f\u914d\u7f6e\u5728\u5de6\u4fa7\u822a\u83dc\u5355\u4e2d\uff0c\u5982\u4e0b\u56fe\u5fd7\u793a\uff0c\u70b9\u51fb\u5373\u53ef\u8fdb\u5165 \u6709\u7684\u662f\u6ca1\u6709\u914d\u7f6enode-red\u5230\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u70b9\u51fb\"\u8bbe\u7f6e-\u52a0\u8f7d\u9879\"\u8fdb\u5165\u52a0\u8f7d\u9879\u9875\u9762 \u627e\u5230Node-RED\u52a0\u8f7d\u9879\uff0c\u70b9\u51fb\u8fdb\u5165 \u8fdb\u5165\u754c\u9762\u5982\u4e0b\uff1a 2. \u521b\u5efa\u65b0\u5de5\u4f5c\u6d41 \u00b6 \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\"\u83dc\u5355\"\u6309\u94ae\uff0c\u518d\u70b9\u5bfc\u5165\u3002 \u5728\u6b64\u5904\u8d34\u5165\u5de5\u4f5c\u6d41\u4ee3\u7801\uff0c\u6ce8\u610f\uff1a\u8981\u9009\u62e9\u5bfc\u5165\u5230\u65b0\u6d41\u7a0b \u5de5\u4f5c\u6d41\u4ee3\u7801\u5982\u4e0b [ { \"id\" : \"1407d4531e19a951\" , \"type\" : \"tab\" , \"label\" : \"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u6570\u636e\u8f6c\u53d1\" , \"disabled\" : false , \"info\" : \"\u4eceHomeAssistant\u83b7\u53d6\u6e29\u5ea6\u4f20\u611f\u5668\u6570\u636e\u5e76\u53d1\u5e03\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\" }, { \"id\" : \"97e254f4a87ddde9\" , \"type\" : \"mqtt in\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8ba2\u9605HA\u6e29\u5ea6\u4f20\u611f\u5668\" , \"topic\" : \"homeassistant/sensor/+/state\" , \"qos\" : \"0\" , \"datatype\" : \"auto\" , \"broker\" : \"mqtt-ha-broker\" , \"nl\" : false , \"rap\" : true , \"rh\" : 0 , \"inputs\" : 0 , \"x\" : 150 , \"y\" : 100 , \"wires\" : [ [ \"44d729e67618e4f2\" ] ] }, { \"id\" : \"44d729e67618e4f2\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u5904\u7406\u6e29\u5ea6\u6570\u636e\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst targetDeviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\n\\n// \u4ecetopic\u4e2d\u63d0\u53d6\u5f53\u524d\u8bbe\u5907ID\\nconst topicParts = msg.topic.split('/');\\nconst currentDeviceId = topicParts.length >= 3 ? topicParts[2] : \\\"\\\";\\n\\n// \u53ea\u5904\u7406\u76ee\u6807\u8bbe\u5907\u7684\u6d88\u606f\\nif (currentDeviceId !== targetDeviceId) {\\n node.log(\\\"\u5ffd\u7565\u8bbe\u5907\u6d88\u606f: \\\" + currentDeviceId + \\\" (\u76ee\u6807\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n return null;\\n}\\n\\n// \u751f\u6210\u552f\u4e00\u7684\u6d88\u606fID\\nconst messageId = \\\"temp_\\\" + Date.now() + \\\"_\\\" + Math.floor(Math.random() * 1000);\\nconst timestamp = Date.now();\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u89e3\u6790\u6e29\u5ea6\u503c\\nlet temperature = parseFloat(msg.payload);\\nif (isNaN(temperature)) {\\n node.warn(\\\"\u63a5\u6536\u5230\u65e0\u6548\u7684\u6e29\u5ea6\u503c: \\\" + msg.payload);\\n return null;\\n}\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u683c\u5f0f\u5316\u6570\u636e\\nconst protocolMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": targetDeviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"value\\\": temperature,\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"quality\\\": \\\"good\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6e\u8f93\u51fa\u6d88\u606f\\nmsg.payload = JSON.stringify(protocolMessage);\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${targetDeviceId}/properties`;\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u6e29\u5ea6\u6570\u636e\u5df2\u5904\u7406: \\\" + temperature + \\\"\u00b0C (\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 420 , \"y\" : 100 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"573842ea77192dbb\" , \"type\" : \"mqtt out\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u5230\u516c\u53f8MQTT\" , \"topic\" : \"\" , \"qos\" : \"\" , \"retain\" : \"\" , \"respTopic\" : \"\" , \"contentType\" : \"\" , \"userProps\" : \"\" , \"correl\" : \"\" , \"expiry\" : \"\" , \"broker\" : \"mqtt-company-broker\" , \"x\" : 990 , \"y\" : 80 , \"wires\" : [] }, { \"id\" : \"4c630c164e08dc2c\" , \"type\" : \"debug\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8c03\u8bd5\u8f93\u51fa\" , \"active\" : true , \"tosidebar\" : true , \"console\" : false , \"tostatus\" : false , \"complete\" : \"payload\" , \"targetType\" : \"msg\" , \"statusVal\" : \"\" , \"statusType\" : \"auto\" , \"x\" : 1040 , \"y\" : 360 , \"wires\" : [] }, { \"id\" : \"495c392574ee1bf4\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u8bbe\u5907\u7269\u6a21\u578b\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"60\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"5\" , \"topic\" : \"shengtou/sensor/TH001_HA/model\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 170 , \"y\" : 180 , \"wires\" : [ [ \"3aea3ce2deb4ea99\" ] ] }, { \"id\" : \"3aea3ce2deb4ea99\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u7269\u6a21\u578b\u6570\u636e\" , \"func\" : \"const messageId = \\\"mdl_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u7269\u6a21\u578b\u5b9a\u4e49\\nconst modelMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"model\\\": {\\n \\\"deviceInfo\\\": {\\n \\\"manufacturer\\\": \\\"\u5c0f\u7c73\\\",\\n \\\"model\\\": \\\"MIAOMIAOC_CN_BLT_3_11A1SBR5K5O01_T2\\\",\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"description\\\": \\\"\u7c73\u5bb6\u6e29\u6e7f\u5ea6\u4f20\u611f\u5668(\u901a\u8fc7HomeAssistant\u96c6\u6210)\\\"\\n },\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"dataType\\\": \\\"float\\\",\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"range\\\": {\\n \\\"min\\\": -40,\\n \\\"max\\\": 85\\n },\\n \\\"precision\\\": 1,\\n \\\"description\\\": \\\"\u73af\u5883\u6e29\u5ea6\\\"\\n }\\n },\\n \\\"events\\\": {\\n \\\"startup\\\": {\\n \\\"eventType\\\": \\\"info\\\",\\n \\\"description\\\": \\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\\\"\\n }\\n },\\n \\\"alarms\\\": {\\n \\\"TEMP_HIGH\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u9ad8\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 35.0\\n },\\n \\\"TEMP_LOW\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u4f4e\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 0.0\\n }\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/model`;\\nmsg.payload = JSON.stringify(modelMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u7269\u6a21\u578b\u6570\u636e\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 160 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"70e1e283448c941e\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"120\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"10\" , \"topic\" : \"shengtou/sensor/TH001_HA/status\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 240 , \"wires\" : [ [ \"ae74b6d386748045\" ] ] }, { \"id\" : \"ae74b6d386748045\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u72b6\u6001\u6570\u636e\" , \"func\" : \"const messageId = \\\"sts_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u8ba1\u7b97\u8bbe\u5907\u8fd0\u884c\u65f6\u95f4\uff08\u4ece\u7b2c\u4e00\u6b21\u542f\u52a8\u5f00\u59cb\uff09\\nif (!context.get(\\\"startTime\\\")) {\\n context.set(\\\"startTime\\\", timestamp);\\n}\\nconst startTime = context.get(\\\"startTime\\\");\\nconst uptime = timestamp - startTime;\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u72b6\u6001\u6570\u636e\\nconst statusMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"status\\\": {\\n \\\"online\\\": true,\\n \\\"lastHeartbeat\\\": timestamp,\\n \\\"uptime\\\": uptime\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/status`;\\nmsg.payload = JSON.stringify(statusMessage);\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\u5df2\u53d1\u9001\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 240 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"7f9acf10d0c6085d\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u521d\u59cb\u5316\u5168\u5c40\u914d\u7f6e\" , \"props\" : [ { \"p\" : \"payload\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"1\" , \"topic\" : \"\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 150 , \"y\" : 40 , \"wires\" : [ [ \"6f6b825dfc5e9512\" ] ] }, { \"id\" : \"6f6b825dfc5e9512\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\" , \"func\" : \"// \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf\\nglobal.set(\\\"nameSpace\\\", \\\"Environment\\\");\\nglobal.set(\\\"clientCode\\\", \\\"Data-It_XzOffice\\\");\\nglobal.set(\\\"deviceId\\\", \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\");\\n\\nnode.log(\\\"\u5168\u5c40\u914d\u7f6e\u5df2\u8bbe\u7f6e: nameSpace=\\\" + global.get(\\\"nameSpace\\\") + \\\", clientCode=\\\" + global.get(\\\"clientCode\\\") + \\\", deviceId=\\\" + global.get(\\\"deviceId\\\"));\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 360 , \"y\" : 40 , \"wires\" : [ [ \"794c422d39898a7f\" ] ] }, { \"id\" : \"794c422d39898a7f\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u66f4\u65b0MQTT\u8ba2\u9605Topic\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u751f\u6210HomeAssistant MQTT\u8ba2\u9605Topic\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst haTopic = `homeassistant/sensor/${deviceId}/state`;\\n\\n// \u5c06Topic\u4fdd\u5b58\u5230\u5168\u5c40\u53d8\u91cf\u4f9b\u5176\u4ed6\u5730\u65b9\u4f7f\u7528\\nglobal.set(\\\"haSubscribeTopic\\\", haTopic);\\n\\nnode.log(\\\"HomeAssistant\u8ba2\u9605Topic\u5df2\u66f4\u65b0: \\\" + haTopic);\\nnode.log(\\\"\u6ce8\u610f\uff1a\u5982\u9700\u66f4\u6539MQTT In\u8282\u70b9\u7684\u8ba2\u9605Topic\uff0c\u8bf7\u624b\u52a8\u4fee\u6539\u4e3a: \\\" + haTopic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 590 , \"y\" : 40 , \"wires\" : [ [] ] }, { \"id\" : \"3bf854e9bd3e6937\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u542f\u52a8\u4e8b\u4ef6\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"15\" , \"topic\" : \"shengtou/sensor/TH001_HA/events\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 340 , \"wires\" : [ [ \"26f6196b2d6fba29\" ] ] }, { \"id\" : \"26f6196b2d6fba29\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u542f\u52a8\u4e8b\u4ef6\" , \"func\" : \"const messageId = \\\"evt_startup_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u4e8b\u4ef6\u6570\u636e\\nconst eventMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"events\\\": [\\n {\\n \\\"eventType\\\": \\\"startup\\\",\\n \\\"eventLevel\\\": \\\"info\\\",\\n \\\"eventCode\\\": \\\"EVT_001\\\",\\n \\\"description\\\": \\\"HomeAssistant\u6e29\u5ea6\u4f20\u611f\u5668\u4ee3\u7406\u8bbe\u5907\u542f\u52a8\u5b8c\u6210\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n ]\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/events`;\\nmsg.payload = JSON.stringify(eventMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 380 , \"y\" : 320 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"mqtt-ha-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"HomeAssistant MQTT\" , \"broker\" : \"192.168.50.83\" , \"port\" : \"1883\" , \"clientid\" : \"\" , \"autoConnect\" : true , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"autoUnsubscribe\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"\" , \"willQos\" : \"0\" , \"willPayload\" : \"\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" }, { \"id\" : \"mqtt-company-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"\u516c\u53f8MQTT\u670d\u52a1\u5668\" , \"broker\" : \"mqtt-test.ihemodialysis.com\" , \"port\" : \"62183\" , \"clientid\" : \"\" , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"shengtou/sensor/TH001_HA/status\" , \"willQos\" : \"0\" , \"willPayload\" : \"{\\\"messageId\\\":\\\"sts_offline\\\",\\\"timestamp\\\":0,\\\"deviceId\\\":\\\"TH001_HA\\\",\\\"deviceType\\\":\\\"sensor\\\",\\\"version\\\":\\\"1.0\\\",\\\"data\\\":{\\\"status\\\":{\\\"online\\\":false,\\\"lastHeartbeat\\\":0,\\\"uptime\\\":0}}}\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" } ] \u5f53\u7136\uff0c\u4f60\u4e5f\u53ef\u4ee5\u4ece \u5de5\u4f5c\u6d41\u6587\u4ef6 \u5bfc\u5165\u65b0\u65b0\u5de5\u4f5c\u6d41\u3002 \u70b9\u51fb\u4e0a\u8ff0\u94fe\u63a5\u540e\uff0c\u4e0b\u8f7d\u6587\u4ef6\uff0c\u5e76\u89e3\u538b\uff0c\u5f97\u5230\u4e00\u4e2a\u540d\u4e3a flows.json \u7684\u6587\u4ef6\u3002 \u70b9\u51fb\u5bfc\u5165\u8282\u70b9\u6587\u4ef6\uff0c \u90e8\u7f72\u6210\u529f\u540e\uff0c\u4f1a\u51fa\u73b0\u5982\u4e0b\u56fe\u6240\u793a\u7684\u5de5\u4f5c\u6d41 \u6b64\u65f6\uff0c\u5de5\u4f5c\u6d41\u5df2\u521b\u5b8c\u6210. 3. \u914d\u7f6eMQTT\u8282\u70b9 \u00b6 \u5de5\u4f5c\u6d41\u4e2d\u6709\u4e24\u4e2aMQTT\u8282\u70b9\uff0c\u5206\u522b\u662fHome Assistant\u7684MQTT Broker\u548c\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u8fd9\u4e24\u4e2a\u8282\u70b9\u7684\u914d\u7f6e\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\u3002 \u9996\u5148\uff0c\u8981\u5148\u914d\u7f6eHome Assistant\u7684MQTT Broker\u8282\u70b9\uff0c\u786e\u4fdd\u5176\u8fde\u63a5\u4fe1\u606f\u6b63\u786e\u65e0\u8bef\u3002 \u5728\u6211\u4eec\u6ca1\u6709\u914d\u7f6emqtt in \u7684\u8fde\u63a5\u4fe1\u606f\u65f6\uff0c\u6211\u4eec\u53d1\u73b0\u8fd9\u4e2a\u8282\u70b9\u4e00\u76f4\u5904\u7406\u8fde\u63a5\u4e2d \u53cc\u51fb\u8be5\u8282\u70b9\uff0c\u8fdb\u5165\u914d\u7f6e\u754c\u9762 \u70b9\u51fb\u7f16\u8f91\u56fe\u6807 \u5728\u7f16\u8f91mqtt-broker\u8282\u70b9\u7684\u754c\u9762\u4e2d\u7684\u8fde\u63a5\u53c2\u6570\u9009\u9879\u5361\u4e2d\uff0c\u8f93\u5165\u6b63\u786e\u7684\u670d\u52a1\u7aef\u4e0e\u7aef\u53e3\u53f7 \u5982\u679cMQTT\u6709\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u8bf7\u5728\u8ba4\u8bc1\u9009\u9879\u5361\u4e2d\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u540e\uff0c\u7136\u540e\u70b9\u66f4\u65b0 \u7136\u540e\uff0c\u518d\u70b9\u51fb\u5b8c\u6210 \u6700\u540e\u70b9\u51fb\u90e8\u7f72 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff0c\u6b64\u8282\u70b9\u4f1a\u53d8\u4e3a\u5df2\u8054\u63a5 \u5bf9\u4e8e\"\u53d1\u5e03\u5230\u516c\u53f8MQTT\"\u8282\u70b9\uff0c\u6211\u4eec\u9700\u8981\u914d\u7f6e\u8fde\u63a5\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u4e5f\u65f6\u540c\u6837\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u53cc\u51fb \u7136\u540e\uff0c\u66f4\u65b0\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72\u5373\u53ef\u3002 \u67e5\u627eHomeAssistant\u7684Mqtt\u914d\u7f6e\u4fe1\u606f \u5bf9\u4e8eHomeAssistant\u6211\u4eec\u4e00\u822c\u90fd\u662f\u63d0\u524d\u90e8\u7f72\u4e86\u5185\u7f6e\u7684MQTT Broker,\u5728\u4e0d\u77e5\u7aef\u53e3\u4e0e\u5bc6\u7801\u7684\u60c5\u51b5\u4e0b\uff0c\u6211\u6837\u53ef\u4ee5\u5728HomeAssistant\u4e2d\u53bb\u67e5\u627e \u8fdb\u5165\u8bbe\u7f6e\u52a0\u8f7d\u9879 \u627e\u5230Mosquitto broker\u8fd9\u4e2a\u9009\u9879\u5361,\u70b9\u51fb\u8fdb\u5165 \u70b9\u51fb\u914d\u7f6e\u9009\u9879\u5361 \u5728\u8fd9\u91cc\u53ef\u4ee5\u770b\u5230MQTT\u7684\u7aef\u53e3\u53f7\u4e0e\u7528\u6237\u540d\u5bc6\u7801\u7b49\u4fe1\u606f\uff0c\u53ca\u4e0b\u9762\u7684mqtt\u5f00\u653e\u7684\u7aef\u53e3\u4fe1\u606f\uff0cip\u5730\u5740\uff0c\u5c31\u662fha\u4e3b\u673a\u6240\u5728\u7684Ip\u5730\u5740\u3002\u4ee5\u4e0a\u4fe1\u606f\uff0c\u7528\u6765\u914d\u7f6e\u5de5\u4f5c\u6d41\u7684mqtt in\u7684\u53c2\u6570\u3002 \u516c\u53f8mqtt\u670d\u52a1\u7aef\u53e3\u4fe1\u606f \u8fd9\u4e2a\u53c2\u6570\uff0c\u8bf7\u5411\u516c\u53f8\u7ba1\u7406\u5458\u83b7\u53d6\uff0c\u6216\u8005\u5728\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u67e5\u770b\u3002 4.\u914d\u7f6e\u5de5\u4f5c\u6d41\u5168\u5c40\u53d8\u91cf \u00b6 \u53cc\u51fb\u5de5\u4f5c\u6d41\u7684\u8282\u70b9\"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\",\u6253\u5f00\u7f16\u8f91function\u8282\u70b9 \u5bf9\u5982\u4e0b\u4e09\u884c,\u8fdb\u884c\u66f4\u6539 // \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf global . set ( \"nameSpace\" , \"Environment\" ); //\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a\uff1aEnvironment\uff0c\u5982\u679c\u6709\u9700\u8981\uff0c\u4ee5\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u540e\uff0c\u66f4\u6539. global . set ( \"clientCode\" , \"Data-It_XzOffice\" ); // \u5ba2\u6237\u7aef\u4ee3\u7801\uff0c\u9ed8\u8ba4\u4e3a\uff1aData-It_XzOffice\uff0c\u4e00\u5b9a\u8981\u6539\u4e3a\u4e2d\u5fc3\u5bf9\u5c31\u7684ClientCode\uff0c global . set ( \"deviceId\" , \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\" ); //\u4e00\u5b9a\u8981\u6539\u4e3a\u4e4b\u524d\u6211\u4eec\u5b9a\u7684\u4f20\u611f\u5668\u5b9e\u4f53ID \u5982\u679c\u4e0d\u786e\u5b9a\uff0c\u8bf7\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u3002 \u7136\u540e\uff0c\u70b9\u51fb\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72 \u7136\u540e\uff0c\u4e0b\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u6267\u884c \u8fd9\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u5fc5\u987b\u6267\u884c\uff0c\u5426\u5219\u5de5\u4f5c\u6d41\u6ca1\u6709\u628a\u5168\u5c40\u53d8\u91cf\u5199\u5165\u5de5\u4f5c\u6d41\uff0c\u4f1a\u5bfc\u81f4\u53d1\u5e03\u6570\u636e\u4e0d\u6b63\u786e\u3002 \u7136\u540e\uff0c\u6211\u6837\u5c31\u53ef\u4ee5\u7528\u5728debug\u7684\u65e5\u5fd7\u4e2d\u770b\u5230\u6211\u4eec\u53d1\u5e03\u7684\u8282\u70b9\u6570\u636e\u4e86\uff0c \u6b64\u56fe\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230mqtt\u53d1\u5e03\u5230\u516c\u53f8\u7684\u6570\u636e\uff0cclientCode\uff0cdeviceid\u662f\u5426\u6b63\u5e38\u4e86\u3002 5. \u6d4b\u8bd5\u5de5\u4f5c\u6d41\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38 \u00b6 \u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u67e5\u770b\u516c\u53f8mqtt\u670d\u52a1\u6536\u5230\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38\u5982\u4e0b\u56fe \u8fd9\u91cc\u6211\u63a8\u8350\u4f7f\u7528\u5de5\u5177 MQTTX \u4e0b\u8f7d\u5730\u5740\u4e3a\uff1ahttps://mqttx.app/downloads \u81f3\u6b64,\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230\u80dc\u900f\u7684\u5de5\u4f5c\u6d41\u914d\u7f6e\u5b8c\u6210\u3002","title":"\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#_1","text":"","title":"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u53d1\u9001\u5230\u80dc\u900f\u7684\u64cd\u4f5c\u6307\u5357"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1","text":"\u5df2\u5b89\u88c5\u5e76\u914d\u7f6e\u597dHome Assistant \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86MQTT Broker \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86Node-RED \u5df2\u7ecf\u5b89\u88c5\u5e76\u914d\u7f6e\u4e86\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff08\u5982Miaomiaoc CN BLT 3\uff09 \u5df2\u7ecf\u83b7\u53d6\u5230\u4e86\u80dc\u900f\u7684MQTT\u670d\u52a1\u5668Broker\u5730\u5740\u548c\u7aef\u53e3","title":"1. \u524d\u63d0\u6761\u4ef6"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2-home-assistant","text":"","title":"2. \u5728Home Assistant\u4e2d\u914d\u7f6e\u4f20\u611f\u5668\u81ea\u52a8\u5316"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1id","text":"\u900f\u6790\u4e2d\u5fc3\u53ef\u80fd\u5b89\u88c5\u4e86\u591a\u4e2a\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\uff0c\u9996\u5148\u9700\u8981\u627e\u5230\u5bf9\u5e94\u7684\u5b9e\u4f53ID\u3002 \u53ef\u4ee5\u5728Home Assistant\u7684\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u67e5\u770b\u5f53\u524d\u6240\u6709\u4f20\u611f\u5668\u7684\u72b6\u6001\u3002 \u4e5f\u53ef\u4ee5\u5728\u5df2\u7ecf\u8bbe\u5907\u4e0e\u670d\u52a1\uff0c\u96c6\u6210\uff0c\u4e2d\u627e\u5230\u7c73\u5bb6\u7684\u8bbe\u5907\uff0c\u627e\u5230\u90a3\u4e2a\u4f20\u611f\u5668 \u627e\u5230\u9700\u8981\u914d\u7f6e\u4e3a\u73af\u5883\u6e29\u5ea6\u7684\u4f20\u611f\u5668 \u70b9\u51fb\u6e29\u5ea6\u5b9e\u4f53 \u70b9\u51fb\u8bbe\u7f6e\u56fe\u6807 \u5982\u672c\u4f8b\u83b7\u53d6\u5230\u7684\u5b9e\u4f53ID\u4e3a sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u3002\u8bb0\u4f4f\u6b64ID\uff0c\u540e\u9762\u5f88\u591a\u5730\u65b9\u90fd\u4f1a\u7528\u5230.","title":"1.\u627e\u5230\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2","text":"\u6211\u4eec\u9700\u8981\u521b\u5efa\u4e00\u4e2a\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5f53\u4f20\u611f\u5668\u72b6\u6001\u66f4\u65b0\u65f6\u53ca\u6bcf\u969430\u79d2\uff0c\u5c06\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230Home Assistant\u5185\u90e8\u96c6\u6210\u7684\u7684MQTT\u670d\u52a1\u5668\u3002 \u8fdb\u5165 \"\u914d\u7f6e\" \u2192 \"\u81ea\u52a8\u5316\u548c\u573a\u666f\" \u2192 \"\u81ea\u52a8\u5316\"\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684 \"+\" \u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\u89c4\u5219\u3002 \u8fdb\u5165\u81ea\u52a8\u5316\u89c4\u5219\u7f16\u8f91\u754c\u9762\u540e\uff0c\u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\"\u521b\u5efa\u81ea\u52a8\u5316\"\u6309\u94ae\u3002\u5728\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\u9009\u62e9\"\u521b\u5efa\u65b0\u7684\u81ea\u52a8\u5316\"\u3002 \u5728\u65b0\u5efa\u81ea\u52a8\u5316\u754c\u9762\uff0c\u70b9\u53f3\u4e0a\u89d2\u7684\u4e09\u4e2a\u70b9\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5728\u5f39\u51fa\u7684\u4e0b\u62c9\u83dc\u5355\u4e2d\uff0c\u70b9\u51fb\u8fdb\u5165YHAML\u7f16\u8f91,\u8fdb\u5165\u4ee3\u7801\u6a21\u5f0f\uff0c\u5982\u4e0b\u6240\u793a \u5728\u8fd9\u4e2a\u5927\u7684\u6587\u672c\u6846\u4e2d\u7c98\u5165\u5982\u4e0b\u4ee3\u7801\uff1a alias : \u53d1\u5e03\u73af\u5883\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u5230MQTT description : \u5f53\u7c73\u5bb6\u6e29\u5ea6\u4f20\u611f\u5668\u72b6\u6001\u53d8\u5316\u6216\u6bcf30\u79d2\u5b9a\u65f6\u65f6\uff0c\u81ea\u52a8\u53d1\u5e03\u5230MQTT\u4f9bNode-RED\u4f7f\u7528 triggers : - entity_id : sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 trigger : state - seconds : /30 trigger : time_pattern conditions : - condition : template value_template : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') not in ['unavailable', 'unknown', 'None'] and states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') | float(-999) != -999 }} actions : - data : topic : >- homeassistant/sensor/sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1/state payload : >- {{ states('sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1') }} retain : false qos : 0 action : mqtt.publish mode : single \u6ce8\u610f: \u4ee5\u4e0a\u4ee3\u7801\u4e2d\u7684 sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1 \u662f\u793a\u4f8b\u5b9e\u4f53ID\uff0c\u8bf7\u66ff\u6362\u4e3a\u4f60 \u5b9e\u9645\u7684\u6e29\u5ea6\u4f20\u611f\u5668\u5b9e\u4f53ID \u3002 \u653e\u7f6e\u5b8c\u6210\u540e\uff0c\u5982\u4e0b\u56fe\u793a\u610f \u89c2\u5bdf\u4e0a\u6b21\u89e6\u53d1\u5217\u662f\u5426\u4f1a\u6bcf\u969430\u79d2\u6267\u884c\u4e00\u6b21 \u8fd4\u56de\u5230\u4f20\u611f\u5668\u7684\u8bbe\u5907\u754c\u9762\u4e5f\u80fd\u770b\u5230\u8bbe\u5907\u7684\u81ea\u52a8\u5316\u4e0b\u9762\u6709\u4e00\u6761\u81ea\u52a8\u5316\u89c4\u5219\uff0c\u5982\u4e0b\u56fe \u5230\u6b64\uff0c\u81ea\u52a8\u5316\u89c4\u5219\u5df2\u914d\u7f6e\u5b8c\u6210\u3002","title":"2. \u521b\u5efa\u81ea\u52a8\u5316\u89c4\u5219"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#3-node-redmqtt","text":"","title":"3. \u5728Node-RED\u4e2d\u914d\u7f6eMQTT\u63a5\u6536\u8f6c\u53d1"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#1-node-red","text":"\u6253\u5f00nod-red\u7f16\u8f91\u5668\uff0c\u6709\u7684HA\u53ef\u80fd\u662f\u914d\u7f6e\u5728\u5de6\u4fa7\u822a\u83dc\u5355\u4e2d\uff0c\u5982\u4e0b\u56fe\u5fd7\u793a\uff0c\u70b9\u51fb\u5373\u53ef\u8fdb\u5165 \u6709\u7684\u662f\u6ca1\u6709\u914d\u7f6enode-red\u5230\u5de6\u4fa7\u5bfc\u822a\u83dc\u5355\u7684\uff0c\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u70b9\u51fb\"\u8bbe\u7f6e-\u52a0\u8f7d\u9879\"\u8fdb\u5165\u52a0\u8f7d\u9879\u9875\u9762 \u627e\u5230Node-RED\u52a0\u8f7d\u9879\uff0c\u70b9\u51fb\u8fdb\u5165 \u8fdb\u5165\u754c\u9762\u5982\u4e0b\uff1a","title":"1. \u6253\u5f00Node-RED\u7f16\u8f91\u5668"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#2_1","text":"\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\"\u83dc\u5355\"\u6309\u94ae\uff0c\u518d\u70b9\u5bfc\u5165\u3002 \u5728\u6b64\u5904\u8d34\u5165\u5de5\u4f5c\u6d41\u4ee3\u7801\uff0c\u6ce8\u610f\uff1a\u8981\u9009\u62e9\u5bfc\u5165\u5230\u65b0\u6d41\u7a0b \u5de5\u4f5c\u6d41\u4ee3\u7801\u5982\u4e0b [ { \"id\" : \"1407d4531e19a951\" , \"type\" : \"tab\" , \"label\" : \"\u900f\u6790\u4e2d\u5fc3\u73af\u5883\u6e29\u5ea6\u6570\u636e\u8f6c\u53d1\" , \"disabled\" : false , \"info\" : \"\u4eceHomeAssistant\u83b7\u53d6\u6e29\u5ea6\u4f20\u611f\u5668\u6570\u636e\u5e76\u53d1\u5e03\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\" }, { \"id\" : \"97e254f4a87ddde9\" , \"type\" : \"mqtt in\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8ba2\u9605HA\u6e29\u5ea6\u4f20\u611f\u5668\" , \"topic\" : \"homeassistant/sensor/+/state\" , \"qos\" : \"0\" , \"datatype\" : \"auto\" , \"broker\" : \"mqtt-ha-broker\" , \"nl\" : false , \"rap\" : true , \"rh\" : 0 , \"inputs\" : 0 , \"x\" : 150 , \"y\" : 100 , \"wires\" : [ [ \"44d729e67618e4f2\" ] ] }, { \"id\" : \"44d729e67618e4f2\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u5904\u7406\u6e29\u5ea6\u6570\u636e\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst targetDeviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\n\\n// \u4ecetopic\u4e2d\u63d0\u53d6\u5f53\u524d\u8bbe\u5907ID\\nconst topicParts = msg.topic.split('/');\\nconst currentDeviceId = topicParts.length >= 3 ? topicParts[2] : \\\"\\\";\\n\\n// \u53ea\u5904\u7406\u76ee\u6807\u8bbe\u5907\u7684\u6d88\u606f\\nif (currentDeviceId !== targetDeviceId) {\\n node.log(\\\"\u5ffd\u7565\u8bbe\u5907\u6d88\u606f: \\\" + currentDeviceId + \\\" (\u76ee\u6807\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n return null;\\n}\\n\\n// \u751f\u6210\u552f\u4e00\u7684\u6d88\u606fID\\nconst messageId = \\\"temp_\\\" + Date.now() + \\\"_\\\" + Math.floor(Math.random() * 1000);\\nconst timestamp = Date.now();\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u89e3\u6790\u6e29\u5ea6\u503c\\nlet temperature = parseFloat(msg.payload);\\nif (isNaN(temperature)) {\\n node.warn(\\\"\u63a5\u6536\u5230\u65e0\u6548\u7684\u6e29\u5ea6\u503c: \\\" + msg.payload);\\n return null;\\n}\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u683c\u5f0f\u5316\u6570\u636e\\nconst protocolMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": targetDeviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"value\\\": temperature,\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"quality\\\": \\\"good\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6e\u8f93\u51fa\u6d88\u606f\\nmsg.payload = JSON.stringify(protocolMessage);\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${targetDeviceId}/properties`;\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u6e29\u5ea6\u6570\u636e\u5df2\u5904\u7406: \\\" + temperature + \\\"\u00b0C (\u8bbe\u5907: \\\" + targetDeviceId + \\\")\\\");\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 420 , \"y\" : 100 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"573842ea77192dbb\" , \"type\" : \"mqtt out\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u5230\u516c\u53f8MQTT\" , \"topic\" : \"\" , \"qos\" : \"\" , \"retain\" : \"\" , \"respTopic\" : \"\" , \"contentType\" : \"\" , \"userProps\" : \"\" , \"correl\" : \"\" , \"expiry\" : \"\" , \"broker\" : \"mqtt-company-broker\" , \"x\" : 990 , \"y\" : 80 , \"wires\" : [] }, { \"id\" : \"4c630c164e08dc2c\" , \"type\" : \"debug\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8c03\u8bd5\u8f93\u51fa\" , \"active\" : true , \"tosidebar\" : true , \"console\" : false , \"tostatus\" : false , \"complete\" : \"payload\" , \"targetType\" : \"msg\" , \"statusVal\" : \"\" , \"statusType\" : \"auto\" , \"x\" : 1040 , \"y\" : 360 , \"wires\" : [] }, { \"id\" : \"495c392574ee1bf4\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u53d1\u5e03\u8bbe\u5907\u7269\u6a21\u578b\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"60\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"5\" , \"topic\" : \"shengtou/sensor/TH001_HA/model\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 170 , \"y\" : 180 , \"wires\" : [ [ \"3aea3ce2deb4ea99\" ] ] }, { \"id\" : \"3aea3ce2deb4ea99\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u7269\u6a21\u578b\u6570\u636e\" , \"func\" : \"const messageId = \\\"mdl_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u7269\u6a21\u578b\u5b9a\u4e49\\nconst modelMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"model\\\": {\\n \\\"deviceInfo\\\": {\\n \\\"manufacturer\\\": \\\"\u5c0f\u7c73\\\",\\n \\\"model\\\": \\\"MIAOMIAOC_CN_BLT_3_11A1SBR5K5O01_T2\\\",\\n \\\"version\\\": \\\"1.0.0\\\",\\n \\\"description\\\": \\\"\u7c73\u5bb6\u6e29\u6e7f\u5ea6\u4f20\u611f\u5668(\u901a\u8fc7HomeAssistant\u96c6\u6210)\\\"\\n },\\n \\\"properties\\\": {\\n \\\"temperature\\\": {\\n \\\"dataType\\\": \\\"float\\\",\\n \\\"unit\\\": \\\"\u00b0C\\\",\\n \\\"range\\\": {\\n \\\"min\\\": -40,\\n \\\"max\\\": 85\\n },\\n \\\"precision\\\": 1,\\n \\\"description\\\": \\\"\u73af\u5883\u6e29\u5ea6\\\"\\n }\\n },\\n \\\"events\\\": {\\n \\\"startup\\\": {\\n \\\"eventType\\\": \\\"info\\\",\\n \\\"description\\\": \\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\\\"\\n }\\n },\\n \\\"alarms\\\": {\\n \\\"TEMP_HIGH\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u9ad8\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 35.0\\n },\\n \\\"TEMP_LOW\\\": {\\n \\\"alarmType\\\": \\\"threshold_exceeded\\\",\\n \\\"description\\\": \\\"\u6e29\u5ea6\u8fc7\u4f4e\u62a5\u8b66\\\",\\n \\\"defaultThreshold\\\": 0.0\\n }\\n }\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/model`;\\nmsg.payload = JSON.stringify(modelMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u7269\u6a21\u578b\u6570\u636e\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 160 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"70e1e283448c941e\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"120\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"10\" , \"topic\" : \"shengtou/sensor/TH001_HA/status\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 240 , \"wires\" : [ [ \"ae74b6d386748045\" ] ] }, { \"id\" : \"ae74b6d386748045\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u72b6\u6001\u6570\u636e\" , \"func\" : \"const messageId = \\\"sts_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u8ba1\u7b97\u8bbe\u5907\u8fd0\u884c\u65f6\u95f4\uff08\u4ece\u7b2c\u4e00\u6b21\u542f\u52a8\u5f00\u59cb\uff09\\nif (!context.get(\\\"startTime\\\")) {\\n context.set(\\\"startTime\\\", timestamp);\\n}\\nconst startTime = context.get(\\\"startTime\\\");\\nconst uptime = timestamp - startTime;\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u72b6\u6001\u6570\u636e\\nconst statusMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"status\\\": {\\n \\\"online\\\": true,\\n \\\"lastHeartbeat\\\": timestamp,\\n \\\"uptime\\\": uptime\\n }\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/status`;\\nmsg.payload = JSON.stringify(statusMessage);\\nmsg.qos = 0;\\n\\nnode.log(\\\"\u8bbe\u5907\u72b6\u6001\u5fc3\u8df3\u5df2\u53d1\u9001\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 400 , \"y\" : 240 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"7f9acf10d0c6085d\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u521d\u59cb\u5316\u5168\u5c40\u914d\u7f6e\" , \"props\" : [ { \"p\" : \"payload\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"1\" , \"topic\" : \"\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 150 , \"y\" : 40 , \"wires\" : [ [ \"6f6b825dfc5e9512\" ] ] }, { \"id\" : \"6f6b825dfc5e9512\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\" , \"func\" : \"// \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf\\nglobal.set(\\\"nameSpace\\\", \\\"Environment\\\");\\nglobal.set(\\\"clientCode\\\", \\\"Data-It_XzOffice\\\");\\nglobal.set(\\\"deviceId\\\", \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\");\\n\\nnode.log(\\\"\u5168\u5c40\u914d\u7f6e\u5df2\u8bbe\u7f6e: nameSpace=\\\" + global.get(\\\"nameSpace\\\") + \\\", clientCode=\\\" + global.get(\\\"clientCode\\\") + \\\", deviceId=\\\" + global.get(\\\"deviceId\\\"));\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 360 , \"y\" : 40 , \"wires\" : [ [ \"794c422d39898a7f\" ] ] }, { \"id\" : \"794c422d39898a7f\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u66f4\u65b0MQTT\u8ba2\u9605Topic\" , \"func\" : \"// \u4ece\u5168\u5c40\u53d8\u91cf\u751f\u6210HomeAssistant MQTT\u8ba2\u9605Topic\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst haTopic = `homeassistant/sensor/${deviceId}/state`;\\n\\n// \u5c06Topic\u4fdd\u5b58\u5230\u5168\u5c40\u53d8\u91cf\u4f9b\u5176\u4ed6\u5730\u65b9\u4f7f\u7528\\nglobal.set(\\\"haSubscribeTopic\\\", haTopic);\\n\\nnode.log(\\\"HomeAssistant\u8ba2\u9605Topic\u5df2\u66f4\u65b0: \\\" + haTopic);\\nnode.log(\\\"\u6ce8\u610f\uff1a\u5982\u9700\u66f4\u6539MQTT In\u8282\u70b9\u7684\u8ba2\u9605Topic\uff0c\u8bf7\u624b\u52a8\u4fee\u6539\u4e3a: \\\" + haTopic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 590 , \"y\" : 40 , \"wires\" : [ [] ] }, { \"id\" : \"3bf854e9bd3e6937\" , \"type\" : \"inject\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u542f\u52a8\u4e8b\u4ef6\" , \"props\" : [ { \"p\" : \"payload\" }, { \"p\" : \"topic\" , \"vt\" : \"str\" } ], \"repeat\" : \"\" , \"crontab\" : \"\" , \"once\" : true , \"onceDelay\" : \"15\" , \"topic\" : \"shengtou/sensor/TH001_HA/events\" , \"payload\" : \"\" , \"payloadType\" : \"date\" , \"x\" : 160 , \"y\" : 340 , \"wires\" : [ [ \"26f6196b2d6fba29\" ] ] }, { \"id\" : \"26f6196b2d6fba29\" , \"type\" : \"function\" , \"z\" : \"1407d4531e19a951\" , \"name\" : \"\u751f\u6210\u542f\u52a8\u4e8b\u4ef6\" , \"func\" : \"const messageId = \\\"evt_startup_\\\" + Date.now();\\nconst timestamp = Date.now();\\n// \u4ece\u5168\u5c40\u53d8\u91cf\u83b7\u53d6\u5171\u4eab\u914d\u7f6e\\nconst nameSpace = global.get(\\\"nameSpace\\\") || \\\"Environment\\\";\\nconst clientCode = global.get(\\\"clientCode\\\") || \\\"Data-It_XzOffice\\\";\\nconst deviceId = global.get(\\\"deviceId\\\") || \\\"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\\\";\\nconst deviceType = \\\"sensor\\\";\\n\\n// \u6309\u7167\u80dc\u900f\u7269\u8054\u7f51\u901a\u4fe1\u534f\u8bae\u751f\u6210\u4e8b\u4ef6\u6570\u636e\\nconst eventMessage = {\\n \\\"messageId\\\": messageId,\\n \\\"timestamp\\\": timestamp,\\n \\\"clientCode\\\": clientCode,\\n \\\"deviceId\\\": deviceId,\\n \\\"deviceType\\\": deviceType,\\n \\\"version\\\": \\\"1.0\\\",\\n \\\"data\\\": {\\n \\\"events\\\": [\\n {\\n \\\"eventType\\\": \\\"startup\\\",\\n \\\"eventLevel\\\": \\\"info\\\",\\n \\\"eventCode\\\": \\\"EVT_001\\\",\\n \\\"description\\\": \\\"HomeAssistant\u6e29\u5ea6\u4f20\u611f\u5668\u4ee3\u7406\u8bbe\u5907\u542f\u52a8\u5b8c\u6210\\\",\\n \\\"timestamp\\\": timestamp\\n }\\n ]\\n }\\n};\\n\\n// \u8bbe\u7f6eMQTT\u53d1\u5e03\u4e3b\u9898\\nmsg.topic = `${nameSpace}/sensor/${clientCode}/${deviceId}/events`;\\nmsg.payload = JSON.stringify(eventMessage);\\nmsg.qos = 1;\\n\\nnode.log(\\\"\u8bbe\u5907\u542f\u52a8\u4e8b\u4ef6\u5df2\u751f\u6210\uff0c\u53d1\u5e03\u5230\u4e3b\u9898: \\\" + msg.topic);\\n\\nreturn msg;\" , \"outputs\" : 1 , \"timeout\" : \"\" , \"noerr\" : 0 , \"initialize\" : \"\" , \"finalize\" : \"\" , \"libs\" : [], \"x\" : 380 , \"y\" : 320 , \"wires\" : [ [ \"573842ea77192dbb\" , \"4c630c164e08dc2c\" ] ] }, { \"id\" : \"mqtt-ha-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"HomeAssistant MQTT\" , \"broker\" : \"192.168.50.83\" , \"port\" : \"1883\" , \"clientid\" : \"\" , \"autoConnect\" : true , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"autoUnsubscribe\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"\" , \"willQos\" : \"0\" , \"willPayload\" : \"\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" }, { \"id\" : \"mqtt-company-broker\" , \"type\" : \"mqtt-broker\" , \"name\" : \"\u516c\u53f8MQTT\u670d\u52a1\u5668\" , \"broker\" : \"mqtt-test.ihemodialysis.com\" , \"port\" : \"62183\" , \"clientid\" : \"\" , \"usetls\" : false , \"protocolVersion\" : \"4\" , \"keepalive\" : \"60\" , \"cleansession\" : true , \"birthTopic\" : \"\" , \"birthQos\" : \"0\" , \"birthPayload\" : \"\" , \"birthMsg\" : {}, \"closeTopic\" : \"\" , \"closeQos\" : \"0\" , \"closePayload\" : \"\" , \"closeMsg\" : {}, \"willTopic\" : \"shengtou/sensor/TH001_HA/status\" , \"willQos\" : \"0\" , \"willPayload\" : \"{\\\"messageId\\\":\\\"sts_offline\\\",\\\"timestamp\\\":0,\\\"deviceId\\\":\\\"TH001_HA\\\",\\\"deviceType\\\":\\\"sensor\\\",\\\"version\\\":\\\"1.0\\\",\\\"data\\\":{\\\"status\\\":{\\\"online\\\":false,\\\"lastHeartbeat\\\":0,\\\"uptime\\\":0}}}\" , \"willMsg\" : {}, \"sessionExpiry\" : \"\" } ] \u5f53\u7136\uff0c\u4f60\u4e5f\u53ef\u4ee5\u4ece \u5de5\u4f5c\u6d41\u6587\u4ef6 \u5bfc\u5165\u65b0\u65b0\u5de5\u4f5c\u6d41\u3002 \u70b9\u51fb\u4e0a\u8ff0\u94fe\u63a5\u540e\uff0c\u4e0b\u8f7d\u6587\u4ef6\uff0c\u5e76\u89e3\u538b\uff0c\u5f97\u5230\u4e00\u4e2a\u540d\u4e3a flows.json \u7684\u6587\u4ef6\u3002 \u70b9\u51fb\u5bfc\u5165\u8282\u70b9\u6587\u4ef6\uff0c \u90e8\u7f72\u6210\u529f\u540e\uff0c\u4f1a\u51fa\u73b0\u5982\u4e0b\u56fe\u6240\u793a\u7684\u5de5\u4f5c\u6d41 \u6b64\u65f6\uff0c\u5de5\u4f5c\u6d41\u5df2\u521b\u5b8c\u6210.","title":"2. \u521b\u5efa\u65b0\u5de5\u4f5c\u6d41"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#3-mqtt","text":"\u5de5\u4f5c\u6d41\u4e2d\u6709\u4e24\u4e2aMQTT\u8282\u70b9\uff0c\u5206\u522b\u662fHome Assistant\u7684MQTT Broker\u548c\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u8fd9\u4e24\u4e2a\u8282\u70b9\u7684\u914d\u7f6e\u9700\u8981\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u8c03\u6574\u3002 \u9996\u5148\uff0c\u8981\u5148\u914d\u7f6eHome Assistant\u7684MQTT Broker\u8282\u70b9\uff0c\u786e\u4fdd\u5176\u8fde\u63a5\u4fe1\u606f\u6b63\u786e\u65e0\u8bef\u3002 \u5728\u6211\u4eec\u6ca1\u6709\u914d\u7f6emqtt in \u7684\u8fde\u63a5\u4fe1\u606f\u65f6\uff0c\u6211\u4eec\u53d1\u73b0\u8fd9\u4e2a\u8282\u70b9\u4e00\u76f4\u5904\u7406\u8fde\u63a5\u4e2d \u53cc\u51fb\u8be5\u8282\u70b9\uff0c\u8fdb\u5165\u914d\u7f6e\u754c\u9762 \u70b9\u51fb\u7f16\u8f91\u56fe\u6807 \u5728\u7f16\u8f91mqtt-broker\u8282\u70b9\u7684\u754c\u9762\u4e2d\u7684\u8fde\u63a5\u53c2\u6570\u9009\u9879\u5361\u4e2d\uff0c\u8f93\u5165\u6b63\u786e\u7684\u670d\u52a1\u7aef\u4e0e\u7aef\u53e3\u53f7 \u5982\u679cMQTT\u6709\u7528\u6237\u540d\u548c\u5bc6\u7801\uff0c\u8bf7\u5728\u8ba4\u8bc1\u9009\u9879\u5361\u4e2d\u8f93\u5165\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u540e\uff0c\u7136\u540e\u70b9\u66f4\u65b0 \u7136\u540e\uff0c\u518d\u70b9\u51fb\u5b8c\u6210 \u6700\u540e\u70b9\u51fb\u90e8\u7f72 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u770b\u5230\uff0c\u6b64\u8282\u70b9\u4f1a\u53d8\u4e3a\u5df2\u8054\u63a5 \u5bf9\u4e8e\"\u53d1\u5e03\u5230\u516c\u53f8MQTT\"\u8282\u70b9\uff0c\u6211\u4eec\u9700\u8981\u914d\u7f6e\u8fde\u63a5\u5230\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684Broker\u3002\u4e5f\u65f6\u540c\u6837\u7684\u64cd\u4f5c\u65b9\u6cd5\uff0c\u53cc\u51fb \u7136\u540e\uff0c\u66f4\u65b0\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72\u5373\u53ef\u3002 \u67e5\u627eHomeAssistant\u7684Mqtt\u914d\u7f6e\u4fe1\u606f \u5bf9\u4e8eHomeAssistant\u6211\u4eec\u4e00\u822c\u90fd\u662f\u63d0\u524d\u90e8\u7f72\u4e86\u5185\u7f6e\u7684MQTT Broker,\u5728\u4e0d\u77e5\u7aef\u53e3\u4e0e\u5bc6\u7801\u7684\u60c5\u51b5\u4e0b\uff0c\u6211\u6837\u53ef\u4ee5\u5728HomeAssistant\u4e2d\u53bb\u67e5\u627e \u8fdb\u5165\u8bbe\u7f6e\u52a0\u8f7d\u9879 \u627e\u5230Mosquitto broker\u8fd9\u4e2a\u9009\u9879\u5361,\u70b9\u51fb\u8fdb\u5165 \u70b9\u51fb\u914d\u7f6e\u9009\u9879\u5361 \u5728\u8fd9\u91cc\u53ef\u4ee5\u770b\u5230MQTT\u7684\u7aef\u53e3\u53f7\u4e0e\u7528\u6237\u540d\u5bc6\u7801\u7b49\u4fe1\u606f\uff0c\u53ca\u4e0b\u9762\u7684mqtt\u5f00\u653e\u7684\u7aef\u53e3\u4fe1\u606f\uff0cip\u5730\u5740\uff0c\u5c31\u662fha\u4e3b\u673a\u6240\u5728\u7684Ip\u5730\u5740\u3002\u4ee5\u4e0a\u4fe1\u606f\uff0c\u7528\u6765\u914d\u7f6e\u5de5\u4f5c\u6d41\u7684mqtt in\u7684\u53c2\u6570\u3002 \u516c\u53f8mqtt\u670d\u52a1\u7aef\u53e3\u4fe1\u606f \u8fd9\u4e2a\u53c2\u6570\uff0c\u8bf7\u5411\u516c\u53f8\u7ba1\u7406\u5458\u83b7\u53d6\uff0c\u6216\u8005\u5728\u516c\u53f8MQTT\u670d\u52a1\u5668\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u67e5\u770b\u3002","title":"3. \u914d\u7f6eMQTT\u8282\u70b9"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#4","text":"\u53cc\u51fb\u5de5\u4f5c\u6d41\u7684\u8282\u70b9\"\u8bbe\u7f6e\u5168\u5c40\u914d\u7f6e\",\u6253\u5f00\u7f16\u8f91function\u8282\u70b9 \u5bf9\u5982\u4e0b\u4e09\u884c,\u8fdb\u884c\u66f4\u6539 // \u8bbe\u7f6e\u5168\u5c40\u5171\u4eab\u5e38\u91cf global . set ( \"nameSpace\" , \"Environment\" ); //\u547d\u540d\u7a7a\u95f4\uff0c\u9ed8\u8ba4\u4e3a\uff1aEnvironment\uff0c\u5982\u679c\u6709\u9700\u8981\uff0c\u4ee5\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u540e\uff0c\u66f4\u6539. global . set ( \"clientCode\" , \"Data-It_XzOffice\" ); // \u5ba2\u6237\u7aef\u4ee3\u7801\uff0c\u9ed8\u8ba4\u4e3a\uff1aData-It_XzOffice\uff0c\u4e00\u5b9a\u8981\u6539\u4e3a\u4e2d\u5fc3\u5bf9\u5c31\u7684ClientCode\uff0c global . set ( \"deviceId\" , \"sensor.miaomiaoc_cn_blt_3_11a1sbr5k5o01_t2_temperature_p_2_1\" ); //\u4e00\u5b9a\u8981\u6539\u4e3a\u4e4b\u524d\u6211\u4eec\u5b9a\u7684\u4f20\u611f\u5668\u5b9e\u4f53ID \u5982\u679c\u4e0d\u786e\u5b9a\uff0c\u8bf7\u8054\u7cfb\u76f8\u5173\u5de5\u7a0b\u5e08\u786e\u8ba4\u3002 \u7136\u540e\uff0c\u70b9\u51fb\uff0c\u5b8c\u6210\uff0c\u90e8\u7f72 \u7136\u540e\uff0c\u4e0b\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u4e00\u5b9a\u8981\u6267\u884c \u8fd9\u4e00\u6b65\uff0c\u975e\u5e38\u91cd\u8981\uff0c\u5fc5\u987b\u6267\u884c\uff0c\u5426\u5219\u5de5\u4f5c\u6d41\u6ca1\u6709\u628a\u5168\u5c40\u53d8\u91cf\u5199\u5165\u5de5\u4f5c\u6d41\uff0c\u4f1a\u5bfc\u81f4\u53d1\u5e03\u6570\u636e\u4e0d\u6b63\u786e\u3002 \u7136\u540e\uff0c\u6211\u6837\u5c31\u53ef\u4ee5\u7528\u5728debug\u7684\u65e5\u5fd7\u4e2d\u770b\u5230\u6211\u4eec\u53d1\u5e03\u7684\u8282\u70b9\u6570\u636e\u4e86\uff0c \u6b64\u56fe\uff0c\u53ef\u4ee5\u89c2\u5bdf\u5230mqtt\u53d1\u5e03\u5230\u516c\u53f8\u7684\u6570\u636e\uff0cclientCode\uff0cdeviceid\u662f\u5426\u6b63\u5e38\u4e86\u3002","title":"4.\u914d\u7f6e\u5de5\u4f5c\u6d41\u5168\u5c40\u53d8\u91cf"},{"location":"Usages/QA/%E9%80%8F%E6%9E%90%E4%B8%AD%E5%BF%83HA%E7%8E%AF%E5%A2%83%E6%B8%A9%E5%BA%A6%E5%8F%91%E9%80%81%E5%88%B0%E8%83%9C%E9%80%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97/#5","text":"\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u7b2c\u4e09\u65b9\u5de5\u5177\u6765\u67e5\u770b\u516c\u53f8mqtt\u670d\u52a1\u6536\u5230\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38\u5982\u4e0b\u56fe \u8fd9\u91cc\u6211\u63a8\u8350\u4f7f\u7528\u5de5\u5177 MQTTX \u4e0b\u8f7d\u5730\u5740\u4e3a\uff1ahttps://mqttx.app/downloads \u81f3\u6b64,\u900f\u6790\u4e2d\u5fc3HA\u73af\u5883\u6e29\u5ea6\u6570\u636e\u53d1\u9001\u5230\u80dc\u900f\u7684\u5de5\u4f5c\u6d41\u914d\u7f6e\u5b8c\u6210\u3002","title":"5. \u6d4b\u8bd5\u5de5\u4f5c\u6d41\u7684\u6570\u636e\u662f\u5426\u6b63\u5e38"},{"location":"Usages/backupAndRestore/BackupToFile/","text":"\u5907\u4efd\u5230\u6587\u4ef6 \u00b6","title":"BackupToFile"},{"location":"Usages/backupAndRestore/BackupToFile/#_1","text":"","title":"\u5907\u4efd\u5230\u6587\u4ef6"},{"location":"Usages/backupAndRestore/RestoreFromFile/","text":"\u4ece\u5907\u4efd\u6587\u4ef6\u6587\u4ef6\u4e2d\u6062\u590d \u00b6 HomeAssistant\u652f\u6301\u4ece\u5907\u4efd\u6587\u4ef6\u4e32\u6062\u590d\u5df2\u914d\u7f6e\u597d\u7684HomeAssistant","title":"RestoreFromFile"},{"location":"Usages/backupAndRestore/RestoreFromFile/#_1","text":"HomeAssistant\u652f\u6301\u4ece\u5907\u4efd\u6587\u4ef6\u4e32\u6062\u590d\u5df2\u914d\u7f6e\u597d\u7684HomeAssistant","title":"\u4ece\u5907\u4efd\u6587\u4ef6\u6587\u4ef6\u4e2d\u6062\u590d"},{"location":"Usages/initConfig/initConfig/","text":"\u521d\u59cb\u5316\u914d\u7f6eHomeAssistant \u00b6 \u9996\u6b21\u6253\u5f00HomeAssistant \u00b6 \u9996\u6b21\u6253\u5f00HomeAssistant\u901a\u8fc7,\u8def\u7531\u5668\u4e3a\u5176\u5206\u914d\u7684IP\u5730\u5740\u52a0\u7aef\u53e3\u53f7\u5373\u53ef\u8fdb\u884cHomeAssistant. \u683c\u5f0f\u5982\u4e0b: http://Ip:Port \u5982:http://192.168.3.2:8123 \u57fa\u4e2d:8123\u4e3a\u5176\u9ed8\u8ba4\u7684\u7aef\u53e3\u540e,\u5f53\u7136,\u7cfb\u7edf\u521d\u59cb\u5316\u6210\u529f\u540e,\u53ef\u4ee5\u6539. \u5982\u4e0b\u56fe\u6240\u793a: \u70b9\u51fb\"\u521b\u5efa\u6211\u667a\u80fd\u5bb6\u5bb6\u5c45\"\u6309\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5728\u8fd9\u91cc\u6211\u4eec\u8f93\u5165\u59d3\u540d,\u7528\u6237\u540d,\u5bc6\u7801,\u786e\u8ba4\u5bc6\u7801 \u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7edf\u4e00\u7684\u4fe1\u606f \u59d3\u540d:\u5cb1\u7279\u667a\u80fd \u7528\u6237\u540d:dtuser \u5bc6\u7801:****** \u786e\u8ba4\u5bc6\u7801:***** \u6ce8\u610f:\u4e0a\u8ff0\u5bc6\u7801\u4e3a\u4e86\u5b89\u5168,\u6ca1\u6709\u663e\u793a,\u8bf7\u54a8\u8be2\u7cfb\u7edf\u7ba1\u7406\u5458\u83b7\u53d6\u771f\u6b63\u7684\u5bc6\u7801. \u70b9\u51fb\"\u521b\u5efa\u5e10\u6237\", \u8fd9\u4e00\u6b65,\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u4f4d\u7f6e,\u8f93\u5165\u57ce\u5e02\u70b9\u83b7\u53d6,\u5982\u679c\u53d6\u4e0b\u5230\u4f1a\u62a5\u9519.\u6ca1\u5173\u7cfb,\u76f4\u63a5\u4e0b\u4e00\u6b65\u5373\u53ef,\u7cfb\u7edf\u914d\u7f6e\u5b8c\u6210\u540e,\u8fd8\u53ef\u66f4\u6539. \u8fd9\u4e00\u6b65\u662f\u8981\u6c42,\u4f60\u8f93\u4e0b\u6240\u5c5e\u7684\u56fd\u5bb6\u4e0e\u5730\u533a,\u5b83\u4f1a\u81ea\u52a8\u5224\u65ad\u51fa\u6765,\u56fd\u5bb6,\u76f4\u63a5\u70b9\u4e0b\u4e00\u6b65\u5373\u53ef. \u6b64\u65f6,\u5b83\u53ef\u80fd\u8fd8\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6846,\u5e2e\u4f60\u68c0\u6d4b\u4f4d\u7f6e ,\u70b9\u786e\u5b9a\u5373\u53ef \u5982\u679c\u4e0d\u60f3\u8ba9\u5176\u68c0\u6d4b,\u76f4\u63a5\u70b9\u53d6\u6d88\u5373\u53ef,\u56e0\u4e3a\u5176\u68c0\u6d4b\u6298\u53ef\u80fd\u5f88\u6162,\u6240\u4ee5,\u76f4\u63a5\u70b9\u53d6\u6d88,\u9009\u62e9\u4e2d\u56fd\u5373\u53ef. \u8fd9\u91cc\u7684\u51e0\u9879,\u5168\u90e8\u4e0d\u7528\u9009,\u76f4\u63a5\u4e0b\u4e00\u6b65 \u8fd9\u4e00\u6b65,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51\u4e2d\u7684\u80fd\u76f4\u63a5\u5165\u7684\u8bbe\u5907.\u76f4\u63a5\u70b9\u51fb\u5b8c\u6210, \u7136\u540e,\u7cfb\u7edf\u4f1a\u8f6c\u5230\u5982\u4e0b\u754c\u9762 \u53ef\u80fd\u8981\u6301\u7eed\u4e00\u9635,\u7b49\u5f85\u5176\u5b8c\u6210\u5373\u53ef. \u5f00\u59cb\u7b2c\u4e00\u6b21,\u53ef\u80fd\u5f88\u6162 \u9996\u6b21\u5b8c\u6210\u5982\u4e0b\u663e\u793a \u66f4\u65b0\u5fc5\u8981\u7684\u7ec4\u4ef6 \u00b6 \u9996\u6b21\u767b\u5f55,\u53ef\u80fd\u4f1a\u663e\u793a\u66f4\u65b0,\u5982\u6b64\u65f6\u663e\u793a \u63d0\u793a\u66f4\u65b0Home Assistnat Operating System Update,\u70b9\u51fb\u5982\u4e0b\u6309\u94ae,\u4ee5\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\uff0c\u70b9\u66f4\u65b0\u6309\u94ae \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u7cfb\u7edf\u5c06\u4f1a\uff0c\u8fdb\u884c\u66f4\u65b0 \u6ce8\u610f\uff0c\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u4e00\u822c\u662f\u4ece\u4e24\u4e2a\u5730\u65b9\u83b7\u53d6\u66f4\u65b0\u5305\uff0c\u4e00\u662fgithub\u4e00\u4e2a\u662fdocker\u7684\u4ed3\u5e93\uff0c\u6240\u4ee5\uff0c \u8981\u4fdd\u6301\u79d1\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u3002\u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u4f30\u8ba1\u8981\u51e0\u5206\u949f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u7b49\uff0c\u4e5f\u6709\u53ef\u80fd\u4f1a\u66f4\u65b0\u5931\u8d25\uff0c\u7136\u540e\uff0c\u518d\u6b21\u66f4\u65b0\u3002 \u66f4\u65b0\u65f6,\u5982\u679c\u7f51\u7edc\u6709\u95ee\u9898\u53ef\u80fd\u4f1a\u51fa\u5728\u65e5\u5fd7 \u4e2d\u62a5\u51fa\u5982\u4e0b\u9519\u8bef 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 \u4e0a\u8ff0\u9519\u8bef\u591a\u662f\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5f15\u8d77\u7684,\u8981\u53bb\u68c0\u662f\u79d1\u5b66\u4e0a\u7f51\u662f\u5426\u8fd8\u6b63\u5e38. \u66f4\u5b8c\u5b8c\u6210\u540e,\u518d\u6b21\u542f\u52a8\u540e,\u4f1a\u663e\u793a\u6ca1\u6709\u53ef\u7528\u7684\u66f4\u65b0 \u914d\u7f6e-\u901a\u7528 \u00b6 \u70b9\u51fb,\u5f00\u59cb,\u901a\u7528 \u66f4\u6539\u540d\u79f0\u4e3a:\u5cb1\u7279\u667a\u80fd \u5176\u5b83\u7684\u4e0d\u53d8 #### \u914d\u7f6e-\u7f51\u7edc-\u4e3b\u673a\u540d \u628a\u4e3b\u673a\u540d\u914d\u7f6e\u6210\u4e3a\u5c40\u57df\u7f51\u4e2d\u552f\u4e00\u7684,\u5b9e\u9645\u8ba9\u5c31\u662f\u8ba1\u7b97\u673a\u540d,\u56e0\u4e3a\u540c\u4e00\u5c40\u57df\u7f51\u4e2d,\u8ba1\u7b97\u673a\u540d,\u4e0d\u5141\u8bb8\u76f8\u540c \u914d\u7f6e-\u8bbe\u7f6e-\u52a0\u8f7d\u9879 \u00b6 \u52a0\u8f7d\u9879\u4e2d\u6709\u8bb8\u591a\u5fc5\u88c5\u7ec4\u4ef6,\u9700\u8981\u4e00\u4e00\u5b89\u88c5,\u9996\u6b21\u8fdb\u5165\u65f6,\u53ef\u80fd\u4f1a\u663e\u793a\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u4e0b\u89d2\u7684\"\u52a0\u8f7d\u9879\u5546\u5e97\" \u5b89\u88c5File editor \u00b6 File editor \u662f\u4e00\u4e2a\u7528\u4e8e\u4fee\u6539HA\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u5de5\u5177,\u5c5e\u5fc5\u88c5\u9879,\u70b9\u51fb\u5b89\u88c5 \u70b9\u51fb\u5b89\u88c5,\u7cfb\u7edf\u4f1a\u5728\u540e\u53f0\u81ea\u52a8\u5b89\u88c5\u6b64\u63d2\u4ef6, \u5b89\u88c5\u5b8c\u6210\u540e,\u4f1a\u81ea\u52a8\u91cd\u542f \u6709\u65f6\u4e5f\u4f1a\u63d0\u793a\u5b89\u88c5\u5931\u8d25 \u8fd9\u79cd\u7ecf\u67e5\u770b\u65e5\u5fd7 \u591a\u4e3a\u7f51\u5f3a\u884c\u95ee\u9898\u65e0\u6cd5\u8bbf\u95ee.docker.io,\u8fd9\u662f\u56e0\u4e3a\u79d1\u5b66\u4e0a\u98ce\u7684\u539f\u56e0,\u91cd\u70b9\u6392\u67e5\u7f51\u7edc,\u5b89\u88c5\u6210\u529f\u540e,\u518d\u6b21\u8fdb\u5165\u4f1a\u663e\u793a\u5982\u4e0b\u754c\u9762 \u52fe\u9009,\u5f00\u673a\u542f\u52a8,\u81ea\u52a8\u6062\u590d,\u663e\u793a\u4e8e\u4fa7\u8fb9\u680f \u70b9\u51fb\u542f\u52a8,\u6216\u91cd\u542f,\u5c06\u4f1a\u5728\u4fa7\u8fb9\u680f\u770b\u5230\u6b64\u56fe\u6807,\u70b9\u51fb\u6253\u5f00\u7f51\u9875\u754c\u9762 \u80fd\u770b\u5230\u5982\u4e0b\u754c\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u6b64\u65f6\u52a0\u8f7d\u9879\u4e2d,\u5c31\u591a\u51fa\u4e86File editor\u9009\u9879 \u5b89\u88c5Samba share\u63d2\u4ef6 \u00b6 Samba share\u63d2\u4ef6\u662f\u4e00\u4e2a\u63d0\u4f9b\u5171\u4eab\u76ee\u5f55\u7684\u65b9\u5f0f\u5141\u884c\u5176\u5b83\u8ba1\u7b97\u673a\u7528\u8fd9\u79cd\u65b9\u5f0f\u67e5\u770b\u7f16\u8f91ha\u7684\u6587\u4ef6\u7684\u7ec4\u4ef6. \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5931\u8d25\u65f6,\u4f1a\u6709\u5982\u4e0b\u63d0\u4e0b\u63d0\u793a \u6253\u5f00\u81ea\u52a8\u6062\u590d \u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5230\u914d\u7f6e\u9009\u9879\u4e2d \u6b64\u5904\u6211\u4eec\u8bbe\u7f6e\u5982\u4e0b\u4fe1\u606f Username:dtuser Password:***** # \u6b64\u5904\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 Workgroup:WORKGROUP # \u4fdd\u6301\u4e0d\u53d8 \u66f4\u6539\u5b8c\u6210\u540e,\u6709\u5982\u4e0b\u914d\u7f6e \u914d\u7f6e \u5b8c\u6210\u540e,\u70b9\u51fb\u542f\u52a8 \u542f\u52a8\u6210\u529f\u540e,\u4f1a\u51fa\u4e0b\u56fe\u663e\u793a \u6b64\u65f6,\u5982\u679c,\u4e0eHA\u5728\u540c\u4e00\u5c40\u57df\u7f51\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u67e5\u770bHA\u7684\u6587\u4ef6\u76ee\u5f55 \u5728\u5730\u5740\u680f\u8f93\u5165\\HA\u7684IP \u8f93\u5165\u9884\u8bbe\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801,\u5373\u53ef\u67e5\u770b,\u7f16\u8f91HA\u7684\u5404\u79cd\u6587\u4ef6\u3002 \u5b89\u88c5Terminal & SSH \u00b6 Terminal & SSH \u63d2\u4ef6\u4e3aHA\u63d0\u4f9b\u4e86\u5728web\u7aef\u4f7f\u7528\u63a7\u5236\u53f0\u7ec8\u7aef\u529f\u80fd,\u53ca\u5f00\u542f\u4e86ssh\u670d\u52a1,\u4f7f\u4e4b\u53ef\u4ee5\u8fdc\u7a0b\u4f7f\u7528SSH\u8bbf\u95eeHA\u7ec8\u7aef\u3002 \u5728\u641c\u7d22\u4e2d\u8f93\u5165Terminal & SSH \u7ed3\u679c\u6709\u53ef\u80fd\u663e\u793a \u641c\u7d22\u4e0d\u5230\uff0c\u8fd9\u65f6\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u4ed3\u5e93\u6ca1\u6709\u914d\u7f6e\uff0c\u8fd8\u662f\u4f7f\u7528\u7684\u9ed8\u8ba4\u7684\u4ed3\u5e93\uff0c\u6211\u4eec\u53ef\u4ee5\u589e\u52a0\u4e00\u4e0b\u4ed3\u5e93\uff0c\u5982\u4e0b\uff1a https://github.com/AlexxIT/hassio-addons \u70b9\u51fb\u53f3\u4e0a\u89e3\u7684\u4e09\u4e2a\u70b9,\u9009\u4e2d\u4ed3\u5e93 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165,\u6211\u4eec\u8bb0\u5f55\u7684\u4ed3\u5e93\u5730\u5740,\u7136\u540e\u70b9\u6dfb\u52a0 \u5b8c\u6210\u540e,\u70b9\u51fb\u5173\u95ed. \u7136\u540e,\u70b9\u51fb\u8fd4\u56de,\u91cd\u65b0\u641c\u7d22 \u8fd9\u6b21\u627e\u5230\u4e86Advance SSH & Web Terminal \u70b9\u51fb\u5b89\u88c5,\u6253\u5f00\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u5b89\u88c5,\u6709\u65f6\u4f1a\u5b89\u88c5\u5931\u8d25, \u5931\u8d25\u540e,\u9700\u518d\u6b21\u5b89\u88c5,\u540c\u65f6\u68c0\u67e5\u65e5\u5fd7\u4e2d\u63d0\u5230\u7684\u54ea\u4e2a\u7f51\u5740\u65e0\u6cd5\u8bbf\u95ee ,\u628a\u5176\u52a0\u79d1\u5b66\u4e0a\u7f51\u7684\u4ee3\u7406\u540d\u5355\u4e2d. \u5b89\u88c5\u5b8c\u6210\u540e,\u5c31\u53d8\u6210\u5982\u4e0b \u5f00\u542f\u81ea\u52a8\u6062\u5f97,\u663e\u793a\u4fa7\u8fb9\u680f \u63a5\u4e0b\u6765,\u6211\u4eec\u914d\u7f6essh\u7684\u767b\u5f55\u4fe1\u606f,\u5982\u4e0b \u76f8\u5173\u4fe1\u606f\u5982\u4e0b: username:dtuser passsword:**** # \u6b64\u5904\u9700\u8981\u54a8\u8be2\u7ba1\u7406\u5458 \u5176\u5b83\u914d\u7f6e\u9009\u9879\u5982\u4e0b,\u6ce8\u610f\u9009\u9879,\u9009\u9519\u4e86ssh\u53ef\u80fd\u542f\u4e0d\u8d77\u6765,sftp\u5173\u95ed,zsh\u5173\u95ed.compatibility_mode\u8981\u5f00\u542f \u7136\u540e,\u70b9\u51fb\u542f\u52a8\u6309\u94ae \u542f\u52a8\u540e\u5982\u4e0b \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e24\u4e2a\u5730\u65b9\u8fdb\u5165 \u5728\u65e5\u5fd7 \u7aef\u80fd\u770b\u5230 ssh\u5df2\u542f\u52a8\u6210\u529f 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. \u914d\u7f6e\u6210\u529f\u540e,\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u6765\u6d4b\u8bd5\u662f\u5426\u53ef\u4ee5\u8fdc\u7a0bSSH\u8fde\u5165 \u8f93\u5165yes\u540e\u4f1a\u8981\u6c42 \u8f93\u5165\u5bc6\u7801,\u9a8c\u8bc1\u6b63\u786e\u540e,\u4f1a\u8fdb\u5165\u770b\u5230\u5982\u4e2a\u56fe,\u5c31\u8bf4\u660essh\u5df2\u6b63\u5e38\u7684\u5f00\u542f\u6210\u529f\u4e86 \u4ee5\u4e0b\u754c\u9762\u662f\u5728ha\u4e2d\u770b\u5230\u7684\u5185\u7f6e\u7684ssh \u5176\u5b83,\u5f53\u8bbf\u95ee\u4e00\u4e9b\u7cfb\u7edf\u64cd\u4f5c\u65e0\u6743\u9650\u65f6,\u53ef\u4ee5\u5173\u95ed\u4fdd\u62a4\u5f00\u5173 \u5b89\u88c5Mosquitto broker \u00b6 Mosquitto broker\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u63d2\u4ef6,\u5176\u63d0\u4f9b\u7684MQTT \u670d\u52a1\u4e3a\u516c\u53f8\u5927\u591a\u6570\u6570\u8bbe\u5907\u6298\u96c6\u6210\uff0cmqtt\u901a\u4fe1\u901a\u9053\uff0c\u6240\u4ee5\uff0c\u6b64\u4e3a\u5fc5\u88c5\u63d2\u4ef6\u3002 \u70b9\u51fb\u5b89\u88c5 \u770b\u5230\u5982\u4e0b\u754c\u9762\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff0c \u63a5\u4e0b\u6765\u662f\u914d\u7f6emqtt \u5f00\u542f\u81ea\u52a8\u6062\u590d \u00b6 \u914d\u7f6emqtt\u7684\u7528\u6237\u540d\u5bc6\u7801\u53ca\u5b9a\u5236\u914d\u7f6e \u00b6 username:dtuser password:****** #\u6b64\u5904\u7684\u5bc6\u7801\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 \u914d\u7f6e\u5b8c\u6210\u540e,\u542f\u52a8mqtt\u670d\u52a1 \u65e5\u5fd7\u4e2d\u663e\u793a\u5982\u4e0b\u4fe1\u606f,\u8bf4\u660e\u6210\u529f 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: \u251c\u2500\u2500 Username/password checking enabled. 2025-04-17 16:33:29: \u251c\u2500\u2500 TLS-PSK checking enabled. 2025-04-17 16:33:29: \u2514\u2500\u2500 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 <unknown> 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. \u5f53\u6d88\u606f,\u63d0\u793a\u53d1\u73b0\u8bbe\u5907\u65f6,\u70b9\u51fb,\u5f39\u51fa\u7684\u6d88\u606f\u4e2d,\u70b9check it out,\u7136\u540e,\u770b\u5230\u5df2\u53d1\u73b0mqtt,\u70b9\u51fb\u6dfb\u52a0 \u7136\u540e,\u70b9\u51fb\u5b8c\u6210 \u7136\u540e\u5c31\u4f1a\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u96c6\u6210\u4e2d,\u663e\u793aMqtt,\u4ee5\u540e,\u6240\u6709\u589e\u52a0\u7684MQTT\u7c7b\u8bbe\u5907\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8fd9\u4e2a\u7c7b\u522b\u4e2d\u3002 \u5b89\u88c5Node-RED\u63d2\u4ef6 \u00b6 Node-Red\u63d2\u4ef6\u662f\u6211\u4eec\u96c6\u4e2d\u5404\u79cd\u8bbe\u5907\u7684\u91cd\u8981\u6d88\u606f\u5904\u7406\u8f6c\u6362\u63d2\u4ef6,\u5c5e\u5fc5\u88c5\u63d2\u4ef6. \u5728\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22nod\u663e\u793a\u5982\u4e0b \u70b9\u51fb,\u8fdb\u5165\u8be6\u7ec6\u9875\u9762 \u70b9\u51fb\u5b89\u88c5 \u5982\u679c\u5b89\u88c5\u51fa\u9519,\u591a\u534a\u662f\u79d1\u5b66\u4e0a\u7f51\u7684\u95ee\u9898, \u5982\u73b0\u5982\u4e0b\u9875\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u5f00\u542f\u81ea\u52a8\u6062\u590d,\u5173\u95ed\u4fa7\u8fb9\u680f \u914d\u7f6enod-red \u6b64\u5904\u7684\u914d\u7f6e\u4fe1\u606f\u4e3a username:admin password:**** #\u6b64\u5904\u7684\u5bc6\u7801,\u8bf7\u5411\u7ba1\u7406\u5458\u83b7\u53d6 ### \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5173\u95edssl \u7136\u540e\u542f\u52a8node-red \u70b9\u51fb\u6253\u5f00web-\u9875\u9762\u5982\u4e0b \u5b89\u88c5go2rtc\u63d2\u4ef6 \u00b6 go2rtc\u63d2\u4ef6\u662f\u4e3a\u4e86\u5bf9\u89c6\u6d41\u8f6c\u53d1\u7528\u7684\u4e13\u7528\u63d2\u4ef6,\u5982\u679c\u60f3\u628a\u76d1\u63a7\u89c6\u9891\u6d41\u63a5\u5165,\u5219\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u63d2\u4ef6,\u5b89\u88c5\u65b9\u6cd5\u662f,\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22go2rtc, \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5b8c\u6210\u540e\u5f00\u542f\u81ea\u52a8\u6062\u590d,\u81ea\u52a8\u66f4\u65b0 \u5176\u8bbe\u7f6e\u4e2d\u57fa\u672c\u6ca1\u4ec0\u4e48\u8981\u6539\u7684. \u5b89\u88c5VLC\u53ef\u4ee5\u64ad\u653e\u89c6\u9891\u7b49\u529f\u80fd,\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u5b89\u88c5 \u00b6 \u5728\u52a0\u8f7d\u5546\u5e97\u4e2d\u641c\u7d22vlc \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u6210\u529f\u5982\u4e0b\u6240\u793a \u914d\u7f6e\u4e2d\u57fa\u672c\u6ca1\u8981\u8981\u914d\u7f6e\u7684\u4e1c\u897f \u5229\u7528 Docker \u5b89\u88c5 PostgreSQL \u00b6 \u867d\u7136 Home Assistant OS \u672c\u8eab\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u7cfb\u7edf\u5e95\u5c42\uff0c\u4f46\u5b83\u5185\u7f6e\u4e86 Docker \u652f\u6301\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c PostgreSQL \u7684 Docker \u5bb9\u5668\u3002 \u6b65\u9aa4 \u00b6 \u786e\u4fdd\u60a8\u6709 SSH \u8bbf\u95ee\u6743\u9650 \u5b89\u88c5 Home Assistant \u7684 SSH & Web Terminal Add-on\uff08\u9ad8\u7ea7\u6a21\u5f0f\uff09\u3002 \u5f00\u542f SSH \u8bbf\u95ee\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u524d\u5f80 Supervisor > Add-on Store \u3002 \u641c\u7d22\u5e76\u5b89\u88c5 SSH & Web Terminal \uff08\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u914d\u7f6e SSH \u63d2\u4ef6\uff0c\u786e\u4fdd protected \u8bbe\u7f6e\u4e3a false \uff0c\u7136\u540e\u542f\u52a8\u5b83\u3002 \u8fd0\u884c PostgreSQL \u5bb9\u5668 \u5728 SSH \u6216 Web Terminal \u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a 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 \u66ff\u6362 **pwd** \u4e3a\u60a8\u60f3\u8981\u8bbe\u7f6e\u7684\u6570\u636e\u5e93\u5bc6\u7801,\u4e9b\u5bc6\u7801,\u9700\u8981\u7ba1\u7406\u5458\u54a8\u8be2 \u6570\u636e\u5e93\u540d\u79f0\u4e3a dtha \uff0c\u7528\u6237\u540d\u4e3a dtuser \u3002 \u6570\u636e\u5c06\u5b58\u50a8\u5728 /mnt/data/supervisor/postgresql \uff0c\u786e\u4fdd\u6570\u636e\u5728\u91cd\u542f\u540e\u4e0d\u4f1a\u4e22\u5931\u3002 \u767b\u5f55ssh,\u5e76\u67e5\u770b\u5df2\u5b89\u88c5\u7684docker\u955c\u50cf\u5982\u4e0b \u5148\u521b\u5efapgsql\u5b58\u50a8\u5377\u9700\u8981\u7684\u76ee\u5f55,\u8fd9\u4e2a\u6211\u4eec\u7edf\u4e00\u5b9a\u4e3a\u5982\u4e0b\u76ee\u5f55,\u5e76\u7ed9777\u6743\u9650 /db/pgsqldata \u5373\u5728\u6839\u76ee\u5f55\u4e0b,\u521b\u5efadb\u76ee\u5f55,\u7136\u540e\u5728db\u76ee\u5f55\u4e2d\u521b\u5efapgsqldata,\u5e76\u7ed9\u8db3\u6743\u9650 / # 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 \u63a5\u4e0b\u6765,\u62c9\u53d6\u955cpgsql\u7684\u955c\u50cf,\u5e76\u6307\u5411/mnt/data/pgsqldata,\u6b64\u5904\u8981\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u76ee\u5f55\u90fd\u6709\u5199\u5165\u6743\u9650,homeAssitant\u4e2d\u5927\u90e8\u4efd\u76ee\u5f55\u90fd\u6ca1\u6709\u5199\u5165\u6743\u9650,\u8981\u6ce8\u610f\u627e\u6709\u5199\u5165\u6743\u9650\u7684\u76ee\u5f55 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7cfb\u7edf\u4f1a\u81ea\u52a8\u62c9\u53d6\u955c\u50cf,\u5e76\u542f\u52a8,\u6b64\u8fc7\u7a0b\u52a1\u5fc5\u4fdd\u8bc1\u79d2\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u5982\u4e0b\u56fe,\u6240\u793a, \u8bf4\u660e\u76ee\u5f55\u6ca1\u6709\u6743\u9650, chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata \u7ed9\u591f\u76ee\u5f55\u6743\u9650\u540e,\u518d\u6b21\u8fd0\u884c,\u5b89\u88c5\u6307\u4ee4 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 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 \u4e0a\u8ff0\u8bf4\u660epgswl\u7684\u5bb9\u5668\u5df2\u7ecf\u5b58\u5728,\u9700\u8981\u5220\u9664 docker stop postgresql docker rm postgresql \u7136\u540e,\u518d\u6b21\u6267\u884c,\u5373\u53ef\u6210\u529f 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7528ps -a \u67e5\u8be2\u4e00\u4e0b,\u5982\u4e0b\u56fe\u6240\u793a,\u8bf4\u660edocker \u542f\u52a8\u6210\u529f, \u4e3a\u4e86\u9a8c\u8bc1\u91cd\u65b0\u542f\u52a8\u540e,pgsql\u5bb9\u5668\u662f\u5426\u542f\u52a8,\u53ef\u4ee5\u91cd\u542f\u540e,\u518d\u6b21\u67e5\u770b\u4e00\u4e0b,\u6b64\u5bb9\u5668\u662f\u5426\u8ddf\u968f\u7cfb\u7edf\u542f\u52a8\u6210\u529f. \u63a5\u4e0b\u6765,\u6211\u4eec\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u4e2d\u627e\u53f0\u673a\u5668\u6765\u505a\u4e00\u4e0b\u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5 \u5982\u4e0a\u56fe,\u8bf4\u660epgsql\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u4e86,\u5e76\u80fd\u6b63\u5e38\u8bbf\u95ee. \u66f4\u6539homeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3apgSql \u00b6 HomeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3asqlite,\u6211\u4eec\u9700\u8981\u628a\u5176\u6362\u6210\u6211\u4eec\u65b0\u5b89\u88c5\u7684pgsql, \u901a\u8fc7\u6211\u4eec\u5b89\u88c5\u7684\u63d2\u4ef6File editor \u6253\u5f00\u914d\u7f6e\u6587\u4ef6 /homeassistant/configruration.yaml \u589e\u52a0recorder\u4e2d\u7684\u914d\u7f6e\u5982\u4e0b \u7136\u540e,\u4fdd\u5b58\u9000\u51fa,\u91cd\u542f,\u770b\u770bha\u6709\u6ed1\u7684\u7ed9\u51fa\u9519\u8bef\u63d0\u793a,\u4e5f\u53ef\u4ee5\u901a\u8fc7,\u8fde\u63a5\u5de5\u5177\u6765\u67e5\u770b,ha\u6709\u6ca1\u6709\u5728\u6570\u636e\u5e93\u4e2d\u5efa\u8868,\u5199\u5165\u6570\u636e \u5982\u4e0a\u56fe,\u8bf4\u660e\u6570\u636e\u5df2\u529f\u529f\u6298\u5199\u5165PGSQL,\u6b64\u65f6\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u5220\u9664\u4e86 \u8fd9\u4e2a\u6587\u4ef6\u662fhomeAssistant\u9ed8\u8ba4\u7684sqlite\u6570\u636e\u5e93\u6587\u4ef6\uff0c\u53ef\u4ee5\u5220\u9664\u4e86\uff0c\u70b9\u53f3\u5219\u7684\u4e09\u4e2a\u70b9\uff0c\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\uff0c\u70b9delete \u70b9\u51fbyes\u786e\u8ba4 \u7136\u540e\u91cd\u542f,\u518d\u6b21\u67e5\u770b,\u662f\u5426\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6, \u5982\u679c\u6ca1\u6709\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6 ,\u8bf4\u660e,\u7cfb\u7edf\u5df2\u7ecf\u5728\u7528pgsql\u4e86 \u5b89\u88c5HACS \u00b6 hacs\u7b80\u4ecb \u00b6 HACS\uff0c\u5168\u79f0 Home Assistant Community Store\uff08Home Assistant \u793e\u533a\u5546\u5e97\uff09\uff0c\u662f\u4e00\u4e2a\u7528\u4e8e Home Assistant \u7684\u7b2c\u4e09\u65b9\u6269\u5c55\u63d2\u4ef6\u7ba1\u7406\u5668\u3002\u5b83\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65b9\u4fbf\u7684\u65b9\u5f0f\u6765\u5b89\u88c5\u548c\u7ba1\u7406\u793e\u533a\u5f00\u53d1\u7684\u81ea\u5b9a\u4e49\u96c6\u6210\u3001\u63d2\u4ef6\u3001\u4e3b\u9898\u548c\u5176\u4ed6\u6269\u5c55\u7ec4\u4ef6\u3002 \u8fd9\u4e2a\u63d2\u4ef6\u96c6\u4e2d\u4e86\u8bb8\u591a\u5927\u5c4f\u7528\u7684\u4e3b\u9898\u4e0e\u63d2\u4ef6\uff0c\u5c5e\u4e8e\u5fc5\u88c5\u63d2\u4ef6\uff0e \u5b89\u88c5hacs \u00b6 \u8fdb\u5165ssh\u767b \u5f55\u540e,\u8f93\u5165\u5982\u4e0b\u6307\u4ee4 wget -O - https://get.hacs.xyz | bash - \u56de\u8f66\u540e,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0b\u8f7dHACS\uff0c\u5e76\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55\uff0c\u4e14\u63d0\u793a\u91cd\u542f\uff0c\u6211\u4eec\u6309\u8981\u6c42\u91cd\u542f\uff0c\u5373\u53ef\u3002 \u542f\u7528HACS \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u9700\u8981\u5728 Home Assistant \u7684\u754c\u9762\u4e2d\u542f\u7528 HACS\uff1a \u6253\u5f00 Home Assistant UI\u3002 \u70b9\u51fb \u8bbe\u7f6e > \u8bbe\u5907\u4e0e\u670d\u52a1 > \u96c6\u6210 \u3002 \u70b9\u51fb\u53f3\u4e0b\u89d2 \u6dfb\u52a0\u96c6\u6210 \u3002 \u641c\u7d22\u5e76\u9009\u62e9 HACS \uff0c\u7136\u540e\u6309\u7167\u5c4f\u5e55\u4e0a\u7684\u63d0\u793a\u5b8c\u6210\u8bbe\u7f6e\u3002 \u70b9\u51fb\u540e,\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d,\u5168\u6253\u52fe,\u70b9\u63d0\u4ea4 \u5f15\u65f6,\u5f39\u51fa\u65b0\u7684\u7a97\u53e3,\u9a8c\u8bc1github\u6388\u6743 \u70b9\u51fb\u8fd9\u4e2agithub\u94fe\u63a5,\u5e76\u8bb0\u4f4f\u4e0b\u65b9\u7684\u6388\u6743\u7801\u540e\u9762\u4f1a\u7528\u5230 \u5728\u5f39\u51fa\u7684\u9875\u9762\u4e2d,\u8f93\u5165,\u8bb0\u4f4f\u7684\u6388\u6743\u7801,\u70b9Continue \u63d0\u793a\u5177\u4f53\u7684\u6388\u6743\u5bf9\u50cf\u4e3ahacs,\u70b9\u51fbAutuorize hacs \u6388\u6743\u6210\u529f \u8fd4\u56dehacs\u540e,\u63d0\u793a\u6210\u529f,\u5e76\u663e\u793a\u5df2\u53d1\u73b0\u5982\u4e0b\u8bbe\u5907,hacs,\u9009\u62e9\u533a\u57df,\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e2a\u533a\u57df,\u7136\u540e\u70b9\u5b8c\u6210 \u770b\u5230\u5982\u4e0b\u754c\u9762hacs\u5c31\u5b89\u88c5\u597d\u4e86 \u70b9\u51fb\u914d\u7f6e,\u542f\u7528App Daemon apps discovery & tgracking. \u4ee5\u4e0a\u914d\u7f6e \u5b8c\u6210\u540e,\u91cd\u65b0\u542f\u52a8HA\uff0c\u5219\u53ef\u4ee5\u5728\u5de6\u4fa7\u680f\u4e2d\u627e\u5230HACS\u83dc\u5355\u4e86 \u66f4\u6539HomeAssistant\u5de6\u4e0a\u89d2LOGO\u6807\u9898 \u00b6 homeAssistant \u5de6\u4e0a\u89d2\u9ed8\u8ba4\u7684\u6807\u9898\u4e3a Home Assistant \u6211\u4eec\u5e0c\u671b\u6539\u6210\u81ea\u5df2\u7684\u6807\u8bc6\u5982:\u5cb1\u7279\u667a\u80fd \u4e0b\u8f7d\u7b2c\u4e09\u65b9\u63d2\u4ef6hass-favicon\u7684Releases\u5230\u672c\u5730\u76ee\u5f55 \u00b6 \u70b9\u51fb\u94fe\u63a5 ,\u5230\u5176github\u7684\u5b98\u65b9\u9875\u9762 \u4e0b\u8f7d\u5176\u6e90\u7801 \u89e3\u538b\u4e0b\u8f7d\u7684\u6e90\u7801 \u00b6 \u5c06\u63d2\u4ef6\u590d\u5236\u5230ha\u4e0a \u00b6 \u6253\u5f00\u6e90\u7801\u76ee\u5f55,\u8fdb\u5165custom_commponents\u76ee\u5f55,\u628afavicon\u76ee\u5f55\u6574\u4f53\u590d\u5236 \u7136\u540e,\u8fdb\u5165ha\u7684config-custom_compoents\u76ee\u5f55\u7c98\u8d34,\u590d\u5236\u5230\u7684favicon \u7136\u540e\u521b\u5efa\u76ee\u5f55 \\\\ha-o[\\config\\www\\favicons \u5e76\u628a\u80dc\u900f\u7684logo\u6587\u4ef6st-logo.,png\u653e\u5230\u76ee\u5f55\u4e2d \u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u5185\u5bb9 \u7136\u540e,\u91cd\u542fHomeAssistant\u5373\u53ef \u91cd\u542f\u540e,\u5de6\u4e0a\u811a\u7684LOGO\uff0c\u5df2\u53d8\u4e3a\u5cb1\u7279\u667a\u80fd. \u5b89\u88c5\u7c73\u5bb6\u96c6\u6210\u63d2\u4ef6 \u00b6 \u7c73\u5bb6\u96c6\u6210\u662f\u4e00\u4e2a\u7531\u5c0f\u7c73\u5b98\u65b9\u63d0\u4f9b\u652f\u6301\u7684 Home Assistant \u7684\u96c6\u6210\u7ec4\u4ef6\uff0c\u5b83\u53ef\u4ee5\u8ba9\u60a8\u5728 Home Assistant \u4e2d\u4f7f\u7528\u5c0f\u7c73 IoT \u667a\u80fd\u8bbe\u5907\u3002 \u8fd9\u4e2a\u63d2\u4ef6,\u53ef\u4ee5\u76f4\u63a5\u628a\u6240\u6709\u5c0f\u7c73\u7684\u5404\u79cd\u4f20\u611f\u5668\u96c6\u6210\u5230HomeAssistant\u4e2d,\u6240\u4ee5\u8fd9\u4e2a\u662f\u5fc5\u88c5\u63d2\u4ef6. \u5176\u5b98\u65b9\u4ed3\u5e93\u5730\u5740\u4e3a: Xiaomi Home Integration for Home Assistant https://github.com/XiaoMi/ha_xiaomi_home \u5176\u5b89\u88c5\u65b9\u6cd5\u6709\u4e09\u79cd,\u6211\u4eec\u4e3a\u4e86\u65b9\u4fbf\u9009\u62e9\u7b2c\u4e00\u79cd,\u5176\u5b83\u4e24\u79cd\u65b9\u6cd5,\u53ef\u4ee5\u81ea\u884c\u5c1d\u8bd5.\u5b98\u65b9\u63cf\u8ff0\u7684\u65b9\u88c5\u4e3b\u5f0f\u5982\u4e0b: cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config \u5176\u4e5f\u63d0\u4f9b \u4e2d\u6587\u7684\u5b89\u88c5\u8bf4\u660e \u5b89\u88c5 \u00b6 \u9996\u5148,\u767b\u5f55SSH.\u7136\u540e\u8fdb\u5165config\u76ee\u5f55 \u5148\u62c9\u53d6\u4ee3\u7801 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. \u7136\u540e,\u518d\u5207\u6362\u5230ha_xiaomi_home\u76ee\u5f55 cd ha_xiaomi_home \u7136\u540e\u6267\u884c\u5b89\u88c5\u6307\u4ee4 ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. \u5b89\u88c5\u5b8c\u6210,\u63d0\u793a\u9700\u8981\u91cd\u542f. \u914d\u7f6e \u00b6 \u5728\u91cd\u65b0\u542f\u52a8\u540e,\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210\u4e2d,\u641c\u7d22\u201c Xiaomi Home \u201d \u70b9\u51fb,\u4f1a\u63d0\u793a\u98ce\u9669\u63d0\u793a \u52fe\u9009,\u6211\u77e5\u6089,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u4f1a\u8fdb\u5165\u57fa\u7840\u914d\u7f6e\u9875\u9762,\u5982\u4e0b\u56fe \u52fe\u9009\u96c6\u6210\u7f51\u7edc\u914d\u7f6e,\u540c\u86d9,\u6ce8\u610f\u4e00\u4e0b,\u8ba4\u8bc1\u8df3\u8f6c\u5730\u5740,\u6b64\u5904\u663e\u6b3e\u4e3ahttp://homeassistant.lcaol:8123,\u8fd9\u4e2a\u5730\u5740,\u4f30\u8ba1\u4e0d\u53ef\u80fd\u901a\u8fc7,\u53ea\u56e0\u4e3a\u6211\u4eec\u662f\u5728\u5c40\u57df\u7f51\u5176\u5b83\u673a\u5668\u64cd\u4f5c\u8fd9\u4e00\u6b65\u7684,\u5b9e\u9645\u4e0a\u6211\u4eec\u7684\u5730\u5740,\u5e94\u662f\u5730\u5740\u680f\u4e2d\u6298\u5b9e\u9645\u5730\u5740,\u5982\u4e0a\u56fe,\u6211\u4eec\u7684\u8ba4\u8bc1\u5730\u5740\u662f:http://192.168.3.2:8123, \u5728\u4e0b\u4e00\u6b65\u8df3\u8f6c\u8f6c\u5c0f\u7c73\u540e,\u6253\u5f00\u7684\u7f51\u5740\u65f6,\u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u4f30\u8ba1\u662f\u6253\u4e0d\u5f00\u7684,\u9700\u8981\u628a\u90a3\u4e2a\u5730\u5740\u7684\u524d\u534a\u6bb5,\u6362\u6210\u8fd9\u4e2a\u5b9e\u9645\u5730\u5740. \u70b9\u51fb\u4e0b\u4e00\u6b65, \u6b64\u5904\u4e3a\u68c0\u6d4b\u7f51\u7edc,\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u65f6,\u624d\u80fd\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5f53\u5f39\u51fa\u5982\u4e0b\u754c\u9762\u65f6,\u8bf4\u660e\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u4e86, \u70b9\u51fb,\"\u8bf7\u70b9\u6b64\u5904\u8fdb\u884c\u767b\u5f55\", \u6b64\u65f6,\u8df3\u8f6c\u5230\u5c0f\u7c73\u6298\u8ba4\u8bc1\u7f51\u9875,\u6b64\u65f6\u8f93\u5165\u6b63\u786e\u7c73\u5bb6\u5e10\u53f7\u4e0e\u5bc6\u7801,\u70b9\u767b\u5f55 \u5f39\u51fa \u53cb\u60c5\u63d0\u793a,\u70b9\u51fb,\u540c\u610f\u5e76\u7ee7\u7eed \u5c0f\u7c73\u7684\u5b89\u5168\u9a8c\u8bc1,\u70b9\u4e0b\u4e00\u6b65, \u70b9\u51fb \u53d1\u9001\u9a8c\u8bc1\u7801 \u8f93\u5165\u9a8c\u8bc1\u7801\u540e,\u70b9\u786e\u5b9a \u8df3\u8f6c\u5230\u4e86\u8ba4\u8bc1\u7a97\u53e3,\u4f46\u662f\u5374\u662f\u65e0\u65b9\u8bbf\u95ee\u6b64\u9875\u9762,\u8bf4\u660e\u8ba4\u8bc1\u5730\u5740,\u9519\u4e86,\u6211\u4eec\u9700\u8981\u628a\u5b83\u6362\u6210\u6211\u4eec\u6b63\u786e\u7684HA\u5730\u5740\uff1ahttp://192.168.3.2:8123,\u5982\u4e0b\u56fe\u6240\u793a \u624b\u5de5\u5c06\u6b63\u786e\u7684\u5730\u5740\u66ff\u6362\u5730\u5740\u5934\u90e8\u540e,\u56de\u8f66,\u6253\u5f00\u8fd9\u4e2a\u5730\u5740,\u7c7b\u4f3c\u5982\u4e0b\u683c\u5f0f: http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 \u5982\u679c,\u7528\u4e0a\u8ff0\u65b9\u5f0f,\u4ecd\u7136\u4e0d\u80fd\u8bbf\u95ee,\u5219\u53ef\u7528\u5982\u4e0b\u65b9\u6cd5,\u66f4\u6539host\u6587\u4ef6,\u5f3a\u884c\u6307\u5b9a\u672c\u5730DNS,\u6307\u5411homeassistant.local,\u65b9\u6cd5\u5982\u4e0b: \u4fee\u6539 Windows hosts \u6587\u4ef6\u7684\u65b9\u6cd5 \u4f7f\u7528\u7ba1\u7406\u5458\u8eab\u4efd\u7528\u8bb0\u4e8b\u672c\u6253\u5f00\u5982\u4e0b\u6587\u4ef6 :C:\\Windows\\System32\\drivers\\etc\\hosts \u5728\u6700\u540e\u4e00\u884c\u589e\u52a0 192.168.3.2 homeassistant.local \u5982\u4e0b\u56fe \u7136\u540e,\u518d\u91cd\u65b0\u8bd5\u8fc7\u4e00\u6b21 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd,\u5c31\u4f1a\u81ea\u52a8\u8ba4\u8bc1\u901a\u8fc7 \u53ef\u4ee5\u6839\u636e\u63d0\u793a\u81ea\u52a8\u9009 \u5219\u623f\u95f4\u540c\u6b65\u6a21\u5f0f,\u8fd9\u4e2a\u8981\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u5c06\u63d0\u793a\u63d2\u4ef6\u96c6\u6210\u6210\u529f.\u5982\u4e0b\u793a\u610f\u56fe \u770b\u5230\u5982\u4e0b\u56fe,\u5c31\u8bf4\u660e\u96c6\u6210\u5b8c\u6210\u4e86 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u6982\u89c8\u4e2d,\u5c31\u5df2\u7ecf\u81ea\u52a8\u589e\u52a0\u4e86\u8bb8\u591a\u8bbe\u5907. \u5b89\u88c5WebRTC Camera \u00b6 WebRTC camera\u63d2\u4ef6\u4ee5\u5b9e\u73b0\u9891\u6d41\u64ad\u653e.\u5982\u679cha\u8981\u63a5\u5165\u89c6\u9891\u76d1\u63a7,\u5219\u9700\u8981\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6, \u4ed3\u5e93\u5730\u5740 : https://github.com/AlexxIT/WebRTC \u8fd9\u4e2a\u63d2\u4ef6\u4e5f\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u6cd5,hacs\u5b89\u88c5,\u76f4\u63a5\u590d\u5236\u7b49\u65b9\u6cd5,\u56e0\u4e3a\u4e0a\u6587,\u6211\u4eec\u5df2\u7ecf\u5b89\u88c5\u8fc7\u4e86HACS\u63d2\u4ef6\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u4f7f\u7528HACS\u65b9\u5f0f\u5b89\u88c5\u3002 \u70b9\u51fb\u540e\uff0c\u5f39\u51fa\u5982\u4e0b\u9875\u9762 \u70b9\u51fbDownLoad\u6309\u94ae \u70b9\u51fbDownLoad \u5f53\u7136,\u6211\u4eec\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u6298\u7248\u672c \u5f53\u5f39\u51fa\u7a97\u53e3\u81ea\u52a8\u6d88\u5931,\u70b9\u51fb\u4e0a\u65b9\u7684\u8fd4\u56de( \u6ce8\u610f:\u4e0d\u4f1a\u81ea\u52a8\u8fd4\u56de,\u987b\u4eba\u5de5\u8fd4\u56de ),\u8fd4\u56de\u5982\u4e0b\u56fe \u770b\u5230\u4e0a\u65b9\u7684\u7b49\u5f85\u91cd\u542f,\u8bf4\u660e\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\u4e0a,\u9700\u8981\u91cd\u542f,\u6211\u4eec\u6267\u884c\u91cd\u542f. \u91cd\u542f\u5b8c\u6210\u540e,\u4f1a\u770b\u5230,Downloaded\u4e2d\u5df2\u7ecf\u663e\u793a,\u4e86\u5b89\u88c5\u6210\u529f\u6298WebRTC Camera\u7ec4\u4ef6. \u7136\u540e,\u8fdb\u5165\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210,\u641c\u7d22WebRTC \u70b9\u51fbWebRtc Camera \u5f39\u51fago2rtc url\u5730\u5740\u7a97\u53e3,\u6b64\u63d2\u4ef6,\u6211\u4eec\u4e4b\u524d\u5df2\u88c5\u8fc7,\u5c31\u5728\u672c\u673a,\u6240\u5730\u5740\u4e0d\u7528\u6539,\u76f4\u63a5\u70b9\u63d0\u4ea4 \u70b9\u5b8c\u6210.WebRTC\u5b89\u88c5\u6210\u529f.\u5982\u4e0b\u56fe\u6240\u793a \u4e3a\u4e86\u6f14\u793a\u5982\u4f55\u663e\u793a\u76d1\u63a7\u89c6\u9891,\u6211\u4eec\u65b0\u589e\u52a0\u4e00\u4e2asample\u7684\u4eea\u8868\u76d8. \u70b9\u51fb,\u6dfb\u52a0\u4eea\u8868\u76d8 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d,\u8f93\u5165\u4eea\u8868\u76d8\u6807\u9898 \u8fd9\u6837\u6211\u6837\u5c31\u589e\u52a0\u4e86\u4e00\u4e2a\u4eea\u8868\u76d8dashboard-sampale,\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u4eea\u8868\u76d8\u4e2d\u589e\u52a0\u6f14\u793a\u7528\u7684\u7ec4\u4ef6,\u6b64\u5904,\u6211\u4eec\u60f3\u589e\u52a0\u4e00\u4e2a\u6f14\u793a\u7528\u7684\u76d1\u63a7\u6444\u50cf\u5934.\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7f16\u8f91\u6309\u94ae. \u70b9\u51fb\u521b\u5efa\u4e00\u4e2a\u7ec4\u4ef6 \u7136\u540e,\u65b0\u5efa\u5361\u7247,\u9009\u62e9\u81ea\u5b9a\u4e49WebRTC\u5361\u7247,\u5982\u679c\u6ca1\u6709\u8fd9\u4e2a\u7ec4\u4ef6,\u5219\u9700\u8981\u5237\u65b0\u51e0\u6b21,\u5c31\u80fd\u770b\u5230\u8fd9\u4e2a\u7ec4\u4ef6. \u6211\u6837\u5728\u5361\u7247\u8bbe\u7f6e\u4e2d\u8f93\u5165url\u7684\u89c6\u9891\u6d41\u5730\u5740 type: custom:webrtc-camera url: \"rtsp://admin:Camera_data2018@192.168.50.131:554/stream2\" \u5b89\u88c5motionEye \u00b6 motionEye \u662f\u4e00\u4e2a\u6d41\u884c\u7684\u6444\u50cf\u5934\u8f6f\u4ef6\uff08\u79f0\u4e3a motion\uff09\u7684\u524d\u7aef\u3002\u672c\u63d2\u4ef6\u540c\u65f6\u63d0\u4f9b\u4e86\u524d\u7aef\u548c\u6444\u50cf\u5934\u8f6f\u4ef6\uff0c\u8ba9\u60a8\u53ef\u4ee5\u5c06\u6444\u50cf\u5934\u6dfb\u52a0\u5230 Hass.io \uff08Home Assistant\uff09\u7cfb\u7edf\u4e2d\u3002 motionEye \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u95ed\u8def\u7535\u89c6\uff08CCTV\uff09\u548c\u7f51\u7edc\u89c6\u9891\u5f55\u50cf\u673a\uff08NVR\uff09\uff0c\u5b83\u8bbe\u8ba1\u4f18\u96c5\u4e14\u975e\u5e38\u6613\u4e8e\u4f7f\u7528\u3002\u5b83\u53ef\u4ee5\u7528\u4f5c\u5a74\u513f\u76d1\u89c6\u5668\u3001\u5efa\u7b51\u5de5\u5730\u76d1\u63a7\u3001\u5546\u5e97\u6444\u50cf\u5934\u5f55\u50cf\u673a\u3001\u82b1\u56ed\u5b89\u9632\u7b49\u3002 motionEye \u7684\u4e00\u4e9b\u7279\u70b9\uff1a \u00b6 \u652f\u6301\u5927\u91cf\u6444\u50cf\u5934\uff0c\u5305\u62ec IP \u6444\u50cf\u5934\u3002 \u53ef\u4ee5\u901a\u8fc7\u5c06\u591a\u4e2a motionEye \u5b9e\u4f8b\u8fde\u63a5\u5728\u4e00\u8d77\u6dfb\u52a0\u591a\u4e2a\u6444\u50cf\u5934\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5728\u7f51\u7edc\u4e2d\u4f7f\u7528\u8fd0\u884c MotionEyeOS \u7684 Pi Zero \u548c Pi \u6444\u50cf\u5934\u3002 \u652f\u6301\u5c06\u5f55\u50cf\u4e0a\u4f20\u5230 Google Drive \u548c Dropbox\u3002 \u652f\u6301\u8fd0\u52a8\u68c0\u6d4b\uff0c\u5305\u62ec\u90ae\u4ef6\u901a\u77e5\u548c\u8ba1\u5212\u4efb\u52a1\u3002 \u53ef\u4ee5\u8fde\u7eed\u5f55\u50cf\u3001\u8fd0\u52a8\u5f55\u50cf\u6216\u5ef6\u65f6\u5f55\u50cf\uff0c\u5e76\u652f\u6301\u4fdd\u7559\u8bbe\u7f6e\u3002 \u652f\u6301\u914d\u7f6e\u4e2d\u7684\u201c\u64cd\u4f5c\u6309\u94ae\u201d\u3002 \u5b89\u88c5\u65b9\u6cd5 \u00b6 \u5728\u8bbe\u7f6e-\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22\"motionEye\", \u70b9\u51fb\u67e5\u770b\u8be6\u60c5\u9875,\u5e76\u5b89\u88c5 motioneye\u9ed8\u8ba4\u7684\u7528\u6237\u540d\u4e3aadmin,\u5bc6\u7801\u4e3a\u7a7a.","title":"\u7cfb\u7edf\u521d\u59cb\u5316\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#homeassistant","text":"","title":"\u521d\u59cb\u5316\u914d\u7f6eHomeAssistant"},{"location":"Usages/initConfig/initConfig/#homeassistant_1","text":"\u9996\u6b21\u6253\u5f00HomeAssistant\u901a\u8fc7,\u8def\u7531\u5668\u4e3a\u5176\u5206\u914d\u7684IP\u5730\u5740\u52a0\u7aef\u53e3\u53f7\u5373\u53ef\u8fdb\u884cHomeAssistant. \u683c\u5f0f\u5982\u4e0b: http://Ip:Port \u5982:http://192.168.3.2:8123 \u57fa\u4e2d:8123\u4e3a\u5176\u9ed8\u8ba4\u7684\u7aef\u53e3\u540e,\u5f53\u7136,\u7cfb\u7edf\u521d\u59cb\u5316\u6210\u529f\u540e,\u53ef\u4ee5\u6539. \u5982\u4e0b\u56fe\u6240\u793a: \u70b9\u51fb\"\u521b\u5efa\u6211\u667a\u80fd\u5bb6\u5bb6\u5c45\"\u6309\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5728\u8fd9\u91cc\u6211\u4eec\u8f93\u5165\u59d3\u540d,\u7528\u6237\u540d,\u5bc6\u7801,\u786e\u8ba4\u5bc6\u7801 \u8fd9\u91cc\u6211\u4eec\u4f7f\u7528\u7edf\u4e00\u7684\u4fe1\u606f \u59d3\u540d:\u5cb1\u7279\u667a\u80fd \u7528\u6237\u540d:dtuser \u5bc6\u7801:****** \u786e\u8ba4\u5bc6\u7801:***** \u6ce8\u610f:\u4e0a\u8ff0\u5bc6\u7801\u4e3a\u4e86\u5b89\u5168,\u6ca1\u6709\u663e\u793a,\u8bf7\u54a8\u8be2\u7cfb\u7edf\u7ba1\u7406\u5458\u83b7\u53d6\u771f\u6b63\u7684\u5bc6\u7801. \u70b9\u51fb\"\u521b\u5efa\u5e10\u6237\", \u8fd9\u4e00\u6b65,\u4f1a\u8981\u6c42\u4f60\u8f93\u5165\u4f4d\u7f6e,\u8f93\u5165\u57ce\u5e02\u70b9\u83b7\u53d6,\u5982\u679c\u53d6\u4e0b\u5230\u4f1a\u62a5\u9519.\u6ca1\u5173\u7cfb,\u76f4\u63a5\u4e0b\u4e00\u6b65\u5373\u53ef,\u7cfb\u7edf\u914d\u7f6e\u5b8c\u6210\u540e,\u8fd8\u53ef\u66f4\u6539. \u8fd9\u4e00\u6b65\u662f\u8981\u6c42,\u4f60\u8f93\u4e0b\u6240\u5c5e\u7684\u56fd\u5bb6\u4e0e\u5730\u533a,\u5b83\u4f1a\u81ea\u52a8\u5224\u65ad\u51fa\u6765,\u56fd\u5bb6,\u76f4\u63a5\u70b9\u4e0b\u4e00\u6b65\u5373\u53ef. \u6b64\u65f6,\u5b83\u53ef\u80fd\u8fd8\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u6846,\u5e2e\u4f60\u68c0\u6d4b\u4f4d\u7f6e ,\u70b9\u786e\u5b9a\u5373\u53ef \u5982\u679c\u4e0d\u60f3\u8ba9\u5176\u68c0\u6d4b,\u76f4\u63a5\u70b9\u53d6\u6d88\u5373\u53ef,\u56e0\u4e3a\u5176\u68c0\u6d4b\u6298\u53ef\u80fd\u5f88\u6162,\u6240\u4ee5,\u76f4\u63a5\u70b9\u53d6\u6d88,\u9009\u62e9\u4e2d\u56fd\u5373\u53ef. \u8fd9\u91cc\u7684\u51e0\u9879,\u5168\u90e8\u4e0d\u7528\u9009,\u76f4\u63a5\u4e0b\u4e00\u6b65 \u8fd9\u4e00\u6b65,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u626b\u63cf\u5c40\u57df\u7f51\u4e2d\u7684\u80fd\u76f4\u63a5\u5165\u7684\u8bbe\u5907.\u76f4\u63a5\u70b9\u51fb\u5b8c\u6210, \u7136\u540e,\u7cfb\u7edf\u4f1a\u8f6c\u5230\u5982\u4e0b\u754c\u9762 \u53ef\u80fd\u8981\u6301\u7eed\u4e00\u9635,\u7b49\u5f85\u5176\u5b8c\u6210\u5373\u53ef. \u5f00\u59cb\u7b2c\u4e00\u6b21,\u53ef\u80fd\u5f88\u6162 \u9996\u6b21\u5b8c\u6210\u5982\u4e0b\u663e\u793a","title":"\u9996\u6b21\u6253\u5f00HomeAssistant"},{"location":"Usages/initConfig/initConfig/#_1","text":"\u9996\u6b21\u767b\u5f55,\u53ef\u80fd\u4f1a\u663e\u793a\u66f4\u65b0,\u5982\u6b64\u65f6\u663e\u793a \u63d0\u793a\u66f4\u65b0Home Assistnat Operating System Update,\u70b9\u51fb\u5982\u4e0b\u6309\u94ae,\u4ee5\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\uff0c\u70b9\u66f4\u65b0\u6309\u94ae \u5982\u4e0b\u56fe\u6240\u793a\uff0c\u7cfb\u7edf\u5c06\u4f1a\uff0c\u8fdb\u884c\u66f4\u65b0 \u6ce8\u610f\uff0c\u8fd9\u4e2a\u64cd\u4f5c\uff0c\u4e00\u822c\u662f\u4ece\u4e24\u4e2a\u5730\u65b9\u83b7\u53d6\u66f4\u65b0\u5305\uff0c\u4e00\u662fgithub\u4e00\u4e2a\u662fdocker\u7684\u4ed3\u5e93\uff0c\u6240\u4ee5\uff0c \u8981\u4fdd\u6301\u79d1\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u3002\u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u4f30\u8ba1\u8981\u51e0\u5206\u949f\uff0c\u9700\u8981\u8010\u5fc3\u7b49\u7b49\uff0c\u4e5f\u6709\u53ef\u80fd\u4f1a\u66f4\u65b0\u5931\u8d25\uff0c\u7136\u540e\uff0c\u518d\u6b21\u66f4\u65b0\u3002 \u66f4\u65b0\u65f6,\u5982\u679c\u7f51\u7edc\u6709\u95ee\u9898\u53ef\u80fd\u4f1a\u51fa\u5728\u65e5\u5fd7 \u4e2d\u62a5\u51fa\u5982\u4e0b\u9519\u8bef 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 \u4e0a\u8ff0\u9519\u8bef\u591a\u662f\u7531\u4e8e\u7f51\u7edc\u95ee\u9898\u5f15\u8d77\u7684,\u8981\u53bb\u68c0\u662f\u79d1\u5b66\u4e0a\u7f51\u662f\u5426\u8fd8\u6b63\u5e38. \u66f4\u5b8c\u5b8c\u6210\u540e,\u518d\u6b21\u542f\u52a8\u540e,\u4f1a\u663e\u793a\u6ca1\u6709\u53ef\u7528\u7684\u66f4\u65b0","title":"\u66f4\u65b0\u5fc5\u8981\u7684\u7ec4\u4ef6"},{"location":"Usages/initConfig/initConfig/#-","text":"\u70b9\u51fb,\u5f00\u59cb,\u901a\u7528 \u66f4\u6539\u540d\u79f0\u4e3a:\u5cb1\u7279\u667a\u80fd \u5176\u5b83\u7684\u4e0d\u53d8 #### \u914d\u7f6e-\u7f51\u7edc-\u4e3b\u673a\u540d \u628a\u4e3b\u673a\u540d\u914d\u7f6e\u6210\u4e3a\u5c40\u57df\u7f51\u4e2d\u552f\u4e00\u7684,\u5b9e\u9645\u8ba9\u5c31\u662f\u8ba1\u7b97\u673a\u540d,\u56e0\u4e3a\u540c\u4e00\u5c40\u57df\u7f51\u4e2d,\u8ba1\u7b97\u673a\u540d,\u4e0d\u5141\u8bb8\u76f8\u540c","title":"\u914d\u7f6e-\u901a\u7528"},{"location":"Usages/initConfig/initConfig/#-_1","text":"\u52a0\u8f7d\u9879\u4e2d\u6709\u8bb8\u591a\u5fc5\u88c5\u7ec4\u4ef6,\u9700\u8981\u4e00\u4e00\u5b89\u88c5,\u9996\u6b21\u8fdb\u5165\u65f6,\u53ef\u80fd\u4f1a\u663e\u793a\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u4e0b\u89d2\u7684\"\u52a0\u8f7d\u9879\u5546\u5e97\"","title":"\u914d\u7f6e-\u8bbe\u7f6e-\u52a0\u8f7d\u9879"},{"location":"Usages/initConfig/initConfig/#file-editor","text":"File editor \u662f\u4e00\u4e2a\u7528\u4e8e\u4fee\u6539HA\u7684\u914d\u7f6e\u6587\u4ef6\u7684\u96c6\u6210\u5de5\u5177,\u5c5e\u5fc5\u88c5\u9879,\u70b9\u51fb\u5b89\u88c5 \u70b9\u51fb\u5b89\u88c5,\u7cfb\u7edf\u4f1a\u5728\u540e\u53f0\u81ea\u52a8\u5b89\u88c5\u6b64\u63d2\u4ef6, \u5b89\u88c5\u5b8c\u6210\u540e,\u4f1a\u81ea\u52a8\u91cd\u542f \u6709\u65f6\u4e5f\u4f1a\u63d0\u793a\u5b89\u88c5\u5931\u8d25 \u8fd9\u79cd\u7ecf\u67e5\u770b\u65e5\u5fd7 \u591a\u4e3a\u7f51\u5f3a\u884c\u95ee\u9898\u65e0\u6cd5\u8bbf\u95ee.docker.io,\u8fd9\u662f\u56e0\u4e3a\u79d1\u5b66\u4e0a\u98ce\u7684\u539f\u56e0,\u91cd\u70b9\u6392\u67e5\u7f51\u7edc,\u5b89\u88c5\u6210\u529f\u540e,\u518d\u6b21\u8fdb\u5165\u4f1a\u663e\u793a\u5982\u4e0b\u754c\u9762 \u52fe\u9009,\u5f00\u673a\u542f\u52a8,\u81ea\u52a8\u6062\u590d,\u663e\u793a\u4e8e\u4fa7\u8fb9\u680f \u70b9\u51fb\u542f\u52a8,\u6216\u91cd\u542f,\u5c06\u4f1a\u5728\u4fa7\u8fb9\u680f\u770b\u5230\u6b64\u56fe\u6807,\u70b9\u51fb\u6253\u5f00\u7f51\u9875\u754c\u9762 \u80fd\u770b\u5230\u5982\u4e0b\u754c\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u6b64\u65f6\u52a0\u8f7d\u9879\u4e2d,\u5c31\u591a\u51fa\u4e86File editor\u9009\u9879","title":"\u5b89\u88c5File editor"},{"location":"Usages/initConfig/initConfig/#samba-share","text":"Samba share\u63d2\u4ef6\u662f\u4e00\u4e2a\u63d0\u4f9b\u5171\u4eab\u76ee\u5f55\u7684\u65b9\u5f0f\u5141\u884c\u5176\u5b83\u8ba1\u7b97\u673a\u7528\u8fd9\u79cd\u65b9\u5f0f\u67e5\u770b\u7f16\u8f91ha\u7684\u6587\u4ef6\u7684\u7ec4\u4ef6. \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5931\u8d25\u65f6,\u4f1a\u6709\u5982\u4e0b\u63d0\u4e0b\u63d0\u793a \u6253\u5f00\u81ea\u52a8\u6062\u590d \u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u5230\u914d\u7f6e\u9009\u9879\u4e2d \u6b64\u5904\u6211\u4eec\u8bbe\u7f6e\u5982\u4e0b\u4fe1\u606f Username:dtuser Password:***** # \u6b64\u5904\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 Workgroup:WORKGROUP # \u4fdd\u6301\u4e0d\u53d8 \u66f4\u6539\u5b8c\u6210\u540e,\u6709\u5982\u4e0b\u914d\u7f6e \u914d\u7f6e \u5b8c\u6210\u540e,\u70b9\u51fb\u542f\u52a8 \u542f\u52a8\u6210\u529f\u540e,\u4f1a\u51fa\u4e0b\u56fe\u663e\u793a \u6b64\u65f6,\u5982\u679c,\u4e0eHA\u5728\u540c\u4e00\u5c40\u57df\u7f51\uff0c\u6211\u4eec\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u5f0f\u67e5\u770bHA\u7684\u6587\u4ef6\u76ee\u5f55 \u5728\u5730\u5740\u680f\u8f93\u5165\\HA\u7684IP \u8f93\u5165\u9884\u8bbe\u7684\u7528\u6237\u540d\u4e0e\u5bc6\u7801,\u5373\u53ef\u67e5\u770b,\u7f16\u8f91HA\u7684\u5404\u79cd\u6587\u4ef6\u3002","title":"\u5b89\u88c5Samba share\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#terminal-ssh","text":"Terminal & SSH \u63d2\u4ef6\u4e3aHA\u63d0\u4f9b\u4e86\u5728web\u7aef\u4f7f\u7528\u63a7\u5236\u53f0\u7ec8\u7aef\u529f\u80fd,\u53ca\u5f00\u542f\u4e86ssh\u670d\u52a1,\u4f7f\u4e4b\u53ef\u4ee5\u8fdc\u7a0b\u4f7f\u7528SSH\u8bbf\u95eeHA\u7ec8\u7aef\u3002 \u5728\u641c\u7d22\u4e2d\u8f93\u5165Terminal & SSH \u7ed3\u679c\u6709\u53ef\u80fd\u663e\u793a \u641c\u7d22\u4e0d\u5230\uff0c\u8fd9\u65f6\uff0c\u53ef\u80fd\u662f\u56e0\u4e3a\u4ed3\u5e93\u6ca1\u6709\u914d\u7f6e\uff0c\u8fd8\u662f\u4f7f\u7528\u7684\u9ed8\u8ba4\u7684\u4ed3\u5e93\uff0c\u6211\u4eec\u53ef\u4ee5\u589e\u52a0\u4e00\u4e0b\u4ed3\u5e93\uff0c\u5982\u4e0b\uff1a https://github.com/AlexxIT/hassio-addons \u70b9\u51fb\u53f3\u4e0a\u89e3\u7684\u4e09\u4e2a\u70b9,\u9009\u4e2d\u4ed3\u5e93 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165,\u6211\u4eec\u8bb0\u5f55\u7684\u4ed3\u5e93\u5730\u5740,\u7136\u540e\u70b9\u6dfb\u52a0 \u5b8c\u6210\u540e,\u70b9\u51fb\u5173\u95ed. \u7136\u540e,\u70b9\u51fb\u8fd4\u56de,\u91cd\u65b0\u641c\u7d22 \u8fd9\u6b21\u627e\u5230\u4e86Advance SSH & Web Terminal \u70b9\u51fb\u5b89\u88c5,\u6253\u5f00\u5982\u4e0b\u9875\u9762 \u70b9\u51fb\u5b89\u88c5,\u6709\u65f6\u4f1a\u5b89\u88c5\u5931\u8d25, \u5931\u8d25\u540e,\u9700\u518d\u6b21\u5b89\u88c5,\u540c\u65f6\u68c0\u67e5\u65e5\u5fd7\u4e2d\u63d0\u5230\u7684\u54ea\u4e2a\u7f51\u5740\u65e0\u6cd5\u8bbf\u95ee ,\u628a\u5176\u52a0\u79d1\u5b66\u4e0a\u7f51\u7684\u4ee3\u7406\u540d\u5355\u4e2d. \u5b89\u88c5\u5b8c\u6210\u540e,\u5c31\u53d8\u6210\u5982\u4e0b \u5f00\u542f\u81ea\u52a8\u6062\u5f97,\u663e\u793a\u4fa7\u8fb9\u680f \u63a5\u4e0b\u6765,\u6211\u4eec\u914d\u7f6essh\u7684\u767b\u5f55\u4fe1\u606f,\u5982\u4e0b \u76f8\u5173\u4fe1\u606f\u5982\u4e0b: username:dtuser passsword:**** # \u6b64\u5904\u9700\u8981\u54a8\u8be2\u7ba1\u7406\u5458 \u5176\u5b83\u914d\u7f6e\u9009\u9879\u5982\u4e0b,\u6ce8\u610f\u9009\u9879,\u9009\u9519\u4e86ssh\u53ef\u80fd\u542f\u4e0d\u8d77\u6765,sftp\u5173\u95ed,zsh\u5173\u95ed.compatibility_mode\u8981\u5f00\u542f \u7136\u540e,\u70b9\u51fb\u542f\u52a8\u6309\u94ae \u542f\u52a8\u540e\u5982\u4e0b \u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u4e24\u4e2a\u5730\u65b9\u8fdb\u5165 \u5728\u65e5\u5fd7 \u7aef\u80fd\u770b\u5230 ssh\u5df2\u542f\u52a8\u6210\u529f 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. \u914d\u7f6e\u6210\u529f\u540e,\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u6765\u6d4b\u8bd5\u662f\u5426\u53ef\u4ee5\u8fdc\u7a0bSSH\u8fde\u5165 \u8f93\u5165yes\u540e\u4f1a\u8981\u6c42 \u8f93\u5165\u5bc6\u7801,\u9a8c\u8bc1\u6b63\u786e\u540e,\u4f1a\u8fdb\u5165\u770b\u5230\u5982\u4e2a\u56fe,\u5c31\u8bf4\u660essh\u5df2\u6b63\u5e38\u7684\u5f00\u542f\u6210\u529f\u4e86 \u4ee5\u4e0b\u754c\u9762\u662f\u5728ha\u4e2d\u770b\u5230\u7684\u5185\u7f6e\u7684ssh \u5176\u5b83,\u5f53\u8bbf\u95ee\u4e00\u4e9b\u7cfb\u7edf\u64cd\u4f5c\u65e0\u6743\u9650\u65f6,\u53ef\u4ee5\u5173\u95ed\u4fdd\u62a4\u5f00\u5173","title":"\u5b89\u88c5Terminal &amp; SSH"},{"location":"Usages/initConfig/initConfig/#mosquitto-broker","text":"Mosquitto broker\u662f\u4e00\u4e2a\u91cd\u8981\u7684\u63d2\u4ef6,\u5176\u63d0\u4f9b\u7684MQTT \u670d\u52a1\u4e3a\u516c\u53f8\u5927\u591a\u6570\u6570\u8bbe\u5907\u6298\u96c6\u6210\uff0cmqtt\u901a\u4fe1\u901a\u9053\uff0c\u6240\u4ee5\uff0c\u6b64\u4e3a\u5fc5\u88c5\u63d2\u4ef6\u3002 \u70b9\u51fb\u5b89\u88c5 \u770b\u5230\u5982\u4e0b\u754c\u9762\uff0c\u8bf4\u660e\u5b89\u88c5\u6210\u529f\uff0c \u63a5\u4e0b\u6765\u662f\u914d\u7f6emqtt","title":"\u5b89\u88c5Mosquitto broker"},{"location":"Usages/initConfig/initConfig/#_2","text":"","title":"\u5f00\u542f\u81ea\u52a8\u6062\u590d"},{"location":"Usages/initConfig/initConfig/#mqtt","text":"username:dtuser password:****** #\u6b64\u5904\u7684\u5bc6\u7801\u8bf7\u54a8\u8be2\u7ba1\u7406\u5458 \u914d\u7f6e\u5b8c\u6210\u540e,\u542f\u52a8mqtt\u670d\u52a1 \u65e5\u5fd7\u4e2d\u663e\u793a\u5982\u4e0b\u4fe1\u606f,\u8bf4\u660e\u6210\u529f 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: \u251c\u2500\u2500 Username/password checking enabled. 2025-04-17 16:33:29: \u251c\u2500\u2500 TLS-PSK checking enabled. 2025-04-17 16:33:29: \u2514\u2500\u2500 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 <unknown> 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. \u5f53\u6d88\u606f,\u63d0\u793a\u53d1\u73b0\u8bbe\u5907\u65f6,\u70b9\u51fb,\u5f39\u51fa\u7684\u6d88\u606f\u4e2d,\u70b9check it out,\u7136\u540e,\u770b\u5230\u5df2\u53d1\u73b0mqtt,\u70b9\u51fb\u6dfb\u52a0 \u7136\u540e,\u70b9\u51fb\u5b8c\u6210 \u7136\u540e\u5c31\u4f1a\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u96c6\u6210\u4e2d,\u663e\u793aMqtt,\u4ee5\u540e,\u6240\u6709\u589e\u52a0\u7684MQTT\u7c7b\u8bbe\u5907\uff0c\u90fd\u4f1a\u663e\u793a\u5728\u8fd9\u4e2a\u7c7b\u522b\u4e2d\u3002","title":"\u914d\u7f6emqtt\u7684\u7528\u6237\u540d\u5bc6\u7801\u53ca\u5b9a\u5236\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#node-red","text":"Node-Red\u63d2\u4ef6\u662f\u6211\u4eec\u96c6\u4e2d\u5404\u79cd\u8bbe\u5907\u7684\u91cd\u8981\u6d88\u606f\u5904\u7406\u8f6c\u6362\u63d2\u4ef6,\u5c5e\u5fc5\u88c5\u63d2\u4ef6. \u5728\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22nod\u663e\u793a\u5982\u4e0b \u70b9\u51fb,\u8fdb\u5165\u8be6\u7ec6\u9875\u9762 \u70b9\u51fb\u5b89\u88c5 \u5982\u679c\u5b89\u88c5\u51fa\u9519,\u591a\u534a\u662f\u79d1\u5b66\u4e0a\u7f51\u7684\u95ee\u9898, \u5982\u73b0\u5982\u4e0b\u9875\u9762,\u8bf4\u660e\u5b89\u88c5\u6210\u529f \u5f00\u542f\u81ea\u52a8\u6062\u590d,\u5173\u95ed\u4fa7\u8fb9\u680f \u914d\u7f6enod-red \u6b64\u5904\u7684\u914d\u7f6e\u4fe1\u606f\u4e3a username:admin password:**** #\u6b64\u5904\u7684\u5bc6\u7801,\u8bf7\u5411\u7ba1\u7406\u5458\u83b7\u53d6 ### \u9ed8\u8ba4\u60c5\u51b5\u4e0b\u5173\u95edssl \u7136\u540e\u542f\u52a8node-red \u70b9\u51fb\u6253\u5f00web-\u9875\u9762\u5982\u4e0b","title":"\u5b89\u88c5Node-RED\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#go2rtc","text":"go2rtc\u63d2\u4ef6\u662f\u4e3a\u4e86\u5bf9\u89c6\u6d41\u8f6c\u53d1\u7528\u7684\u4e13\u7528\u63d2\u4ef6,\u5982\u679c\u60f3\u628a\u76d1\u63a7\u89c6\u9891\u6d41\u63a5\u5165,\u5219\u53ef\u4ee5\u4f7f\u7528\u8fd9\u4e2a\u63d2\u4ef6,\u5b89\u88c5\u65b9\u6cd5\u662f,\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22go2rtc, \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u5b8c\u6210\u540e\u5f00\u542f\u81ea\u52a8\u6062\u590d,\u81ea\u52a8\u66f4\u65b0 \u5176\u8bbe\u7f6e\u4e2d\u57fa\u672c\u6ca1\u4ec0\u4e48\u8981\u6539\u7684.","title":"\u5b89\u88c5go2rtc\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#vlc","text":"\u5728\u52a0\u8f7d\u5546\u5e97\u4e2d\u641c\u7d22vlc \u70b9\u51fb\u5b89\u88c5 \u5b89\u88c5\u6210\u529f\u5982\u4e0b\u6240\u793a \u914d\u7f6e\u4e2d\u57fa\u672c\u6ca1\u8981\u8981\u914d\u7f6e\u7684\u4e1c\u897f","title":"\u5b89\u88c5VLC\u53ef\u4ee5\u64ad\u653e\u89c6\u9891\u7b49\u529f\u80fd,\u9700\u8981\u7684\u8bdd\u53ef\u4ee5\u5b89\u88c5"},{"location":"Usages/initConfig/initConfig/#docker-postgresql","text":"\u867d\u7136 Home Assistant OS \u672c\u8eab\u4e0d\u5141\u8bb8\u76f4\u63a5\u8bbf\u95ee\u7cfb\u7edf\u5e95\u5c42\uff0c\u4f46\u5b83\u5185\u7f6e\u4e86 Docker \u652f\u6301\uff0c\u56e0\u6b64\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c PostgreSQL \u7684 Docker \u5bb9\u5668\u3002","title":"\u5229\u7528 Docker \u5b89\u88c5 PostgreSQL"},{"location":"Usages/initConfig/initConfig/#_3","text":"\u786e\u4fdd\u60a8\u6709 SSH \u8bbf\u95ee\u6743\u9650 \u5b89\u88c5 Home Assistant \u7684 SSH & Web Terminal Add-on\uff08\u9ad8\u7ea7\u6a21\u5f0f\uff09\u3002 \u5f00\u542f SSH \u8bbf\u95ee\uff0c\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u524d\u5f80 Supervisor > Add-on Store \u3002 \u641c\u7d22\u5e76\u5b89\u88c5 SSH & Web Terminal \uff08\u5b98\u65b9\u63d2\u4ef6\uff09\u3002 \u914d\u7f6e SSH \u63d2\u4ef6\uff0c\u786e\u4fdd protected \u8bbe\u7f6e\u4e3a false \uff0c\u7136\u540e\u542f\u52a8\u5b83\u3002 \u8fd0\u884c PostgreSQL \u5bb9\u5668 \u5728 SSH \u6216 Web Terminal \u4e2d\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a 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 \u66ff\u6362 **pwd** \u4e3a\u60a8\u60f3\u8981\u8bbe\u7f6e\u7684\u6570\u636e\u5e93\u5bc6\u7801,\u4e9b\u5bc6\u7801,\u9700\u8981\u7ba1\u7406\u5458\u54a8\u8be2 \u6570\u636e\u5e93\u540d\u79f0\u4e3a dtha \uff0c\u7528\u6237\u540d\u4e3a dtuser \u3002 \u6570\u636e\u5c06\u5b58\u50a8\u5728 /mnt/data/supervisor/postgresql \uff0c\u786e\u4fdd\u6570\u636e\u5728\u91cd\u542f\u540e\u4e0d\u4f1a\u4e22\u5931\u3002 \u767b\u5f55ssh,\u5e76\u67e5\u770b\u5df2\u5b89\u88c5\u7684docker\u955c\u50cf\u5982\u4e0b \u5148\u521b\u5efapgsql\u5b58\u50a8\u5377\u9700\u8981\u7684\u76ee\u5f55,\u8fd9\u4e2a\u6211\u4eec\u7edf\u4e00\u5b9a\u4e3a\u5982\u4e0b\u76ee\u5f55,\u5e76\u7ed9777\u6743\u9650 /db/pgsqldata \u5373\u5728\u6839\u76ee\u5f55\u4e0b,\u521b\u5efadb\u76ee\u5f55,\u7136\u540e\u5728db\u76ee\u5f55\u4e2d\u521b\u5efapgsqldata,\u5e76\u7ed9\u8db3\u6743\u9650 / # 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 \u63a5\u4e0b\u6765,\u62c9\u53d6\u955cpgsql\u7684\u955c\u50cf,\u5e76\u6307\u5411/mnt/data/pgsqldata,\u6b64\u5904\u8981\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u76ee\u5f55\u90fd\u6709\u5199\u5165\u6743\u9650,homeAssitant\u4e2d\u5927\u90e8\u4efd\u76ee\u5f55\u90fd\u6ca1\u6709\u5199\u5165\u6743\u9650,\u8981\u6ce8\u610f\u627e\u6709\u5199\u5165\u6743\u9650\u7684\u76ee\u5f55 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7cfb\u7edf\u4f1a\u81ea\u52a8\u62c9\u53d6\u955c\u50cf,\u5e76\u542f\u52a8,\u6b64\u8fc7\u7a0b\u52a1\u5fc5\u4fdd\u8bc1\u79d2\u5b66\u4e0a\u7f51\u7684\u7545\u901a \u5982\u4e0b\u56fe,\u6240\u793a, \u8bf4\u660e\u76ee\u5f55\u6ca1\u6709\u6743\u9650, chown -R root:root mnt/data/pgsqldata chmod -R 7777 /mnt/data/pgsqldata \u7ed9\u591f\u76ee\u5f55\u6743\u9650\u540e,\u518d\u6b21\u8fd0\u884c,\u5b89\u88c5\u6307\u4ee4 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 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 \u4e0a\u8ff0\u8bf4\u660epgswl\u7684\u5bb9\u5668\u5df2\u7ecf\u5b58\u5728,\u9700\u8981\u5220\u9664 docker stop postgresql docker rm postgresql \u7136\u540e,\u518d\u6b21\u6267\u884c,\u5373\u53ef\u6210\u529f 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 # \u6267\u884c\u5b8c\u6210\u540e,\u8fd4\u56de: 9a4721cccb0d5c63671da5cba4a6b6c13721f48ac664de03312cddaa216a2e56 \u7528ps -a \u67e5\u8be2\u4e00\u4e0b,\u5982\u4e0b\u56fe\u6240\u793a,\u8bf4\u660edocker \u542f\u52a8\u6210\u529f, \u4e3a\u4e86\u9a8c\u8bc1\u91cd\u65b0\u542f\u52a8\u540e,pgsql\u5bb9\u5668\u662f\u5426\u542f\u52a8,\u53ef\u4ee5\u91cd\u542f\u540e,\u518d\u6b21\u67e5\u770b\u4e00\u4e0b,\u6b64\u5bb9\u5668\u662f\u5426\u8ddf\u968f\u7cfb\u7edf\u542f\u52a8\u6210\u529f. \u63a5\u4e0b\u6765,\u6211\u4eec\u53ef\u4ee5\u5728\u5c40\u57df\u7f51\u4e2d\u627e\u53f0\u673a\u5668\u6765\u505a\u4e00\u4e0b\u6570\u636e\u5e93\u8fde\u63a5\u6d4b\u8bd5 \u5982\u4e0a\u56fe,\u8bf4\u660epgsql\u5df2\u7ecf\u5b89\u88c5\u6210\u529f\u4e86,\u5e76\u80fd\u6b63\u5e38\u8bbf\u95ee.","title":"\u6b65\u9aa4"},{"location":"Usages/initConfig/initConfig/#homeassistantpgsql","text":"HomeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3asqlite,\u6211\u4eec\u9700\u8981\u628a\u5176\u6362\u6210\u6211\u4eec\u65b0\u5b89\u88c5\u7684pgsql, \u901a\u8fc7\u6211\u4eec\u5b89\u88c5\u7684\u63d2\u4ef6File editor \u6253\u5f00\u914d\u7f6e\u6587\u4ef6 /homeassistant/configruration.yaml \u589e\u52a0recorder\u4e2d\u7684\u914d\u7f6e\u5982\u4e0b \u7136\u540e,\u4fdd\u5b58\u9000\u51fa,\u91cd\u542f,\u770b\u770bha\u6709\u6ed1\u7684\u7ed9\u51fa\u9519\u8bef\u63d0\u793a,\u4e5f\u53ef\u4ee5\u901a\u8fc7,\u8fde\u63a5\u5de5\u5177\u6765\u67e5\u770b,ha\u6709\u6ca1\u6709\u5728\u6570\u636e\u5e93\u4e2d\u5efa\u8868,\u5199\u5165\u6570\u636e \u5982\u4e0a\u56fe,\u8bf4\u660e\u6570\u636e\u5df2\u529f\u529f\u6298\u5199\u5165PGSQL,\u6b64\u65f6\uff0c\u6211\u4eec\u53ef\u4ee5\u628a\u7cfb\u7edf\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u5220\u9664\u4e86 \u8fd9\u4e2a\u6587\u4ef6\u662fhomeAssistant\u9ed8\u8ba4\u7684sqlite\u6570\u636e\u5e93\u6587\u4ef6\uff0c\u53ef\u4ee5\u5220\u9664\u4e86\uff0c\u70b9\u53f3\u5219\u7684\u4e09\u4e2a\u70b9\uff0c\u5728\u5f39\u51fa\u7684\u83dc\u5355\u4e2d\uff0c\u70b9delete \u70b9\u51fbyes\u786e\u8ba4 \u7136\u540e\u91cd\u542f,\u518d\u6b21\u67e5\u770b,\u662f\u5426\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6, \u5982\u679c\u6ca1\u6709\u91cd\u65b0\u751f\u6210\u6b64\u6587\u4ef6 ,\u8bf4\u660e,\u7cfb\u7edf\u5df2\u7ecf\u5728\u7528pgsql\u4e86","title":"\u66f4\u6539homeAssistant\u9ed8\u8ba4\u7684\u6570\u636e\u5e93\u4e3apgSql"},{"location":"Usages/initConfig/initConfig/#hacs","text":"","title":"\u5b89\u88c5HACS"},{"location":"Usages/initConfig/initConfig/#hacs_1","text":"HACS\uff0c\u5168\u79f0 Home Assistant Community Store\uff08Home Assistant \u793e\u533a\u5546\u5e97\uff09\uff0c\u662f\u4e00\u4e2a\u7528\u4e8e Home Assistant \u7684\u7b2c\u4e09\u65b9\u6269\u5c55\u63d2\u4ef6\u7ba1\u7406\u5668\u3002\u5b83\u4e3a\u7528\u6237\u63d0\u4f9b\u4e86\u4e00\u4e2a\u65b9\u4fbf\u7684\u65b9\u5f0f\u6765\u5b89\u88c5\u548c\u7ba1\u7406\u793e\u533a\u5f00\u53d1\u7684\u81ea\u5b9a\u4e49\u96c6\u6210\u3001\u63d2\u4ef6\u3001\u4e3b\u9898\u548c\u5176\u4ed6\u6269\u5c55\u7ec4\u4ef6\u3002 \u8fd9\u4e2a\u63d2\u4ef6\u96c6\u4e2d\u4e86\u8bb8\u591a\u5927\u5c4f\u7528\u7684\u4e3b\u9898\u4e0e\u63d2\u4ef6\uff0c\u5c5e\u4e8e\u5fc5\u88c5\u63d2\u4ef6\uff0e","title":"hacs\u7b80\u4ecb"},{"location":"Usages/initConfig/initConfig/#hacs_2","text":"\u8fdb\u5165ssh\u767b \u5f55\u540e,\u8f93\u5165\u5982\u4e0b\u6307\u4ee4 wget -O - https://get.hacs.xyz | bash - \u56de\u8f66\u540e,\u7cfb\u7edf\u4f1a\u81ea\u52a8\u4e0b\u8f7dHACS\uff0c\u5e76\u653e\u5230\u6307\u5b9a\u7684\u76ee\u5f55\uff0c\u4e14\u63d0\u793a\u91cd\u542f\uff0c\u6211\u4eec\u6309\u8981\u6c42\u91cd\u542f\uff0c\u5373\u53ef\u3002","title":"\u5b89\u88c5hacs"},{"location":"Usages/initConfig/initConfig/#hacs_3","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u60a8\u9700\u8981\u5728 Home Assistant \u7684\u754c\u9762\u4e2d\u542f\u7528 HACS\uff1a \u6253\u5f00 Home Assistant UI\u3002 \u70b9\u51fb \u8bbe\u7f6e > \u8bbe\u5907\u4e0e\u670d\u52a1 > \u96c6\u6210 \u3002 \u70b9\u51fb\u53f3\u4e0b\u89d2 \u6dfb\u52a0\u96c6\u6210 \u3002 \u641c\u7d22\u5e76\u9009\u62e9 HACS \uff0c\u7136\u540e\u6309\u7167\u5c4f\u5e55\u4e0a\u7684\u63d0\u793a\u5b8c\u6210\u8bbe\u7f6e\u3002 \u70b9\u51fb\u540e,\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d,\u5168\u6253\u52fe,\u70b9\u63d0\u4ea4 \u5f15\u65f6,\u5f39\u51fa\u65b0\u7684\u7a97\u53e3,\u9a8c\u8bc1github\u6388\u6743 \u70b9\u51fb\u8fd9\u4e2agithub\u94fe\u63a5,\u5e76\u8bb0\u4f4f\u4e0b\u65b9\u7684\u6388\u6743\u7801\u540e\u9762\u4f1a\u7528\u5230 \u5728\u5f39\u51fa\u7684\u9875\u9762\u4e2d,\u8f93\u5165,\u8bb0\u4f4f\u7684\u6388\u6743\u7801,\u70b9Continue \u63d0\u793a\u5177\u4f53\u7684\u6388\u6743\u5bf9\u50cf\u4e3ahacs,\u70b9\u51fbAutuorize hacs \u6388\u6743\u6210\u529f \u8fd4\u56dehacs\u540e,\u63d0\u793a\u6210\u529f,\u5e76\u663e\u793a\u5df2\u53d1\u73b0\u5982\u4e0b\u8bbe\u5907,hacs,\u9009\u62e9\u533a\u57df,\u53ef\u4ee5\u81ea\u5b9a\u4e49\u4e2a\u533a\u57df,\u7136\u540e\u70b9\u5b8c\u6210 \u770b\u5230\u5982\u4e0b\u754c\u9762hacs\u5c31\u5b89\u88c5\u597d\u4e86 \u70b9\u51fb\u914d\u7f6e,\u542f\u7528App Daemon apps discovery & tgracking. \u4ee5\u4e0a\u914d\u7f6e \u5b8c\u6210\u540e,\u91cd\u65b0\u542f\u52a8HA\uff0c\u5219\u53ef\u4ee5\u5728\u5de6\u4fa7\u680f\u4e2d\u627e\u5230HACS\u83dc\u5355\u4e86","title":"\u542f\u7528HACS"},{"location":"Usages/initConfig/initConfig/#homeassistantlogo","text":"homeAssistant \u5de6\u4e0a\u89d2\u9ed8\u8ba4\u7684\u6807\u9898\u4e3a Home Assistant \u6211\u4eec\u5e0c\u671b\u6539\u6210\u81ea\u5df2\u7684\u6807\u8bc6\u5982:\u5cb1\u7279\u667a\u80fd","title":"\u66f4\u6539HomeAssistant\u5de6\u4e0a\u89d2LOGO\u6807\u9898"},{"location":"Usages/initConfig/initConfig/#hass-faviconreleases","text":"\u70b9\u51fb\u94fe\u63a5 ,\u5230\u5176github\u7684\u5b98\u65b9\u9875\u9762 \u4e0b\u8f7d\u5176\u6e90\u7801","title":"\u4e0b\u8f7d\u7b2c\u4e09\u65b9\u63d2\u4ef6hass-favicon\u7684Releases\u5230\u672c\u5730\u76ee\u5f55"},{"location":"Usages/initConfig/initConfig/#_4","text":"","title":"\u89e3\u538b\u4e0b\u8f7d\u7684\u6e90\u7801"},{"location":"Usages/initConfig/initConfig/#ha","text":"\u6253\u5f00\u6e90\u7801\u76ee\u5f55,\u8fdb\u5165custom_commponents\u76ee\u5f55,\u628afavicon\u76ee\u5f55\u6574\u4f53\u590d\u5236 \u7136\u540e,\u8fdb\u5165ha\u7684config-custom_compoents\u76ee\u5f55\u7c98\u8d34,\u590d\u5236\u5230\u7684favicon \u7136\u540e\u521b\u5efa\u76ee\u5f55 \\\\ha-o[\\config\\www\\favicons \u5e76\u628a\u80dc\u900f\u7684logo\u6587\u4ef6st-logo.,png\u653e\u5230\u76ee\u5f55\u4e2d \u7136\u540e\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u589e\u52a0\u5982\u4e0b\u5185\u5bb9 \u7136\u540e,\u91cd\u542fHomeAssistant\u5373\u53ef \u91cd\u542f\u540e,\u5de6\u4e0a\u811a\u7684LOGO\uff0c\u5df2\u53d8\u4e3a\u5cb1\u7279\u667a\u80fd.","title":"\u5c06\u63d2\u4ef6\u590d\u5236\u5230ha\u4e0a"},{"location":"Usages/initConfig/initConfig/#_5","text":"\u7c73\u5bb6\u96c6\u6210\u662f\u4e00\u4e2a\u7531\u5c0f\u7c73\u5b98\u65b9\u63d0\u4f9b\u652f\u6301\u7684 Home Assistant \u7684\u96c6\u6210\u7ec4\u4ef6\uff0c\u5b83\u53ef\u4ee5\u8ba9\u60a8\u5728 Home Assistant \u4e2d\u4f7f\u7528\u5c0f\u7c73 IoT \u667a\u80fd\u8bbe\u5907\u3002 \u8fd9\u4e2a\u63d2\u4ef6,\u53ef\u4ee5\u76f4\u63a5\u628a\u6240\u6709\u5c0f\u7c73\u7684\u5404\u79cd\u4f20\u611f\u5668\u96c6\u6210\u5230HomeAssistant\u4e2d,\u6240\u4ee5\u8fd9\u4e2a\u662f\u5fc5\u88c5\u63d2\u4ef6. \u5176\u5b98\u65b9\u4ed3\u5e93\u5730\u5740\u4e3a: Xiaomi Home Integration for Home Assistant https://github.com/XiaoMi/ha_xiaomi_home \u5176\u5b89\u88c5\u65b9\u6cd5\u6709\u4e09\u79cd,\u6211\u4eec\u4e3a\u4e86\u65b9\u4fbf\u9009\u62e9\u7b2c\u4e00\u79cd,\u5176\u5b83\u4e24\u79cd\u65b9\u6cd5,\u53ef\u4ee5\u81ea\u884c\u5c1d\u8bd5.\u5b98\u65b9\u63cf\u8ff0\u7684\u65b9\u88c5\u4e3b\u5f0f\u5982\u4e0b: cd config git clone https://github.com/XiaoMi/ha_xiaomi_home.git cd ha_xiaomi_home ./install.sh /config \u5176\u4e5f\u63d0\u4f9b \u4e2d\u6587\u7684\u5b89\u88c5\u8bf4\u660e","title":"\u5b89\u88c5\u7c73\u5bb6\u96c6\u6210\u63d2\u4ef6"},{"location":"Usages/initConfig/initConfig/#_6","text":"\u9996\u5148,\u767b\u5f55SSH.\u7136\u540e\u8fdb\u5165config\u76ee\u5f55 \u5148\u62c9\u53d6\u4ee3\u7801 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. \u7136\u540e,\u518d\u5207\u6362\u5230ha_xiaomi_home\u76ee\u5f55 cd ha_xiaomi_home \u7136\u540e\u6267\u884c\u5b89\u88c5\u6307\u4ee4 ./install.sh /config # Xiaomi Home installation is completed. Please restart Home Assistant. \u5b89\u88c5\u5b8c\u6210,\u63d0\u793a\u9700\u8981\u91cd\u542f.","title":"\u5b89\u88c5"},{"location":"Usages/initConfig/initConfig/#_7","text":"\u5728\u91cd\u65b0\u542f\u52a8\u540e,\u5728\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210\u4e2d,\u641c\u7d22\u201c Xiaomi Home \u201d \u70b9\u51fb,\u4f1a\u63d0\u793a\u98ce\u9669\u63d0\u793a \u52fe\u9009,\u6211\u77e5\u6089,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u4f1a\u8fdb\u5165\u57fa\u7840\u914d\u7f6e\u9875\u9762,\u5982\u4e0b\u56fe \u52fe\u9009\u96c6\u6210\u7f51\u7edc\u914d\u7f6e,\u540c\u86d9,\u6ce8\u610f\u4e00\u4e0b,\u8ba4\u8bc1\u8df3\u8f6c\u5730\u5740,\u6b64\u5904\u663e\u6b3e\u4e3ahttp://homeassistant.lcaol:8123,\u8fd9\u4e2a\u5730\u5740,\u4f30\u8ba1\u4e0d\u53ef\u80fd\u901a\u8fc7,\u53ea\u56e0\u4e3a\u6211\u4eec\u662f\u5728\u5c40\u57df\u7f51\u5176\u5b83\u673a\u5668\u64cd\u4f5c\u8fd9\u4e00\u6b65\u7684,\u5b9e\u9645\u4e0a\u6211\u4eec\u7684\u5730\u5740,\u5e94\u662f\u5730\u5740\u680f\u4e2d\u6298\u5b9e\u9645\u5730\u5740,\u5982\u4e0a\u56fe,\u6211\u4eec\u7684\u8ba4\u8bc1\u5730\u5740\u662f:http://192.168.3.2:8123, \u5728\u4e0b\u4e00\u6b65\u8df3\u8f6c\u8f6c\u5c0f\u7c73\u540e,\u6253\u5f00\u7684\u7f51\u5740\u65f6,\u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u4f30\u8ba1\u662f\u6253\u4e0d\u5f00\u7684,\u9700\u8981\u628a\u90a3\u4e2a\u5730\u5740\u7684\u524d\u534a\u6bb5,\u6362\u6210\u8fd9\u4e2a\u5b9e\u9645\u5730\u5740. \u70b9\u51fb\u4e0b\u4e00\u6b65, \u6b64\u5904\u4e3a\u68c0\u6d4b\u7f51\u7edc,\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u65f6,\u624d\u80fd\u8fdb\u884c\u4e0b\u4e00\u6b65 \u5f53\u5f39\u51fa\u5982\u4e0b\u754c\u9762\u65f6,\u8bf4\u660e\u7f51\u7edc\u68c0\u6d4b\u901a\u8fc7\u4e86, \u70b9\u51fb,\"\u8bf7\u70b9\u6b64\u5904\u8fdb\u884c\u767b\u5f55\", \u6b64\u65f6,\u8df3\u8f6c\u5230\u5c0f\u7c73\u6298\u8ba4\u8bc1\u7f51\u9875,\u6b64\u65f6\u8f93\u5165\u6b63\u786e\u7c73\u5bb6\u5e10\u53f7\u4e0e\u5bc6\u7801,\u70b9\u767b\u5f55 \u5f39\u51fa \u53cb\u60c5\u63d0\u793a,\u70b9\u51fb,\u540c\u610f\u5e76\u7ee7\u7eed \u5c0f\u7c73\u7684\u5b89\u5168\u9a8c\u8bc1,\u70b9\u4e0b\u4e00\u6b65, \u70b9\u51fb \u53d1\u9001\u9a8c\u8bc1\u7801 \u8f93\u5165\u9a8c\u8bc1\u7801\u540e,\u70b9\u786e\u5b9a \u8df3\u8f6c\u5230\u4e86\u8ba4\u8bc1\u7a97\u53e3,\u4f46\u662f\u5374\u662f\u65e0\u65b9\u8bbf\u95ee\u6b64\u9875\u9762,\u8bf4\u660e\u8ba4\u8bc1\u5730\u5740,\u9519\u4e86,\u6211\u4eec\u9700\u8981\u628a\u5b83\u6362\u6210\u6211\u4eec\u6b63\u786e\u7684HA\u5730\u5740\uff1ahttp://192.168.3.2:8123,\u5982\u4e0b\u56fe\u6240\u793a \u624b\u5de5\u5c06\u6b63\u786e\u7684\u5730\u5740\u66ff\u6362\u5730\u5740\u5934\u90e8\u540e,\u56de\u8f66,\u6253\u5f00\u8fd9\u4e2a\u5730\u5740,\u7c7b\u4f3c\u5982\u4e0b\u683c\u5f0f: http://192.168.3.2:8123/api/webhook/3062281226000218850?code=C3_B7440E147BCCA71A76831877D510611F&state=d90a727abad348efee834884dae174b80a15de14 \u5982\u679c,\u7528\u4e0a\u8ff0\u65b9\u5f0f,\u4ecd\u7136\u4e0d\u80fd\u8bbf\u95ee,\u5219\u53ef\u7528\u5982\u4e0b\u65b9\u6cd5,\u66f4\u6539host\u6587\u4ef6,\u5f3a\u884c\u6307\u5b9a\u672c\u5730DNS,\u6307\u5411homeassistant.local,\u65b9\u6cd5\u5982\u4e0b: \u4fee\u6539 Windows hosts \u6587\u4ef6\u7684\u65b9\u6cd5 \u4f7f\u7528\u7ba1\u7406\u5458\u8eab\u4efd\u7528\u8bb0\u4e8b\u672c\u6253\u5f00\u5982\u4e0b\u6587\u4ef6 :C:\\Windows\\System32\\drivers\\etc\\hosts \u5728\u6700\u540e\u4e00\u884c\u589e\u52a0 192.168.3.2 homeassistant.local \u5982\u4e0b\u56fe \u7136\u540e,\u518d\u91cd\u65b0\u8bd5\u8fc7\u4e00\u6b21 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd,\u5c31\u4f1a\u81ea\u52a8\u8ba4\u8bc1\u901a\u8fc7 \u53ef\u4ee5\u6839\u636e\u63d0\u793a\u81ea\u52a8\u9009 \u5219\u623f\u95f4\u540c\u6b65\u6a21\u5f0f,\u8fd9\u4e2a\u8981\u6839\u636e\u5177\u4f53\u60c5\u51b5\u9009\u62e9,\u70b9\u51fb\u4e0b\u4e00\u6b65,\u5c06\u63d0\u793a\u63d2\u4ef6\u96c6\u6210\u6210\u529f.\u5982\u4e0b\u793a\u610f\u56fe \u770b\u5230\u5982\u4e0b\u56fe,\u5c31\u8bf4\u660e\u96c6\u6210\u5b8c\u6210\u4e86 \u4e0d\u51fa\u610f\u5916\u7684\u8bdd\u6982\u89c8\u4e2d,\u5c31\u5df2\u7ecf\u81ea\u52a8\u589e\u52a0\u4e86\u8bb8\u591a\u8bbe\u5907.","title":"\u914d\u7f6e"},{"location":"Usages/initConfig/initConfig/#webrtc-camera","text":"WebRTC camera\u63d2\u4ef6\u4ee5\u5b9e\u73b0\u9891\u6d41\u64ad\u653e.\u5982\u679cha\u8981\u63a5\u5165\u89c6\u9891\u76d1\u63a7,\u5219\u9700\u8981\u5b89\u88c5\u8fd9\u4e2a\u7ec4\u4ef6, \u4ed3\u5e93\u5730\u5740 : https://github.com/AlexxIT/WebRTC \u8fd9\u4e2a\u63d2\u4ef6\u4e5f\u6709\u591a\u79cd\u5b89\u88c5\u65b9\u6cd5,hacs\u5b89\u88c5,\u76f4\u63a5\u590d\u5236\u7b49\u65b9\u6cd5,\u56e0\u4e3a\u4e0a\u6587,\u6211\u4eec\u5df2\u7ecf\u5b89\u88c5\u8fc7\u4e86HACS\u63d2\u4ef6\uff0c\u6240\u4ee5\u6211\u4eec\u9009\u62e9\u4f7f\u7528HACS\u65b9\u5f0f\u5b89\u88c5\u3002 \u70b9\u51fb\u540e\uff0c\u5f39\u51fa\u5982\u4e0b\u9875\u9762 \u70b9\u51fbDownLoad\u6309\u94ae \u70b9\u51fbDownLoad \u5f53\u7136,\u6211\u4eec\u4e5f\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u6298\u7248\u672c \u5f53\u5f39\u51fa\u7a97\u53e3\u81ea\u52a8\u6d88\u5931,\u70b9\u51fb\u4e0a\u65b9\u7684\u8fd4\u56de( \u6ce8\u610f:\u4e0d\u4f1a\u81ea\u52a8\u8fd4\u56de,\u987b\u4eba\u5de5\u8fd4\u56de ),\u8fd4\u56de\u5982\u4e0b\u56fe \u770b\u5230\u4e0a\u65b9\u7684\u7b49\u5f85\u91cd\u542f,\u8bf4\u660e\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\u4e0a,\u9700\u8981\u91cd\u542f,\u6211\u4eec\u6267\u884c\u91cd\u542f. \u91cd\u542f\u5b8c\u6210\u540e,\u4f1a\u770b\u5230,Downloaded\u4e2d\u5df2\u7ecf\u663e\u793a,\u4e86\u5b89\u88c5\u6210\u529f\u6298WebRTC Camera\u7ec4\u4ef6. \u7136\u540e,\u8fdb\u5165\u8bbe\u7f6e-\u8bbe\u5907\u4e0e\u670d\u52a1-\u6dfb\u52a0\u96c6\u6210,\u641c\u7d22WebRTC \u70b9\u51fbWebRtc Camera \u5f39\u51fago2rtc url\u5730\u5740\u7a97\u53e3,\u6b64\u63d2\u4ef6,\u6211\u4eec\u4e4b\u524d\u5df2\u88c5\u8fc7,\u5c31\u5728\u672c\u673a,\u6240\u5730\u5740\u4e0d\u7528\u6539,\u76f4\u63a5\u70b9\u63d0\u4ea4 \u70b9\u5b8c\u6210.WebRTC\u5b89\u88c5\u6210\u529f.\u5982\u4e0b\u56fe\u6240\u793a \u4e3a\u4e86\u6f14\u793a\u5982\u4f55\u663e\u793a\u76d1\u63a7\u89c6\u9891,\u6211\u4eec\u65b0\u589e\u52a0\u4e00\u4e2asample\u7684\u4eea\u8868\u76d8. \u70b9\u51fb,\u6dfb\u52a0\u4eea\u8868\u76d8 \u5728\u5f39\u51fa\u6298\u5bf9\u8bdd\u6846\u4e2d,\u8f93\u5165\u4eea\u8868\u76d8\u6807\u9898 \u8fd9\u6837\u6211\u6837\u5c31\u589e\u52a0\u4e86\u4e00\u4e2a\u4eea\u8868\u76d8dashboard-sampale,\u6211\u4eec\u53ef\u4ee5\u5728\u8fd9\u4e2a\u4eea\u8868\u76d8\u4e2d\u589e\u52a0\u6f14\u793a\u7528\u7684\u7ec4\u4ef6,\u6b64\u5904,\u6211\u4eec\u60f3\u589e\u52a0\u4e00\u4e2a\u6f14\u793a\u7528\u7684\u76d1\u63a7\u6444\u50cf\u5934.\u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u7f16\u8f91\u6309\u94ae. \u70b9\u51fb\u521b\u5efa\u4e00\u4e2a\u7ec4\u4ef6 \u7136\u540e,\u65b0\u5efa\u5361\u7247,\u9009\u62e9\u81ea\u5b9a\u4e49WebRTC\u5361\u7247,\u5982\u679c\u6ca1\u6709\u8fd9\u4e2a\u7ec4\u4ef6,\u5219\u9700\u8981\u5237\u65b0\u51e0\u6b21,\u5c31\u80fd\u770b\u5230\u8fd9\u4e2a\u7ec4\u4ef6. \u6211\u6837\u5728\u5361\u7247\u8bbe\u7f6e\u4e2d\u8f93\u5165url\u7684\u89c6\u9891\u6d41\u5730\u5740 type: custom:webrtc-camera url: \"rtsp://admin:Camera_data2018@192.168.50.131:554/stream2\"","title":"\u5b89\u88c5WebRTC Camera"},{"location":"Usages/initConfig/initConfig/#motioneye","text":"motionEye \u662f\u4e00\u4e2a\u6d41\u884c\u7684\u6444\u50cf\u5934\u8f6f\u4ef6\uff08\u79f0\u4e3a motion\uff09\u7684\u524d\u7aef\u3002\u672c\u63d2\u4ef6\u540c\u65f6\u63d0\u4f9b\u4e86\u524d\u7aef\u548c\u6444\u50cf\u5934\u8f6f\u4ef6\uff0c\u8ba9\u60a8\u53ef\u4ee5\u5c06\u6444\u50cf\u5934\u6dfb\u52a0\u5230 Hass.io \uff08Home Assistant\uff09\u7cfb\u7edf\u4e2d\u3002 motionEye \u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u95ed\u8def\u7535\u89c6\uff08CCTV\uff09\u548c\u7f51\u7edc\u89c6\u9891\u5f55\u50cf\u673a\uff08NVR\uff09\uff0c\u5b83\u8bbe\u8ba1\u4f18\u96c5\u4e14\u975e\u5e38\u6613\u4e8e\u4f7f\u7528\u3002\u5b83\u53ef\u4ee5\u7528\u4f5c\u5a74\u513f\u76d1\u89c6\u5668\u3001\u5efa\u7b51\u5de5\u5730\u76d1\u63a7\u3001\u5546\u5e97\u6444\u50cf\u5934\u5f55\u50cf\u673a\u3001\u82b1\u56ed\u5b89\u9632\u7b49\u3002","title":"\u5b89\u88c5motionEye"},{"location":"Usages/initConfig/initConfig/#motioneye_1","text":"\u652f\u6301\u5927\u91cf\u6444\u50cf\u5934\uff0c\u5305\u62ec IP \u6444\u50cf\u5934\u3002 \u53ef\u4ee5\u901a\u8fc7\u5c06\u591a\u4e2a motionEye \u5b9e\u4f8b\u8fde\u63a5\u5728\u4e00\u8d77\u6dfb\u52a0\u591a\u4e2a\u6444\u50cf\u5934\u3002\u4f8b\u5982\uff0c\u53ef\u4ee5\u5728\u7f51\u7edc\u4e2d\u4f7f\u7528\u8fd0\u884c MotionEyeOS \u7684 Pi Zero \u548c Pi \u6444\u50cf\u5934\u3002 \u652f\u6301\u5c06\u5f55\u50cf\u4e0a\u4f20\u5230 Google Drive \u548c Dropbox\u3002 \u652f\u6301\u8fd0\u52a8\u68c0\u6d4b\uff0c\u5305\u62ec\u90ae\u4ef6\u901a\u77e5\u548c\u8ba1\u5212\u4efb\u52a1\u3002 \u53ef\u4ee5\u8fde\u7eed\u5f55\u50cf\u3001\u8fd0\u52a8\u5f55\u50cf\u6216\u5ef6\u65f6\u5f55\u50cf\uff0c\u5e76\u652f\u6301\u4fdd\u7559\u8bbe\u7f6e\u3002 \u652f\u6301\u914d\u7f6e\u4e2d\u7684\u201c\u64cd\u4f5c\u6309\u94ae\u201d\u3002","title":"motionEye \u7684\u4e00\u4e9b\u7279\u70b9\uff1a"},{"location":"Usages/initConfig/initConfig/#_8","text":"\u5728\u8bbe\u7f6e-\u52a0\u8f7d\u9879\u4e2d,\u641c\u7d22\"motionEye\", \u70b9\u51fb\u67e5\u770b\u8be6\u60c5\u9875,\u5e76\u5b89\u88c5 motioneye\u9ed8\u8ba4\u7684\u7528\u6237\u540d\u4e3aadmin,\u5bc6\u7801\u4e3a\u7a7a.","title":"\u5b89\u88c5\u65b9\u6cd5"},{"location":"Usages/initConfig/installHacs/","text":"","title":"installHacs"},{"location":"Usages/netconfig/netconfig/","text":"\u914d\u7f6e\u7f51\u7edc \u00b6 \u516c\u53f8\u4f7f\u7528\u7684X86\u5c0f\u5de5\u63a7\u673a,\u5927\u591a\u6709\u591a\u4e2a\u7f51\u5361,\u4e00\u822c\u4e00\u4e2a\u65e0\u7ebf\u7f51\u5361,\u4e24\u4e2a\u6709\u7ebf\u7f51\u5361.\u591a\u6570\u60c5\u51b5\u4e0b,\u6211\u4eec\u53ef\u80fd\u662f\u4f7f\u7528\u7684WIFI\u7f51\u7edc\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\uff0c\u6709\u65f6\u4e3a\u4e86HA\u63d0\u4f9b\u7684\u670d\u52a1\u6298\u7a33\u5b9a\u6027\uff0c\u6211\u4eec\u5c3d\u91cf\u4f7f\u7528LAN\u7ebf\u7f51\u7edc\uff0c\u907f\u514d\u65e0\u7ebf\u7f51\u4fe1\u53f7\u8d28\u91cf\u7684\u95ee\u9898\u3002\u6240\u4ee5\u5c31\u6d89\u53ca\u5230\u914d\u7f51\u7684\u95ee\u9898\u3002 HomeAssistant\u7684\u7f51\u7edc\u914d\u7f6e,\u5728\u7cfb\u7edf\u6ca1\u6709\u5b89\u88c5\u6210\u529f\u4e4b\u524d,\u4e0d\u80fd\u901a\u8fc7web\u8fdb\u5165\u7f51\u9875\u754c\u9762\u65f6,\u914d\u7f6e\u7f51\u7edc\u53ea\u80fd\u901a\u8fc7\u81ea\u5e26\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4\u6765\u8fdb\u884c. \u719f\u6089\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4 \u00b6 HomeAssistant Cli \u63d0\u4f9b\u4e86\u9ed8\u4fe1\u6298network\u914d\u7f6e\u547d\u4ee4\u5982\u4e0b: ha netWork Useage: ha network [command] Examples: ha network info ha network interface options Available Commands: info Shows information about the host network reload Reload Network information the host scan Scan for Access Points on a wireless interface. update Update settings of a network interface vlan Create a new VLAN on an ethernet interface Flags: -h, --help help for network Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is'supervisor') --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API Use \"ha network [command] --help\" for more information about a command. \u8fd9\u4e2aha network\u547d\u4ee4,\u5927\u7ea6\u5982\u4e0b\u51e0\u4e2a\u529f\u80fd info \u663e\u793a\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f reload \u91cd\u65b0\u52a0\u8f7d\u7f51\u7edc scan \u626b\u63cf\u7f51\u7edc update \u914d\u7f6e\u7f51\u7edc \u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u65f6,\u53ef\u4ee5\u4f7f\u7528\u5176\u7b80\u5199,\u6bd4\u5982\u7701\u53bb\u524d\u9762\u7684ha,\u8fd8\u53ef\u4ee5\u7701\u53bb\u540e\u9762\u7684work \u6bd4\u5982,\u6211\u4eec\u60f3\u67e5\u770b\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f,\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c net info \u8fd9\u6761\u547d\u4ee4\u5c31\u4f1a\u628a\u6240\u6709\u7684\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\u5168\u90e8\u663e\u793a\u51fa\u6765,\u53ea\u662f\u5982\u679c\u7f51\u5361\u8f83\u591a,\u6211\u4eec\u6ca1\u6709\u6cd5\u5728\u4e00\u5c4f\u5168\u90e8\u9605\u8bfb\u5b8c,\u6240\u4ee5\u8fd9\u5c31\u5f15\u53d1\u53e6\u4e00\u4e2a\u95ee\u9898.netwrok\u6240\u6709\u7684\u5b50\u547d\u4ee4,\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u6216\u5fc5\u987b\u8ddf\u7740\u64cd\u4f5c\u5bf9\u50cf\u6765\u8fdb\u884c\u7684,\u5177\u4f53\u7684\u5c31\u662f,\u64cd\u4f5c\u6216\u663e\u793a\u54ea\u4e2a\u7f51\u5361\u63a5\u53e3.\u4e00\u822c\u60c5\u51b5\u4e0b\u662f\u5982\u4e0b\u578b\u5f0f net [command] [interface] \u5373 net [\u5b50\u547d\u4ee4] [\u7f51\u5361\u540d\u79f0] \u90a3\u4e48\u5982\u4f55\u67e5\u770b\u7f51\u5361\u540d\u79f0\u5462,\u5728haos \u7684cli\u63a7\u5236\u53f0\u754c\u9762,\u4efb\u610f\u65f6\u95f4,\u540c\u65f6\u6309\u4e0b ctrl+c \u540e,ha\u7684\u754c\u9762\u8fd4\u56de\u5230\u5f85\u673a\u754c\u9762,\u5982\u4e0b\u56fe\u6240\u793a. \u56fe\u4e2d\u5171\u663e\u793a\u4e86\u4e09\u4e2a\u7f51\u5361\u63a5\u53e3: wlp3s0 \u8fd9\u4e2a\u662f\u65e0\u7ebf\u7f51\u5361\u63a5\u53e3\u7684\u540d\u79f0,\u4e00\u822c\u60c5\u51b5\u4e0bw\u5b57\u7b26\u6253\u5934\u7684\u6211\u4e3a\u65e0\u7ebf\u7f51\u5361 enp2s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA1,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 enp4s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA2,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 \u67e5\u770b\u5230\u4e86\u8fd9\u4e09\u4e2a\u7f51\u5361\u540d\u79f0,\u6211\u4eec\u5c31\u53ef\u4ee5\u5bf9\u7f51\u5361\u8fdb\u884c\u67e5\u770b\u4fe1\u606f\u914d\u7f6e\u7b49. \u5bf9\u6709\u521d\u88c5\u7684HAOS\u8fd8\u6709\u51c6\u5907\u8fdb\u884cUdate\u7684\u5c0f\u4e3b\u673a,\u6700\u597d,\u5c31\u662f\u5728\u8def\u7531\u5668\u7aef \u9ed8\u8ba4\u63d0\u4f9b\u79d1\u5b66\u4e0a\u7f51 ,\u5426\u5219\u5728\u65b0\u5b89\u88c5\u6298\u521d\u59cb\u5316\u90a3\u91cc\u5c31\u4f1a\u88ab\u6c38\u8fdc\u5361\u4f4f,\u65e0\u6cd5\u5b89\u88c5\u6210\u529f,\u5982\u679c\u662f\u81ea\u52a8\u66f4\u65b0,\u90a3\u4e48\u5c06\u4f1a\u66f4\u65b0\u5931\u8d25. \u914d\u7f6e\u7f51\u7edc \u00b6 \u4e00\u822c\u60c5\u51b5\u4e0b,\u5bf9\u4e8eenp2s0,enp4s0,\u5982\u679c\u8def\u7531\u5668\u7aef\u63d0\u4f9b\u4e86\u81ea\u52a8\u83b7\u53d6IP\u5730\u5740\u529f\u80fd\uff0c\u5219\u65e0\u9700\u914d\u7f6e\uff0c\u7f51\u7ebf\u63d2\u5165\u5373\u53ef\u4f7f\u7528\u3002 \u4f46\u662f\u5bf9\u4e8e\u6bd4\u8f83\u590d\u6742\u7684\u7f51\u7edc\u5219\u9700\u8981\u914d\u7f6e\uff0c\u540c\u6837\uff0c\u5982\u679c\u60f3\u4f7f\u7528wifi\u7f51\u7edc,\u4e5f\u9700\u8981\u914d\u7f6e . \u914d\u7f6e\u7f51\u7edc\u7684\u547d\u4ee4\u5982\u4e0b: ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled Disable interface -h, --help help for update --ipv4-address stringArray IPv4 address for the interface in the 192.168.1.5/24 --ipv4-gateway string The IPv4 gateway the interface should use --ipv4-method string Method on IPv4: static|auto|disabled --ipv4-nameserver stringArray IPv4 address of upstream DNS servers. Use multiple times for multiple servers. --ipv6-address stringArray IPv6 address for the interface in the 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string The IPv6 gateway the interface should use --ipv6-method string Method on IPv6: static|auto|disabled --ipv6-nameserver stringArray IPv6 address for upstream DNS servers. Use multiple times for multiple servers. --wifi-auth string Used authentication: open, wep, wpa-psk --wifi-mode string Wifi mode: infrastructure, adhoc, mesh or ap --wifi-psk string Shared authentication key for wep or wpa --wifi-ssid string SSID for wifi connection Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is `supervisor`) --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API \u8fd9\u6761\u547d\u4ee4ha network update [interface] [flags],\u63d0\u4f9b\u4e86\u5f88\u591a\u529f\u80fd,\u5b83\u53ef\u4ee5\u914d\u7f6ewif\u7f51\u7edc,\u53ef\u4ee5\u5bf9\u6307\u5b9a\u7684\u7f51\u5361\u914d\u7f6eip4/6\u7684IP\u5730\u5740\uff0c\u7f51\u5173\uff0c\u662f\u5426\u542f\u7528\u7b49.\u56e0\u6b64\u53ef\u4ee5\u5728\u5b9e\u9645\u5de5\u4f5c\u4e2d\u7075\u6d3b\u4f7f\u7528. \u5177\u4f53\u7528\u6cd5\u7b80\u8bd1\u5982\u4e0b ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled \u7981\u7528\u63a5\u53e3 -h, --help \u663e\u793a\u66f4\u65b0\u7684\u5e2e\u52a9\u4fe1\u606f --ipv4-address stringArray \u63a5\u53e3\u7684 IPv4 \u5730\u5740\uff0c\u4f8b\u5982 192.168.1.5/24 --ipv4-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv4 \u7f51\u5173 --ipv4-method string IPv4 \u65b9\u6cd5: static|auto|disabled --ipv4-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv4 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --ipv6-address stringArray \u63a5\u53e3\u7684 IPv6 \u5730\u5740\uff0c\u4f8b\u5982 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv6 \u7f51\u5173 --ipv6-method string IPv6 \u65b9\u6cd5: static|auto|disabled --ipv6-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv6 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --wifi-auth string \u4f7f\u7528\u7684\u8ba4\u8bc1\u65b9\u5f0f: open, wep, wpa-psk --wifi-mode string WiFi \u6a21\u5f0f: infrastructure, adhoc, mesh \u6216 ap --wifi-psk string WEP \u6216 WPA \u7684\u5171\u4eab\u8ba4\u8bc1\u5bc6\u94a5 --wifi-ssid string WiFi \u8fde\u63a5\u7684 SSID Global Flags: --api-token string Home Assistant Supervisor API \u4ee4\u724c --config string \u53ef\u9009\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff08\u9ed8\u8ba4\u503c\u4e3a $HOME/.homeassistant.yaml\uff09 --endpoint string Home Assistant Supervisor \u7684\u7aef\u70b9\uff08\u9ed8\u8ba4\u503c\u4e3a `supervisor`\uff09 --log-level string \u65e5\u5fd7\u7ea7\u522b\uff08\u9ed8\u8ba4\u503c\u4e3a Warn\uff09 --no-progress \u7981\u7528\u8fdb\u5ea6\u6761 --raw-json \u4ee5\u539f\u59cb JSON \u683c\u5f0f\u8f93\u51fa API \u6570\u636e FATA[0000] Error while executing rootCmd: accepts 1 arg(s), received 0 \u4e0b\u9762,\u6211\u4eec\u5c31\u4ee5\u914d\u7f6ewifi\u8054\u63a5\u5230\u7f51\u7edc\u4e3a\u4f8b\u8bf4\u660e\u4e00\u4e0b: \u6bd4\u5982\u6211\u4eec\u9ed8\u8ba4\u7684WIFI\u70ed\u70b9\u5982\u4e0b: wifi info: ssid:DT_IoT_GateWay passWord:HnczjTyrb0 \u90a3\u6839\u636e\u6211\u4eec\u4e0a\u6587\u67e5\u770b\u5230\u7684\u65e0\u7ebf\u7f51\u5361\u7684\u540d\u79f0: wlp3s0 \u6211\u4eec\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u547d\u4ee4,\u6765\u8ba9haos\u5c0f\u5de5\u63a7\u673a\u8054\u4e0awifi\u7f51\u7edc: ha network update wlp3s0 --wifi-auth wpa-psk --wifi-psk \"HmczjTYrb0\" --wifi-mode infrastructure --wifi-ssid \"DT_IoT_GateWay\" --ipv4-method auto --ipv6-method disabled \u8fd9\u6761\u547d\u4ee4\u89e3\u91ca\u5982\u4e0b: \u6307\u5b9awifi\u7684\u5bc6\u7801\u65b9\u5f0f\u4e3a:wpa-psk (--wifi-auth wpa-psk). \u6307\u5b9awif\u7684\u5bc6\u7801\u4e3a:HnczjTyrb0 (--wifi-psk \"HmczjYrb0\"). \u6307\u5b9a\u7f51\u5361\u63a5\u53e3\u6a21\u5f0f\u4e3a:infrastructure \u5373\u5e38\u89c4\u6a21\u5f0f (--wifi-mode infrastructure). \u6307\u5b9a\u8981\u8054\u63a5\u7684\u7f51\u7edcSSID:DT_IoT_GateWay (--wifi-ssid \"DT_IoT_GateWay\"). \u6307\u5b9aIP\u5730\u5740\u83b7\u53d6\u65b9\u5f0f\uff08\u9759\u6001\u3001\u81ea\u52a8\u3001\u7981\u7528\uff09\uff1a\u81ea\u52a8 ( --ipv4-method auto). \u6307\u5b9a\u662f\u5426\u7981\u7528IpV6:\u7981\u7528 (--ipv6-method disabled) \u5982\u4e0b\u56fe\u6240\u793a,\u6211\u4eec\u6210\u529f\u7684\u4f7f\u7528\u8fd9\u6761\u6307\u4ee4,\u914d\u7f6e\u597d\u4e86wifi\u7f51\u7edc: \u5982\u4e0b\u6240\u793a,\u914d\u7f51\u6210\u529f\u540e,\u8def\u7531\u5668\u5df2\u81ea\u52a8\u4e3a\u5176\u5206\u914d\u597d\u4e86ip\u5730\u5740: \u6b64\u65f6,\u6211\u4eec\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u7f51\u5740 http://192.168.3.2:8123 \u5373\u53ef\u8fdb\u5165haos\u7684web\u9875\u9762. \u4e0b\u56fe\u662f\u65e0\u7ebf\u7f51\u5361\u4e0e\u6709\u7ebf\u7f51\u5361\u540c\u65f6\u542f\u7528\u7684\u60c5\u51b5,\u53ef\u4ee5\u770b\u5230,\u4e24\u4e2a\u7f51\u5361\u90fd\u88ab\u6b63\u786e\u7684\u5206\u914d\u5230\u4e86IP\u5730\u5740\uff1a \u5728\u7cfb\u7edf\u5b89\u88c5\u597d\u521d\u59cb\u5316\u5b8c\u6210\u540e\u914d\u7f6e\u7f51\u7edc \u00b6 \u7cfb\u7edf\u521d\u59cb\u5316\u5b8c\u6210\u540e,\u4ecd\u7136\u53ef\u4ee5\u8c03\u6574\u914d\u7f6e\u7f51\u7edc, \u8bbe\u7f6e-\u7cfb\u7edf-\u7f51\u7edc \u4e2d\u914d\u7f6e\u7f51\u7edc\u63a5\u53e3\u53ef\u4ee5\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e \u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u7684\u4e09\u5757\u7f51\u5361,wlp3s0,enp2s0,enp4s0,\u53ef\u5728\u6b64\u5904\u914d\u7f6e,\u6bcf\u4e2a\u7f51\u5361\u7684IP\uff0c\u5b50\u7f51\uff0c\u7f51\u5173\uff0cDNS\u7b49\uff0c\u4e5f\u53ef\u4ee5\u914d\u7f6ewi-fi\u70ed\u70b9.","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_1","text":"\u516c\u53f8\u4f7f\u7528\u7684X86\u5c0f\u5de5\u63a7\u673a,\u5927\u591a\u6709\u591a\u4e2a\u7f51\u5361,\u4e00\u822c\u4e00\u4e2a\u65e0\u7ebf\u7f51\u5361,\u4e24\u4e2a\u6709\u7ebf\u7f51\u5361.\u591a\u6570\u60c5\u51b5\u4e0b,\u6211\u4eec\u53ef\u80fd\u662f\u4f7f\u7528\u7684WIFI\u7f51\u7edc\uff0c\u8fd9\u6837\u6bd4\u8f83\u65b9\u4fbf\uff0c\u6709\u65f6\u4e3a\u4e86HA\u63d0\u4f9b\u7684\u670d\u52a1\u6298\u7a33\u5b9a\u6027\uff0c\u6211\u4eec\u5c3d\u91cf\u4f7f\u7528LAN\u7ebf\u7f51\u7edc\uff0c\u907f\u514d\u65e0\u7ebf\u7f51\u4fe1\u53f7\u8d28\u91cf\u7684\u95ee\u9898\u3002\u6240\u4ee5\u5c31\u6d89\u53ca\u5230\u914d\u7f51\u7684\u95ee\u9898\u3002 HomeAssistant\u7684\u7f51\u7edc\u914d\u7f6e,\u5728\u7cfb\u7edf\u6ca1\u6709\u5b89\u88c5\u6210\u529f\u4e4b\u524d,\u4e0d\u80fd\u901a\u8fc7web\u8fdb\u5165\u7f51\u9875\u754c\u9762\u65f6,\u914d\u7f6e\u7f51\u7edc\u53ea\u80fd\u901a\u8fc7\u81ea\u5e26\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4\u6765\u8fdb\u884c.","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_2","text":"HomeAssistant Cli \u63d0\u4f9b\u4e86\u9ed8\u4fe1\u6298network\u914d\u7f6e\u547d\u4ee4\u5982\u4e0b: ha netWork Useage: ha network [command] Examples: ha network info ha network interface options Available Commands: info Shows information about the host network reload Reload Network information the host scan Scan for Access Points on a wireless interface. update Update settings of a network interface vlan Create a new VLAN on an ethernet interface Flags: -h, --help help for network Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is'supervisor') --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API Use \"ha network [command] --help\" for more information about a command. \u8fd9\u4e2aha network\u547d\u4ee4,\u5927\u7ea6\u5982\u4e0b\u51e0\u4e2a\u529f\u80fd info \u663e\u793a\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f reload \u91cd\u65b0\u52a0\u8f7d\u7f51\u7edc scan \u626b\u63cf\u7f51\u7edc update \u914d\u7f6e\u7f51\u7edc \u6211\u4eec\u5728\u4f7f\u7528\u8fd9\u4e2a\u547d\u4ee4\u65f6,\u53ef\u4ee5\u4f7f\u7528\u5176\u7b80\u5199,\u6bd4\u5982\u7701\u53bb\u524d\u9762\u7684ha,\u8fd8\u53ef\u4ee5\u7701\u53bb\u540e\u9762\u7684work \u6bd4\u5982,\u6211\u4eec\u60f3\u67e5\u770b\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f,\u53ef\u4ee5\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u8fdb\u884c net info \u8fd9\u6761\u547d\u4ee4\u5c31\u4f1a\u628a\u6240\u6709\u7684\u7f51\u7edc\u914d\u7f6e\u4fe1\u606f\u5168\u90e8\u663e\u793a\u51fa\u6765,\u53ea\u662f\u5982\u679c\u7f51\u5361\u8f83\u591a,\u6211\u4eec\u6ca1\u6709\u6cd5\u5728\u4e00\u5c4f\u5168\u90e8\u9605\u8bfb\u5b8c,\u6240\u4ee5\u8fd9\u5c31\u5f15\u53d1\u53e6\u4e00\u4e2a\u95ee\u9898.netwrok\u6240\u6709\u7684\u5b50\u547d\u4ee4,\u540e\u9762\u90fd\u662f\u53ef\u4ee5\u6216\u5fc5\u987b\u8ddf\u7740\u64cd\u4f5c\u5bf9\u50cf\u6765\u8fdb\u884c\u7684,\u5177\u4f53\u7684\u5c31\u662f,\u64cd\u4f5c\u6216\u663e\u793a\u54ea\u4e2a\u7f51\u5361\u63a5\u53e3.\u4e00\u822c\u60c5\u51b5\u4e0b\u662f\u5982\u4e0b\u578b\u5f0f net [command] [interface] \u5373 net [\u5b50\u547d\u4ee4] [\u7f51\u5361\u540d\u79f0] \u90a3\u4e48\u5982\u4f55\u67e5\u770b\u7f51\u5361\u540d\u79f0\u5462,\u5728haos \u7684cli\u63a7\u5236\u53f0\u754c\u9762,\u4efb\u610f\u65f6\u95f4,\u540c\u65f6\u6309\u4e0b ctrl+c \u540e,ha\u7684\u754c\u9762\u8fd4\u56de\u5230\u5f85\u673a\u754c\u9762,\u5982\u4e0b\u56fe\u6240\u793a. \u56fe\u4e2d\u5171\u663e\u793a\u4e86\u4e09\u4e2a\u7f51\u5361\u63a5\u53e3: wlp3s0 \u8fd9\u4e2a\u662f\u65e0\u7ebf\u7f51\u5361\u63a5\u53e3\u7684\u540d\u79f0,\u4e00\u822c\u60c5\u51b5\u4e0bw\u5b57\u7b26\u6253\u5934\u7684\u6211\u4e3a\u65e0\u7ebf\u7f51\u5361 enp2s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA1,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 enp4s0 \u8fd9\u4e2a\u5bf9\u5e94\u5c0f\u4e3b\u673a\u4e0a\u5c31\u662fLNA2,\u6709\u7ebf\u7f51\u53611\u7684\u540d\u79f0 \u67e5\u770b\u5230\u4e86\u8fd9\u4e09\u4e2a\u7f51\u5361\u540d\u79f0,\u6211\u4eec\u5c31\u53ef\u4ee5\u5bf9\u7f51\u5361\u8fdb\u884c\u67e5\u770b\u4fe1\u606f\u914d\u7f6e\u7b49. \u5bf9\u6709\u521d\u88c5\u7684HAOS\u8fd8\u6709\u51c6\u5907\u8fdb\u884cUdate\u7684\u5c0f\u4e3b\u673a,\u6700\u597d,\u5c31\u662f\u5728\u8def\u7531\u5668\u7aef \u9ed8\u8ba4\u63d0\u4f9b\u79d1\u5b66\u4e0a\u7f51 ,\u5426\u5219\u5728\u65b0\u5b89\u88c5\u6298\u521d\u59cb\u5316\u90a3\u91cc\u5c31\u4f1a\u88ab\u6c38\u8fdc\u5361\u4f4f,\u65e0\u6cd5\u5b89\u88c5\u6210\u529f,\u5982\u679c\u662f\u81ea\u52a8\u66f4\u65b0,\u90a3\u4e48\u5c06\u4f1a\u66f4\u65b0\u5931\u8d25.","title":"\u719f\u6089\u7f51\u7edc\u914d\u7f6e\u547d\u4ee4"},{"location":"Usages/netconfig/netconfig/#_3","text":"\u4e00\u822c\u60c5\u51b5\u4e0b,\u5bf9\u4e8eenp2s0,enp4s0,\u5982\u679c\u8def\u7531\u5668\u7aef\u63d0\u4f9b\u4e86\u81ea\u52a8\u83b7\u53d6IP\u5730\u5740\u529f\u80fd\uff0c\u5219\u65e0\u9700\u914d\u7f6e\uff0c\u7f51\u7ebf\u63d2\u5165\u5373\u53ef\u4f7f\u7528\u3002 \u4f46\u662f\u5bf9\u4e8e\u6bd4\u8f83\u590d\u6742\u7684\u7f51\u7edc\u5219\u9700\u8981\u914d\u7f6e\uff0c\u540c\u6837\uff0c\u5982\u679c\u60f3\u4f7f\u7528wifi\u7f51\u7edc,\u4e5f\u9700\u8981\u914d\u7f6e . \u914d\u7f6e\u7f51\u7edc\u7684\u547d\u4ee4\u5982\u4e0b: ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled Disable interface -h, --help help for update --ipv4-address stringArray IPv4 address for the interface in the 192.168.1.5/24 --ipv4-gateway string The IPv4 gateway the interface should use --ipv4-method string Method on IPv4: static|auto|disabled --ipv4-nameserver stringArray IPv4 address of upstream DNS servers. Use multiple times for multiple servers. --ipv6-address stringArray IPv6 address for the interface in the 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string The IPv6 gateway the interface should use --ipv6-method string Method on IPv6: static|auto|disabled --ipv6-nameserver stringArray IPv6 address for upstream DNS servers. Use multiple times for multiple servers. --wifi-auth string Used authentication: open, wep, wpa-psk --wifi-mode string Wifi mode: infrastructure, adhoc, mesh or ap --wifi-psk string Shared authentication key for wep or wpa --wifi-ssid string SSID for wifi connection Global Flags: --api-token string Home Assistant Supervisor API token --config string Optional config file (default is $HOME/.homeassistant.yaml) --endpoint string Endpoint for Home Assistant Supervisor (default is `supervisor`) --log-level string Log level (defaults to Warn) --no-progress Disable the progress spinner --raw-json Output raw JSON from the API \u8fd9\u6761\u547d\u4ee4ha network update [interface] [flags],\u63d0\u4f9b\u4e86\u5f88\u591a\u529f\u80fd,\u5b83\u53ef\u4ee5\u914d\u7f6ewif\u7f51\u7edc,\u53ef\u4ee5\u5bf9\u6307\u5b9a\u7684\u7f51\u5361\u914d\u7f6eip4/6\u7684IP\u5730\u5740\uff0c\u7f51\u5173\uff0c\u662f\u5426\u542f\u7528\u7b49.\u56e0\u6b64\u53ef\u4ee5\u5728\u5b9e\u9645\u5de5\u4f5c\u4e2d\u7075\u6d3b\u4f7f\u7528. \u5177\u4f53\u7528\u6cd5\u7b80\u8bd1\u5982\u4e0b ha > net update Usage: ha network update [interface] [flags] Aliases: update, set, up Examples: ha network update eth0 --ipv4-method auto --ipv6-method disabled Flags: -e, --disabled \u7981\u7528\u63a5\u53e3 -h, --help \u663e\u793a\u66f4\u65b0\u7684\u5e2e\u52a9\u4fe1\u606f --ipv4-address stringArray \u63a5\u53e3\u7684 IPv4 \u5730\u5740\uff0c\u4f8b\u5982 192.168.1.5/24 --ipv4-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv4 \u7f51\u5173 --ipv4-method string IPv4 \u65b9\u6cd5: static|auto|disabled --ipv4-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv4 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --ipv6-address stringArray \u63a5\u53e3\u7684 IPv6 \u5730\u5740\uff0c\u4f8b\u5982 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 --ipv6-gateway string \u63a5\u53e3\u4f7f\u7528\u7684 IPv6 \u7f51\u5173 --ipv6-method string IPv6 \u65b9\u6cd5: static|auto|disabled --ipv6-nameserver stringArray \u4e0a\u6e38 DNS \u670d\u52a1\u5668\u7684 IPv6 \u5730\u5740\uff0c\u53ef\u591a\u6b21\u4f7f\u7528\u4ee5\u6307\u5b9a\u591a\u4e2a\u670d\u52a1\u5668 --wifi-auth string \u4f7f\u7528\u7684\u8ba4\u8bc1\u65b9\u5f0f: open, wep, wpa-psk --wifi-mode string WiFi \u6a21\u5f0f: infrastructure, adhoc, mesh \u6216 ap --wifi-psk string WEP \u6216 WPA \u7684\u5171\u4eab\u8ba4\u8bc1\u5bc6\u94a5 --wifi-ssid string WiFi \u8fde\u63a5\u7684 SSID Global Flags: --api-token string Home Assistant Supervisor API \u4ee4\u724c --config string \u53ef\u9009\u7684\u914d\u7f6e\u6587\u4ef6\u8def\u5f84\uff08\u9ed8\u8ba4\u503c\u4e3a $HOME/.homeassistant.yaml\uff09 --endpoint string Home Assistant Supervisor \u7684\u7aef\u70b9\uff08\u9ed8\u8ba4\u503c\u4e3a `supervisor`\uff09 --log-level string \u65e5\u5fd7\u7ea7\u522b\uff08\u9ed8\u8ba4\u503c\u4e3a Warn\uff09 --no-progress \u7981\u7528\u8fdb\u5ea6\u6761 --raw-json \u4ee5\u539f\u59cb JSON \u683c\u5f0f\u8f93\u51fa API \u6570\u636e FATA[0000] Error while executing rootCmd: accepts 1 arg(s), received 0 \u4e0b\u9762,\u6211\u4eec\u5c31\u4ee5\u914d\u7f6ewifi\u8054\u63a5\u5230\u7f51\u7edc\u4e3a\u4f8b\u8bf4\u660e\u4e00\u4e0b: \u6bd4\u5982\u6211\u4eec\u9ed8\u8ba4\u7684WIFI\u70ed\u70b9\u5982\u4e0b: wifi info: ssid:DT_IoT_GateWay passWord:HnczjTyrb0 \u90a3\u6839\u636e\u6211\u4eec\u4e0a\u6587\u67e5\u770b\u5230\u7684\u65e0\u7ebf\u7f51\u5361\u7684\u540d\u79f0: wlp3s0 \u6211\u4eec\u4f7f\u7528\u5982\u4e0b\u914d\u7f6e\u547d\u4ee4,\u6765\u8ba9haos\u5c0f\u5de5\u63a7\u673a\u8054\u4e0awifi\u7f51\u7edc: ha network update wlp3s0 --wifi-auth wpa-psk --wifi-psk \"HmczjTYrb0\" --wifi-mode infrastructure --wifi-ssid \"DT_IoT_GateWay\" --ipv4-method auto --ipv6-method disabled \u8fd9\u6761\u547d\u4ee4\u89e3\u91ca\u5982\u4e0b: \u6307\u5b9awifi\u7684\u5bc6\u7801\u65b9\u5f0f\u4e3a:wpa-psk (--wifi-auth wpa-psk). \u6307\u5b9awif\u7684\u5bc6\u7801\u4e3a:HnczjTyrb0 (--wifi-psk \"HmczjYrb0\"). \u6307\u5b9a\u7f51\u5361\u63a5\u53e3\u6a21\u5f0f\u4e3a:infrastructure \u5373\u5e38\u89c4\u6a21\u5f0f (--wifi-mode infrastructure). \u6307\u5b9a\u8981\u8054\u63a5\u7684\u7f51\u7edcSSID:DT_IoT_GateWay (--wifi-ssid \"DT_IoT_GateWay\"). \u6307\u5b9aIP\u5730\u5740\u83b7\u53d6\u65b9\u5f0f\uff08\u9759\u6001\u3001\u81ea\u52a8\u3001\u7981\u7528\uff09\uff1a\u81ea\u52a8 ( --ipv4-method auto). \u6307\u5b9a\u662f\u5426\u7981\u7528IpV6:\u7981\u7528 (--ipv6-method disabled) \u5982\u4e0b\u56fe\u6240\u793a,\u6211\u4eec\u6210\u529f\u7684\u4f7f\u7528\u8fd9\u6761\u6307\u4ee4,\u914d\u7f6e\u597d\u4e86wifi\u7f51\u7edc: \u5982\u4e0b\u6240\u793a,\u914d\u7f51\u6210\u529f\u540e,\u8def\u7531\u5668\u5df2\u81ea\u52a8\u4e3a\u5176\u5206\u914d\u597d\u4e86ip\u5730\u5740: \u6b64\u65f6,\u6211\u4eec\u5728\u6d4f\u89c8\u5668\u4e2d\u8f93\u5165\u7f51\u5740 http://192.168.3.2:8123 \u5373\u53ef\u8fdb\u5165haos\u7684web\u9875\u9762. \u4e0b\u56fe\u662f\u65e0\u7ebf\u7f51\u5361\u4e0e\u6709\u7ebf\u7f51\u5361\u540c\u65f6\u542f\u7528\u7684\u60c5\u51b5,\u53ef\u4ee5\u770b\u5230,\u4e24\u4e2a\u7f51\u5361\u90fd\u88ab\u6b63\u786e\u7684\u5206\u914d\u5230\u4e86IP\u5730\u5740\uff1a","title":"\u914d\u7f6e\u7f51\u7edc"},{"location":"Usages/netconfig/netconfig/#_4","text":"\u7cfb\u7edf\u521d\u59cb\u5316\u5b8c\u6210\u540e,\u4ecd\u7136\u53ef\u4ee5\u8c03\u6574\u914d\u7f6e\u7f51\u7edc, \u8bbe\u7f6e-\u7cfb\u7edf-\u7f51\u7edc \u4e2d\u914d\u7f6e\u7f51\u7edc\u63a5\u53e3\u53ef\u4ee5\u8fdb\u884c\u7f51\u7edc\u914d\u7f6e \u5728\u8fd9\u91cc\u4f60\u53ef\u4ee5\u770b\u5230\u6211\u4eec\u7684\u4e09\u5757\u7f51\u5361,wlp3s0,enp2s0,enp4s0,\u53ef\u5728\u6b64\u5904\u914d\u7f6e,\u6bcf\u4e2a\u7f51\u5361\u7684IP\uff0c\u5b50\u7f51\uff0c\u7f51\u5173\uff0cDNS\u7b49\uff0c\u4e5f\u53ef\u4ee5\u914d\u7f6ewi-fi\u70ed\u70b9.","title":"\u5728\u7cfb\u7edf\u5b89\u88c5\u597d\u521d\u59cb\u5316\u5b8c\u6210\u540e\u914d\u7f6e\u7f51\u7edc"},{"location":"install-guide/BackupAndRestore/","text":"\u7cfb\u7edf\u7684\u5907\u4efd\u4e0e\u8fd8\u539f(\u786c\u76d8) \u00b6 HomeAssistant \u7684\u5b89\u88c5\u914d\u7f6e\u8fc7\u7a0b\u8f83\u591a,\u8017\u65f6\u8f83\u957f,\u4e3a\u6b64\u6211\u4eec\u7814\u7a76\u4e86\u4e00\u4e2a,\u5feb\u901f\u7684\u5c06\u63d0\u524d\u88c5\u597d\u7684HomeAssistant\u786c\u76d8,\u6574\u5907\u5907\u4efd\u4e0e\u6062\u590d\u7684\u529e\u6cd5. \u955c\u50cf\u6587\u4ef6\u4e0b\u8f7d \u00b6 \u955c\u50cf\u6587\u4ef6\u662f\u6211\u4eec\u63d0\u524d\u5236\u4f5c\u597d\u5e76\u5907\u4efd\u78c1\u76d8\u653e\u5230\u4e91\u7aef\u7684\uff0c\u6587\u4ef6\u8f83\u5927\uff0c\u9700\u8981\u5728\u5236\u4f5c\u597dWINpe\u7cfb\u7edf\u540e,\u4e0b\u8f7d\u5e76\u653e\u5230U\u76d8\u4e2d\u3002 \u70b9\u51fb\u6b64\u4e0b\u8f7d \u5de5\u5177\u7684\u51c6\u5907 \u00b6 \u5907\u4efd\u8fd8\u539f\u786c\u76d8\uff0c\u6211\u4eec\u5747\u662f\u5730windowsPE\u4e2d\u8fdb\u884c\u7684,\u4e3a\u6b64\u6211\u4eec\u9700\u51c6\u5907\u5982\u4e0b\u5de5\u5177: windowsPE(\u5fc5\u987b) windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u5176\u81ea\u5e26\u7684Diskgenus\u5e94\u5f53\u662f\u5df2\u7ecf\u662f\u4e13\u4e1a\u7834\u89e3\u7248\u4e86,\u53ef\u4ee5\u64cd\u4f5c\u5927\u4e8e4G\u7684\u955c\u50cf\u3002\u6240\u4ee5\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u5fc5\u518d\u53e6\u5916\u627e\u5de5\u5177\u3002\u5f53\u9009\u7b2c\u4e09\u65b9PE\uff0c\u6216\u7b2c\u4e09\u65b9PE\u5e26\u7684Diskgenus\u4e0d\u80fd\u6ee1\u8db3\u9700\u8981,\u4e0d\u80fd\u6b63\u5e38\u7684\u5907\u4efd\u4e0e\u8fd8\u539f\u955c\u50cf\u65f6,\u9700\u8981\u9009\u75282\u63d0\u4f9b\u7684\u4e13\u4e1a\u7248 ,\u5e76\u5c06\u5176\u590d\u5236\u5230U\u76d8\u4e2d\u3002 Diskgenus\u4e13\u4e1a\u7834\u89e3\u7248.(\u53ef\u9009) \u200b \u70b9\u51fb\u6b64\u5904\u4e0b\u8f7d \u7528winPE\u5f15\u5bfcU\u76d8\uff0c\u5f15\u5bfc\u7cfb\u7edf\uff0c\u8fdb\u5165PE,\u542f\u52a8SiskGenius \u5206\u533a\u52a9\u624b\u7a0b\u5e8f,\u9009\u4e2d\u8981\u64cd\u4f5c\u7684\u78c1\u76d8.\u7136\u540e,\u70b9\u51fb \u83dc\u5355 \u78c1\u76d8 \u4ece\u786c\u76d8\u955c\u50cf\u6062\u590d \u00b6 \u9009\u62e9\u201c\u4ece\u6620\u50cf\u6062\u590d\u78c1\u76d8\",\u7136\u540e\u9009\u62e9U\u76d8\u4e2d\uff0c\u63d0\u524d\u51c6\u5907\u597d\u7684*.pmfx\u6587\u4ef6,\u7136\u540e\u9009\u62e9\u76ee\u6807\u78c1\u76d8,\u8fd8\u539f\u65b9\u5f0f\u4e3a:\u8fd8\u539f\u6240\u6709\u6247\u533a,\u7136\u540e\u70b9\u51fb\u5f00\u59cb,\u7cfb\u7edf\u5c31\u4f1a\u5f00\u59cb\u8fd8\u539f. \u8fd8\u539f\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a: \u7136\u540e,\u79fb\u9664U\u76d8\uff0c\u91cd\u65b0\u542f\u52a8\uff0c\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u5907\u4efd\u6574\u4e2a\u786c\u76d8 \u00b6 \u9009\u62e9\"\u5907\u4efd\u78c1\u78c1\u76d8\u5230\u6620\\\u50cf\u6587\u4ef6\",\u5907\u4efd\u6a21\u5f0f\u4e3a:\u6240\u6709\u6247\u533a,\u9009\u62e9\u955c\u50cf\u6587\u4ef6,\u4e3a\u4e0b\u8f7d\u597d\u5e76\u63d0\u524d\u653e\u5165U\u76d8\u7684\u6269\u5c55\u540d\u4e3apmfx\u7684\u6620\u50cf\u6587\u4ef6,\u7136\u540e\u70b9\u51fb\"\u5f00\u59cb\" \u5927\u7ea6\u534a\u4e2a\u591a\u5c0f\u65f6,\u80fd\u5199\u5165\u5b8c\u6210.\u5982\u4e0b\u56fe\u6240\u793a,\u6620\u50cf\u6587\u4ef6\u5df2\u751f\u6210\u7ea6\u67095G\uff0c\u4fdd\u5b58\u5230\u5408\u9002\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u7528\u6765\u88c5\u673a\u6216\u8fd8\u539f\u7528\u3002","title":"BackupAndRestore"},{"location":"install-guide/BackupAndRestore/#_1","text":"HomeAssistant \u7684\u5b89\u88c5\u914d\u7f6e\u8fc7\u7a0b\u8f83\u591a,\u8017\u65f6\u8f83\u957f,\u4e3a\u6b64\u6211\u4eec\u7814\u7a76\u4e86\u4e00\u4e2a,\u5feb\u901f\u7684\u5c06\u63d0\u524d\u88c5\u597d\u7684HomeAssistant\u786c\u76d8,\u6574\u5907\u5907\u4efd\u4e0e\u6062\u590d\u7684\u529e\u6cd5.","title":"\u7cfb\u7edf\u7684\u5907\u4efd\u4e0e\u8fd8\u539f(\u786c\u76d8)"},{"location":"install-guide/BackupAndRestore/#_2","text":"\u955c\u50cf\u6587\u4ef6\u662f\u6211\u4eec\u63d0\u524d\u5236\u4f5c\u597d\u5e76\u5907\u4efd\u78c1\u76d8\u653e\u5230\u4e91\u7aef\u7684\uff0c\u6587\u4ef6\u8f83\u5927\uff0c\u9700\u8981\u5728\u5236\u4f5c\u597dWINpe\u7cfb\u7edf\u540e,\u4e0b\u8f7d\u5e76\u653e\u5230U\u76d8\u4e2d\u3002 \u70b9\u51fb\u6b64\u4e0b\u8f7d","title":"\u955c\u50cf\u6587\u4ef6\u4e0b\u8f7d"},{"location":"install-guide/BackupAndRestore/#_3","text":"\u5907\u4efd\u8fd8\u539f\u786c\u76d8\uff0c\u6211\u4eec\u5747\u662f\u5730windowsPE\u4e2d\u8fdb\u884c\u7684,\u4e3a\u6b64\u6211\u4eec\u9700\u51c6\u5907\u5982\u4e0b\u5de5\u5177: windowsPE(\u5fc5\u987b) windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u5176\u81ea\u5e26\u7684Diskgenus\u5e94\u5f53\u662f\u5df2\u7ecf\u662f\u4e13\u4e1a\u7834\u89e3\u7248\u4e86,\u53ef\u4ee5\u64cd\u4f5c\u5927\u4e8e4G\u7684\u955c\u50cf\u3002\u6240\u4ee5\u4e00\u822c\u60c5\u51b5\u4e0b\u4e0d\u5fc5\u518d\u53e6\u5916\u627e\u5de5\u5177\u3002\u5f53\u9009\u7b2c\u4e09\u65b9PE\uff0c\u6216\u7b2c\u4e09\u65b9PE\u5e26\u7684Diskgenus\u4e0d\u80fd\u6ee1\u8db3\u9700\u8981,\u4e0d\u80fd\u6b63\u5e38\u7684\u5907\u4efd\u4e0e\u8fd8\u539f\u955c\u50cf\u65f6,\u9700\u8981\u9009\u75282\u63d0\u4f9b\u7684\u4e13\u4e1a\u7248 ,\u5e76\u5c06\u5176\u590d\u5236\u5230U\u76d8\u4e2d\u3002 Diskgenus\u4e13\u4e1a\u7834\u89e3\u7248.(\u53ef\u9009) \u200b \u70b9\u51fb\u6b64\u5904\u4e0b\u8f7d \u7528winPE\u5f15\u5bfcU\u76d8\uff0c\u5f15\u5bfc\u7cfb\u7edf\uff0c\u8fdb\u5165PE,\u542f\u52a8SiskGenius \u5206\u533a\u52a9\u624b\u7a0b\u5e8f,\u9009\u4e2d\u8981\u64cd\u4f5c\u7684\u78c1\u76d8.\u7136\u540e,\u70b9\u51fb \u83dc\u5355 \u78c1\u76d8","title":"\u5de5\u5177\u7684\u51c6\u5907"},{"location":"install-guide/BackupAndRestore/#_4","text":"\u9009\u62e9\u201c\u4ece\u6620\u50cf\u6062\u590d\u78c1\u76d8\",\u7136\u540e\u9009\u62e9U\u76d8\u4e2d\uff0c\u63d0\u524d\u51c6\u5907\u597d\u7684*.pmfx\u6587\u4ef6,\u7136\u540e\u9009\u62e9\u76ee\u6807\u78c1\u76d8,\u8fd8\u539f\u65b9\u5f0f\u4e3a:\u8fd8\u539f\u6240\u6709\u6247\u533a,\u7136\u540e\u70b9\u51fb\u5f00\u59cb,\u7cfb\u7edf\u5c31\u4f1a\u5f00\u59cb\u8fd8\u539f. \u8fd8\u539f\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a: \u7136\u540e,\u79fb\u9664U\u76d8\uff0c\u91cd\u65b0\u542f\u52a8\uff0c\u5373\u53ef\u5b8c\u6210\u5b89\u88c5\uff0c\u5982\u4e0b\u56fe\u6240\u793a","title":"\u4ece\u786c\u76d8\u955c\u50cf\u6062\u590d"},{"location":"install-guide/BackupAndRestore/#_5","text":"\u9009\u62e9\"\u5907\u4efd\u78c1\u78c1\u76d8\u5230\u6620\\\u50cf\u6587\u4ef6\",\u5907\u4efd\u6a21\u5f0f\u4e3a:\u6240\u6709\u6247\u533a,\u9009\u62e9\u955c\u50cf\u6587\u4ef6,\u4e3a\u4e0b\u8f7d\u597d\u5e76\u63d0\u524d\u653e\u5165U\u76d8\u7684\u6269\u5c55\u540d\u4e3apmfx\u7684\u6620\u50cf\u6587\u4ef6,\u7136\u540e\u70b9\u51fb\"\u5f00\u59cb\" \u5927\u7ea6\u534a\u4e2a\u591a\u5c0f\u65f6,\u80fd\u5199\u5165\u5b8c\u6210.\u5982\u4e0b\u56fe\u6240\u793a,\u6620\u50cf\u6587\u4ef6\u5df2\u751f\u6210\u7ea6\u67095G\uff0c\u4fdd\u5b58\u5230\u5408\u9002\u7684\u5730\u65b9\uff0c\u53ef\u4ee5\u7528\u6765\u88c5\u673a\u6216\u8fd8\u539f\u7528\u3002","title":"\u5907\u4efd\u6574\u4e2a\u786c\u76d8"},{"location":"install-guide/LinuxInstall/","text":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf \u00b6 \u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf\u684c\u9762\u7248 \uff0c\u4fdd\u5b58\u4e3aubuntu24.04-desktip-amd.iso\u3002 \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528)\u3002 \u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u8bf7\u53c2\u8003\u5176\u5b83\u6559\u7a0b\u3002 \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live\u3002 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u628a\u4e0b\u8f7d\u7684ubuntu24.04-desktip-amd.iso\u653e\u5230\u65b0\u5b89\u88c5\u7684Ubuntu\u64cd\u4f5c\u7cfb\u7edf\u4e0b\u6298\u4efb\u610f\u76ee\u5f55,\u5982,\u653e\u5230 \u8fd9\u4e2a\u76ee\u5f55. \u7136\u540e,\u627e\u5230ubuntu\u81ea\u5e26\u7684\u542f\u52a8\u76d8\u5236\u4f5c\u5de5\u5177,\u5982\u56fe\u6240\u793a c\u8fd0\u884c\u542f\u52a8\u76d8\u521b\u5efa\u5668,\u5982\u4e0b \u5148\u62e9\u521a\u521a\u653e\u7f6e\u7684ubuntu24.04-desktip-amd.iso\u4f5c\u4e3a\u6e90\u955c\u50cf,\u7136\u540e\u628a\u8981\u5236\u4f5c\u542f\u52a8\u76d8\u7684U\u76d8\u63d2\u5165USB\u53e3\uff0c\u7136\u540e\uff0c\u9009 \u62e9\u4f5c\u4e3a\u8981\u4f7f\u7528\u7684\u78c1\u76d8\uff0c\u5f53\u7136\u53ef\u4ee5\u63d0\u524d\u63d2\u5165U\u76d8\u3002\u7136\u540e\u70b9\u51fb\u5236\u4f5c\u542f\u52a8\u76d8\u3002 \u5728\u5f39\u51fa\u7684\u786e\u8ba4\u6846\u4e2d\uff0c\u70b9\u51fb\u662f\uff0c \u7136\u540e\u8f93\u51fa\u5f53\u524d\u7684\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u786e\u8ba4\uff0c \u7cfb\u7edf\u5c06\u4f1a\u81ea\u52a8\u5f00\u542f\u628aubuntu live \u542f\u52a8\u5f15\u5bfc\u76d8\u4fe1\u606f, \u5199\u5165U\u76d8\uff0c \u63d0\u793a\u5b8c\u6210\u65f6\uff0c\u70b9\u9000\u51fa\uff0c\u5f39\u51fa\u5982\u4e0b\u63d0\u793a \uff0c\u8bf4\u660e\u542f\u52a8U\u76d8\u5236\u4f5c\u6210\u529f\u4e86\u3002 \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u628aU\u76d8\u63d2\u5165\u5165X86\u5c0f\u5de5\u63a7\u673a\u5e76\u786e\u4fdd \u6b63\u786e\u914d\u7f6e\u4e86Bios \u542f\u52a8\u540e,\u6309F11\u5176\u5b83\u4e3b\u673a\u53ef\u80fd\u6709\u6240\u4e0d\u540c(\u53ef\u4ee5\u67e5\u4e3b\u677f\u8bf4\u660e\u4e66,\u6216\u54a8\u8be2\u4e3b\u677f\u5382\u5bb6),\u9009\u62e9\u4ee5U\u76d8\u5f15\u5bfc\u3002 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a,\u662f\u542f\u52a8\u65f6,\u6309F11\u4e0d\u653e,\u8fdb\u5165\u7cfb\u7edf\u5f15\u5bfc\u83dc\u5355,\u6839\u636eU\u76d8\u7684\u4e0d\u540c,U\u76d8\u5f15\u5bfc\u76d8\u4e2d\u7684\u7cfb\u7edf\u7c7b\u522b\u4e0d\u540c,\u663e\u793a\u7684\u5185\u5bb9\u7565\u6709\u4e0d\u540c,\u5982\u4e0b\u56fe\u6240\u793a \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5f53\u7cfb\u7edf\u542f\u52a8\u65f6,\u8bf7\u786e\u4fdd\u9009\u62e9\u201cTry or Install Ubuntu\". \u7cfb\u7edf\u542f\u4f1a\u542f\u52a8U\u76d8\u4e2d\u7684Ubuntu live\u7cfb\u7edf, \u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d, \u4f1a\u6709\u51e0\u4e2a\u9009\u9879\u8981\u9009\u62e9\u5982\u4e0b\u56fe\u6240\u793a, \u9009\u62e9\u8bed\u8a00 \u6b64\u5904\u76f4\u63a5\u4e0b\u4e00\u6b65 \u6b64\u5904\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7f51\u7edc\u8fde\u63a5\u53ef\u4ee5\u9009\u76f4\u63a5\u8fde\u63a5,\u4e5f\u53ef\u4ee5\u9009\u62e9wifi\u5f53\u7136,wifi\u5357\u8981\u914d\u7f6e\u70ed\u70b9. \u540c\u65f6,\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u8981\u4fdd\u6301\u7f51\u7edc\u7545\u901a( *\u4e00\u5b9a\u8981\u80fd\u6b63\u5e38\u8bbf\u95eeGoogle\u53caHomeAssistant\u5b98\u7f51 ),\u80fd\u6b63\u5e38\u7684\u8bbf\u95ee\u5e76\u4e0b\u8f7dHomeAssistantOS\u7684\u955c\u50cf. \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u8fdb\u5165Ubuntu Live\u7cfb\u7edf\u540e,\u6253\u5f00\u6d4f\u89c8\u5668,\u8bbf\u95eeHomeAssistant\u7684 \u5b98\u65b9\u6587\u6863 , \u8fdb\u5165HomeAssistant\u5b98\u7f51,\u70b9\\\u51fb\u83dc\u5355Installstatiion,\u8fdb\u5165\u5b89\u88c5\u8bf4\u660e \u627e\u5230GenericX86-84,\u5e76\u6253\u5f00\u8fd9\u4e2a\u5728\u9875\u9762 \u627e\u5230\u9875\u9762\u4e2d\u7684\u955c\u50cf\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\u56fe \u4e0b\u8f7d HomeAssistOs-x86-64\u955c\u50cf \u5f00\u59cb\u4e0b\u8f7d\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u8fc7\u7a0b\u4e2d\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u5b8c\u6210\u540e \u6587\u4ef6\u4fdd\u5b58\u5728/home/Downloads/hos_Generic-86-64-15.1.img.xz \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u5728Ubuntu Live\u7684\u7cfb\u7edf\u4e2d,\u627e\u5230\u663e\u793a\u5e94\u7528\u7a0b\u5e8f(\u4e00\u822c\u5728\u5de6\u4e0a\u89d2\u6216\u53f3\u4e0b\u89d2), \u641c\u7d22\u5e76\u627e\u5230Disks\u5e94\u7528\u7a0b\u5e8f,\u5e76\u6253\u5f00Disks\u5e94\u7528\u7a0b\u5e8f. \u5728\u5de6\u4fa7\u5217\u8868\u4e2d\u627e\u5230\u5e76\u9009\u62e9\u4f60\u7684\u76ee\u6807\u78c1\u76d8(\u4e00\u822c\u4e3a\u4f60\u8981\u5b89\u88c5HAOS\u7684\u786c\u76d8) \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u56fe\u6807\uff08\u4e09\u4e2a\u70b9\uff09\uff0c\u9009\u62e9\u201c\u6062\u590d\u78c1\u76d8\u955c\u50cf\u201d \u6d4f\u89c8\u5e76\u9009\u62e9\u4f60\u4e0b\u8f7d\u7684HAOS\u955c\u50cf\u6587\u4ef6\u3002 \u70b9\u51fb,\u5e76\u6d4f\u89c8\u5230\u4e0b\u8f7d\u7684\u6587\u4ef6 hos_Generic-86-64-15.1.img.xz \u786e\u8ba4\u76ee\u6807\u78c1\u76d8\uff0c\u5e76\u5f00\u59cb\u955c\u50cf\u6062\u590d\u8fc7\u7a0b\u3002 \u786e\u8ba4\u6807\u786c\u76d8\u6b63\u786e\u540e,\u7ee7\u7eed \u63d0\u793a\u786e\u8ba4\u65f6\u70b9\u51fb Restore \u63d0\u793a\u6388\u6743\u65f6,\u70b9\u51fb Authenticate \u786e\u5b9a\u540e,\u5c31\u4f1a\u5f00\u59cb\u628a\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8 \u8bf7\u6ce8\u610f,\u8fd9\u4e2a\u8fc7\u7a0b\u4e00\u5c06\u4f1a,\u6e05\u9664\u786c\u76d8\u4e0a\u539f\u6709\u7684\u6570\u636e,\u8bf7\u786e\u4fdd\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e. \u5199\u5165\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u6b64\u65f6,\u5c31\u5df2\u7ecf\u6210\u529f\u7684\u628aHA\u955c\u50cf\u5199\u5165\u5230\u786c\u548c\u808b\u4e2d\u4e86 \u79fb\u9664U\u76d8 \u4e00\u65e6Home Assistant\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u5b8c\u6210\uff0c\u5173\u95ed\u7cfb\u7edf\u3002 \u5f53Ubuntu\u5173\u95ed\u540e\uff0c\u79fb\u9664USB\u95ea\u5b58\u9a71\u52a8\u5668\uff08Ubuntu\u4f1a\u901a\u77e5\u60a8\u53ef\u4ee5\u5b89\u5168\u79fb\u9664\uff09\u3002 \u91cd\u542f\u7cfb\u7edf. \u73b0\u5728\uff0c\u60a8\u7684Home Assistant\u670d\u52a1\u5668\u5df2\u7ecf\u8bbe\u7f6e\u5b8c\u6bd5\uff0c\u60a8\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u5b83\u3002 \u8fdb\u5165HA cli\u754c\u9762 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/LinuxInstall/#linux","text":"\u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf\u684c\u9762\u7248 \uff0c\u4fdd\u5b58\u4e3aubuntu24.04-desktip-amd.iso\u3002 \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528)\u3002 \u8fd9\u4e2a\u8fc7\u7a0b \uff0c\u8bf7\u53c2\u8003\u5176\u5b83\u6559\u7a0b\u3002 \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live\u3002 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u628a\u4e0b\u8f7d\u7684ubuntu24.04-desktip-amd.iso\u653e\u5230\u65b0\u5b89\u88c5\u7684Ubuntu\u64cd\u4f5c\u7cfb\u7edf\u4e0b\u6298\u4efb\u610f\u76ee\u5f55,\u5982,\u653e\u5230 \u8fd9\u4e2a\u76ee\u5f55. \u7136\u540e,\u627e\u5230ubuntu\u81ea\u5e26\u7684\u542f\u52a8\u76d8\u5236\u4f5c\u5de5\u5177,\u5982\u56fe\u6240\u793a c\u8fd0\u884c\u542f\u52a8\u76d8\u521b\u5efa\u5668,\u5982\u4e0b \u5148\u62e9\u521a\u521a\u653e\u7f6e\u7684ubuntu24.04-desktip-amd.iso\u4f5c\u4e3a\u6e90\u955c\u50cf,\u7136\u540e\u628a\u8981\u5236\u4f5c\u542f\u52a8\u76d8\u7684U\u76d8\u63d2\u5165USB\u53e3\uff0c\u7136\u540e\uff0c\u9009 \u62e9\u4f5c\u4e3a\u8981\u4f7f\u7528\u7684\u78c1\u76d8\uff0c\u5f53\u7136\u53ef\u4ee5\u63d0\u524d\u63d2\u5165U\u76d8\u3002\u7136\u540e\u70b9\u51fb\u5236\u4f5c\u542f\u52a8\u76d8\u3002 \u5728\u5f39\u51fa\u7684\u786e\u8ba4\u6846\u4e2d\uff0c\u70b9\u51fb\u662f\uff0c \u7136\u540e\u8f93\u51fa\u5f53\u524d\u7684\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\uff0c\u786e\u8ba4\uff0c \u7cfb\u7edf\u5c06\u4f1a\u81ea\u52a8\u5f00\u542f\u628aubuntu live \u542f\u52a8\u5f15\u5bfc\u76d8\u4fe1\u606f, \u5199\u5165U\u76d8\uff0c \u63d0\u793a\u5b8c\u6210\u65f6\uff0c\u70b9\u9000\u51fa\uff0c\u5f39\u51fa\u5982\u4e0b\u63d0\u793a \uff0c\u8bf4\u660e\u542f\u52a8U\u76d8\u5236\u4f5c\u6210\u529f\u4e86\u3002 \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u628aU\u76d8\u63d2\u5165\u5165X86\u5c0f\u5de5\u63a7\u673a\u5e76\u786e\u4fdd \u6b63\u786e\u914d\u7f6e\u4e86Bios \u542f\u52a8\u540e,\u6309F11\u5176\u5b83\u4e3b\u673a\u53ef\u80fd\u6709\u6240\u4e0d\u540c(\u53ef\u4ee5\u67e5\u4e3b\u677f\u8bf4\u660e\u4e66,\u6216\u54a8\u8be2\u4e3b\u677f\u5382\u5bb6),\u9009\u62e9\u4ee5U\u76d8\u5f15\u5bfc\u3002 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a,\u662f\u542f\u52a8\u65f6,\u6309F11\u4e0d\u653e,\u8fdb\u5165\u7cfb\u7edf\u5f15\u5bfc\u83dc\u5355,\u6839\u636eU\u76d8\u7684\u4e0d\u540c,U\u76d8\u5f15\u5bfc\u76d8\u4e2d\u7684\u7cfb\u7edf\u7c7b\u522b\u4e0d\u540c,\u663e\u793a\u7684\u5185\u5bb9\u7565\u6709\u4e0d\u540c,\u5982\u4e0b\u56fe\u6240\u793a \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5f53\u7cfb\u7edf\u542f\u52a8\u65f6,\u8bf7\u786e\u4fdd\u9009\u62e9\u201cTry or Install Ubuntu\". \u7cfb\u7edf\u542f\u4f1a\u542f\u52a8U\u76d8\u4e2d\u7684Ubuntu live\u7cfb\u7edf, \u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d, \u4f1a\u6709\u51e0\u4e2a\u9009\u9879\u8981\u9009\u62e9\u5982\u4e0b\u56fe\u6240\u793a, \u9009\u62e9\u8bed\u8a00 \u6b64\u5904\u76f4\u63a5\u4e0b\u4e00\u6b65 \u6b64\u5904\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u7f51\u7edc\u8fde\u63a5\u53ef\u4ee5\u9009\u76f4\u63a5\u8fde\u63a5,\u4e5f\u53ef\u4ee5\u9009\u62e9wifi\u5f53\u7136,wifi\u5357\u8981\u914d\u7f6e\u70ed\u70b9. \u540c\u65f6,\u5728\u8fd9\u4e2a\u8fc7\u7a0b\u4e2d,\u8981\u4fdd\u6301\u7f51\u7edc\u7545\u901a( *\u4e00\u5b9a\u8981\u80fd\u6b63\u5e38\u8bbf\u95eeGoogle\u53caHomeAssistant\u5b98\u7f51 ),\u80fd\u6b63\u5e38\u7684\u8bbf\u95ee\u5e76\u4e0b\u8f7dHomeAssistantOS\u7684\u955c\u50cf. \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u8fdb\u5165Ubuntu Live\u7cfb\u7edf\u540e,\u6253\u5f00\u6d4f\u89c8\u5668,\u8bbf\u95eeHomeAssistant\u7684 \u5b98\u65b9\u6587\u6863 , \u8fdb\u5165HomeAssistant\u5b98\u7f51,\u70b9\\\u51fb\u83dc\u5355Installstatiion,\u8fdb\u5165\u5b89\u88c5\u8bf4\u660e \u627e\u5230GenericX86-84,\u5e76\u6253\u5f00\u8fd9\u4e2a\u5728\u9875\u9762 \u627e\u5230\u9875\u9762\u4e2d\u7684\u955c\u50cf\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\u56fe \u4e0b\u8f7d HomeAssistOs-x86-64\u955c\u50cf \u5f00\u59cb\u4e0b\u8f7d\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u8fc7\u7a0b\u4e2d\u5982\u4e0b\u56fe\u6240\u793a \u4e0b\u8f7d\u5b8c\u6210\u540e \u6587\u4ef6\u4fdd\u5b58\u5728/home/Downloads/hos_Generic-86-64-15.1.img.xz \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u5728Ubuntu Live\u7684\u7cfb\u7edf\u4e2d,\u627e\u5230\u663e\u793a\u5e94\u7528\u7a0b\u5e8f(\u4e00\u822c\u5728\u5de6\u4e0a\u89d2\u6216\u53f3\u4e0b\u89d2), \u641c\u7d22\u5e76\u627e\u5230Disks\u5e94\u7528\u7a0b\u5e8f,\u5e76\u6253\u5f00Disks\u5e94\u7528\u7a0b\u5e8f. \u5728\u5de6\u4fa7\u5217\u8868\u4e2d\u627e\u5230\u5e76\u9009\u62e9\u4f60\u7684\u76ee\u6807\u78c1\u76d8(\u4e00\u822c\u4e3a\u4f60\u8981\u5b89\u88c5HAOS\u7684\u786c\u76d8) \u70b9\u51fb\u53f3\u4e0a\u89d2\u7684\u83dc\u5355\u56fe\u6807\uff08\u4e09\u4e2a\u70b9\uff09\uff0c\u9009\u62e9\u201c\u6062\u590d\u78c1\u76d8\u955c\u50cf\u201d \u6d4f\u89c8\u5e76\u9009\u62e9\u4f60\u4e0b\u8f7d\u7684HAOS\u955c\u50cf\u6587\u4ef6\u3002 \u70b9\u51fb,\u5e76\u6d4f\u89c8\u5230\u4e0b\u8f7d\u7684\u6587\u4ef6 hos_Generic-86-64-15.1.img.xz \u786e\u8ba4\u76ee\u6807\u78c1\u76d8\uff0c\u5e76\u5f00\u59cb\u955c\u50cf\u6062\u590d\u8fc7\u7a0b\u3002 \u786e\u8ba4\u6807\u786c\u76d8\u6b63\u786e\u540e,\u7ee7\u7eed \u63d0\u793a\u786e\u8ba4\u65f6\u70b9\u51fb Restore \u63d0\u793a\u6388\u6743\u65f6,\u70b9\u51fb Authenticate \u786e\u5b9a\u540e,\u5c31\u4f1a\u5f00\u59cb\u628a\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8 \u8bf7\u6ce8\u610f,\u8fd9\u4e2a\u8fc7\u7a0b\u4e00\u5c06\u4f1a,\u6e05\u9664\u786c\u76d8\u4e0a\u539f\u6709\u7684\u6570\u636e,\u8bf7\u786e\u4fdd\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e. \u5199\u5165\u5b8c\u6210\u540e,\u5982\u4e0b\u56fe\u6240\u793a \u6b64\u65f6,\u5c31\u5df2\u7ecf\u6210\u529f\u7684\u628aHA\u955c\u50cf\u5199\u5165\u5230\u786c\u548c\u808b\u4e2d\u4e86 \u79fb\u9664U\u76d8 \u4e00\u65e6Home Assistant\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u5b8c\u6210\uff0c\u5173\u95ed\u7cfb\u7edf\u3002 \u5f53Ubuntu\u5173\u95ed\u540e\uff0c\u79fb\u9664USB\u95ea\u5b58\u9a71\u52a8\u5668\uff08Ubuntu\u4f1a\u901a\u77e5\u60a8\u53ef\u4ee5\u5b89\u5168\u79fb\u9664\uff09\u3002 \u91cd\u542f\u7cfb\u7edf. \u73b0\u5728\uff0c\u60a8\u7684Home Assistant\u670d\u52a1\u5668\u5df2\u7ecf\u8bbe\u7f6e\u5b8c\u6bd5\uff0c\u60a8\u53ef\u4ee5\u5f00\u59cb\u4f7f\u7528\u5b83\u3002 \u8fdb\u5165HA cli\u754c\u9762 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/WinPeInstall/","text":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf \u00b6 windows Pe\u4e0b\u5199\u5165\u786c\u76d8\u955c\u50cf\u7684\u4e3b\u8981\u601d\u8def\u662f\u4f7f\u7528Roadkilnet\u5f00\u53d1\u7684Rodakill's Disk Image\u5de5\u5177\u628aHA\u7684\u955c\u50cf\u5199\u5165\u786c\u76d8. \u4e0b\u8f7dDisk Image \u00b6 DiskImage\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u4e3a ) https://roadkil.net/program.php?ProgramID=12&Action=NewOSID&DownloadVersion=12&Installer=NO \u8fdb\u5165\u7f51\u7ad9\u7684\u4e0b\u8f7d\u9875\u9762,\u5982\u4e0b,\u9009\u62e9windows8 10 or 11\u548cStand Alone Version\u7248\u672c,\u7136\u540e\u70b9\u51fb\u4e0b\u8f7d \u4e0b\u8f7d\u5b8c\u6210\u540e,\u5f97\u5230\u5982\u4e0bDiskImage_1_6_WinAll .exe\u6587\u4ef6 ,\u4fdd\u5b58\u597d,\u540e\u9762\u9700\u8981\u4fdd\u5b58\u4e48U\u76d8\u3002 \u5236\u4f5cWindowsPE\u5f15\u5bfcU\u76d8 \u00b6 windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u4e0b\u8f7d\u5b89\u88c5\u7a0b\u5e8f\u5982\u4e0b: \u8fd0\u884cWePev2.3.exe \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u5b89\u88c5\u5230U\u76d8\u56fe\u6807 \u9009\u62e9\u6b63\u786e\u7684\u4ea7\uff0c\u5e76\u914d\u597d\u5377\u6807\uff0c\u70b9\u51fb\u7acb\u5373\u5b89\u88c5\u5230U\u76d8\uff0c \u63d0\u793a\u5f00\u59cb\u5236\u4f5cU\u76d8 \u7a0d\u7b49\u7247\u523b \u7cfb\u7edf\u63d0\u793a\u5236\u4f5c\u5b8c\u6210 \u4e0b\u8f7d\u5e76\u89e3\u538bHAOS\u955c\u50cf\u5230U\u76d8 \u00b6 \u70b9\u51fb\u8bbf\u95ee Ha-os-GenerricX86-64\u9875\u9762 ,\u627e\u5230\u4e0b\u955c\u50cf\u7684\u4e0b\u8f7d\u94fe\u63a5 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5982\u4e0b\u94fe\u63a5 \u4e0b\u8f7d,\u4f46\u5c3d\u91cf\u8fd8\u662f\u6309\u4e0a\u8ff0\u65b9\u6cd5\u4e0b\u8f7d,\u4fdd\u8bc1\u6bcf\u6b21\u4e0b\u8f7d\u7684\u90fd\u662f\u5b98\u7f51\u6700\u65b0\u7684\u7248\u672c. \u4e0b\u8f7d\u5b8c\u6210\u540e\u5982\u4e0b \u89e3\u538b\u8fd9\u4e2a\u6587\u4ef6 \u5f97\u5230haos_generic-x86-64-15.1.img,\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230U\u76d8\u4e2d\u4efb\u610f\u76ee\u5f55 \u6bd4\u5982\uff0c\u6211\u653e\u5230\u4e86\u5982\u4e0b\u76ee\u5f55 \u628a\u4e4b\u524d\u4e0b\u8f7d\u597d\u7684Disk Image\u653e\u5165U\u76d8 \u00b6 \u81f3\u6b64WINpe\u5f15\u5bfcU\u76d8\u5c31\u5236\u4f5c\u597d\u4e86\u3002 \u7528\u6b64U\u76d8\u5f15\u5bfc\u5c0f\u5de5\u63a7\u673a\uff0c\u6ce8\u610f\u610f\u8981\u6b63\u786e\u7684\u914d\u7f6eBIOS\uff0c\u53ca\u8981\u7528\u6b63\u786e\u7684\u6539\u53d8\u542f\u52a8\u987a\u5e8f\u7684\u65b9\u6cd5\u5982F11\u5e38\u6309, \u5f15\u5bfc\u6210\u529f\u767d\u5e26 ,\u76f4\u5165PE\u542f\u52a8\u754c\u9762\uff0c\u9009 \u7b2c\u4e00\u9879\u9ed8\u8ba4\uff0c\u7ee7\u7eed \u7a0d\u5019\u4f1a\u8fdb\u5165PE\u7cfb\u7edf \u627e\u5230\u5e76\u542f\u52a8diskImage\u5199\u76d8\u5de5\u5177 \u70b9YES\u7ee7\u7eed \u9009 \u62e9\u4e0b\u8f7d\u597d\u7684HAOS\u7684\u5b89\u88c5\u955c\u50cfimg\u6587\u4ef6 \u63d0\u793a\u6570\u636e\u6709\u4e22\u5931\u98ce\u9669\u65f6,\u70b9\u662f \u6ce8\u610f\u5728\u5199\u5165\u4e4b\u524d,\u4e00\u5b9a\u8981\u786e\u8ba4\u662f\u786c\u76d8\u800c\u975eU\u76d8\uff0c\u4e00\u822c\u4e3aphysical disk 0 \u5199\u5165\u5b8c\u6210\u540e\u4f1a\u63d0\u793a\u5199\u5165\u6210\u529f \u91cd\u65b0\u542f\u52a8\u8fdb\u5165HA cli\u754c\u9762 \u00b6 \u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf"},{"location":"install-guide/WinPeInstall/#windows-pe-ha","text":"windows Pe\u4e0b\u5199\u5165\u786c\u76d8\u955c\u50cf\u7684\u4e3b\u8981\u601d\u8def\u662f\u4f7f\u7528Roadkilnet\u5f00\u53d1\u7684Rodakill's Disk Image\u5de5\u5177\u628aHA\u7684\u955c\u50cf\u5199\u5165\u786c\u76d8.","title":"Windows PE \u4e0b\u5199\u5165 HA \u955c\u50cf"},{"location":"install-guide/WinPeInstall/#disk-image","text":"DiskImage\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u4e3a ) https://roadkil.net/program.php?ProgramID=12&Action=NewOSID&DownloadVersion=12&Installer=NO \u8fdb\u5165\u7f51\u7ad9\u7684\u4e0b\u8f7d\u9875\u9762,\u5982\u4e0b,\u9009\u62e9windows8 10 or 11\u548cStand Alone Version\u7248\u672c,\u7136\u540e\u70b9\u51fb\u4e0b\u8f7d \u4e0b\u8f7d\u5b8c\u6210\u540e,\u5f97\u5230\u5982\u4e0bDiskImage_1_6_WinAll .exe\u6587\u4ef6 ,\u4fdd\u5b58\u597d,\u540e\u9762\u9700\u8981\u4fdd\u5b58\u4e48U\u76d8\u3002","title":"\u4e0b\u8f7dDisk Image"},{"location":"install-guide/WinPeInstall/#windowspeu","text":"windows\u7684PE\u5236\u4f5c\u5de5\u5177\u6709\u5f88\u591a\uff0c\u6bd4\u5982\u8001\u6bdb\u6843,\u5927\u767d\u83dc,\u7b49,\u4f46\u8fd9\u4e9b\u5927\u591a\u4f1a\u6709\u503c\u5165\u5e7f\u544a\u7b49,\u7528\u4e8e\u5b89\u88c5windows\u7cfb\u7edf\u4f1a\u6709\u8bb8\u591a\u5783\u573e\u8f6f\u4ef6,\u8fd9\u91cc\u63a8\u8350\u4f7f\u7528\" \u5faePE\u5de5\u5177\u7bb1 \",\u4e0b\u8f7d\u5b89\u88c5\u7a0b\u5e8f\u5982\u4e0b: \u8fd0\u884cWePev2.3.exe \u70b9\u51fb\u53f3\u4e0b\u89d2\u7684\u5b89\u88c5\u5230U\u76d8\u56fe\u6807 \u9009\u62e9\u6b63\u786e\u7684\u4ea7\uff0c\u5e76\u914d\u597d\u5377\u6807\uff0c\u70b9\u51fb\u7acb\u5373\u5b89\u88c5\u5230U\u76d8\uff0c \u63d0\u793a\u5f00\u59cb\u5236\u4f5cU\u76d8 \u7a0d\u7b49\u7247\u523b \u7cfb\u7edf\u63d0\u793a\u5236\u4f5c\u5b8c\u6210","title":"\u5236\u4f5cWindowsPE\u5f15\u5bfcU\u76d8"},{"location":"install-guide/WinPeInstall/#haosu","text":"\u70b9\u51fb\u8bbf\u95ee Ha-os-GenerricX86-64\u9875\u9762 ,\u627e\u5230\u4e0b\u955c\u50cf\u7684\u4e0b\u8f7d\u94fe\u63a5 \u4e5f\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528\u5982\u4e0b\u94fe\u63a5 \u4e0b\u8f7d,\u4f46\u5c3d\u91cf\u8fd8\u662f\u6309\u4e0a\u8ff0\u65b9\u6cd5\u4e0b\u8f7d,\u4fdd\u8bc1\u6bcf\u6b21\u4e0b\u8f7d\u7684\u90fd\u662f\u5b98\u7f51\u6700\u65b0\u7684\u7248\u672c. \u4e0b\u8f7d\u5b8c\u6210\u540e\u5982\u4e0b \u89e3\u538b\u8fd9\u4e2a\u6587\u4ef6 \u5f97\u5230haos_generic-x86-64-15.1.img,\u628a\u8fd9\u4e2a\u6587\u4ef6\u590d\u5236\u5230U\u76d8\u4e2d\u4efb\u610f\u76ee\u5f55 \u6bd4\u5982\uff0c\u6211\u653e\u5230\u4e86\u5982\u4e0b\u76ee\u5f55","title":"\u4e0b\u8f7d\u5e76\u89e3\u538bHAOS\u955c\u50cf\u5230U\u76d8"},{"location":"install-guide/WinPeInstall/#disk-imageu","text":"\u81f3\u6b64WINpe\u5f15\u5bfcU\u76d8\u5c31\u5236\u4f5c\u597d\u4e86\u3002 \u7528\u6b64U\u76d8\u5f15\u5bfc\u5c0f\u5de5\u63a7\u673a\uff0c\u6ce8\u610f\u610f\u8981\u6b63\u786e\u7684\u914d\u7f6eBIOS\uff0c\u53ca\u8981\u7528\u6b63\u786e\u7684\u6539\u53d8\u542f\u52a8\u987a\u5e8f\u7684\u65b9\u6cd5\u5982F11\u5e38\u6309, \u5f15\u5bfc\u6210\u529f\u767d\u5e26 ,\u76f4\u5165PE\u542f\u52a8\u754c\u9762\uff0c\u9009 \u7b2c\u4e00\u9879\u9ed8\u8ba4\uff0c\u7ee7\u7eed \u7a0d\u5019\u4f1a\u8fdb\u5165PE\u7cfb\u7edf \u627e\u5230\u5e76\u542f\u52a8diskImage\u5199\u76d8\u5de5\u5177 \u70b9YES\u7ee7\u7eed \u9009 \u62e9\u4e0b\u8f7d\u597d\u7684HAOS\u7684\u5b89\u88c5\u955c\u50cfimg\u6587\u4ef6 \u63d0\u793a\u6570\u636e\u6709\u4e22\u5931\u98ce\u9669\u65f6,\u70b9\u662f \u6ce8\u610f\u5728\u5199\u5165\u4e4b\u524d,\u4e00\u5b9a\u8981\u786e\u8ba4\u662f\u786c\u76d8\u800c\u975eU\u76d8\uff0c\u4e00\u822c\u4e3aphysical disk 0 \u5199\u5165\u5b8c\u6210\u540e\u4f1a\u63d0\u793a\u5199\u5165\u6210\u529f","title":"\u628a\u4e4b\u524d\u4e0b\u8f7d\u597d\u7684Disk Image\u653e\u5165U\u76d8"},{"location":"install-guide/WinPeInstall/#ha-cli","text":"\u7cfb\u7edf\u542f\u52a8\u6210\u529f\u540e\uff0c\u5982\u4e0b\u56fe\u6240\u793a \u901a\u8fc7\u6d4f\u89c8\u5668,\u8f93\u5165\u63a7\u5236\u53f0\u63d0\u793a\u7684IP\u52a0\u7aef\u53e3 http://192.168.3:8123 \u5373\u53ef\u8fdb\u5165\u56fe\u578b\u5316\u754c\u9762,\u5982\u4e0b","title":"\u91cd\u65b0\u542f\u52a8\u8fdb\u5165HA cli\u754c\u9762"},{"location":"install-guide/configX86Bios/","text":"\u901a\u7528\u8bbe\u7f6e \u00b6 \u8981\u542f\u52a8Home Assistant\u64cd\u4f5c\u7cfb\u7edf\uff0cBIOS\u9700\u8981\u542f\u7528UEFI\u542f\u52a8\u6a21\u5f0f\u5e76\u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4ee5\u4e0b\u622a\u56fe\u6765\u81ea\u7b2c\u4e03\u4ee3\u82f1\u7279\u5c14NUC\u7cfb\u7edf\u3002\u60a8\u7684\u7cfb\u7edf\u4e0a\u7684BIOS\u83dc\u5355\u53ef\u80fd\u770b\u8d77\u6765\u4e0d\u540c\uff0c\u4f46\u9009\u9879\u5e94\u8be5\u4ecd\u7136\u5b58\u5728\u5e76\u5177\u6709\u7c7b\u4f3c\u7684\u540d\u79f0\u3002 \u8981\u8fdb\u5165BIOS\uff0c\u8bf7\u542f\u52a8\u60a8\u7684x86-64\u786c\u4ef6\u5e76\u53cd\u590d\u6309\u4e0bF2\u952e\uff08\u5728\u67d0\u4e9b\u7cfb\u7edf\u4e0a\uff0c\u8fd9\u53ef\u80fd\u662fDel\u3001F1\u6216F10\u952e\uff09\u3002 \u786e\u4fdd\u542f\u7528\u4e86UEFI\u542f\u52a8\u6a21\u5f0f\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4fdd\u5b58\u66f4\u6539\u5e76\u9000\u51fa\u3002 BIOS\u914d\u7f6e\u73b0\u5df2\u5b8c\u6210\u3002 \u516c\u53f8\u5c0f\u5de5\u63a7\u673a(1900)\u914d\u7f6e \u00b6 \u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a\u8fdb\u5165Bios\u7684\u65b9\u5f0f,\u662f\u5f00\u673a\u65f6,\u6309DEL\u952e,\u8fdb\u5165\u5982\u4e0b\u754c\u9762 \u8fdb\u5165Bios\u540e,\u8981\u8c03OS Selection,\u9ed8\u8ba4\u4e3awindows7\u9700\u8981\u8c03\u6574\u4e3aLinux\u5982\u4e0b\u56fe \u7136\u540e\u4fdd\u5b58,\u9000\u51fa \u63d0\u793a\u4fdd\u5b58\u65f6,\u9009\u62e9YES","title":"configX86Bios"},{"location":"install-guide/configX86Bios/#_1","text":"\u8981\u542f\u52a8Home Assistant\u64cd\u4f5c\u7cfb\u7edf\uff0cBIOS\u9700\u8981\u542f\u7528UEFI\u542f\u52a8\u6a21\u5f0f\u5e76\u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4ee5\u4e0b\u622a\u56fe\u6765\u81ea\u7b2c\u4e03\u4ee3\u82f1\u7279\u5c14NUC\u7cfb\u7edf\u3002\u60a8\u7684\u7cfb\u7edf\u4e0a\u7684BIOS\u83dc\u5355\u53ef\u80fd\u770b\u8d77\u6765\u4e0d\u540c\uff0c\u4f46\u9009\u9879\u5e94\u8be5\u4ecd\u7136\u5b58\u5728\u5e76\u5177\u6709\u7c7b\u4f3c\u7684\u540d\u79f0\u3002 \u8981\u8fdb\u5165BIOS\uff0c\u8bf7\u542f\u52a8\u60a8\u7684x86-64\u786c\u4ef6\u5e76\u53cd\u590d\u6309\u4e0bF2\u952e\uff08\u5728\u67d0\u4e9b\u7cfb\u7edf\u4e0a\uff0c\u8fd9\u53ef\u80fd\u662fDel\u3001F1\u6216F10\u952e\uff09\u3002 \u786e\u4fdd\u542f\u7528\u4e86UEFI\u542f\u52a8\u6a21\u5f0f\u3002 \u7981\u7528\u5b89\u5168\u542f\u52a8\u3002 \u4fdd\u5b58\u66f4\u6539\u5e76\u9000\u51fa\u3002 BIOS\u914d\u7f6e\u73b0\u5df2\u5b8c\u6210\u3002","title":"\u901a\u7528\u8bbe\u7f6e"},{"location":"install-guide/configX86Bios/#1900","text":"\u516c\u53f8\u7684\u5c0f\u5de5\u63a7\u673a\u8fdb\u5165Bios\u7684\u65b9\u5f0f,\u662f\u5f00\u673a\u65f6,\u6309DEL\u952e,\u8fdb\u5165\u5982\u4e0b\u754c\u9762 \u8fdb\u5165Bios\u540e,\u8981\u8c03OS Selection,\u9ed8\u8ba4\u4e3awindows7\u9700\u8981\u8c03\u6574\u4e3aLinux\u5982\u4e0b\u56fe \u7136\u540e\u4fdd\u5b58,\u9000\u51fa \u63d0\u793a\u4fdd\u5b58\u65f6,\u9009\u62e9YES","title":"\u516c\u53f8\u5c0f\u5de5\u63a7\u673a(1900)\u914d\u7f6e"},{"location":"install-guide/installHa/","text":"\u5b89\u88c5HomeAssistant \u00b6 HomeAssistant\u7684\u5b89\u88c5\u6709\u591a\u79cd\u65b9\u5f0f\u4e0e\u65b9\u6cd5,\u6700\u5e38\u7528\u6298\u6709\u786c\u5907\u76f4\u63a5\u5b89\u88c5,docker\u5b89\u88c5\u865a\u62df\u673a\u5b89\u88c5\u7b49. \u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u786c\u76d8\u5b89\u88c5HAOS\u4e3a\u4f8b\u4ecb\u7ecd\u57fa\u4e8ex86\u786c\u4ef6\u7684\u57fa\u7840\u4e0a\u5b89\u88c5HAOS,\u57fa\u5b83\u7684\u5b89\u88c5\u65b9\u5f0f,\u540e\u7eed\u4f1a\u4ecb\u7ecd. HAOS\u5b89\u88c5 \u00b6 \u5b89\u88c5\u5728X86PC\u786c\u76d8\u4e0a \u00b6 haos\u8981\u5b89\u88c5\u5728\u786c\u76d8\u4e0a,\u603b\u4f53\u601d\u8def\u662f,\u5148\u5230HA\u7684\u5b98\u7f51\u4e0b\u8f7dhaos\u7684\u5b98\u65b9\u955c\u50cf\u6587\u4ef6 ,\u4e00\u822c\u4e3a.gz\u6216.gz.xz\u7b49\u683c\u5f0f,\u7136\u540e\u518d\u7528\u5199\u76d8\u5de5\u5177,\u76f4\u63a5\u628a\u8fd9\u4e2a\u955c\u50cf\u5199\u5165\u786c\u76d8. \u5c06\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8\u4e0a\u7ea6\u6709\u4e24\u79cd\u65b9\u6cd5: \u5728linux\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5199\u5165\u955c\u50cf \u5728windows\u5e73\u53f0\u4e0a\u5199\u5165\u955c\u50cf \u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf \u00b6 \u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d\u5b89\u88c5ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528) \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u79fb\u9664U\u76d8 \u91cd\u542f\u7cfb\u7edf \u8fdb\u5165HA cli\u754c\u9762 \u6b64\u79cd\u65b9\u6cd5\u7684\u597d\u5904\u662f,\u4e0d\u7528\u62c6\u9664\u786c\u76d8,\u76f4\u63a5\u5728\u5c0f\u5de5\u63a7\u673a\u4e0a\u5c31\u80fd\u5b9e\u73b0\u64cd\u4f5c. \u57fa\u4e8e windows\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf. \u00b6 \u5b98\u65b9\u5728\u4ecb\u7ecd\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba9\u7528\u6237\u628a\u5c0f\u5de5\u63a7\u673a\u7684\u786c\u76d8\u62c6\u4e0b,\u88c5\u5165\u7528\u6237\u81ea\u5df2\u7684\u7535\u8111\u4e2d,\u5e76\u7528balenaEtcher\u5199\u76d8\u5de5\u5177\u5c06\u955c\u50cf\u5199\u5165\u5c0f\u5de5\u63a7\u7684\u673a\u7684\u786c\u76d8\u540e,\u518d\u628a\u5c0f\u5de5\u63a7\u673a\u673a\u7684\u786c\u76d8\u88c5\u5165\u5c0f\u5de5\u63a7\u673a.\u8fd9\u65b9\u6cd5\u65b9\u4fbf\u5feb\u6377,\u4f46\u662f\u9700\u8981\u62c6\u673a,\u6709\u9700\u8981\u7684\u7528\u6237\u53ef\u4ee5\u5230\u5b98\u65b9\u4ecb\u7ecd\u9875\u9762 Geneic x86-64 \u53bb\u770b\u5177\u4f53\u64cd\u4f5c\u65b9\u6cd5. \u6211\u4eec\u5e38\u7528\u7684\u65b9\u6cd5\u5982\u4e0b: \u5236\u4f5c\u4e00\u4e2a\u5176\u4e8ewindows PE\u7cfb\u7edf\u7684\u5f15\u5bfcU\u76d8. \u4e0b\u8f7d\u5b98\u65b9\u955c\u50cf\u5230U\u76d8\u4e2d\u3002 \u89e3\u538b\u955c\u50cf\u4e3a.img\u6587\u4ef6 \u7528PE\u5e26\u7684\u5199\u76d8\u5de5\u5177\uff0c\u5c06HA\u955c\u50cf\u5199\u5165\u786c\u76d8\u3002 \u79fb\u9664U\u76d8\u3002 \u91cd\u542f\u8fdb\u5165HA ClI. \u76f4\u63a5 \u8fd8\u539f\u6574\u4e2a\u78c1\u76d8 \u00b6 \u56e0\u3001\u4e3aHA\u5b89\u88c5\u914d\u7f6e\uff0c\u8f83\u4e3a\u590d\u6742\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u4f7f\u7528\u78c1\u76d8\u5168\u76d8\u7684\u6620\u50cf\u6765\u8fd8\u539f\u78c1\u76d8\uff0c\u6765\u8fbe\u5230\u5feb\u901f\u5b89\u88c5\u76ee\u7684\uff0c\u6b64\u65b9\u6cd5\uff0c\u80fd\u5728\u534a\u5c0f\u65f6\u5de6\u53f3\u7684\u65f6\u95f4\uff0c\u76f4\u63a5\u5b89\u88c5\u597dHA\uff0c\u540c\u65f6\uff0c\u6240\u4ee5\u7528\u7684\u5230\u8bbe\u7f6e\u4e0e\u63d2\u4ef6\u7a0b\u5e8f\u4e0e\u540c\u6b65\u88c5\u597d\uff0c\u5927\u5927\u8282\u7701\u4e86\u65f6\u95f4\u3002 \u5b89\u88c5\u5728VMware ESXi\u4e0a \u00b6 vmware ESXi\u662f\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u7684\u865a\u62df\u5316\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5176\u4e0a\u5b89\u88c5Home Assistant. \u8be6\u60c5\u89c1: vmwareExsi\u5b89\u88c5Ha.md","title":"\u5b89\u88c5"},{"location":"install-guide/installHa/#homeassistant","text":"HomeAssistant\u7684\u5b89\u88c5\u6709\u591a\u79cd\u65b9\u5f0f\u4e0e\u65b9\u6cd5,\u6700\u5e38\u7528\u6298\u6709\u786c\u5907\u76f4\u63a5\u5b89\u88c5,docker\u5b89\u88c5\u865a\u62df\u673a\u5b89\u88c5\u7b49. \u4e0b\u9762\u6211\u4eec\u5c31\u4ee5\u786c\u76d8\u5b89\u88c5HAOS\u4e3a\u4f8b\u4ecb\u7ecd\u57fa\u4e8ex86\u786c\u4ef6\u7684\u57fa\u7840\u4e0a\u5b89\u88c5HAOS,\u57fa\u5b83\u7684\u5b89\u88c5\u65b9\u5f0f,\u540e\u7eed\u4f1a\u4ecb\u7ecd.","title":"\u5b89\u88c5HomeAssistant"},{"location":"install-guide/installHa/#haos","text":"","title":"HAOS\u5b89\u88c5"},{"location":"install-guide/installHa/#x86pc","text":"haos\u8981\u5b89\u88c5\u5728\u786c\u76d8\u4e0a,\u603b\u4f53\u601d\u8def\u662f,\u5148\u5230HA\u7684\u5b98\u7f51\u4e0b\u8f7dhaos\u7684\u5b98\u65b9\u955c\u50cf\u6587\u4ef6 ,\u4e00\u822c\u4e3a.gz\u6216.gz.xz\u7b49\u683c\u5f0f,\u7136\u540e\u518d\u7528\u5199\u76d8\u5de5\u5177,\u76f4\u63a5\u628a\u8fd9\u4e2a\u955c\u50cf\u5199\u5165\u786c\u76d8. \u5c06\u955c\u50cf\u6587\u4ef6\u5199\u5165\u786c\u76d8\u4e0a\u7ea6\u6709\u4e24\u79cd\u65b9\u6cd5: \u5728linux\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5199\u5165\u955c\u50cf \u5728windows\u5e73\u53f0\u4e0a\u5199\u5165\u955c\u50cf","title":"\u5b89\u88c5\u5728X86PC\u786c\u76d8\u4e0a"},{"location":"install-guide/installHa/#linux","text":"\u8fd9\u79cd\u65b9\u6cd5\u7684\u64cd\u4f5c\u65b9\u6cd5\u662f: \u5148\u4e0b\u8f7d\u5b89\u88c5ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf \u5728\u865a\u62df\u673a\u6216\u7269\u7406\u673a\u4e2d\u5b89\u88c5\u6b64ubuntu24.04\u64cd\u4f5c\u7cfb\u7edf.(\u4e34\u65f6\u4f7f\u7528) \u4f7f\u7528ubuntu24.04\u5236\u4f5clinux\u542f\u52a8U\u76d8ubuntu live \u4f7f\u7528\u542f\u52a8U\u76d8ubuntu live\u5f15\u5bfcx86\u5c0f\u5de5\u63a7\u673a. \u8fdb\u5165try\u6a21\u5f0f(\u4e0d\u5b89\u88c5). \u5728try\u6a21\u5f0f\u4e2d,\u4e0b\u8f7dha\u5b89\u65b9\u955c\u50cf \u4f7f\u7528ubuntu live\u7684\u81ea\u5e26\u7684\u78c1\u76d8\u6062\u590d\u5de5\u5177\u5199\u5165\u955c\u50cf\u5230\u786c\u76d8. \u79fb\u9664U\u76d8 \u91cd\u542f\u7cfb\u7edf \u8fdb\u5165HA cli\u754c\u9762 \u6b64\u79cd\u65b9\u6cd5\u7684\u597d\u5904\u662f,\u4e0d\u7528\u62c6\u9664\u786c\u76d8,\u76f4\u63a5\u5728\u5c0f\u5de5\u63a7\u673a\u4e0a\u5c31\u80fd\u5b9e\u73b0\u64cd\u4f5c.","title":"\u57fa\u4e8elinux\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf"},{"location":"install-guide/installHa/#windows","text":"\u5b98\u65b9\u5728\u4ecb\u7ecd\u8fd9\u79cd\u65b9\u6cd5\u662f\u8ba9\u7528\u6237\u628a\u5c0f\u5de5\u63a7\u673a\u7684\u786c\u76d8\u62c6\u4e0b,\u88c5\u5165\u7528\u6237\u81ea\u5df2\u7684\u7535\u8111\u4e2d,\u5e76\u7528balenaEtcher\u5199\u76d8\u5de5\u5177\u5c06\u955c\u50cf\u5199\u5165\u5c0f\u5de5\u63a7\u7684\u673a\u7684\u786c\u76d8\u540e,\u518d\u628a\u5c0f\u5de5\u63a7\u673a\u673a\u7684\u786c\u76d8\u88c5\u5165\u5c0f\u5de5\u63a7\u673a.\u8fd9\u65b9\u6cd5\u65b9\u4fbf\u5feb\u6377,\u4f46\u662f\u9700\u8981\u62c6\u673a,\u6709\u9700\u8981\u7684\u7528\u6237\u53ef\u4ee5\u5230\u5b98\u65b9\u4ecb\u7ecd\u9875\u9762 Geneic x86-64 \u53bb\u770b\u5177\u4f53\u64cd\u4f5c\u65b9\u6cd5. \u6211\u4eec\u5e38\u7528\u7684\u65b9\u6cd5\u5982\u4e0b: \u5236\u4f5c\u4e00\u4e2a\u5176\u4e8ewindows PE\u7cfb\u7edf\u7684\u5f15\u5bfcU\u76d8. \u4e0b\u8f7d\u5b98\u65b9\u955c\u50cf\u5230U\u76d8\u4e2d\u3002 \u89e3\u538b\u955c\u50cf\u4e3a.img\u6587\u4ef6 \u7528PE\u5e26\u7684\u5199\u76d8\u5de5\u5177\uff0c\u5c06HA\u955c\u50cf\u5199\u5165\u786c\u76d8\u3002 \u79fb\u9664U\u76d8\u3002 \u91cd\u542f\u8fdb\u5165HA ClI.","title":"\u57fa\u4e8ewindows\u64cd\u4f5c\u7cfb\u7edf\u5199\u5165\u955c\u50cf."},{"location":"install-guide/installHa/#_1","text":"\u56e0\u3001\u4e3aHA\u5b89\u88c5\u914d\u7f6e\uff0c\u8f83\u4e3a\u590d\u6742\uff0c\u6240\u4ee5\uff0c\u6211\u4eec\u4f7f\u7528\u78c1\u76d8\u5168\u76d8\u7684\u6620\u50cf\u6765\u8fd8\u539f\u78c1\u76d8\uff0c\u6765\u8fbe\u5230\u5feb\u901f\u5b89\u88c5\u76ee\u7684\uff0c\u6b64\u65b9\u6cd5\uff0c\u80fd\u5728\u534a\u5c0f\u65f6\u5de6\u53f3\u7684\u65f6\u95f4\uff0c\u76f4\u63a5\u5b89\u88c5\u597dHA\uff0c\u540c\u65f6\uff0c\u6240\u4ee5\u7528\u7684\u5230\u8bbe\u7f6e\u4e0e\u63d2\u4ef6\u7a0b\u5e8f\u4e0e\u540c\u6b65\u88c5\u597d\uff0c\u5927\u5927\u8282\u7701\u4e86\u65f6\u95f4\u3002","title":"\u76f4\u63a5\u8fd8\u539f\u6574\u4e2a\u78c1\u76d8"},{"location":"install-guide/installHa/#vmware-esxi","text":"vmware ESXi\u662f\u4e00\u4e2a\u4f01\u4e1a\u7ea7\u7684\u865a\u62df\u5316\u5e73\u53f0\uff0c\u53ef\u4ee5\u5728\u5176\u4e0a\u5b89\u88c5Home Assistant. \u8be6\u60c5\u89c1: vmwareExsi\u5b89\u88c5Ha.md","title":"\u5b89\u88c5\u5728VMware ESXi\u4e0a"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/","text":"\u57fa\u4e8evmWare Exsi\u5b89\u88c5HA \u00b6 1. \u51c6\u5907\u5de5\u4f5c \u00b6 \u4e0b\u8f7dVMware ESXi\u5b89\u88c5\u955c\u50cf. \u6253\u5f00\u9875\u9762 https://www.home-assistant.io/installation/alternative \u70b9\u51fb\u4e0b\u8f7d\u201c VMware ESXi/vSphere \u7684 .ova \u683c\u5f0f\u955c\u50cf\u6587\u4ef6\u201d \u6ce8\u610f1 \u4f7f\u7528 E1000 \u6216 E1000E \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u3002\u5f53\u4f7f\u7528 VMware \u7684 VMXnet3 \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u65f6\uff0c\u5df2\u786e\u8ba4\u5b58\u5728 mDNS/\u591a\u64ad\u53d1\u73b0\u95ee\u9898\u3002 \u89e3\u6790\uff1a E1000 \u548c E1000E\uff1a\u63a8\u8350\u7684\u865a\u62df\u7f51\u7edc\u9002\u914d\u5668 VMXnet3\uff1a\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7f51\u7edc\u53d1\u73b0\u95ee\u9898 mDNS\uff1a\u591a\u64ad\u57df\u540d\u7cfb\u7edf \u591a\u64ad\u53d1\u73b0\uff1a\u8bbe\u5907\u5728\u7f51\u7edc\u4e0a\u81ea\u52a8\u53d1\u73b0\u548c\u901a\u4fe1\u7684\u673a\u5236 \u5efa\u8bae\uff1a \u5728 VMware ESXi \u521b\u5efa\u865a\u62df\u673a\u65f6 \u7f51\u7edc\u9002\u914d\u5668\u9009\u62e9 E1000 \u6216 E1000E \u907f\u514d\u4f7f\u7528 VMXnet3 \u6ce8\u610f2 \u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\uff0c\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a\u767b\u5f55ESXi\u4e3b\u673a\uff0c\u9009\u62e9\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff0c\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u9009\u62e9OVF\u6216OVA\u6587\u4ef6\u5e76\u5b8c\u6210\u540e\u7eed\u8bbe\u7f6e\u3002\ufeff \u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u767b\u5f55ESXi\u4e3b\u673a\uff1a:\u4f7f\u7528Web Client\u6216vSphere Client\u767b\u5f55\u5230\u60a8\u7684ESXi\u4e3b\u673a\u3002\ufeff \u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff1a:\u5728ESXi\u754c\u9762\u4e2d\uff0c\u627e\u5230\u5e76\u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u9009\u9879\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u7c7b\u578b\uff1a:\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9OVF/OVA\u6587\u4ef6\uff1a:\u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u7136\u540e\u9009\u62e9\u8981\u90e8\u7f72\u7684OVF\u6216OVA\u6587\u4ef6\uff0c\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff1a:\u9009\u62e9\u865a\u62df\u673a\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u9009\u9879\uff1a:\u6839\u636e\u9700\u8981\u9009\u62e9\u90e8\u7f72\u9009\u9879\uff0c\u4f8b\u5982\u7f51\u7edc\u914d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u5b8c\u6210\u90e8\u7f72\uff1a:\u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002\ufeff \u542f\u52a8\u865a\u62df\u673a\uff1a:\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u542f\u52a8\u65b0\u521b\u5efa\u7684\u865a\u62df\u673a\u5373\u53ef\u3002\ufeff \u6ce8\u610f\u4e8b\u9879\uff1a \u5982\u679c\u4f7f\u7528OVF\u6587\u4ef6\uff0c\u901a\u5e38\u9700\u8981\u914d\u5408VMDK\u7b49\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u4e00\u8d77\u4f7f\u7528\u3002\ufeff \u786e\u4fddOVF\u6587\u4ef6\u548c\u76f8\u5173\u7684\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u90fd\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\uff0c\u6216\u8005\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\u3002\ufeff \u5728\u201c\u90e8\u7f72\u9009\u9879\u201d\u9875\u9762\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u3001\u8d44\u6e90\u7b49\u8bbe\u7f6e\u3002\ufeff \u5982\u679c\u9047\u5230\u201c\u7f3a\u5c11\u78c1\u76d8\u955c\u50cf\u201d\u7b49\u62a5\u9519\uff0c\u53ef\u80fd\u662f\u7531\u4e8eOVF\u6587\u4ef6\u4e2d\u5f15\u7528\u7684\u78c1\u76d8\u6587\u4ef6\u8def\u5f84\u4e0d\u6b63\u786e\uff0c\u6216\u8005\u78c1\u76d8\u6587\u4ef6\u672a\u6b63\u786e\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\uff0c\u9700\u8981\u68c0\u67e5\u5e76\u4fee\u6b63\u3002\ufeff \u5bf9\u4e8e\u67d0\u4e9bOVF\u6a21\u677f\uff0c\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u4fee\u6539\u865a\u62df\u673a\u7684\u786c\u4ef6\u7248\u672c\u4ee5\u517c\u5bb9ESXi\u7248\u672c\u3002\ufeff \u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u60a8\u5c31\u53ef\u4ee5\u6210\u529f\u5730\u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\u4e86 2. \u5b89\u88c5\u6b65\u9aa4 \u00b6 \u767b\u5f55\u5230ESXi\u4e3b\u673a\u7684Web\u754c\u9762\u3002 \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb\u201c\u865a\u62df\u673a\u201d\u3002 \u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u6309\u94ae\u3002 \u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u5e76\u9009\u62e9\u4e0b\u8f7d\u7684Home Assistant OVA\u6587\u4ef6\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u7684\u5b58\u50a8\u4f4d\u7f6e\u5373\u53ef\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u7f51\u7edc\u6620\u5c04\u201d\u9875\u9762\uff0c\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u786e\u4fdd\u4f7f\u7528E1000\u6216E1000E\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002 \u9875\u9762\u5e95\u90e8\u4f1a\u663e\u793a\u90e8\u7f72\u8fdb\u5ea6\uff0c\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u4e2d\u770b\u5230\u65b0\u521b\u5efa\u7684Home Assistant\u865a\u62df\u673a\u3002 \u9009\u4e2dHome Assistant\u865a\u62df\u673a\uff0c\u70b9\u51fb\u201c\u542f\u52a8\u201d\u6309\u94ae\u6765\u542f\u52a8\u865a\u673a \u9996\u6b21\u542f\u52a8\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u770b\u5230ha> \u8fdb\u793a\u7b26\u540e\uff0c\u53ef\u4ee5\u8bd5\u7740\u8f93\u5165 ha \u547d\u4ee4\u6765\u68c0\u67e5Home Assistant\u7684\u72b6\u6001\u3002 \u4e0a\u8ff0\u72b6\u6001\uff0c\u5982\u679c\u663e\u793a \"System is not ready with state: setup\"\uff0c\u8bf4\u660e\u7cfb\u7edf\u6b63\u5728\u5b89\u88c5\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u76f4\u5230\u7cfb\u7edf\u5b8c\u5168\u542f\u52a8\u540e\u518d\u8bbf\u95eeWeb\u754c\u9762\u3002\u9996\u6b21\u542f\u52a8 Home Assistant \u9700\u8981\u8f83\u957f\u65f6\u95f4\uff0c\u901a\u5e38\u9700\u8981 10-30 \u5206\u949f\uff0c\u8fd9\u53d6\u51b3\u4e8e\u60a8\u7684\u786c\u4ef6\u914d\u7f6e\u3002 \u7a0d\u7b49\u4e00\u4f1a\uff0c\u6211\u4eec\u518d\u6b21\u7528ha cli info\u6765\u67e5\u770b\u72b6\u6001 \u7136\u540e\u7528 ha network info \u6765\u67e5\u770b\u7f51\u7edc\u72b6\u6001,\u53ef\u89c1\u6211\u4eec\u7684IP\u5730\u5740\u662f:192.168.1.51,\u540e\u7eed\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2aIP\u5730\u5740\u6765\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\u3002 \u542f\u52a8\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\uff0c\u901a\u5e38\u662f\u901a\u8fc7ESXi\u4e3b\u673a\u7684IP\u5730\u5740\u52a0\u4e0a\u7aef\u53e38123\u6765\u8bbf\u95ee\uff0c\u4f8b\u5982\uff1ahttp:// :8123\u3002 \u672c\u4f8b\u662fHttp://192.168.1.51:8123 \u5982\u4e0b\uff0c\u663e\u793a\uff0c\u8fd8\u5728\u5b89\u88c5\u4e2d \u7b49\u5f85\u5373\u53ef\uff0c\u540e\u7eed\u7684\u5b89\u88c5\u8c03\u8bd5\u7b49\uff0c\u89c1\u5176\u5b83\u6587\u6863\u3002","title":"vmwareExsi\u5b89\u88c5Ha"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#vmware-exsiha","text":"","title":"\u57fa\u4e8evmWare Exsi\u5b89\u88c5HA"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#1","text":"\u4e0b\u8f7dVMware ESXi\u5b89\u88c5\u955c\u50cf. \u6253\u5f00\u9875\u9762 https://www.home-assistant.io/installation/alternative \u70b9\u51fb\u4e0b\u8f7d\u201c VMware ESXi/vSphere \u7684 .ova \u683c\u5f0f\u955c\u50cf\u6587\u4ef6\u201d \u6ce8\u610f1 \u4f7f\u7528 E1000 \u6216 E1000E \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u3002\u5f53\u4f7f\u7528 VMware \u7684 VMXnet3 \u865a\u62df\u7f51\u7edc\u9002\u914d\u5668\u65f6\uff0c\u5df2\u786e\u8ba4\u5b58\u5728 mDNS/\u591a\u64ad\u53d1\u73b0\u95ee\u9898\u3002 \u89e3\u6790\uff1a E1000 \u548c E1000E\uff1a\u63a8\u8350\u7684\u865a\u62df\u7f51\u7edc\u9002\u914d\u5668 VMXnet3\uff1a\u53ef\u80fd\u4f1a\u5bfc\u81f4\u7f51\u7edc\u53d1\u73b0\u95ee\u9898 mDNS\uff1a\u591a\u64ad\u57df\u540d\u7cfb\u7edf \u591a\u64ad\u53d1\u73b0\uff1a\u8bbe\u5907\u5728\u7f51\u7edc\u4e0a\u81ea\u52a8\u53d1\u73b0\u548c\u901a\u4fe1\u7684\u673a\u5236 \u5efa\u8bae\uff1a \u5728 VMware ESXi \u521b\u5efa\u865a\u62df\u673a\u65f6 \u7f51\u7edc\u9002\u914d\u5668\u9009\u62e9 E1000 \u6216 E1000E \u907f\u514d\u4f7f\u7528 VMXnet3 \u6ce8\u610f2 \u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\uff0c\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a\u767b\u5f55ESXi\u4e3b\u673a\uff0c\u9009\u62e9\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff0c\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u9009\u62e9OVF\u6216OVA\u6587\u4ef6\u5e76\u5b8c\u6210\u540e\u7eed\u8bbe\u7f6e\u3002\ufeff \u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a \u767b\u5f55ESXi\u4e3b\u673a\uff1a:\u4f7f\u7528Web Client\u6216vSphere Client\u767b\u5f55\u5230\u60a8\u7684ESXi\u4e3b\u673a\u3002\ufeff \u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\uff1a:\u5728ESXi\u754c\u9762\u4e2d\uff0c\u627e\u5230\u5e76\u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u9009\u9879\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u7c7b\u578b\uff1a:\u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9OVF/OVA\u6587\u4ef6\uff1a:\u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u7136\u540e\u9009\u62e9\u8981\u90e8\u7f72\u7684OVF\u6216OVA\u6587\u4ef6\uff0c\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff1a:\u9009\u62e9\u865a\u62df\u673a\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u9009\u62e9\u90e8\u7f72\u9009\u9879\uff1a:\u6839\u636e\u9700\u8981\u9009\u62e9\u90e8\u7f72\u9009\u9879\uff0c\u4f8b\u5982\u7f51\u7edc\u914d\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002\ufeff \u5b8c\u6210\u90e8\u7f72\uff1a:\u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002\ufeff \u542f\u52a8\u865a\u62df\u673a\uff1a:\u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u542f\u52a8\u65b0\u521b\u5efa\u7684\u865a\u62df\u673a\u5373\u53ef\u3002\ufeff \u6ce8\u610f\u4e8b\u9879\uff1a \u5982\u679c\u4f7f\u7528OVF\u6587\u4ef6\uff0c\u901a\u5e38\u9700\u8981\u914d\u5408VMDK\u7b49\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u4e00\u8d77\u4f7f\u7528\u3002\ufeff \u786e\u4fddOVF\u6587\u4ef6\u548c\u76f8\u5173\u7684\u865a\u62df\u78c1\u76d8\u6587\u4ef6\u90fd\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e0b\uff0c\u6216\u8005\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\u3002\ufeff \u5728\u201c\u90e8\u7f72\u9009\u9879\u201d\u9875\u9762\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u914d\u7f6e\u865a\u62df\u673a\u7684\u7f51\u7edc\u3001\u8d44\u6e90\u7b49\u8bbe\u7f6e\u3002\ufeff \u5982\u679c\u9047\u5230\u201c\u7f3a\u5c11\u78c1\u76d8\u955c\u50cf\u201d\u7b49\u62a5\u9519\uff0c\u53ef\u80fd\u662f\u7531\u4e8eOVF\u6587\u4ef6\u4e2d\u5f15\u7528\u7684\u78c1\u76d8\u6587\u4ef6\u8def\u5f84\u4e0d\u6b63\u786e\uff0c\u6216\u8005\u78c1\u76d8\u6587\u4ef6\u672a\u6b63\u786e\u4e0a\u4f20\u5230ESXi\u7684\u5b58\u50a8\uff0c\u9700\u8981\u68c0\u67e5\u5e76\u4fee\u6b63\u3002\ufeff \u5bf9\u4e8e\u67d0\u4e9bOVF\u6a21\u677f\uff0c\u53ef\u80fd\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u989d\u5916\u7684\u914d\u7f6e\uff0c\u4f8b\u5982\u4fee\u6539\u865a\u62df\u673a\u7684\u786c\u4ef6\u7248\u672c\u4ee5\u517c\u5bb9ESXi\u7248\u672c\u3002\ufeff \u901a\u8fc7\u4ee5\u4e0a\u6b65\u9aa4\uff0c\u60a8\u5c31\u53ef\u4ee5\u6210\u529f\u5730\u5728ESXi\u4e0a\u901a\u8fc7OVF/OVA\u955c\u50cf\u5b89\u88c5\u865a\u62df\u673a\u4e86","title":"1. \u51c6\u5907\u5de5\u4f5c"},{"location":"install-guide/vmwareExsi%E5%AE%89%E8%A3%85Ha/#2","text":"\u767b\u5f55\u5230ESXi\u4e3b\u673a\u7684Web\u754c\u9762\u3002 \u5728\u5de6\u4fa7\u5bfc\u822a\u680f\u4e2d\uff0c\u70b9\u51fb\u201c\u865a\u62df\u673a\u201d\u3002 \u70b9\u51fb\u201c\u521b\u5efa/\u6ce8\u518c\u865a\u62df\u673a\u201d\u6309\u94ae\u3002 \u9009\u62e9\u201c\u4eceOVF\u6216OVA\u6587\u4ef6\u90e8\u7f72\u865a\u62df\u673a\u201d\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u8f93\u5165\u865a\u62df\u673a\u540d\u79f0\uff0c\u5e76\u9009\u62e9\u4e0b\u8f7d\u7684Home Assistant OVA\u6587\u4ef6\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u9009\u62e9\u5b58\u50a8\u4f4d\u7f6e\uff0c\u901a\u5e38\u9009\u62e9\u9ed8\u8ba4\u7684\u5b58\u50a8\u4f4d\u7f6e\u5373\u53ef\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u7f51\u7edc\u6620\u5c04\u201d\u9875\u9762\uff0c\u9009\u62e9\u9002\u5f53\u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u786e\u4fdd\u4f7f\u7528E1000\u6216E1000E\uff09\uff0c\u7136\u540e\u70b9\u51fb\u201c\u4e0b\u4e00\u9875\u201d\u3002 \u5728\u201c\u5373\u5c06\u5b8c\u6210\u201d\u9875\u9762\uff0c\u68c0\u67e5\u8bbe\u7f6e\uff0c\u7136\u540e\u70b9\u51fb\u201c\u5b8c\u6210\u201d\u3002 \u9875\u9762\u5e95\u90e8\u4f1a\u663e\u793a\u90e8\u7f72\u8fdb\u5ea6\uff0c\u7b49\u5f85\u90e8\u7f72\u5b8c\u6210\u3002 \u90e8\u7f72\u5b8c\u6210\u540e\uff0c\u60a8\u53ef\u4ee5\u5728\u865a\u62df\u673a\u5217\u8868\u4e2d\u770b\u5230\u65b0\u521b\u5efa\u7684Home Assistant\u865a\u62df\u673a\u3002 \u9009\u4e2dHome Assistant\u865a\u62df\u673a\uff0c\u70b9\u51fb\u201c\u542f\u52a8\u201d\u6309\u94ae\u6765\u542f\u52a8\u865a\u673a \u9996\u6b21\u542f\u52a8\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\u3002 \u770b\u5230ha> \u8fdb\u793a\u7b26\u540e\uff0c\u53ef\u4ee5\u8bd5\u7740\u8f93\u5165 ha \u547d\u4ee4\u6765\u68c0\u67e5Home Assistant\u7684\u72b6\u6001\u3002 \u4e0a\u8ff0\u72b6\u6001\uff0c\u5982\u679c\u663e\u793a \"System is not ready with state: setup\"\uff0c\u8bf4\u660e\u7cfb\u7edf\u6b63\u5728\u5b89\u88c5\u4e2d\uff0c\u8bf7\u8010\u5fc3\u7b49\u5f85\uff0c\u76f4\u5230\u7cfb\u7edf\u5b8c\u5168\u542f\u52a8\u540e\u518d\u8bbf\u95eeWeb\u754c\u9762\u3002\u9996\u6b21\u542f\u52a8 Home Assistant \u9700\u8981\u8f83\u957f\u65f6\u95f4\uff0c\u901a\u5e38\u9700\u8981 10-30 \u5206\u949f\uff0c\u8fd9\u53d6\u51b3\u4e8e\u60a8\u7684\u786c\u4ef6\u914d\u7f6e\u3002 \u7a0d\u7b49\u4e00\u4f1a\uff0c\u6211\u4eec\u518d\u6b21\u7528ha cli info\u6765\u67e5\u770b\u72b6\u6001 \u7136\u540e\u7528 ha network info \u6765\u67e5\u770b\u7f51\u7edc\u72b6\u6001,\u53ef\u89c1\u6211\u4eec\u7684IP\u5730\u5740\u662f:192.168.1.51,\u540e\u7eed\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\u8fd9\u4e2aIP\u5730\u5740\u6765\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\u3002 \u542f\u52a8\u540e\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95eeHome Assistant\u7684Web\u754c\u9762\uff0c\u901a\u5e38\u662f\u901a\u8fc7ESXi\u4e3b\u673a\u7684IP\u5730\u5740\u52a0\u4e0a\u7aef\u53e38123\u6765\u8bbf\u95ee\uff0c\u4f8b\u5982\uff1ahttp:// :8123\u3002 \u672c\u4f8b\u662fHttp://192.168.1.51:8123 \u5982\u4e0b\uff0c\u663e\u793a\uff0c\u8fd8\u5728\u5b89\u88c5\u4e2d \u7b49\u5f85\u5373\u53ef\uff0c\u540e\u7eed\u7684\u5b89\u88c5\u8c03\u8bd5\u7b49\uff0c\u89c1\u5176\u5b83\u6587\u6863\u3002","title":"2. \u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/","text":"ModbusPoll v7.0.0 \u4f7f\u7528\u6559\u7a0b \u00b6 \u76ee\u5f55 \u00b6 \u8f6f\u4ef6\u4ecb\u7ecd \u5b89\u88c5\u4e0e\u542f\u52a8 \u57fa\u672c\u914d\u7f6e \u8fde\u63a5\u8bbe\u7f6e \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u6545\u969c\u6392\u9664 \u9ad8\u7ea7\u529f\u80fd \u8f6f\u4ef6\u4ecb\u7ecd \u00b6 ModbusPoll\u662f\u4e00\u6b3e\u4e13\u4e1a\u7684Modbus\u4e3b\u673a\u4eff\u771f\u5668\u5de5\u5177\uff0c\u4e3b\u8981\u7528\u4e8e\uff1a - \u6d4b\u8bd5\u548c\u8c03\u8bd5Modbus\u4ece\u8bbe\u5907 - \u76d1\u63a7Modbus\u8bbe\u5907\u6570\u636e - \u9a8c\u8bc1\u8bbe\u5907\u901a\u4fe1\u534f\u8bae - \u6545\u969c\u8bca\u65ad\u548c\u6392\u9664 \u4e3b\u8981\u7279\u6027 \u00b6 \u652f\u6301Modbus RTU/ASCII/TCP\u534f\u8bae \u5b9e\u65f6\u6570\u636e\u76d1\u63a7 \u591a\u79cd\u6570\u636e\u683c\u5f0f\u663e\u793a \u65e5\u5fd7\u8bb0\u5f55\u529f\u80fd \u6279\u91cf\u8bfb\u53d6\u529f\u80fd \u5b89\u88c5\u4e0e\u542f\u52a8 \u00b6 \u7cfb\u7edf\u8981\u6c42 \u00b6 Windows 7/8/10/11 .NET Framework 4.0 \u6216\u66f4\u9ad8\u7248\u672c \u81f3\u5c1150MB\u53ef\u7528\u78c1\u76d8\u7a7a\u95f4 \u5b89\u88c5\u6b65\u9aa4 \u00b6 \u4e0b\u8f7dModbusPoll-v7.0.0\u5b89\u88c5\u5305 \u53f3\u952e\u70b9\u51fb\u5b89\u88c5\u5305\uff0c\u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" \u6309\u7167\u5b89\u88c5\u5411\u5bfc\u5b8c\u6210\u5b89\u88c5 \u542f\u52a8\u7a0b\u5e8f\uff1a\u5f00\u59cb\u83dc\u5355 \u2192 ModbusPoll \u9996\u6b21\u542f\u52a8 \u00b6 \u542f\u52a8\u540e\u4f1a\u663e\u793a\u4e3b\u754c\u9762\uff0c\u5305\u542b\uff1a - \u83dc\u5355\u680f\uff1a\u6587\u4ef6\u3001\u8fde\u63a5\u3001\u8bbe\u7f6e\u7b49 - \u5de5\u5177\u680f\uff1a\u5e38\u7528\u529f\u80fd\u5feb\u6377\u6309\u94ae - \u6570\u636e\u663e\u793a\u533a\u57df\uff1a\u5bc4\u5b58\u5668\u6570\u636e\u8868\u683c - \u72b6\u6001\u680f\uff1a\u8fde\u63a5\u72b6\u6001\u548c\u7edf\u8ba1\u4fe1\u606f \u57fa\u672c\u914d\u7f6e \u00b6 \u8fde\u63a5\u8bbe\u7f6e \u00b6 \u4e32\u53e3\u8fde\u63a5\uff08RTU/ASCII\uff09 Connection \u2192 Connect \u6216\u70b9\u51fb\u5de5\u5177\u680f\u8fde\u63a5\u56fe\u6807 \u8fde\u63a5\u53c2\u6570\u914d\u7f6e Port : \u9009\u62e9\u4e32\u53e3\uff08COM1, COM2\u7b49\uff09 Baud Rate : \u6ce2\u7279\u7387\uff08\u5e38\u75289600, 19200, 38400\uff09 Data Bits : \u6570\u636e\u4f4d\uff08\u901a\u5e38\u4e3a8\uff09 Parity : \u6821\u9a8c\u4f4d\uff08None, Even, Odd\uff09 Stop Bits : \u505c\u6b62\u4f4d\uff081\u62162\uff09 Mode : \u9009\u62e9RTU\u6216ASCII TCP\u8fde\u63a5\u8bbe\u7f6e IP Address : \u8bbe\u5907IP\u5730\u5740 Port : \u7aef\u53e3\u53f7\uff08\u9ed8\u8ba4502\uff09 Unit ID : \u4ece\u7ad9\u5730\u5740 \u8fde\u63a5\u8bbe\u7f6e \u00b6 \u4e32\u53e3\u8fde\u63a5\u793a\u4f8b \u00b6 \u4ee5\u6c34\u5904\u7406\u673a\u4e3a\u4f8b\uff1a - Port: COM1 - Baud Rate: 9600 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Mode: RTU - Response timeout: 1000ms - Delay between polls: 100ms TCP\u8fde\u63a5\u793a\u4f8b \u00b6 \u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u7f51\u7edc\u8fde\u63a5\uff1a - IP Address: 192.168.1.100 - Port: 502 - Unit ID: 1 - Response timeout: 3000ms - Delay between polls: 500ms \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u00b6 \u8bbe\u7f6e\u8bfb\u53d6\u53c2\u6570 \u00b6 Setup \u2192 Read/Write Definition \u914d\u7f6e\u8bfb\u53d6\u53c2\u6570\uff1a Slave ID : \u4ece\u7ad9\u5730\u5740\uff081-247\uff09 Function : \u529f\u80fd\u7801 01: \u8bfb\u53d6\u7ebf\u5708\u72b6\u6001 02: \u8bfb\u53d6\u8f93\u5165\u72b6\u6001 03: \u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668 04: \u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668 Address : \u8d77\u59cb\u5730\u5740 Quantity : \u8bfb\u53d6\u6570\u91cf Scan Rate : \u626b\u63cf\u9891\u7387\uff08ms\uff09 \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u914d\u7f6e\u793a\u4f8b \u00b6 \u6e29\u5ea6\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 (Read Holding Registers) - Address: 23 (0x0017) - Quantity: 2 - Scan Rate: 1000ms \u4f9b\u6db2\u538b\u529b\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 25 (0x0019) - Quantity: 2 - Scan Rate: 500ms \u6db2\u4f4d\u72b6\u6001\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 01 (Read Coils) - Address: 0x0001 - Quantity: 16 - Scan Rate: 2000ms \u7535\u5bfc\u7387\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Scan Rate: 1000ms PH\u503c\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Scan Rate: 1000ms \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u00b6 \u6c34\u5904\u7406\u673a\u53c2\u6570\u8bfb\u53d6 \u00b6 \u6839\u636e\u6c34\u5904\u7406\u8bbe\u5907\u901a\u4fe1\u534f\u8bae\u914d\u7f6e\uff1a 1. \u6e29\u5ea6\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0017\uff09 - Function: 03 - Address: 23 (0x0017) - Quantity: 2 - Data Format: Float (4\u5b57\u8282) 2. \u7535\u5bfc\u7387\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0018\uff09 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Data Format: Float 3. \u4f9b\u6db2\u538b\u529b\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0019-0x001A\uff09 - Function: 03 - Address: 25 (0x0019) - Quantity: 4 - Data Format: Float (\u4f9b\u6db2\u4e00\u3001\u4f9b\u6db2\u4e8c\u538b\u529b) 4. \u6db2\u4f4d\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001B-0x001C\uff09 - Function: 03 - Address: 27 (0x001B) - Quantity: 4 - Data Format: Float (\u50a8\u6db2\u3001\u914d\u6db2\u6db2\u4f4d) 5. PH\u503c\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001D\uff09 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Data Format: Float \u6279\u91cf\u8bfb\u53d6\u914d\u7f6e \u00b6 Setup \u2192 Read/Write Definition \u2192 Add Multiple \u521b\u5efa\u591a\u4e2a\u8bfb\u53d6\u7ec4\uff1a - \u7ec41\uff1a\u6e29\u5ea6\u76f8\u5173\u53c2\u6570 (0x0017-0x0018) - \u7ec42\uff1a\u538b\u529b\u76f8\u5173\u53c2\u6570 (0x0019-0x001A) - \u7ec43\uff1a\u6db2\u4f4d\u76f8\u5173\u53c2\u6570 (0x001B-0x001C) - \u7ec44\uff1aPH\u503c\u53c2\u6570 (0x001D) - \u7ec45\uff1a\u72b6\u6001\u76f8\u5173\u53c2\u6570 (0x0001-0x0010) \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u00b6 \u6570\u636e\u663e\u793a\u683c\u5f0f \u00b6 Display \u2192 Data Format \u9009\u62e9\u5408\u9002\u7684\u663e\u793a\u683c\u5f0f\uff1a Signed/Unsigned : \u6709\u7b26\u53f7/\u65e0\u7b26\u53f7 16-bit/32-bit : \u6570\u636e\u4f4d\u6570 Hex/Decimal/Binary : \u8fdb\u5236\u663e\u793a Float : \u6d6e\u70b9\u6570\u663e\u793a \u5b57\u8282\u5e8f\u914d\u7f6e\u8be6\u89e3 \u00b6 \u91cd\u8981 \uff1a\u6b63\u786e\u7684\u5b57\u8282\u5e8f\u8bbe\u7f6e\u662f\u6570\u636e\u6b63\u786e\u663e\u793a\u7684\u5173\u952e \u914d\u7f6e\u6b65\u9aa4 \uff1a 1. Display \u2192 Data Format \u2192 Advanced 2. \u5b57\u8282\u5e8f\u9009\u9879 \uff1a ``` \u25a1 Byte Swap - \u5b57\u8282\u4ea4\u6362 \u25a1 Word Swap - \u5b57\u4ea4\u6362 \u56db\u79cd\u7ec4\u5408\u5bf9\u5e94\u4e0d\u540c\u5b57\u8282\u5e8f\uff1a \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u9009\u9879\u7ec4\u5408 \u2502 \u5b57\u8282\u5e8f \u2502 \u793a\u4f8b \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u65e0\u52fe\u9009 \u2502 ABCD \u2502 42 0C CC CD \u2502 \u2502 Byte Swap \u2502 BADC \u2502 0C 42 CD CC \u2502 \u2502 Word Swap \u2502 CDAB \u2502 CC CD 42 0C \u2502 \u2502 Both \u2502 DCBA \u2502 CD CC 0C 42 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 ``` \u5b9e\u9645\u9a8c\u8bc1\u65b9\u6cd5 \uff1a \u57fa\u4e8e\u60a8\u7684\u901a\u4fe1\u6570\u636e CD CC 0C 42\uff1a 1. \u5c1d\u8bd5DCBA\u683c\u5f0f\uff1aCD CC 0C 42 \u2192 35.2\u00b0C \u2713 2. \u5176\u4ed6\u683c\u5f0f\u90fd\u4f1a\u663e\u793a\u5f02\u5e38\u503c 3. \u56e0\u6b64\u60a8\u7684\u8bbe\u5907\u4f7f\u7528DCBA\u5b57\u8282\u5e8f \u914d\u7f6e\u5efa\u8bae \uff1a - \u6c34\u5904\u7406\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5927\u7aef\u5e8f(ABCD) - PC-based\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5c0f\u7aef\u5e8f(DCBA) - \u6839\u636e\u5b9e\u9645\u6570\u636e\u9a8c\u8bc1\u9009\u62e9\u6b63\u786e\u683c\u5f0f \u5b9e\u65f6\u76d1\u63a7 \u00b6 View\u83dc\u5355\u9009\u9879\uff1a - Data View: \u6570\u636e\u8868\u683c\u89c6\u56fe - Register View: \u5bc4\u5b58\u5668\u89c6\u56fe - Traffic View: \u901a\u4fe1\u6d41\u91cf\u89c6\u56fe - Error View: \u9519\u8bef\u65e5\u5fd7\u89c6\u56fe \u6570\u636e\u8bb0\u5f55 \u00b6 Log \u2192 Start Logging \u8bbe\u7f6e\u65e5\u5fd7\u6587\u4ef6\u8def\u5f84\u548c\u683c\u5f0f \u9009\u62e9\u8bb0\u5f55\u95f4\u9694\u548c\u6761\u4ef6 \u5f00\u59cb\u8bb0\u5f55\u6570\u636e\u53d8\u5316 \u544a\u8b66\u8bbe\u7f6e \u00b6 Setup \u2192 Alarm Setup \u914d\u7f6e\u544a\u8b66\u6761\u4ef6\uff1a - \u6c34\u6e29\u8d85\u9650\uff1a> 40\u00b0C \u6216 < 35\u00b0C - \u4f9b\u6db2\u538b\u529b\u5f02\u5e38\uff1a< 0.1MPa \u6216 > 0.5MPa - \u7535\u5bfc\u7387\u5f02\u5e38\uff1a< 13.0 \u6216 > 15.0 mS/cm - \u8bbe\u5907\u79bb\u7ebf\uff1a\u901a\u4fe1\u8d85\u65f6 > 5\u79d2 \u6545\u969c\u6392\u9664 \u00b6 \u5e38\u89c1\u95ee\u9898\u53ca\u89e3\u51b3\u65b9\u6848 \u00b6 1. \u8fde\u63a5\u5931\u8d25 \u00b6 \u95ee\u9898\uff1a\u65e0\u6cd5\u8fde\u63a5\u5230\u8bbe\u5907 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u4e32\u53e3/\u7f51\u7edc\u8fde\u63a5 - \u786e\u8ba4\u6ce2\u7279\u7387\u548c\u901a\u4fe1\u53c2\u6570 - \u68c0\u67e5\u8bbe\u5907\u5730\u5740\u662f\u5426\u6b63\u786e - \u9a8c\u8bc1\u7535\u7f06\u8fde\u63a5 2. \u6570\u636e\u8bfb\u53d6\u5f02\u5e38 \u00b6 \u95ee\u9898\uff1a\u8bfb\u53d6\u6570\u636e\u5168\u4e3a0\u6216\u5f02\u5e38\u503c \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u529f\u80fd\u7801\u662f\u5426\u6b63\u786e - \u786e\u8ba4\u5bc4\u5b58\u5668\u5730\u5740 - \u68c0\u67e5\u6570\u636e\u683c\u5f0f\u8bbe\u7f6e - \u9a8c\u8bc1\u8bbe\u5907\u662f\u5426\u652f\u6301\u8be5\u529f\u80fd 3. \u901a\u4fe1\u8d85\u65f6 \u00b6 \u95ee\u9898\uff1a\u9891\u7e41\u51fa\u73b0\u901a\u4fe1\u8d85\u65f6 \u89e3\u51b3\u65b9\u6848\uff1a - \u589e\u52a0Response Timeout\u65f6\u95f4 - \u51cf\u5c11\u626b\u63cf\u9891\u7387 - \u68c0\u67e5\u7f51\u7edc\u7a33\u5b9a\u6027 - \u786e\u8ba4\u8bbe\u5907\u8d1f\u8f7d\u60c5\u51b5 4. \u6570\u636e\u683c\u5f0f\u9519\u8bef \u00b6 \u95ee\u9898\uff1a\u6570\u636e\u663e\u793a\u683c\u5f0f\u4e0d\u6b63\u786e \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u5b57\u8282\u5e8f\u8bbe\u7f6e\uff08\u5927\u7aef/\u5c0f\u7aef\uff09 - \u786e\u8ba4\u6570\u636e\u7c7b\u578b\uff08\u6574\u6570/\u6d6e\u70b9\uff09 - \u8c03\u6574\u6570\u636e\u4f4d\u6570\u8bbe\u7f6e - \u53c2\u8003\u8bbe\u5907\u624b\u518c\u786e\u8ba4\u683c\u5f0f 5. \u5b57\u8282\u5e8f\u95ee\u9898\u8bca\u65ad \u00b6 \u95ee\u9898\uff1a\u6570\u636e\u6570\u503c\u5f02\u5e38\uff08\u8fc7\u5927\u6216\u8fc7\u5c0f\uff09 \u75c7\u72b6\uff1a - \u6e29\u5ea6\u663e\u793a\u51e0\u5343\u5ea6\u6216\u8d1f\u503c - \u538b\u529b\u663e\u793a\u5f02\u5e38\u5927\u7684\u6570\u503c - \u7535\u5bfc\u7387\u663e\u793a\u4e0d\u5408\u7406\u6570\u503c \u89e3\u51b3\u6b65\u9aa4\uff1a 1. \u67e5\u770bTraffic View\u4e2d\u7684\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e 2. \u5c1d\u8bd5\u4e0d\u540c\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a - Display \u2192 Data Format \u2192 Byte Swap - Display \u2192 Data Format \u2192 Word Swap 3. \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u7ec4\u5408 4. \u9a8c\u8bc1\u591a\u4e2a\u53c2\u6570\u786e\u4fdd\u8bbe\u7f6e\u6b63\u786e \u5b9e\u4f8b\uff1a \u539f\u59cb\u6570\u636e\uff1aCD CC 0C 42 - \u9ed8\u8ba4(ABCD)\uff1a\u5f02\u5e38\u503c - Byte swap(BADC)\uff1a\u5f02\u5e38\u503c - Word swap(CDAB)\uff1a\u5f02\u5e38\u503c - Byte+Word(DCBA)\uff1a35.2\u00b0C \u2713\u6b63\u786e \u9ad8\u7ea7\u529f\u80fd \u00b6 1. \u811a\u672c\u81ea\u52a8\u5316 \u00b6 Tools \u2192 Scripting \u652f\u6301VB\u811a\u672c\u81ea\u52a8\u5316\uff1a - \u81ea\u52a8\u8fde\u63a5\u8bbe\u5907 - \u6279\u91cf\u6570\u636e\u5904\u7406 - \u6761\u4ef6\u89e6\u53d1\u64cd\u4f5c - \u62a5\u544a\u751f\u6210 2. \u6570\u636e\u5bfc\u51fa \u00b6 File \u2192 Export Data \u652f\u6301\u591a\u79cd\u683c\u5f0f\uff1a - CSV\u6587\u4ef6 - Excel\u6587\u4ef6 - XML\u683c\u5f0f - \u81ea\u5b9a\u4e49\u683c\u5f0f 3. \u591a\u8bbe\u5907\u76d1\u63a7 \u00b6 \u53ef\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u8bbe\u5907\uff1a 1. File \u2192 New Document 2. \u914d\u7f6e\u4e0d\u540c\u8bbe\u5907\u53c2\u6570 3. Window \u2192 Tile \u5e73\u94fa\u663e\u793a 4. \u5b9e\u73b0\u591a\u8bbe\u5907\u96c6\u4e2d\u76d1\u63a7 4. \u8d8b\u52bf\u5206\u6790 \u00b6 View \u2192 Trend View \u529f\u80fd\u7279\u6027\uff1a - \u5b9e\u65f6\u8d8b\u52bf\u56fe\u8868 - \u5386\u53f2\u6570\u636e\u56de\u653e - \u6570\u636e\u7edf\u8ba1\u5206\u6790 - \u5f02\u5e38\u70b9\u6807\u8bb0 \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u5b9e\u6218 \u00b6 \u5b8c\u6574\u76d1\u63a7\u914d\u7f6e \u00b6 # \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u914d\u7f6e\u793a\u4f8b \u8bbe\u5907\u4fe1\u606f : \u8bbe\u5907\u578b\u53f7 : \u6c34\u5904\u7406\u673a+\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907 \u901a\u4fe1\u65b9\u5f0f : Modbus RTU/TCP \u6ce2\u7279\u7387 : 9600 \u4ece\u7ad9\u5730\u5740 : 1 \u76d1\u63a7\u53c2\u6570 : \u6e29\u5ea6\u76d1\u63a7 : \u5730\u5740 : 0x0017 \u5355\u4f4d : \u00b0C \u544a\u8b66 : 35-40\u00b0C \u7535\u5bfc\u7387\u76d1\u63a7 : \u5730\u5740 : 0x0018 \u5355\u4f4d : mS/cm \u544a\u8b66 : 13.0-15.0 \u538b\u529b\u76d1\u63a7 : \u4f9b\u6db2\u4e00 : 0x0019 \u4f9b\u6db2\u4e8c : 0x001A \u5355\u4f4d : MPa \u544a\u8b66 : 0.1-0.5 \u6db2\u4f4d\u76d1\u63a7 : \u50a8\u6db2 : 0x001B \u914d\u6db2 : 0x001C \u5355\u4f4d : % \u544a\u8b66 : 10-90% PH\u503c\u76d1\u63a7 : \u5730\u5740 : 0x001D \u5355\u4f4d : pH \u544a\u8b66 : 6.5-7.5 \u626b\u63cf\u8bbe\u7f6e : \u6b63\u5e38\u626b\u63cf : 1000ms \u5feb\u901f\u626b\u63cf : 500ms \u6162\u901f\u626b\u63cf : 2000ms \u901a\u4fe1\u534f\u8bae\u5206\u6790 : \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e : - \u4f7f\u7528Modbus TCP\u534f\u8bae - \u529f\u80fd\u780103 (Read Holding Registers) - \u8d77\u59cb\u5730\u5740 : 0x0017 (\u6e29\u5ea6) - \u6570\u636e\u683c\u5f0f : 32\u4f4d\u6d6e\u70b9\u6570 (IEEE 754) - \u5b57\u8282\u5e8f\u5206\u6790 : * \u539f\u59cb\u6570\u636e : CD CC 0C 42 * \u9700\u8981DCBA\u5b57\u8282\u5e8f (Byte+Word Swap) * \u89e3\u6790\u7ed3\u679c : 35.2\u00b0C - \u6570\u636e\u793a\u4f8b\u9a8c\u8bc1 : * CD CC 0C 42 (\u5341\u516d\u8fdb\u5236) * \u2192 0x420CCCCD (\u91cd\u6392\u540e) * \u2192 35.2000008 (IEEE 754\u6d6e\u70b9\u6570) * \u2192 35.2\u00b0C (\u663e\u793a\u503c) \u914d\u7f6e\u8981\u70b9 : - ModbusPoll\u8bbe\u7f6e : Display \u2192 Data Format - \u52fe\u9009 : Byte Swap + Word Swap - \u6570\u636e\u7c7b\u578b : 32-bit Float - \u9a8c\u8bc1\u65b9\u6cd5 : \u89c2\u5bdf\u6e29\u5ea6\u662f\u5426\u5728\u5408\u7406\u8303\u56f4(30-50\u00b0C) \u81ea\u52a8\u5316\u811a\u672c\u793a\u4f8b \u00b6 ' \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u72b6\u6001\u68c0\u67e5\u811a\u672c Sub CheckWaterTreatmentStatus () Dim temp , pressure1 , pressure2 , conductivity , ph ' \u8bfb\u53d6\u6e29\u5ea6 (\u5730\u574023) temp = mbPoll . ReadFloat ( 1 , 3 , 23 ) ' \u8bfb\u53d6\u538b\u529b (\u5730\u574025,26) pressure1 = mbPoll . ReadFloat ( 1 , 3 , 25 ) pressure2 = mbPoll . ReadFloat ( 1 , 3 , 26 ) ' \u8bfb\u53d6\u7535\u5bfc\u7387 (\u5730\u574024) conductivity = mbPoll . ReadFloat ( 1 , 3 , 24 ) ' \u8bfb\u53d6PH\u503c (\u5730\u574029) ph = mbPoll . ReadFloat ( 1 , 3 , 29 ) ' \u68c0\u67e5\u5f02\u5e38 If temp > 40 Or temp < 35 Then MsgBox \"\u6c34\u6e29\u5f02\u5e38: \" & temp & \"\u00b0C\" End If If pressure1 < 0.1 Or pressure1 > 0.5 Then MsgBox \"\u4f9b\u6db2\u4e00\u538b\u529b\u5f02\u5e38: \" & pressure1 & \"MPa\" End If If conductivity < 13.0 Or conductivity > 15.0 Then MsgBox \"\u7535\u5bfc\u7387\u5f02\u5e38: \" & conductivity & \"mS/cm\" End If If ph < 6.5 Or ph > 7.5 Then MsgBox \"PH\u503c\u5f02\u5e38: \" & ph End If End Sub \u6700\u4f73\u5b9e\u8df5\u5efa\u8bae \u00b6 1. \u6027\u80fd\u4f18\u5316 \u00b6 \u5408\u7406\u8bbe\u7f6e\u626b\u63cf\u9891\u7387\uff0c\u907f\u514d\u8fc7\u5ea6\u8f6e\u8be2 \u4f7f\u7528\u6279\u91cf\u8bfb\u53d6\u51cf\u5c11\u901a\u4fe1\u6b21\u6570 \u5b9a\u671f\u6e05\u7406\u65e5\u5fd7\u6587\u4ef6 \u76d1\u63a7\u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5 2. \u6570\u636e\u7ba1\u7406 \u00b6 \u5efa\u7acb\u89c4\u8303\u7684\u53c2\u6570\u547d\u540d\u89c4\u5219 \u5b9a\u671f\u5907\u4efd\u91cd\u8981\u914d\u7f6e \u8bbe\u7f6e\u5408\u7406\u7684\u6570\u636e\u4fdd\u5b58\u5468\u671f \u5b9e\u65bd\u6570\u636e\u5b89\u5168\u63aa\u65bd 3. \u7ef4\u62a4\u5efa\u8bae \u00b6 \u5b9a\u671f\u68c0\u67e5\u901a\u4fe1\u7ebf\u8def \u66f4\u65b0\u8bbe\u5907\u9a71\u52a8\u7a0b\u5e8f \u5907\u4efd\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6 \u5efa\u7acb\u6545\u969c\u5904\u7406\u6d41\u7a0b \u9644\u5f55 \u00b6 A. Modbus\u529f\u80fd\u7801\u5bf9\u7167\u8868 \u00b6 01 - Read Coils (\u8bfb\u53d6\u7ebf\u5708\u72b6\u6001) 02 - Read Discrete Inputs (\u8bfb\u53d6\u79bb\u6563\u8f93\u5165) 03 - Read Holding Registers (\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668) 04 - Read Input Registers (\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668) 05 - Write Single Coil (\u5199\u5355\u4e2a\u7ebf\u5708) 06 - Write Single Register (\u5199\u5355\u4e2a\u5bc4\u5b58\u5668) 15 - Write Multiple Coils (\u5199\u591a\u4e2a\u7ebf\u5708) 16 - Write Multiple Registers (\u5199\u591a\u4e2a\u5bc4\u5b58\u5668) B. \u5e38\u7528\u6ce2\u7279\u7387\u8bbe\u7f6e \u00b6 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 C. \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u5e38\u7528\u5730\u5740\u6620\u5c04 \u00b6 \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e\u7684\u5730\u5740\u6620\u5c04\uff1a \u6e29\u5ea6\uff1a0x0017 (\u5341\u8fdb\u523623) \u7535\u5bfc\u7387\uff1a0x0018 (\u5341\u8fdb\u523624) \u4f9b\u6db2\u4e00\u538b\u529b\uff1a0x0019 (\u5341\u8fdb\u523625) \u4f9b\u6db2\u4e8c\u538b\u529b\uff1a0x001A (\u5341\u8fdb\u523626) \u50a8\u6db2\u6db2\u4f4d\uff1a0x001B (\u5341\u8fdb\u523627) \u914d\u6db2\u6db2\u4f4d\uff1a0x001C (\u5341\u8fdb\u523628) PH\u503c\uff1a0x001D (\u5341\u8fdb\u523629) \u72b6\u6001\u7c7b\uff1a0x0001-0x0010 \u63a7\u5236\u7c7b\uff1a0x0020-0x0030 D. \u5927\u7aef\u5c0f\u7aef\uff08\u5b57\u8282\u5e8f\uff09\u8be6\u89e3 \u00b6 \u4ec0\u4e48\u662f\u5927\u7aef\u5c0f\u7aef\uff1f \u00b6 \u5b57\u8282\u5e8f\uff08Byte Order\uff09\u662f\u6307\u591a\u5b57\u8282\u6570\u636e\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u50a8\u987a\u5e8f\uff0c\u4e3b\u8981\u6709\u4e24\u79cd\uff1a \u5927\u7aef\u5e8f\uff08Big Endian\uff09 \uff1a - \u9ad8\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u7b26\u5408\u4eba\u7c7b\u9605\u8bfb\u4e60\u60ef - \u7f51\u7edc\u4f20\u8f93\u6807\u51c6\u5b57\u8282\u5e8f \u5c0f\u7aef\u5e8f\uff08Little Endian\uff09 \uff1a - \u4f4e\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u591a\u6570x86\u5904\u7406\u5668\u91c7\u7528 - Intel\u67b6\u6784\u9ed8\u8ba4\u5b57\u8282\u5e8f \u5b9e\u9645\u4f8b\u5b50\u8bf4\u660e \u00b6 \u4ee532\u4f4d\u6d6e\u70b9\u6570 35.2\u00b0C \u4e3a\u4f8b\uff1a IEEE 754 \u6d6e\u70b9\u6570\u8868\u793a\uff1a0x420C_CCCD \u5927\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) 0x1001 0x0C 0x1002 0xCC 0x1003 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) \u5c0f\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) 0x1001 0xCC 0x1002 0x0C 0x1003 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) \u5982\u4f55\u786e\u5b9a\u8bbe\u5907\u5b57\u8282\u5e8f\uff1f \u00b6 \u65b9\u6cd51\uff1a\u901a\u8fc7\u901a\u4fe1\u6570\u636e\u5206\u6790 \u4ececommdata.txt\u770b\u5230\u7684\u6570\u636e\uff1aCD CC 0C 42 1. \u5c06\u8fd94\u4e2a\u5b57\u8282\u6309\u4e0d\u540c\u5b57\u8282\u5e8f\u89e3\u91ca\uff1a - \u5927\u7aef\u5e8f\uff1a0x42_0C_CCCD = 35.2 (\u5408\u7406\u7684\u6e29\u5ea6\u503c) - \u5c0f\u7aef\u5e8f\uff1a0xCDCC_0C42 = \u975e\u5e38\u5927\u7684\u6570\u503c(\u4e0d\u5408\u7406) 2. \u7ed3\u8bba\uff1a\u8bbe\u5907\u4f7f\u7528\u5927\u7aef\u5e8f \u65b9\u6cd52\uff1a\u67e5\u770b\u8bbe\u5907\u624b\u518c \u8bbe\u5907\u6280\u672f\u6587\u6863\u901a\u5e38\u4f1a\u8bf4\u660e\uff1a - \"\u7f51\u7edc\u5b57\u8282\u5e8f\" = \u5927\u7aef\u5e8f - \"\u4e3b\u673a\u5b57\u8282\u5e8f\" = \u901a\u5e38\u662f\u5c0f\u7aef\u5e8f - \"Intel\u683c\u5f0f\" = \u5c0f\u7aef\u5e8f - \"Motorola\u683c\u5f0f\" = \u5927\u7aef\u5e8f \u65b9\u6cd53\uff1aModbusPoll\u4e2d\u7684\u9a8c\u8bc1 \u5728ModbusPoll\u4e2d\u6d4b\u8bd5\uff1a 1. Setup \u2192 Data Format \u2192 Byte Swap 2. \u89c2\u5bdf\u6570\u636e\u662f\u5426\u5408\u7406\uff1a - \u6e29\u5ea6\u5e94\u8be5\u57280-100\u00b0C\u8303\u56f4 - \u538b\u529b\u5e94\u8be5\u57280-10MPa\u8303\u56f4 - \u7535\u5bfc\u7387\u5e94\u8be5\u572810-20mS/cm\u8303\u56f4 3. \u9009\u62e9\u663e\u793a\u6b63\u786e\u6570\u503c\u7684\u5b57\u8282\u5e8f ModbusPoll\u5b57\u8282\u5e8f\u8bbe\u7f6e \u00b6 \u914d\u7f6e\u8def\u5f84 \uff1aDisplay \u2192 Data Format \u9009\u9879\u8bf4\u660e \uff1a \u25a1 Byte swap - \u4ea4\u6362\u5b57\u8282\u5e8f \u25a1 Word swap - \u4ea4\u6362\u5b57\u987a\u5e8f \u25a1 Dword swap - \u4ea4\u6362\u53cc\u5b57\u987a\u5e8f \u7ec4\u5408\u8bbe\u7f6e\u5bf9\u5e94\u4e0d\u540c\u683c\u5f0f\uff1a - \u65e0\u52fe\u9009\uff1aABCD (\u5927\u7aef\u5e8f) - Byte swap\uff1aBADC - Word swap\uff1aCDAB - Byte+Word swap\uff1aDCBA (\u5c0f\u7aef\u5e8f) \u5b9e\u9645\u5e94\u7528\u793a\u4f8b \u00b6 \u6848\u4f8b1\uff1a\u6e29\u5ea6\u8bfb\u53d6\u5f02\u5e38 \u95ee\u9898\uff1a\u8bfb\u53d6\u6e29\u5ea6\u663e\u793a\u4e3a\u51e0\u5343\u5ea6 \u539f\u56e0\uff1a\u5b57\u8282\u5e8f\u8bbe\u7f6e\u9519\u8bef \u89e3\u51b3\uff1a\u52fe\u9009\"Byte swap\"\u8c03\u6574\u5b57\u8282\u5e8f \u6848\u4f8b2\uff1a\u538b\u529b\u503c\u663e\u793a\u5f02\u5e38 \u8bfb\u53d6\u6570\u636e\uff1a12 34 56 78 \u5927\u7aef\u5e8f\u89e3\u91ca\uff1a0x12345678 = 305,419,896 (\u5f02\u5e38) \u5c0f\u7aef\u5e8f\u89e3\u91ca\uff1a0x78563412 = 2,018,915,346 (\u5f02\u5e38) \u9700\u8981Word swap\uff1a0x34127856 = 873,756,758 (\u4ecd\u5f02\u5e38) \u6b63\u786e\u8bbe\u7f6e\uff1aByte+Word swap = 0x78563412\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570 \u8c03\u8bd5\u6280\u5de7 \u00b6 \u6b65\u9aa41\uff1a\u8bb0\u5f55\u539f\u59cb\u6570\u636e \u4f7f\u7528Traffic View\u67e5\u770b\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e \u4f8b\u5982\uff1a42 0C CC CD \u6b65\u9aa42\uff1a\u624b\u52a8\u8ba1\u7b97\u9a8c\u8bc1 \u4f7f\u7528\u5728\u7ebfIEEE 754\u8f6c\u6362\u5668\uff1a - \u8f93\u5165\uff1a420CCCCD - \u8f93\u51fa\uff1a35.2000008... - \u9a8c\u8bc1\u662f\u5426\u4e3a\u5408\u7406\u6570\u503c \u6b65\u9aa43\uff1aModbusPoll\u4e2d\u6d4b\u8bd5 \u4f9d\u6b21\u5c1d\u8bd5\u56db\u79cd\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a 1. ABCD - \u539f\u59cb\u987a\u5e8f 2. BADC - Byte swap 3. CDAB - Word swap 4. DCBA - Byte+Word swap \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u8bbe\u7f6e \u5e38\u89c1\u8bbe\u5907\u5b57\u8282\u5e8f \u00b6 \u5927\u7aef\u5e8f\u8bbe\u5907\uff1a - \u65bd\u8010\u5fb7PLC - \u897f\u95e8\u5b50S7\u7cfb\u5217 - ABB\u8bbe\u5907 - \u5927\u591a\u6570\u7f51\u7edc\u8bbe\u5907 \u5c0f\u7aef\u5e8f\u8bbe\u5907\uff1a - \u4e09\u83f1PLC - \u6b27\u59c6\u9f99PLC - PC-based\u63a7\u5236\u5668 - Intel\u67b6\u6784\u8bbe\u5907 \u672c\u6559\u7a0b\u57fa\u4e8eModbusPoll v7.0.0\u7248\u672c\u7f16\u5199\uff0c\u9002\u7528\u4e8e\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u76d1\u63a7\u7cfb\u7edf\u3002\u5982\u6709\u95ee\u9898\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002","title":"ModbusPoll-v7.0.0\u4f7f\u7528\u6559\u7a0b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#modbuspoll-v700","text":"","title":"ModbusPoll v7.0.0 \u4f7f\u7528\u6559\u7a0b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_1","text":"\u8f6f\u4ef6\u4ecb\u7ecd \u5b89\u88c5\u4e0e\u542f\u52a8 \u57fa\u672c\u914d\u7f6e \u8fde\u63a5\u8bbe\u7f6e \u6570\u636e\u8bfb\u53d6\u914d\u7f6e \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b \u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790 \u6545\u969c\u6392\u9664 \u9ad8\u7ea7\u529f\u80fd","title":"\u76ee\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_2","text":"ModbusPoll\u662f\u4e00\u6b3e\u4e13\u4e1a\u7684Modbus\u4e3b\u673a\u4eff\u771f\u5668\u5de5\u5177\uff0c\u4e3b\u8981\u7528\u4e8e\uff1a - \u6d4b\u8bd5\u548c\u8c03\u8bd5Modbus\u4ece\u8bbe\u5907 - \u76d1\u63a7Modbus\u8bbe\u5907\u6570\u636e - \u9a8c\u8bc1\u8bbe\u5907\u901a\u4fe1\u534f\u8bae - \u6545\u969c\u8bca\u65ad\u548c\u6392\u9664","title":"\u8f6f\u4ef6\u4ecb\u7ecd"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_3","text":"\u652f\u6301Modbus RTU/ASCII/TCP\u534f\u8bae \u5b9e\u65f6\u6570\u636e\u76d1\u63a7 \u591a\u79cd\u6570\u636e\u683c\u5f0f\u663e\u793a \u65e5\u5fd7\u8bb0\u5f55\u529f\u80fd \u6279\u91cf\u8bfb\u53d6\u529f\u80fd","title":"\u4e3b\u8981\u7279\u6027"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_4","text":"","title":"\u5b89\u88c5\u4e0e\u542f\u52a8"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_5","text":"Windows 7/8/10/11 .NET Framework 4.0 \u6216\u66f4\u9ad8\u7248\u672c \u81f3\u5c1150MB\u53ef\u7528\u78c1\u76d8\u7a7a\u95f4","title":"\u7cfb\u7edf\u8981\u6c42"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_6","text":"\u4e0b\u8f7dModbusPoll-v7.0.0\u5b89\u88c5\u5305 \u53f3\u952e\u70b9\u51fb\u5b89\u88c5\u5305\uff0c\u9009\u62e9\"\u4ee5\u7ba1\u7406\u5458\u8eab\u4efd\u8fd0\u884c\" \u6309\u7167\u5b89\u88c5\u5411\u5bfc\u5b8c\u6210\u5b89\u88c5 \u542f\u52a8\u7a0b\u5e8f\uff1a\u5f00\u59cb\u83dc\u5355 \u2192 ModbusPoll","title":"\u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_7","text":"\u542f\u52a8\u540e\u4f1a\u663e\u793a\u4e3b\u754c\u9762\uff0c\u5305\u542b\uff1a - \u83dc\u5355\u680f\uff1a\u6587\u4ef6\u3001\u8fde\u63a5\u3001\u8bbe\u7f6e\u7b49 - \u5de5\u5177\u680f\uff1a\u5e38\u7528\u529f\u80fd\u5feb\u6377\u6309\u94ae - \u6570\u636e\u663e\u793a\u533a\u57df\uff1a\u5bc4\u5b58\u5668\u6570\u636e\u8868\u683c - \u72b6\u6001\u680f\uff1a\u8fde\u63a5\u72b6\u6001\u548c\u7edf\u8ba1\u4fe1\u606f","title":"\u9996\u6b21\u542f\u52a8"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_8","text":"","title":"\u57fa\u672c\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_9","text":"\u4e32\u53e3\u8fde\u63a5\uff08RTU/ASCII\uff09 Connection \u2192 Connect \u6216\u70b9\u51fb\u5de5\u5177\u680f\u8fde\u63a5\u56fe\u6807 \u8fde\u63a5\u53c2\u6570\u914d\u7f6e Port : \u9009\u62e9\u4e32\u53e3\uff08COM1, COM2\u7b49\uff09 Baud Rate : \u6ce2\u7279\u7387\uff08\u5e38\u75289600, 19200, 38400\uff09 Data Bits : \u6570\u636e\u4f4d\uff08\u901a\u5e38\u4e3a8\uff09 Parity : \u6821\u9a8c\u4f4d\uff08None, Even, Odd\uff09 Stop Bits : \u505c\u6b62\u4f4d\uff081\u62162\uff09 Mode : \u9009\u62e9RTU\u6216ASCII TCP\u8fde\u63a5\u8bbe\u7f6e IP Address : \u8bbe\u5907IP\u5730\u5740 Port : \u7aef\u53e3\u53f7\uff08\u9ed8\u8ba4502\uff09 Unit ID : \u4ece\u7ad9\u5730\u5740","title":"\u8fde\u63a5\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_10","text":"","title":"\u8fde\u63a5\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_11","text":"\u4ee5\u6c34\u5904\u7406\u673a\u4e3a\u4f8b\uff1a - Port: COM1 - Baud Rate: 9600 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Mode: RTU - Response timeout: 1000ms - Delay between polls: 100ms","title":"\u4e32\u53e3\u8fde\u63a5\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#tcp","text":"\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u7f51\u7edc\u8fde\u63a5\uff1a - IP Address: 192.168.1.100 - Port: 502 - Unit ID: 1 - Response timeout: 3000ms - Delay between polls: 500ms","title":"TCP\u8fde\u63a5\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_12","text":"","title":"\u6570\u636e\u8bfb\u53d6\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_13","text":"Setup \u2192 Read/Write Definition \u914d\u7f6e\u8bfb\u53d6\u53c2\u6570\uff1a Slave ID : \u4ece\u7ad9\u5730\u5740\uff081-247\uff09 Function : \u529f\u80fd\u7801 01: \u8bfb\u53d6\u7ebf\u5708\u72b6\u6001 02: \u8bfb\u53d6\u8f93\u5165\u72b6\u6001 03: \u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668 04: \u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668 Address : \u8d77\u59cb\u5730\u5740 Quantity : \u8bfb\u53d6\u6570\u91cf Scan Rate : \u626b\u63cf\u9891\u7387\uff08ms\uff09","title":"\u8bbe\u7f6e\u8bfb\u53d6\u53c2\u6570"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_14","text":"\u6e29\u5ea6\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 (Read Holding Registers) - Address: 23 (0x0017) - Quantity: 2 - Scan Rate: 1000ms \u4f9b\u6db2\u538b\u529b\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 25 (0x0019) - Quantity: 2 - Scan Rate: 500ms \u6db2\u4f4d\u72b6\u6001\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 01 (Read Coils) - Address: 0x0001 - Quantity: 16 - Scan Rate: 2000ms \u7535\u5bfc\u7387\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Scan Rate: 1000ms PH\u503c\u76d1\u63a7\uff1a - Slave ID: 1 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Scan Rate: 1000ms","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u914d\u7f6e\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_15","text":"","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u901a\u4fe1\u5b9e\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_16","text":"\u6839\u636e\u6c34\u5904\u7406\u8bbe\u5907\u901a\u4fe1\u534f\u8bae\u914d\u7f6e\uff1a 1. \u6e29\u5ea6\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0017\uff09 - Function: 03 - Address: 23 (0x0017) - Quantity: 2 - Data Format: Float (4\u5b57\u8282) 2. \u7535\u5bfc\u7387\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0018\uff09 - Function: 03 - Address: 24 (0x0018) - Quantity: 2 - Data Format: Float 3. \u4f9b\u6db2\u538b\u529b\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x0019-0x001A\uff09 - Function: 03 - Address: 25 (0x0019) - Quantity: 4 - Data Format: Float (\u4f9b\u6db2\u4e00\u3001\u4f9b\u6db2\u4e8c\u538b\u529b) 4. \u6db2\u4f4d\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001B-0x001C\uff09 - Function: 03 - Address: 27 (0x001B) - Quantity: 4 - Data Format: Float (\u50a8\u6db2\u3001\u914d\u6db2\u6db2\u4f4d) 5. PH\u503c\u53c2\u6570\uff08\u5bc4\u5b58\u5668\u5730\u5740\uff1a0x001D\uff09 - Function: 03 - Address: 29 (0x001D) - Quantity: 2 - Data Format: Float","title":"\u6c34\u5904\u7406\u673a\u53c2\u6570\u8bfb\u53d6"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_17","text":"Setup \u2192 Read/Write Definition \u2192 Add Multiple \u521b\u5efa\u591a\u4e2a\u8bfb\u53d6\u7ec4\uff1a - \u7ec41\uff1a\u6e29\u5ea6\u76f8\u5173\u53c2\u6570 (0x0017-0x0018) - \u7ec42\uff1a\u538b\u529b\u76f8\u5173\u53c2\u6570 (0x0019-0x001A) - \u7ec43\uff1a\u6db2\u4f4d\u76f8\u5173\u53c2\u6570 (0x001B-0x001C) - \u7ec44\uff1aPH\u503c\u53c2\u6570 (0x001D) - \u7ec45\uff1a\u72b6\u6001\u76f8\u5173\u53c2\u6570 (0x0001-0x0010)","title":"\u6279\u91cf\u8bfb\u53d6\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_18","text":"","title":"\u6570\u636e\u76d1\u63a7\u4e0e\u5206\u6790"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_19","text":"Display \u2192 Data Format \u9009\u62e9\u5408\u9002\u7684\u663e\u793a\u683c\u5f0f\uff1a Signed/Unsigned : \u6709\u7b26\u53f7/\u65e0\u7b26\u53f7 16-bit/32-bit : \u6570\u636e\u4f4d\u6570 Hex/Decimal/Binary : \u8fdb\u5236\u663e\u793a Float : \u6d6e\u70b9\u6570\u663e\u793a","title":"\u6570\u636e\u663e\u793a\u683c\u5f0f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_20","text":"\u91cd\u8981 \uff1a\u6b63\u786e\u7684\u5b57\u8282\u5e8f\u8bbe\u7f6e\u662f\u6570\u636e\u6b63\u786e\u663e\u793a\u7684\u5173\u952e \u914d\u7f6e\u6b65\u9aa4 \uff1a 1. Display \u2192 Data Format \u2192 Advanced 2. \u5b57\u8282\u5e8f\u9009\u9879 \uff1a ``` \u25a1 Byte Swap - \u5b57\u8282\u4ea4\u6362 \u25a1 Word Swap - \u5b57\u4ea4\u6362 \u56db\u79cd\u7ec4\u5408\u5bf9\u5e94\u4e0d\u540c\u5b57\u8282\u5e8f\uff1a \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \u9009\u9879\u7ec4\u5408 \u2502 \u5b57\u8282\u5e8f \u2502 \u793a\u4f8b \u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502 \u65e0\u52fe\u9009 \u2502 ABCD \u2502 42 0C CC CD \u2502 \u2502 Byte Swap \u2502 BADC \u2502 0C 42 CD CC \u2502 \u2502 Word Swap \u2502 CDAB \u2502 CC CD 42 0C \u2502 \u2502 Both \u2502 DCBA \u2502 CD CC 0C 42 \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518 ``` \u5b9e\u9645\u9a8c\u8bc1\u65b9\u6cd5 \uff1a \u57fa\u4e8e\u60a8\u7684\u901a\u4fe1\u6570\u636e CD CC 0C 42\uff1a 1. \u5c1d\u8bd5DCBA\u683c\u5f0f\uff1aCD CC 0C 42 \u2192 35.2\u00b0C \u2713 2. \u5176\u4ed6\u683c\u5f0f\u90fd\u4f1a\u663e\u793a\u5f02\u5e38\u503c 3. \u56e0\u6b64\u60a8\u7684\u8bbe\u5907\u4f7f\u7528DCBA\u5b57\u8282\u5e8f \u914d\u7f6e\u5efa\u8bae \uff1a - \u6c34\u5904\u7406\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5927\u7aef\u5e8f(ABCD) - PC-based\u8bbe\u5907\u901a\u5e38\u4f7f\u7528\u5c0f\u7aef\u5e8f(DCBA) - \u6839\u636e\u5b9e\u9645\u6570\u636e\u9a8c\u8bc1\u9009\u62e9\u6b63\u786e\u683c\u5f0f","title":"\u5b57\u8282\u5e8f\u914d\u7f6e\u8be6\u89e3"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_21","text":"View\u83dc\u5355\u9009\u9879\uff1a - Data View: \u6570\u636e\u8868\u683c\u89c6\u56fe - Register View: \u5bc4\u5b58\u5668\u89c6\u56fe - Traffic View: \u901a\u4fe1\u6d41\u91cf\u89c6\u56fe - Error View: \u9519\u8bef\u65e5\u5fd7\u89c6\u56fe","title":"\u5b9e\u65f6\u76d1\u63a7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_22","text":"Log \u2192 Start Logging \u8bbe\u7f6e\u65e5\u5fd7\u6587\u4ef6\u8def\u5f84\u548c\u683c\u5f0f \u9009\u62e9\u8bb0\u5f55\u95f4\u9694\u548c\u6761\u4ef6 \u5f00\u59cb\u8bb0\u5f55\u6570\u636e\u53d8\u5316","title":"\u6570\u636e\u8bb0\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_23","text":"Setup \u2192 Alarm Setup \u914d\u7f6e\u544a\u8b66\u6761\u4ef6\uff1a - \u6c34\u6e29\u8d85\u9650\uff1a> 40\u00b0C \u6216 < 35\u00b0C - \u4f9b\u6db2\u538b\u529b\u5f02\u5e38\uff1a< 0.1MPa \u6216 > 0.5MPa - \u7535\u5bfc\u7387\u5f02\u5e38\uff1a< 13.0 \u6216 > 15.0 mS/cm - \u8bbe\u5907\u79bb\u7ebf\uff1a\u901a\u4fe1\u8d85\u65f6 > 5\u79d2","title":"\u544a\u8b66\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_24","text":"","title":"\u6545\u969c\u6392\u9664"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_25","text":"","title":"\u5e38\u89c1\u95ee\u9898\u53ca\u89e3\u51b3\u65b9\u6848"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1","text":"\u95ee\u9898\uff1a\u65e0\u6cd5\u8fde\u63a5\u5230\u8bbe\u5907 \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u4e32\u53e3/\u7f51\u7edc\u8fde\u63a5 - \u786e\u8ba4\u6ce2\u7279\u7387\u548c\u901a\u4fe1\u53c2\u6570 - \u68c0\u67e5\u8bbe\u5907\u5730\u5740\u662f\u5426\u6b63\u786e - \u9a8c\u8bc1\u7535\u7f06\u8fde\u63a5","title":"1. \u8fde\u63a5\u5931\u8d25"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2","text":"\u95ee\u9898\uff1a\u8bfb\u53d6\u6570\u636e\u5168\u4e3a0\u6216\u5f02\u5e38\u503c \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u529f\u80fd\u7801\u662f\u5426\u6b63\u786e - \u786e\u8ba4\u5bc4\u5b58\u5668\u5730\u5740 - \u68c0\u67e5\u6570\u636e\u683c\u5f0f\u8bbe\u7f6e - \u9a8c\u8bc1\u8bbe\u5907\u662f\u5426\u652f\u6301\u8be5\u529f\u80fd","title":"2. \u6570\u636e\u8bfb\u53d6\u5f02\u5e38"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3","text":"\u95ee\u9898\uff1a\u9891\u7e41\u51fa\u73b0\u901a\u4fe1\u8d85\u65f6 \u89e3\u51b3\u65b9\u6848\uff1a - \u589e\u52a0Response Timeout\u65f6\u95f4 - \u51cf\u5c11\u626b\u63cf\u9891\u7387 - \u68c0\u67e5\u7f51\u7edc\u7a33\u5b9a\u6027 - \u786e\u8ba4\u8bbe\u5907\u8d1f\u8f7d\u60c5\u51b5","title":"3. \u901a\u4fe1\u8d85\u65f6"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#4","text":"\u95ee\u9898\uff1a\u6570\u636e\u663e\u793a\u683c\u5f0f\u4e0d\u6b63\u786e \u89e3\u51b3\u65b9\u6848\uff1a - \u68c0\u67e5\u5b57\u8282\u5e8f\u8bbe\u7f6e\uff08\u5927\u7aef/\u5c0f\u7aef\uff09 - \u786e\u8ba4\u6570\u636e\u7c7b\u578b\uff08\u6574\u6570/\u6d6e\u70b9\uff09 - \u8c03\u6574\u6570\u636e\u4f4d\u6570\u8bbe\u7f6e - \u53c2\u8003\u8bbe\u5907\u624b\u518c\u786e\u8ba4\u683c\u5f0f","title":"4. \u6570\u636e\u683c\u5f0f\u9519\u8bef"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#5","text":"\u95ee\u9898\uff1a\u6570\u636e\u6570\u503c\u5f02\u5e38\uff08\u8fc7\u5927\u6216\u8fc7\u5c0f\uff09 \u75c7\u72b6\uff1a - \u6e29\u5ea6\u663e\u793a\u51e0\u5343\u5ea6\u6216\u8d1f\u503c - \u538b\u529b\u663e\u793a\u5f02\u5e38\u5927\u7684\u6570\u503c - \u7535\u5bfc\u7387\u663e\u793a\u4e0d\u5408\u7406\u6570\u503c \u89e3\u51b3\u6b65\u9aa4\uff1a 1. \u67e5\u770bTraffic View\u4e2d\u7684\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e 2. \u5c1d\u8bd5\u4e0d\u540c\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a - Display \u2192 Data Format \u2192 Byte Swap - Display \u2192 Data Format \u2192 Word Swap 3. \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u7ec4\u5408 4. \u9a8c\u8bc1\u591a\u4e2a\u53c2\u6570\u786e\u4fdd\u8bbe\u7f6e\u6b63\u786e \u5b9e\u4f8b\uff1a \u539f\u59cb\u6570\u636e\uff1aCD CC 0C 42 - \u9ed8\u8ba4(ABCD)\uff1a\u5f02\u5e38\u503c - Byte swap(BADC)\uff1a\u5f02\u5e38\u503c - Word swap(CDAB)\uff1a\u5f02\u5e38\u503c - Byte+Word(DCBA)\uff1a35.2\u00b0C \u2713\u6b63\u786e","title":"5. \u5b57\u8282\u5e8f\u95ee\u9898\u8bca\u65ad"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_26","text":"","title":"\u9ad8\u7ea7\u529f\u80fd"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1_1","text":"Tools \u2192 Scripting \u652f\u6301VB\u811a\u672c\u81ea\u52a8\u5316\uff1a - \u81ea\u52a8\u8fde\u63a5\u8bbe\u5907 - \u6279\u91cf\u6570\u636e\u5904\u7406 - \u6761\u4ef6\u89e6\u53d1\u64cd\u4f5c - \u62a5\u544a\u751f\u6210","title":"1. \u811a\u672c\u81ea\u52a8\u5316"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2_1","text":"File \u2192 Export Data \u652f\u6301\u591a\u79cd\u683c\u5f0f\uff1a - CSV\u6587\u4ef6 - Excel\u6587\u4ef6 - XML\u683c\u5f0f - \u81ea\u5b9a\u4e49\u683c\u5f0f","title":"2. \u6570\u636e\u5bfc\u51fa"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3_1","text":"\u53ef\u540c\u65f6\u76d1\u63a7\u591a\u4e2a\u8bbe\u5907\uff1a 1. File \u2192 New Document 2. \u914d\u7f6e\u4e0d\u540c\u8bbe\u5907\u53c2\u6570 3. Window \u2192 Tile \u5e73\u94fa\u663e\u793a 4. \u5b9e\u73b0\u591a\u8bbe\u5907\u96c6\u4e2d\u76d1\u63a7","title":"3. \u591a\u8bbe\u5907\u76d1\u63a7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#4_1","text":"View \u2192 Trend View \u529f\u80fd\u7279\u6027\uff1a - \u5b9e\u65f6\u8d8b\u52bf\u56fe\u8868 - \u5386\u53f2\u6570\u636e\u56de\u653e - \u6570\u636e\u7edf\u8ba1\u5206\u6790 - \u5f02\u5e38\u70b9\u6807\u8bb0","title":"4. \u8d8b\u52bf\u5206\u6790"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_27","text":"","title":"\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u5b9e\u6218"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_28","text":"# \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u76d1\u63a7\u914d\u7f6e\u793a\u4f8b \u8bbe\u5907\u4fe1\u606f : \u8bbe\u5907\u578b\u53f7 : \u6c34\u5904\u7406\u673a+\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907 \u901a\u4fe1\u65b9\u5f0f : Modbus RTU/TCP \u6ce2\u7279\u7387 : 9600 \u4ece\u7ad9\u5730\u5740 : 1 \u76d1\u63a7\u53c2\u6570 : \u6e29\u5ea6\u76d1\u63a7 : \u5730\u5740 : 0x0017 \u5355\u4f4d : \u00b0C \u544a\u8b66 : 35-40\u00b0C \u7535\u5bfc\u7387\u76d1\u63a7 : \u5730\u5740 : 0x0018 \u5355\u4f4d : mS/cm \u544a\u8b66 : 13.0-15.0 \u538b\u529b\u76d1\u63a7 : \u4f9b\u6db2\u4e00 : 0x0019 \u4f9b\u6db2\u4e8c : 0x001A \u5355\u4f4d : MPa \u544a\u8b66 : 0.1-0.5 \u6db2\u4f4d\u76d1\u63a7 : \u50a8\u6db2 : 0x001B \u914d\u6db2 : 0x001C \u5355\u4f4d : % \u544a\u8b66 : 10-90% PH\u503c\u76d1\u63a7 : \u5730\u5740 : 0x001D \u5355\u4f4d : pH \u544a\u8b66 : 6.5-7.5 \u626b\u63cf\u8bbe\u7f6e : \u6b63\u5e38\u626b\u63cf : 1000ms \u5feb\u901f\u626b\u63cf : 500ms \u6162\u901f\u626b\u63cf : 2000ms \u901a\u4fe1\u534f\u8bae\u5206\u6790 : \u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e : - \u4f7f\u7528Modbus TCP\u534f\u8bae - \u529f\u80fd\u780103 (Read Holding Registers) - \u8d77\u59cb\u5730\u5740 : 0x0017 (\u6e29\u5ea6) - \u6570\u636e\u683c\u5f0f : 32\u4f4d\u6d6e\u70b9\u6570 (IEEE 754) - \u5b57\u8282\u5e8f\u5206\u6790 : * \u539f\u59cb\u6570\u636e : CD CC 0C 42 * \u9700\u8981DCBA\u5b57\u8282\u5e8f (Byte+Word Swap) * \u89e3\u6790\u7ed3\u679c : 35.2\u00b0C - \u6570\u636e\u793a\u4f8b\u9a8c\u8bc1 : * CD CC 0C 42 (\u5341\u516d\u8fdb\u5236) * \u2192 0x420CCCCD (\u91cd\u6392\u540e) * \u2192 35.2000008 (IEEE 754\u6d6e\u70b9\u6570) * \u2192 35.2\u00b0C (\u663e\u793a\u503c) \u914d\u7f6e\u8981\u70b9 : - ModbusPoll\u8bbe\u7f6e : Display \u2192 Data Format - \u52fe\u9009 : Byte Swap + Word Swap - \u6570\u636e\u7c7b\u578b : 32-bit Float - \u9a8c\u8bc1\u65b9\u6cd5 : \u89c2\u5bdf\u6e29\u5ea6\u662f\u5426\u5728\u5408\u7406\u8303\u56f4(30-50\u00b0C)","title":"\u5b8c\u6574\u76d1\u63a7\u914d\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_29","text":"' \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u72b6\u6001\u68c0\u67e5\u811a\u672c Sub CheckWaterTreatmentStatus () Dim temp , pressure1 , pressure2 , conductivity , ph ' \u8bfb\u53d6\u6e29\u5ea6 (\u5730\u574023) temp = mbPoll . ReadFloat ( 1 , 3 , 23 ) ' \u8bfb\u53d6\u538b\u529b (\u5730\u574025,26) pressure1 = mbPoll . ReadFloat ( 1 , 3 , 25 ) pressure2 = mbPoll . ReadFloat ( 1 , 3 , 26 ) ' \u8bfb\u53d6\u7535\u5bfc\u7387 (\u5730\u574024) conductivity = mbPoll . ReadFloat ( 1 , 3 , 24 ) ' \u8bfb\u53d6PH\u503c (\u5730\u574029) ph = mbPoll . ReadFloat ( 1 , 3 , 29 ) ' \u68c0\u67e5\u5f02\u5e38 If temp > 40 Or temp < 35 Then MsgBox \"\u6c34\u6e29\u5f02\u5e38: \" & temp & \"\u00b0C\" End If If pressure1 < 0.1 Or pressure1 > 0.5 Then MsgBox \"\u4f9b\u6db2\u4e00\u538b\u529b\u5f02\u5e38: \" & pressure1 & \"MPa\" End If If conductivity < 13.0 Or conductivity > 15.0 Then MsgBox \"\u7535\u5bfc\u7387\u5f02\u5e38: \" & conductivity & \"mS/cm\" End If If ph < 6.5 Or ph > 7.5 Then MsgBox \"PH\u503c\u5f02\u5e38: \" & ph End If End Sub","title":"\u81ea\u52a8\u5316\u811a\u672c\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_30","text":"","title":"\u6700\u4f73\u5b9e\u8df5\u5efa\u8bae"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#1_2","text":"\u5408\u7406\u8bbe\u7f6e\u626b\u63cf\u9891\u7387\uff0c\u907f\u514d\u8fc7\u5ea6\u8f6e\u8be2 \u4f7f\u7528\u6279\u91cf\u8bfb\u53d6\u51cf\u5c11\u901a\u4fe1\u6b21\u6570 \u5b9a\u671f\u6e05\u7406\u65e5\u5fd7\u6587\u4ef6 \u76d1\u63a7\u7cfb\u7edf\u8d44\u6e90\u4f7f\u7528\u60c5\u51b5","title":"1. \u6027\u80fd\u4f18\u5316"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#2_2","text":"\u5efa\u7acb\u89c4\u8303\u7684\u53c2\u6570\u547d\u540d\u89c4\u5219 \u5b9a\u671f\u5907\u4efd\u91cd\u8981\u914d\u7f6e \u8bbe\u7f6e\u5408\u7406\u7684\u6570\u636e\u4fdd\u5b58\u5468\u671f \u5b9e\u65bd\u6570\u636e\u5b89\u5168\u63aa\u65bd","title":"2. \u6570\u636e\u7ba1\u7406"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#3_2","text":"\u5b9a\u671f\u68c0\u67e5\u901a\u4fe1\u7ebf\u8def \u66f4\u65b0\u8bbe\u5907\u9a71\u52a8\u7a0b\u5e8f \u5907\u4efd\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6 \u5efa\u7acb\u6545\u969c\u5904\u7406\u6d41\u7a0b","title":"3. \u7ef4\u62a4\u5efa\u8bae"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_31","text":"","title":"\u9644\u5f55"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#a-modbus","text":"01 - Read Coils (\u8bfb\u53d6\u7ebf\u5708\u72b6\u6001) 02 - Read Discrete Inputs (\u8bfb\u53d6\u79bb\u6563\u8f93\u5165) 03 - Read Holding Registers (\u8bfb\u53d6\u4fdd\u6301\u5bc4\u5b58\u5668) 04 - Read Input Registers (\u8bfb\u53d6\u8f93\u5165\u5bc4\u5b58\u5668) 05 - Write Single Coil (\u5199\u5355\u4e2a\u7ebf\u5708) 06 - Write Single Register (\u5199\u5355\u4e2a\u5bc4\u5b58\u5668) 15 - Write Multiple Coils (\u5199\u591a\u4e2a\u7ebf\u5708) 16 - Write Multiple Registers (\u5199\u591a\u4e2a\u5bc4\u5b58\u5668)","title":"A. Modbus\u529f\u80fd\u7801\u5bf9\u7167\u8868"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#b","text":"1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200","title":"B. \u5e38\u7528\u6ce2\u7279\u7387\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#c","text":"\u57fa\u4e8e\u5b9e\u9645\u901a\u4fe1\u6570\u636e\u7684\u5730\u5740\u6620\u5c04\uff1a \u6e29\u5ea6\uff1a0x0017 (\u5341\u8fdb\u523623) \u7535\u5bfc\u7387\uff1a0x0018 (\u5341\u8fdb\u523624) \u4f9b\u6db2\u4e00\u538b\u529b\uff1a0x0019 (\u5341\u8fdb\u523625) \u4f9b\u6db2\u4e8c\u538b\u529b\uff1a0x001A (\u5341\u8fdb\u523626) \u50a8\u6db2\u6db2\u4f4d\uff1a0x001B (\u5341\u8fdb\u523627) \u914d\u6db2\u6db2\u4f4d\uff1a0x001C (\u5341\u8fdb\u523628) PH\u503c\uff1a0x001D (\u5341\u8fdb\u523629) \u72b6\u6001\u7c7b\uff1a0x0001-0x0010 \u63a7\u5236\u7c7b\uff1a0x0020-0x0030","title":"C. \u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u5e38\u7528\u5730\u5740\u6620\u5c04"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#d","text":"","title":"D. \u5927\u7aef\u5c0f\u7aef\uff08\u5b57\u8282\u5e8f\uff09\u8be6\u89e3"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_32","text":"\u5b57\u8282\u5e8f\uff08Byte Order\uff09\u662f\u6307\u591a\u5b57\u8282\u6570\u636e\u5728\u5185\u5b58\u4e2d\u7684\u5b58\u50a8\u987a\u5e8f\uff0c\u4e3b\u8981\u6709\u4e24\u79cd\uff1a \u5927\u7aef\u5e8f\uff08Big Endian\uff09 \uff1a - \u9ad8\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u7b26\u5408\u4eba\u7c7b\u9605\u8bfb\u4e60\u60ef - \u7f51\u7edc\u4f20\u8f93\u6807\u51c6\u5b57\u8282\u5e8f \u5c0f\u7aef\u5e8f\uff08Little Endian\uff09 \uff1a - \u4f4e\u4f4d\u5b57\u8282\u5b58\u50a8\u5728\u4f4e\u5730\u5740 - \u591a\u6570x86\u5904\u7406\u5668\u91c7\u7528 - Intel\u67b6\u6784\u9ed8\u8ba4\u5b57\u8282\u5e8f","title":"\u4ec0\u4e48\u662f\u5927\u7aef\u5c0f\u7aef\uff1f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_33","text":"\u4ee532\u4f4d\u6d6e\u70b9\u6570 35.2\u00b0C \u4e3a\u4f8b\uff1a IEEE 754 \u6d6e\u70b9\u6570\u8868\u793a\uff1a0x420C_CCCD \u5927\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282) 0x1001 0x0C 0x1002 0xCC 0x1003 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) \u5c0f\u7aef\u5e8f\u5b58\u50a8\uff1a \u5730\u5740 \u5185\u5bb9 0x1000 0xCD (\u6700\u4f4e\u4f4d\u5b57\u8282) 0x1001 0xCC 0x1002 0x0C 0x1003 0x42 (\u6700\u9ad8\u4f4d\u5b57\u8282)","title":"\u5b9e\u9645\u4f8b\u5b50\u8bf4\u660e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_34","text":"\u65b9\u6cd51\uff1a\u901a\u8fc7\u901a\u4fe1\u6570\u636e\u5206\u6790 \u4ececommdata.txt\u770b\u5230\u7684\u6570\u636e\uff1aCD CC 0C 42 1. \u5c06\u8fd94\u4e2a\u5b57\u8282\u6309\u4e0d\u540c\u5b57\u8282\u5e8f\u89e3\u91ca\uff1a - \u5927\u7aef\u5e8f\uff1a0x42_0C_CCCD = 35.2 (\u5408\u7406\u7684\u6e29\u5ea6\u503c) - \u5c0f\u7aef\u5e8f\uff1a0xCDCC_0C42 = \u975e\u5e38\u5927\u7684\u6570\u503c(\u4e0d\u5408\u7406) 2. \u7ed3\u8bba\uff1a\u8bbe\u5907\u4f7f\u7528\u5927\u7aef\u5e8f \u65b9\u6cd52\uff1a\u67e5\u770b\u8bbe\u5907\u624b\u518c \u8bbe\u5907\u6280\u672f\u6587\u6863\u901a\u5e38\u4f1a\u8bf4\u660e\uff1a - \"\u7f51\u7edc\u5b57\u8282\u5e8f\" = \u5927\u7aef\u5e8f - \"\u4e3b\u673a\u5b57\u8282\u5e8f\" = \u901a\u5e38\u662f\u5c0f\u7aef\u5e8f - \"Intel\u683c\u5f0f\" = \u5c0f\u7aef\u5e8f - \"Motorola\u683c\u5f0f\" = \u5927\u7aef\u5e8f \u65b9\u6cd53\uff1aModbusPoll\u4e2d\u7684\u9a8c\u8bc1 \u5728ModbusPoll\u4e2d\u6d4b\u8bd5\uff1a 1. Setup \u2192 Data Format \u2192 Byte Swap 2. \u89c2\u5bdf\u6570\u636e\u662f\u5426\u5408\u7406\uff1a - \u6e29\u5ea6\u5e94\u8be5\u57280-100\u00b0C\u8303\u56f4 - \u538b\u529b\u5e94\u8be5\u57280-10MPa\u8303\u56f4 - \u7535\u5bfc\u7387\u5e94\u8be5\u572810-20mS/cm\u8303\u56f4 3. \u9009\u62e9\u663e\u793a\u6b63\u786e\u6570\u503c\u7684\u5b57\u8282\u5e8f","title":"\u5982\u4f55\u786e\u5b9a\u8bbe\u5907\u5b57\u8282\u5e8f\uff1f"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#modbuspoll","text":"\u914d\u7f6e\u8def\u5f84 \uff1aDisplay \u2192 Data Format \u9009\u9879\u8bf4\u660e \uff1a \u25a1 Byte swap - \u4ea4\u6362\u5b57\u8282\u5e8f \u25a1 Word swap - \u4ea4\u6362\u5b57\u987a\u5e8f \u25a1 Dword swap - \u4ea4\u6362\u53cc\u5b57\u987a\u5e8f \u7ec4\u5408\u8bbe\u7f6e\u5bf9\u5e94\u4e0d\u540c\u683c\u5f0f\uff1a - \u65e0\u52fe\u9009\uff1aABCD (\u5927\u7aef\u5e8f) - Byte swap\uff1aBADC - Word swap\uff1aCDAB - Byte+Word swap\uff1aDCBA (\u5c0f\u7aef\u5e8f)","title":"ModbusPoll\u5b57\u8282\u5e8f\u8bbe\u7f6e"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_35","text":"\u6848\u4f8b1\uff1a\u6e29\u5ea6\u8bfb\u53d6\u5f02\u5e38 \u95ee\u9898\uff1a\u8bfb\u53d6\u6e29\u5ea6\u663e\u793a\u4e3a\u51e0\u5343\u5ea6 \u539f\u56e0\uff1a\u5b57\u8282\u5e8f\u8bbe\u7f6e\u9519\u8bef \u89e3\u51b3\uff1a\u52fe\u9009\"Byte swap\"\u8c03\u6574\u5b57\u8282\u5e8f \u6848\u4f8b2\uff1a\u538b\u529b\u503c\u663e\u793a\u5f02\u5e38 \u8bfb\u53d6\u6570\u636e\uff1a12 34 56 78 \u5927\u7aef\u5e8f\u89e3\u91ca\uff1a0x12345678 = 305,419,896 (\u5f02\u5e38) \u5c0f\u7aef\u5e8f\u89e3\u91ca\uff1a0x78563412 = 2,018,915,346 (\u5f02\u5e38) \u9700\u8981Word swap\uff1a0x34127856 = 873,756,758 (\u4ecd\u5f02\u5e38) \u6b63\u786e\u8bbe\u7f6e\uff1aByte+Word swap = 0x78563412\u8f6c\u6362\u4e3a\u6d6e\u70b9\u6570","title":"\u5b9e\u9645\u5e94\u7528\u793a\u4f8b"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_36","text":"\u6b65\u9aa41\uff1a\u8bb0\u5f55\u539f\u59cb\u6570\u636e \u4f7f\u7528Traffic View\u67e5\u770b\u539f\u59cb\u5341\u516d\u8fdb\u5236\u6570\u636e \u4f8b\u5982\uff1a42 0C CC CD \u6b65\u9aa42\uff1a\u624b\u52a8\u8ba1\u7b97\u9a8c\u8bc1 \u4f7f\u7528\u5728\u7ebfIEEE 754\u8f6c\u6362\u5668\uff1a - \u8f93\u5165\uff1a420CCCCD - \u8f93\u51fa\uff1a35.2000008... - \u9a8c\u8bc1\u662f\u5426\u4e3a\u5408\u7406\u6570\u503c \u6b65\u9aa43\uff1aModbusPoll\u4e2d\u6d4b\u8bd5 \u4f9d\u6b21\u5c1d\u8bd5\u56db\u79cd\u5b57\u8282\u5e8f\u7ec4\u5408\uff1a 1. ABCD - \u539f\u59cb\u987a\u5e8f 2. BADC - Byte swap 3. CDAB - Word swap 4. DCBA - Byte+Word swap \u9009\u62e9\u663e\u793a\u5408\u7406\u6570\u503c\u7684\u8bbe\u7f6e","title":"\u8c03\u8bd5\u6280\u5de7"},{"location":"node-reds/ModbusPoll-v7.0.0%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/#_37","text":"\u5927\u7aef\u5e8f\u8bbe\u5907\uff1a - \u65bd\u8010\u5fb7PLC - \u897f\u95e8\u5b50S7\u7cfb\u5217 - ABB\u8bbe\u5907 - \u5927\u591a\u6570\u7f51\u7edc\u8bbe\u5907 \u5c0f\u7aef\u5e8f\u8bbe\u5907\uff1a - \u4e09\u83f1PLC - \u6b27\u59c6\u9f99PLC - PC-based\u63a7\u5236\u5668 - Intel\u67b6\u6784\u8bbe\u5907 \u672c\u6559\u7a0b\u57fa\u4e8eModbusPoll v7.0.0\u7248\u672c\u7f16\u5199\uff0c\u9002\u7528\u4e8e\u6c34\u5904\u7406\u673a\u4e0e\u96c6\u4e2d\u4f9b\u6db2\u8bbe\u5907\u53c2\u6570\u76d1\u63a7\u7cfb\u7edf\u3002\u5982\u6709\u95ee\u9898\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u8054\u7cfb\u6280\u672f\u652f\u6301\u3002","title":"\u5e38\u89c1\u8bbe\u5907\u5b57\u8282\u5e8f"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/","text":"node-red\u5982\u4f55\u8fde\u63a5modbus slave\u8bbe\u5907 \u00b6 \u8bf4\u660e \u00b6 \u6211\u60f3\u5728node-red\u4e2d\u7528\u6d41\u7a0b\u56fe\u4e2d\u914d\u7f6emodbus master\u4e3b\u8bbe\u5907\u901a\u8fc7mocbus tcp rtu\u53bb\u8054\u63a5modbus slave\u8bbe\u5907\uff0c\u5982\u4f55\u914d\u7f6e\u5462\uff1f \u6b65\u9aa4\u4e00\uff1a\u5b89\u88c5Modbus\u76f8\u5173\u8282\u70b9 \u00b6 \u6253\u5f00Node-RED\u7f16\u8f91\u5668\uff08\u6d4f\u89c8\u5668\u8bbf\u95ee http://<\u4f60\u7684\u8bbe\u5907IP>:1880\uff09\u3002 \u70b9\u51fb\u53f3\u4e0a\u89d2\u83dc\u5355\uff0c\u9009\u62e9\u201cManage palette\uff08\u7ba1\u7406\u8c03\u8272\u677f\uff09\u201d\u3002 \u5728\u201cInstall\u201d\u6807\u7b7e\u9875\u4e2d\u641c\u7d22 node-red-contrib-modbus \uff0c\u70b9\u51fb\u201cInstall\u201d\u5b89\u88c5\u3002 \u6b65\u9aa4\u4e8c\uff1a\u6dfb\u52a0Modbus TCP/RTU\u8282\u70b9 \u00b6 \u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u5de6\u4fa7\u4f1a\u51fa\u73b0\u201cmodbus\u201d\u7c7b\u522b\u3002 \u62d6\u62fd modbus-read \u6216 modbus-write \u8282\u70b9\u5230\u6d41\u7a0b\u56fe\u4e2d\u3002 \u53cc\u51fb\u8282\u70b9\uff0c\u70b9\u51fb\u201cServer\u201d\u53f3\u4fa7\u7684\u94c5\u7b14\u56fe\u6807\uff0c\u65b0\u589eModbus\u670d\u52a1\u5668\u914d\u7f6e\u3002 \u6b65\u9aa4\u4e09\uff1a\u914d\u7f6eModbus\u4e3b\u8bbe\u5907\uff08Master\uff09 \u00b6 \u8fde\u63a5\u7c7b\u578b \uff1a \u5982\u679c\u662fTCP\uff0c\u9009\u62e9\u201cTCP\u201d\uff0c\u586b\u5199Slave\u8bbe\u5907\u7684IP\u548c\u7aef\u53e3\uff08\u901a\u5e38\u4e3a502\uff09\u3002 \u5982\u679c\u662fRTU\uff08\u4e32\u53e3\uff09\uff0c\u9009\u62e9\u201cSerial\u201d\uff0c\u586b\u5199\u4e32\u53e3\u8bbe\u5907\uff08\u5982 /dev/ttyUSB0 \uff09\u3001\u6ce2\u7279\u7387\u3001\u6570\u636e\u4f4d\u3001\u6821\u9a8c\u7b49\u53c2\u6570\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807Slave\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff09\u3002 \u5176\u4ed6\u53c2\u6570\u6309\u5b9e\u9645\u9700\u6c42\u8bbe\u7f6e\u3002 \u6b65\u9aa4\u56db\uff1a\u914d\u7f6e\u8bfb\u5199\u64cd\u4f5c \u00b6 modbus-read \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\uff08\u598203\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff09\u3001\u8d77\u59cb\u5730\u5740\u3001\u957f\u5ea6\u3001\u8f6e\u8be2\u95f4\u9694\u7b49\u3002 modbus-write \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\u3001\u76ee\u6807\u5730\u5740\u3001\u5199\u5165\u6570\u636e\u7b49\u3002 Modbus-Read\u8282\u70b9\u53c2\u6570\u586b\u5199\u8bf4\u660e \u00b6 \u540d\u79f0 \uff1a\u81ea\u5b9a\u4e49\uff0c\u4fbf\u4e8e\u8bc6\u522b\u3002 \u4e3b\u9898\uff08Topic\uff09 \uff1a\u53ef\u7559\u7a7a\u6216\u81ea\u5b9a\u4e49\uff08\u5982\u7528\u4e8e\u6d88\u606f\u5206\u6d41\u65f6\u586b\u5199\uff09\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807 Modbus slave \u8bbe\u5907\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff0c\u5177\u4f53\u770b\u4f60\u7684\u8bbe\u5907\u8bbe\u7f6e\uff09\u3002 FC\uff08\u529f\u80fd\u7801\uff09 \uff1a\u9009\u62e9\u4f60\u8981\u6267\u884c\u7684Modbus\u529f\u80fd\u7801\uff0c\u5e38\u7528\u5982\u4e0b\uff1a 1\uff1a\u8bfb\u7ebf\u5708\uff08Coil Status\uff09 2\uff1a\u8bfb\u79bb\u6563\u8f93\u5165\uff08Input Status\uff09 3\uff1a\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff08Holding Registers\uff0c\u6700\u5e38\u7528\uff09 4\uff1a\u8bfb\u8f93\u5165\u5bc4\u5b58\u5668\uff08Input Registers\uff09 Address \uff1a\u8981\u8bfb\u53d6\u7684\u5bc4\u5b58\u5668\u6216\u7ebf\u5708\u7684\u8d77\u59cb\u5730\u5740\uff08\u901a\u5e38\u4ece0\u62161\u5f00\u59cb\uff0c\u5177\u4f53\u770b\u8bbe\u5907\u624b\u518c\uff09\u3002 Quantity \uff1a\u8bfb\u53d6\u7684\u6570\u91cf\uff08\u5982\u8981\u8bfb2\u4e2a\u5bc4\u5b58\u5668\u5c31\u586b2\uff09\u3002 Poll Rate \uff1a\u8f6e\u8be2\u5468\u671f\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\uff08\u59821000\u8868\u793a\u6bcf\u79d2\u8bfb\u53d6\u4e00\u6b21\uff09\u3002 \u4e3e\u4f8b\uff08\u8bfb\u53d6slave\u5730\u5740\u4e3a1\uff0c\u4fdd\u6301\u5bc4\u5b58\u5668\uff0c\u8d77\u59cb\u5730\u57400\uff0c\u6570\u91cf2\uff0c\u6bcf\u79d2\u8f6e\u8be2\uff09\uff1a - Unit-Id\uff1a1 - FC\uff1a3 - Address\uff1a0 - Quantity\uff1a2 - Poll Rate\uff1a1000 \u6b65\u9aa4\u4e94\uff1a\u90e8\u7f72\u4e0e\u8c03\u8bd5 \u00b6 \u8fde\u63a5\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u201c\u90e8\u7f72\u201d\u3002 \u67e5\u770bdebug\u9762\u677f\uff0c\u786e\u8ba4\u6570\u636e\u662f\u5426\u6b63\u5e38\u6536\u53d1\u3002 \u53c2\u8003\u793a\u4f8b \u00b6 [modbus-read] \u2192 [debug] \u5e38\u89c1\u95ee\u9898 \u00b6 \u786e\u8ba4\u7269\u7406\u8fde\u63a5\u548c\u4e32\u53e3\u6743\u9650\u3002 TCP\u6a21\u5f0f\u4e0b\u9632\u706b\u5899\u9700\u653e\u884c502\u7aef\u53e3\u3002 RTU\u6a21\u5f0f\u4e0b\u9700\u6b63\u786e\u914d\u7f6e\u4e32\u53e3\u53c2\u6570\u3002 \u5982\u9700\u66f4\u8be6\u7ec6\u7684\u914d\u7f6e\u8bf4\u660e\uff0c\u53ef\u53c2\u8003 node-red-contrib-modbus\u5b98\u65b9\u6587\u6863","title":"node-red\u5982\u4f55\u8fde\u63a5modbus _slave\u8bbe\u5907"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#node-redmodbus-slave","text":"","title":"node-red\u5982\u4f55\u8fde\u63a5modbus slave\u8bbe\u5907"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_1","text":"\u6211\u60f3\u5728node-red\u4e2d\u7528\u6d41\u7a0b\u56fe\u4e2d\u914d\u7f6emodbus master\u4e3b\u8bbe\u5907\u901a\u8fc7mocbus tcp rtu\u53bb\u8054\u63a5modbus slave\u8bbe\u5907\uff0c\u5982\u4f55\u914d\u7f6e\u5462\uff1f","title":"\u8bf4\u660e"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus","text":"\u6253\u5f00Node-RED\u7f16\u8f91\u5668\uff08\u6d4f\u89c8\u5668\u8bbf\u95ee http://<\u4f60\u7684\u8bbe\u5907IP>:1880\uff09\u3002 \u70b9\u51fb\u53f3\u4e0a\u89d2\u83dc\u5355\uff0c\u9009\u62e9\u201cManage palette\uff08\u7ba1\u7406\u8c03\u8272\u677f\uff09\u201d\u3002 \u5728\u201cInstall\u201d\u6807\u7b7e\u9875\u4e2d\u641c\u7d22 node-red-contrib-modbus \uff0c\u70b9\u51fb\u201cInstall\u201d\u5b89\u88c5\u3002","title":"\u6b65\u9aa4\u4e00\uff1a\u5b89\u88c5Modbus\u76f8\u5173\u8282\u70b9"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus-tcprtu","text":"\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u5de6\u4fa7\u4f1a\u51fa\u73b0\u201cmodbus\u201d\u7c7b\u522b\u3002 \u62d6\u62fd modbus-read \u6216 modbus-write \u8282\u70b9\u5230\u6d41\u7a0b\u56fe\u4e2d\u3002 \u53cc\u51fb\u8282\u70b9\uff0c\u70b9\u51fb\u201cServer\u201d\u53f3\u4fa7\u7684\u94c5\u7b14\u56fe\u6807\uff0c\u65b0\u589eModbus\u670d\u52a1\u5668\u914d\u7f6e\u3002","title":"\u6b65\u9aa4\u4e8c\uff1a\u6dfb\u52a0Modbus TCP/RTU\u8282\u70b9"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbusmaster","text":"\u8fde\u63a5\u7c7b\u578b \uff1a \u5982\u679c\u662fTCP\uff0c\u9009\u62e9\u201cTCP\u201d\uff0c\u586b\u5199Slave\u8bbe\u5907\u7684IP\u548c\u7aef\u53e3\uff08\u901a\u5e38\u4e3a502\uff09\u3002 \u5982\u679c\u662fRTU\uff08\u4e32\u53e3\uff09\uff0c\u9009\u62e9\u201cSerial\u201d\uff0c\u586b\u5199\u4e32\u53e3\u8bbe\u5907\uff08\u5982 /dev/ttyUSB0 \uff09\u3001\u6ce2\u7279\u7387\u3001\u6570\u636e\u4f4d\u3001\u6821\u9a8c\u7b49\u53c2\u6570\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807Slave\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff09\u3002 \u5176\u4ed6\u53c2\u6570\u6309\u5b9e\u9645\u9700\u6c42\u8bbe\u7f6e\u3002","title":"\u6b65\u9aa4\u4e09\uff1a\u914d\u7f6eModbus\u4e3b\u8bbe\u5907\uff08Master\uff09"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_2","text":"modbus-read \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\uff08\u598203\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff09\u3001\u8d77\u59cb\u5730\u5740\u3001\u957f\u5ea6\u3001\u8f6e\u8be2\u95f4\u9694\u7b49\u3002 modbus-write \u8282\u70b9\uff1a\u8bbe\u7f6e\u529f\u80fd\u7801\u3001\u76ee\u6807\u5730\u5740\u3001\u5199\u5165\u6570\u636e\u7b49\u3002","title":"\u6b65\u9aa4\u56db\uff1a\u914d\u7f6e\u8bfb\u5199\u64cd\u4f5c"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#modbus-read","text":"\u540d\u79f0 \uff1a\u81ea\u5b9a\u4e49\uff0c\u4fbf\u4e8e\u8bc6\u522b\u3002 \u4e3b\u9898\uff08Topic\uff09 \uff1a\u53ef\u7559\u7a7a\u6216\u81ea\u5b9a\u4e49\uff08\u5982\u7528\u4e8e\u6d88\u606f\u5206\u6d41\u65f6\u586b\u5199\uff09\uff0c\u4e00\u822c\u9ed8\u8ba4\u5373\u53ef\u3002 Unit-Id \uff1a\u586b\u5199\u76ee\u6807 Modbus slave \u8bbe\u5907\u7684\u5730\u5740\uff08\u901a\u5e38\u4e3a1\uff0c\u5177\u4f53\u770b\u4f60\u7684\u8bbe\u5907\u8bbe\u7f6e\uff09\u3002 FC\uff08\u529f\u80fd\u7801\uff09 \uff1a\u9009\u62e9\u4f60\u8981\u6267\u884c\u7684Modbus\u529f\u80fd\u7801\uff0c\u5e38\u7528\u5982\u4e0b\uff1a 1\uff1a\u8bfb\u7ebf\u5708\uff08Coil Status\uff09 2\uff1a\u8bfb\u79bb\u6563\u8f93\u5165\uff08Input Status\uff09 3\uff1a\u8bfb\u4fdd\u6301\u5bc4\u5b58\u5668\uff08Holding Registers\uff0c\u6700\u5e38\u7528\uff09 4\uff1a\u8bfb\u8f93\u5165\u5bc4\u5b58\u5668\uff08Input Registers\uff09 Address \uff1a\u8981\u8bfb\u53d6\u7684\u5bc4\u5b58\u5668\u6216\u7ebf\u5708\u7684\u8d77\u59cb\u5730\u5740\uff08\u901a\u5e38\u4ece0\u62161\u5f00\u59cb\uff0c\u5177\u4f53\u770b\u8bbe\u5907\u624b\u518c\uff09\u3002 Quantity \uff1a\u8bfb\u53d6\u7684\u6570\u91cf\uff08\u5982\u8981\u8bfb2\u4e2a\u5bc4\u5b58\u5668\u5c31\u586b2\uff09\u3002 Poll Rate \uff1a\u8f6e\u8be2\u5468\u671f\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\uff08\u59821000\u8868\u793a\u6bcf\u79d2\u8bfb\u53d6\u4e00\u6b21\uff09\u3002 \u4e3e\u4f8b\uff08\u8bfb\u53d6slave\u5730\u5740\u4e3a1\uff0c\u4fdd\u6301\u5bc4\u5b58\u5668\uff0c\u8d77\u59cb\u5730\u57400\uff0c\u6570\u91cf2\uff0c\u6bcf\u79d2\u8f6e\u8be2\uff09\uff1a - Unit-Id\uff1a1 - FC\uff1a3 - Address\uff1a0 - Quantity\uff1a2 - Poll Rate\uff1a1000","title":"Modbus-Read\u8282\u70b9\u53c2\u6570\u586b\u5199\u8bf4\u660e"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_3","text":"\u8fde\u63a5\u8282\u70b9\uff0c\u70b9\u51fb\u53f3\u4e0a\u89d2\u201c\u90e8\u7f72\u201d\u3002 \u67e5\u770bdebug\u9762\u677f\uff0c\u786e\u8ba4\u6570\u636e\u662f\u5426\u6b63\u5e38\u6536\u53d1\u3002","title":"\u6b65\u9aa4\u4e94\uff1a\u90e8\u7f72\u4e0e\u8c03\u8bd5"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_4","text":"[modbus-read] \u2192 [debug]","title":"\u53c2\u8003\u793a\u4f8b"},{"location":"node-reds/node-red%E5%A6%82%E4%BD%95%E8%BF%9E%E6%8E%A5modbus%20_slave%E8%AE%BE%E5%A4%87/#_5","text":"\u786e\u8ba4\u7269\u7406\u8fde\u63a5\u548c\u4e32\u53e3\u6743\u9650\u3002 TCP\u6a21\u5f0f\u4e0b\u9632\u706b\u5899\u9700\u653e\u884c502\u7aef\u53e3\u3002 RTU\u6a21\u5f0f\u4e0b\u9700\u6b63\u786e\u914d\u7f6e\u4e32\u53e3\u53c2\u6570\u3002 \u5982\u9700\u66f4\u8be6\u7ec6\u7684\u914d\u7f6e\u8bf4\u660e\uff0c\u53ef\u53c2\u8003 node-red-contrib-modbus\u5b98\u65b9\u6587\u6863","title":"\u5e38\u89c1\u95ee\u9898"},{"location":"node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/","text":"Node-RED \u5e38\u7528\u7ec4\u4ef6\u5217\u8868 \u00b6 \u4ee5\u4e0b\u662f\u5e38\u7528\u7684 Node-RED \u7ec4\u4ef6\u53ca\u5176\u7248\u672c\uff0c\u5efa\u8bae\u6839\u636e\u5b9e\u9645\u9700\u6c42\u9009\u62e9\u5b89\u88c5\u3002 \u7ec4\u4ef6\u540d\u79f0 \u7248\u672c \u8bf4\u660e @node-red-contrib-themes/theme-collection 4.0.11 \u4e3b\u9898\u96c6\u5408 node-red 4.0.9 Node-RED \u4e3b\u7a0b\u5e8f node-red-contrib-aedes 0.6.0 MQTT Broker \u8282\u70b9 node-red-contrib-bigtimer 2.8.6 \u5f3a\u5927\u7684\u5b9a\u65f6\u5668\u8282\u70b9 node-red-contrib-cast 0.2.17 Google Cast \u652f\u6301 node-red-contrib-counter 0.1.6 \u8ba1\u6570\u5668\u8282\u70b9 node-red-contrib-cron-plus 2.1.0 \u9ad8\u7ea7\u5b9a\u65f6\u4efb\u52a1\u8282\u70b9 node-red-contrib-home-assistant-websocket 0.77.1 Home Assistant \u96c6\u6210 node-red-contrib-influxdb 0.7.0 InfluxDB \u6570\u636e\u5e93\u652f\u6301 node-red-contrib-interval-length 0.0.6 \u95f4\u9694\u957f\u5ea6\u8ba1\u7b97 node-red-contrib-lvin-crc16 1.0.2 CRC16 \u6821\u9a8c node-red-contrib-md5 1.0.4 MD5 \u52a0\u5bc6 node-red-contrib-modbus 5.43.0 Modbus \u534f\u8bae\u652f\u6301 node-red-contrib-moment 5.0.0 \u65f6\u95f4\u5904\u7406 node-red-contrib-mqtt-broker 0.2.9 MQTT Broker \u8282\u70b9 node-red-contrib-persistent-fsm 1.2.1 \u6709\u72b6\u6001\u673a\u8282\u70b9 node-red-contrib-sunevents 3.1.1 \u65e5\u51fa\u65e5\u843d\u4e8b\u4ef6 node-red-contrib-time-range-switch 1.2.0 \u65f6\u95f4\u8303\u56f4\u5f00\u5173 node-red-dashboard 3.6.5 \u4eea\u8868\u76d8\u7ec4\u4ef6 node-red-node-base64 1.0.0 Base64 \u7f16\u7801\u89e3\u7801 node-red-node-email 3.0.3 \u90ae\u4ef6\u53d1\u9001\u8282\u70b9 node-red-node-feedparser 0.3.0 RSS Feed \u89e3\u6790 node-red-node-ping 0.3.3 Ping \u8282\u70b9 node-red-node-random 0.4.1 \u968f\u673a\u6570\u8282\u70b9 node-red-node-serialport 2.0.3 \u4e32\u53e3\u8282\u70b9 node-red-node-smooth 0.1.2 \u5e73\u6ed1\u6570\u636e\u8282\u70b9 node-red-node-suncalc 1.2.0 \u592a\u9633\u8ba1\u7b97\u8282\u70b9 node-red-node-twitter 1.2.0 Twitter \u96c6\u6210 \u5982\u9700\u8be6\u7ec6\u4f7f\u7528\u65b9\u6cd5\uff0c\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u793e\u533a\u6559\u7a0b\u3002","title":"node-red\u5e38\u7528\u7ec4\u4ef6\u5217\u8868"},{"location":"node-reds/node-red%E5%B8%B8%E7%94%A8%E7%BB%84%E4%BB%B6%E5%88%97%E8%A1%A8/#node-red","text":"\u4ee5\u4e0b\u662f\u5e38\u7528\u7684 Node-RED \u7ec4\u4ef6\u53ca\u5176\u7248\u672c\uff0c\u5efa\u8bae\u6839\u636e\u5b9e\u9645\u9700\u6c42\u9009\u62e9\u5b89\u88c5\u3002 \u7ec4\u4ef6\u540d\u79f0 \u7248\u672c \u8bf4\u660e @node-red-contrib-themes/theme-collection 4.0.11 \u4e3b\u9898\u96c6\u5408 node-red 4.0.9 Node-RED \u4e3b\u7a0b\u5e8f node-red-contrib-aedes 0.6.0 MQTT Broker \u8282\u70b9 node-red-contrib-bigtimer 2.8.6 \u5f3a\u5927\u7684\u5b9a\u65f6\u5668\u8282\u70b9 node-red-contrib-cast 0.2.17 Google Cast \u652f\u6301 node-red-contrib-counter 0.1.6 \u8ba1\u6570\u5668\u8282\u70b9 node-red-contrib-cron-plus 2.1.0 \u9ad8\u7ea7\u5b9a\u65f6\u4efb\u52a1\u8282\u70b9 node-red-contrib-home-assistant-websocket 0.77.1 Home Assistant \u96c6\u6210 node-red-contrib-influxdb 0.7.0 InfluxDB \u6570\u636e\u5e93\u652f\u6301 node-red-contrib-interval-length 0.0.6 \u95f4\u9694\u957f\u5ea6\u8ba1\u7b97 node-red-contrib-lvin-crc16 1.0.2 CRC16 \u6821\u9a8c node-red-contrib-md5 1.0.4 MD5 \u52a0\u5bc6 node-red-contrib-modbus 5.43.0 Modbus \u534f\u8bae\u652f\u6301 node-red-contrib-moment 5.0.0 \u65f6\u95f4\u5904\u7406 node-red-contrib-mqtt-broker 0.2.9 MQTT Broker \u8282\u70b9 node-red-contrib-persistent-fsm 1.2.1 \u6709\u72b6\u6001\u673a\u8282\u70b9 node-red-contrib-sunevents 3.1.1 \u65e5\u51fa\u65e5\u843d\u4e8b\u4ef6 node-red-contrib-time-range-switch 1.2.0 \u65f6\u95f4\u8303\u56f4\u5f00\u5173 node-red-dashboard 3.6.5 \u4eea\u8868\u76d8\u7ec4\u4ef6 node-red-node-base64 1.0.0 Base64 \u7f16\u7801\u89e3\u7801 node-red-node-email 3.0.3 \u90ae\u4ef6\u53d1\u9001\u8282\u70b9 node-red-node-feedparser 0.3.0 RSS Feed \u89e3\u6790 node-red-node-ping 0.3.3 Ping \u8282\u70b9 node-red-node-random 0.4.1 \u968f\u673a\u6570\u8282\u70b9 node-red-node-serialport 2.0.3 \u4e32\u53e3\u8282\u70b9 node-red-node-smooth 0.1.2 \u5e73\u6ed1\u6570\u636e\u8282\u70b9 node-red-node-suncalc 1.2.0 \u592a\u9633\u8ba1\u7b97\u8282\u70b9 node-red-node-twitter 1.2.0 Twitter \u96c6\u6210 \u5982\u9700\u8be6\u7ec6\u4f7f\u7528\u65b9\u6cd5\uff0c\u8bf7\u53c2\u8003\u5b98\u65b9\u6587\u6863\u6216\u793e\u533a\u6559\u7a0b\u3002","title":"Node-RED \u5e38\u7528\u7ec4\u4ef6\u5217\u8868"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/","text":"\u5982\u4f55\u5b89\u88c5node-red\u5b89\u88c5\u5230orangepi Zero3 \u00b6 \u64cd\u4f5c\u7cfb\u7edf \u00b6 \u57fa\u4e8eubuntu\u7684\u64cd\u4f5c\u7cfb\u7edf\u7684orangepizero3\u5b9a\u5236\u7248 \u5b89\u88c5\u6b65\u9aa4 \u00b6 1. \u66f4\u65b0\u7cfb\u7edf \u00b6 \u5728\u7ec8\u7aef\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u786e\u4fdd\u7cfb\u7edf\u4e3a\u6700\u65b0\uff1a sudo apt-get update && sudo apt-get upgrade -y 2. \u5b89\u88c5Node-RED \u00b6 Node-RED\u5b98\u65b9\u63d0\u4f9b\u4e86\u4e00\u952e\u5b89\u88c5\u811a\u672c\uff0c\u9002\u7528\u4e8eDebian/Ubuntu\u7cfb\u7edf\uff1a bash < ( curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered ) \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u53ef\u6839\u636e\u63d0\u793a\u9009\u62e9\u201cy\u201d\u7ee7\u7eed\u3002 3. \u542f\u52a8\u4e0e\u505c\u6b62Node-RED \u00b6 \u542f\u52a8\uff1a bash node-red-start \u505c\u6b62\uff1a bash node-red-stop \u67e5\u770b\u65e5\u5fd7\uff1a bash node-red-log 4. \u8bbe\u7f6e\u5f00\u673a\u81ea\u542f \u00b6 \u901a\u5e38\u5b89\u88c5\u811a\u672c\u4f1a\u81ea\u52a8\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\uff0c\u5982\u9700\u624b\u52a8\u8bbe\u7f6e\uff1a sudo systemctl enable nodered.service 5. \u8bbf\u95eeNode-RED \u00b6 \u5728\u6d4f\u89c8\u5668\u8bbf\u95ee\uff1a http://<\u4f60\u7684OrangePi\u7684IP\u5730\u5740>:1880 \u53ef\u7528 hostname -I \u6216 ip a \u547d\u4ee4\u67e5\u8be2IP\u5730\u5740 sudo systemctl status nodered.service sudo systemctl start nodered.service sudo systemctl stop nodered.service sudo systemctl restart nodered.service","title":"\u5982\u4f55\u628anode-red\u5b89\u88c5\u5230orangepiZero"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#node-redorangepi-zero3","text":"","title":"\u5982\u4f55\u5b89\u88c5node-red\u5b89\u88c5\u5230orangepi Zero3"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_1","text":"\u57fa\u4e8eubuntu\u7684\u64cd\u4f5c\u7cfb\u7edf\u7684orangepizero3\u5b9a\u5236\u7248","title":"\u64cd\u4f5c\u7cfb\u7edf"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#_2","text":"","title":"\u5b89\u88c5\u6b65\u9aa4"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#1","text":"\u5728\u7ec8\u7aef\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u786e\u4fdd\u7cfb\u7edf\u4e3a\u6700\u65b0\uff1a sudo apt-get update && sudo apt-get upgrade -y","title":"1. \u66f4\u65b0\u7cfb\u7edf"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#2-node-red","text":"Node-RED\u5b98\u65b9\u63d0\u4f9b\u4e86\u4e00\u952e\u5b89\u88c5\u811a\u672c\uff0c\u9002\u7528\u4e8eDebian/Ubuntu\u7cfb\u7edf\uff1a bash < ( curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered ) \u5b89\u88c5\u8fc7\u7a0b\u4e2d\u53ef\u6839\u636e\u63d0\u793a\u9009\u62e9\u201cy\u201d\u7ee7\u7eed\u3002","title":"2. \u5b89\u88c5Node-RED"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#3-node-red","text":"\u542f\u52a8\uff1a bash node-red-start \u505c\u6b62\uff1a bash node-red-stop \u67e5\u770b\u65e5\u5fd7\uff1a bash node-red-log","title":"3. \u542f\u52a8\u4e0e\u505c\u6b62Node-RED"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#4","text":"\u901a\u5e38\u5b89\u88c5\u811a\u672c\u4f1a\u81ea\u52a8\u8bbe\u7f6e\u5f00\u673a\u81ea\u542f\uff0c\u5982\u9700\u624b\u52a8\u8bbe\u7f6e\uff1a sudo systemctl enable nodered.service","title":"4. \u8bbe\u7f6e\u5f00\u673a\u81ea\u542f"},{"location":"node-reds/%E5%A6%82%E4%BD%95%E6%8A%8Anode-red%E5%AE%89%E8%A3%85%E5%88%B0orangepiZero3/#5-node-red","text":"\u5728\u6d4f\u89c8\u5668\u8bbf\u95ee\uff1a http://<\u4f60\u7684OrangePi\u7684IP\u5730\u5740>:1880 \u53ef\u7528 hostname -I \u6216 ip a \u547d\u4ee4\u67e5\u8be2IP\u5730\u5740 sudo systemctl status nodered.service sudo systemctl start nodered.service sudo systemctl stop nodered.service sudo systemctl restart nodered.service","title":"5. \u8bbf\u95eeNode-RED"},{"location":"node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/","text":"unning Node-RED install for user orangepi at /home/orangepi on ubuntu [sudo] password for orangepi: This can take 20-30 minutes on the slower Pi versions - please wait. Stop Node-RED \u2714 Remove old version of Node-RED \u2714 Remove old version of Node.js \u2714 Install Node 20.19.3-1nodesource1 \u2714 v20.19.3 Npm 10.8.2 Clean npm cache \u2714 Install Node-RED core \u2714 4.0.9 Move global nodes to local - Npm rebuild existing nodes \u2714 Install extra Pi nodes \u2714 Add shortcut commands \u2718 Update systemd script \u2714 Any errors will be logged to /var/log/nodered-install.log All done. You can now start Node-RED with the command node-red-start or using the icon under Menu / Programming / Node-RED Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880 Started : Wed Jul 9 12:28:33 PM CST 2025 Finished: Wed Jul 9 12:37:17 PM CST 2025 ### WARNING ### DO NOT EXPOSE NODE-RED TO THE OPEN INTERNET WITHOUT SECURING IT FIRST Even if your Node-RED doesn't have anything valuable, (automated) attacks will happen and could provide a foothold in your local network Follow the guide at https://nodered.org/docs/user-guide/runtime/securing-node-red to setup security. ### ADDITIONAL RECOMMENDATIONS ### - You can customise the initial settings by running: node-red admin init Node-RED Settings File initialisation \u00b6 This tool will help you create a Node-RED settings file. \u2716 Settings file \u00b7 /home/orangepi/.node-red/settings.js orangepi@orangepizero3:~$ ^C orangepi@orangepizero3:~$","title":"\u5b89\u88c5node-red\u8bb0\u5f55"},{"location":"node-reds/%E5%AE%89%E8%A3%85node-red%E8%AE%B0%E5%BD%95/#node-red-settings-file-initialisation","text":"This tool will help you create a Node-RED settings file. \u2716 Settings file \u00b7 /home/orangepi/.node-red/settings.js orangepi@orangepizero3:~$ ^C orangepi@orangepizero3:~$","title":"Node-RED Settings File initialisation"}]}
\ No newline at end of file
diff --git a/Help/site/sitemap.xml.gz b/Help/site/sitemap.xml.gz
index cc13a20..30502cd 100644
--- a/Help/site/sitemap.xml.gz
+++ b/Help/site/sitemap.xml.gz
Binary files differ
diff --git "a/docs/JSON\346\240\274\345\274\217\344\277\256\346\255\243\350\257\264\346\230\216.md" "b/docs/JSON\346\240\274\345\274\217\344\277\256\346\255\243\350\257\264\346\230\216.md"
deleted file mode 100644
index abc715b..0000000
--- "a/docs/JSON\346\240\274\345\274\217\344\277\256\346\255\243\350\257\264\346\230\216.md"
+++ /dev/null
@@ -1,81 +0,0 @@
-# JSON 格式错误修正说明
-
-## 问题描述
-
-原始的 `HomeAssistant集成-选项卡.json` 文件存在严重的 JSON 格式错误:
-
-1. **转义字符错误**: 文件中出现了大量不正确的转义字符(如 `\n`、`\"`)
-2. **属性名格式错误**: JSON 属性名缺少正确的双引号格式
-3. **语法结构错误**: 括号、逗号等语法符号错位
-
-## 修正内容
-
-已创建修正版文件:`HomeAssistant集成-选项卡-修正版.json`
-
-### 修正的主要问题:
-
-1. **修正了所有转义字符错误**
-   - 原始:`\"type\": \"mqtt out\"`
-   - 修正:`"type": "mqtt out"`
-
-2. **修正了属性名格式**
-   - 所有属性名现在都使用正确的双引号格式
-
-3. **修正了 JavaScript 代码中的转义**
-   - 在 `func` 属性中的 JavaScript 代码现在使用正确的转义格式
-
-4. **修正了 JSON 结构**
-   - 所有括号、逗号、引号都正确配对
-
-## 使用方法
-
-### 方法1:替换原文件
-1. 删除或重命名原始的 `HomeAssistant集成-选项卡.json`
-2. 将 `HomeAssistant集成-选项卡-修正版.json` 重命名为 `HomeAssistant集成-选项卡.json`
-
-### 方法2:直接使用修正版
-1. 在 Node-RED 中导入 `HomeAssistant集成-选项卡-修正版.json`
-2. 删除之前可能导入失败的节点
-
-## 文件内容说明
-
-修正版文件包含以下功能节点:
-
-### 1. 自动发现功能
-- `ha_discovery_trigger`: 启动自动发现的触发器
-- `ha_discovery_function`: 生成 HomeAssistant 自动发现配置
-- `ha_discovery_split`: 分割发现消息
-- `ha_discovery_mqtt`: 发送自动发现配置到 MQTT
-
-### 2. 数据处理功能  
-- `ha_data_processor`: 处理来自集中供液系统的数据
-- `ha_data_mqtt`: 发送处理后的数据到 HomeAssistant
-- `ha_data_debug`: 调试输出
-
-### 3. 测试功能
-- `ha_test_inject`: 单个数据测试
-- `ha_batch_processor`: 批量数据处理器
-- `ha_batch_split`: 分割批量消息
-- `ha_batch_mqtt`: 批量发送到 HomeAssistant
-- `ha_batch_test`: 批量测试数据
-
-### 4. MQTT 连接
-- `mqtt_broker_ha`: HomeAssistant MQTT 连接配置
-
-## 下一步操作
-
-1. **导入修正版文件**: 在 Node-RED 中导入修正版配置
-2. **检查 MQTT 连接**: 确认 HomeAssistant MQTT broker 地址正确
-3. **启动自动发现**: 点击"启动自动发现"节点
-4. **测试数据流**: 使用测试节点验证功能
-5. **连接实际数据**: 将集中供液系统的实际数据连接到数据处理器
-
-## 验证步骤
-
-1. **JSON 验证**: 使用 JSON 验证工具确认文件格式正确
-2. **Node-RED 导入**: 成功导入到 Node-RED 无错误
-3. **节点部署**: 所有节点能正常部署
-4. **MQTT 连接**: MQTT broker 连接状态正常
-5. **数据流测试**: 测试数据能正常流转
-
-现在您可以使用修正版文件来正常设置 HomeAssistant 集成功能了。
diff --git "a/docs/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250.md" "b/docs/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250.md"
deleted file mode 100644
index 08c1e7d..0000000
--- "a/docs/node-red\345\270\270\347\224\250\347\273\204\344\273\266\345\210\227\350\241\250.md"
+++ /dev/null
@@ -1,57 +0,0 @@
- @node-red-contrib-themes/theme-collection
-4.0.11
-node-red
-4.0.9
-node-red-contrib-aedes
-0.6.0
-node-red-contrib-bigtimer
-2.8.6
-node-red-contrib-cast
-0.2.17
-node-red-contrib-counter
-0.1.6
-node-red-contrib-cron-plus
-2.1.0
-node-red-contrib-home-assistant-websocket
-0.77.1
-node-red-contrib-influxdb
-0.7.0
-node-red-contrib-interval-length
-0.0.6
-node-red-contrib-lvin-crc16
-1.0.2
-node-red-contrib-md5
-1.0.4
-node-red-contrib-modbus
-5.43.0
-node-red-contrib-moment
-5.0.0
-node-red-contrib-mqtt-broker
-0.2.9
-node-red-contrib-persistent-fsm
-1.2.1
-node-red-contrib-sunevents
-3.1.1
-node-red-contrib-time-range-switch
-1.2.0
-node-red-dashboard
-3.6.5
-node-red-node-base64
-1.0.0
-node-red-node-email
-3.0.3
-node-red-node-feedparser
-0.3.0
-node-red-node-ping
-0.3.3
-node-red-node-random
-0.4.1
-node-red-node-serialport
-2.0.3
-node-red-node-smooth
-0.1.2
-node-red-node-suncalc
-1.2.0
-node-red-node-twitter
-1.2.0
- 
\ No newline at end of file

--
Gitblit v1.8.0