This commit is contained in:
CortexCore 2023-07-19 14:16:22 +08:00
parent d8d5b3366e
commit 44d1d445f6
5 changed files with 68 additions and 94 deletions

File diff suppressed because one or more lines are too long

View File

@ -2,6 +2,7 @@ using Godot;
using System;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BITKit;
using Cysharp.Threading.Tasks;
@ -51,7 +52,23 @@ public partial class IDIS_SearchService : Node
}
private void Search(string word)
{
var rawHandle = word.Split('?').First();
var split = word.Split('?');
var condition = string.Empty;
switch (split)
{
case var x when x.Length is 1:
break;
case var x when x.Length is 2:
condition = split[1];
break;
case var x when x.Length > 2:
split = word.Split('?', 2);
condition = split[1];
break;
}
var rawHandle = split[0];
MathNode.ClearChild(searchCandidateContainer);
if (service.Query(word, out IDIS_Query[] queries) is false) return;
if (queries.Length is 1 && queries.First().Handle == rawHandle)
@ -75,7 +92,7 @@ public partial class IDIS_SearchService : Node
void OnButtonOnPressed()
{
searchEdit.Text = query.Handle;
searchEdit.Text =string.IsNullOrEmpty(condition) ? query.Handle :query.Handle + condition ;
Search(query.Handle);
QueryIDIS(query);
}

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=68 format=3 uid="uid://cngf2h2a5ne4a"]
[gd_scene load_steps=70 format=3 uid="uid://cngf2h2a5ne4a"]
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXPanel.cs" id="1_c78kh"]
[ext_resource type="PackedScene" uid="uid://d1po2qljd0jh2" path="res://Mods/教育平台/教程header.tscn" id="2_mn1rn"]
@ -25,9 +25,11 @@
[ext_resource type="PackedScene" uid="uid://b57xrg2ye60dy" path="res://Artists/Templates/Option_Button.tscn" id="14_pcoc2"]
[ext_resource type="Script" path="res://BITKit/Scripts/Builder/NodeBuilder.cs" id="14_q0cb2"]
[ext_resource type="Texture2D" uid="uid://57gvsjws6ulq" path="res://BITKit/Art/Containers/container_border_64.png" id="14_sy0v3"]
[ext_resource type="Texture2D" uid="uid://d1uver224k3px" path="res://addons/ui_design_tool/assets/icons/folder_open-white-18dp.svg" id="15_8krq8"]
[ext_resource type="Texture2D" uid="uid://8ekdl6dgus50" path="res://Artists/Art/Icons/carbon_no-image.png" id="15_i4f2k"]
[ext_resource type="Script" path="res://Mods/工业数据采集与分析应用分享/Scripts/IDIS_SearchService.cs" id="16_14syv"]
[ext_resource type="PackedScene" uid="uid://btc6smeueu517" path="res://Artists/Templates/LineEditTemplate.tscn" id="16_il4as"]
[ext_resource type="Script" path="res://BITKit/Scripts/Components/OpenPath.cs" id="16_p2d60"]
[ext_resource type="Script" path="res://BITKit/Scripts/Resource/StringResource.cs" id="17_vci8w"]
[ext_resource type="PackedScene" uid="uid://dghty7km181mc" path="res://Mods/工业数据采集与分析应用分享/Templates/关联标识.tscn" id="19_abuse"]
[ext_resource type="Script" path="res://BITKit/Scripts/UX/UXLineEdit.cs" id="19_egw0i"]
@ -88,7 +90,7 @@ templateResource = SubResource("Resource_0cbl3")
addFieldsButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/ScrollContainer/VBoxContainer/add-button")
templateBuilderPath = NodePath("..")
templateNameEditPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/ScrollContainer/VBoxContainer/TemelateName/MarginContainer/HBoxContainer/templateName-edit")
saveTemplateNameButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/save_template-button")
saveTemplateNameButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/ScrollContainer/VBoxContainer/TemelateName/MarginContainer/HBoxContainer/save_name-button")
deleteTemplateButtonPath = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/ScrollContainer/VBoxContainer/TemelateName/MarginContainer/HBoxContainer/deleteTemplate-button")
[sub_resource type="Resource" id="Resource_qa6b3"]
@ -304,6 +306,15 @@ expand_icon = true
script = ExtResource("13_6a13i")
url = "http://server.bitfall.icu:3000/root/iFactory.Godot/src/branch/main/ReadMe/工业互联网标识解析与注册/标识解析步骤.md"
[node name="Button2" type="Button" parent="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout"]
layout_mode = 2
theme_type_variation = &"SideTab"
text = "打开环境文件夹"
icon = ExtResource("15_8krq8")
expand_icon = true
script = ExtResource("16_p2d60")
path = "EXE"
[node name="HSeparator" type="HSeparator" parent="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout"]
layout_mode = 2
@ -1303,6 +1314,7 @@ text = "等待更新中"
fit_content = true
[node name="标识模板生成器" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer"]
visible = false
layout_mode = 2
[node name="标题栏Template" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器" instance=ExtResource("13_7vm0l")]
@ -1337,7 +1349,7 @@ text = "创建模板"
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/VBoxContainer3"]
layout_mode = 2
text = "已创建额度模板列表"
text = "已创建的标识模板列表"
[node name="ScrollContainer" type="ScrollContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/VBoxContainer3"]
layout_mode = 2
@ -1440,7 +1452,7 @@ layout_mode = 2
size_flags_horizontal = 3
placeholder_text = "新的标识注册模板"
[node name="Button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/ScrollContainer/VBoxContainer/TemelateName/MarginContainer/HBoxContainer"]
[node name="save_name-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body/VBoxContainer/ScrollContainer/VBoxContainer/TemelateName/MarginContainer/HBoxContainer"]
layout_mode = 2
text = "保存新的名称"
@ -1464,7 +1476,6 @@ text = "添加属性"
[node name="LogLabel" type="RichTextLabel" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body"]
layout_mode = 2
bbcode_enabled = true
text = "等待操作中"
fit_content = true
[node name="save_template-button" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板生成器/HBoxContainer/标识模板-body"]
@ -1650,7 +1661,6 @@ layout_mode = 2
text = "注册"
[node name="自动注册标识" type="VBoxContainer" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer"]
visible = false
layout_mode = 2
[node name="标题栏Template" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识" instance=ExtResource("13_7vm0l")]
@ -1710,23 +1720,9 @@ layout_mode = 2
disabled = true
text = "等待执行中"
[node name="Label3" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
text = "温度数据"
[node name="ProgressBar3" type="ProgressBar" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Button3" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
disabled = true
text = "等待执行中"
[node name="Label4" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
text = "湿度数据"
text = "湿度记录"
[node name="ProgressBar4" type="ProgressBar" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
@ -1752,37 +1748,9 @@ layout_mode = 2
disabled = true
text = "等待执行中"
[node name="Label6" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
text = "装配机械臂SR7C1L"
[node name="ProgressBar6" type="ProgressBar" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Button6" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
disabled = true
text = "等待执行中"
[node name="Label7" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
text = "装配机械臂SR7C1L"
[node name="ProgressBar7" type="ProgressBar" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Button7" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
disabled = true
text = "等待执行中"
[node name="Label8" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
text = "AGV机械臂I5外发"
text = "机械臂x3"
[node name="ProgressBar8" type="ProgressBar" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
@ -1796,7 +1764,7 @@ text = "等待执行中"
[node name="Label9" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
text = "装配夹爪"
text = "装配夹爪x2"
[node name="ProgressBar9" type="ProgressBar" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
@ -1808,20 +1776,6 @@ layout_mode = 2
disabled = true
text = "等待执行中"
[node name="Label10" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
text = "AGV夹爪"
[node name="ProgressBar10" type="ProgressBar" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Button10" type="Button" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer"]
layout_mode = 2
disabled = true
text = "等待执行中"
[node name="Label2" type="Label" parent="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer"]
layout_mode = 2
theme_type_variation = &"HeaderLarge"
@ -1896,6 +1850,7 @@ autoUpdateLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容
[node name="温湿度传感器Reader" type="Node" parent="." node_paths=PackedStringArray("temperatureContaier", "humidityContainer", "ipEdit", "portEdit", "hintsLabel")]
script = ExtResource("27_q8j7q")
interval = 1000
temperatureContaier = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer/传感器数据模板")
humidityContainer = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer/传感器数据模板2")
ipEdit = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/GridContainer2/LineEdit")
@ -1935,7 +1890,7 @@ logLabel = NodePath("../../Layout/UX Window Service/Horizontal Layout/内容/Mar
[node name="自动注册标识" type="Node" parent="." node_paths=PackedStringArray("progressBars", "logLabel")]
script = ExtResource("41_17ps2")
regResources = Array[Object]([ExtResource("42_xvnkp"), ExtResource("43_qidfp"), ExtResource("44_0hai5")])
progressBars = [NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar2"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar3"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar4"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar5"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar6"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar7"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar8"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar9"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar10")]
progressBars = [NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar2"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar4"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar5"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar8"), NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/HFlowContainer/VBoxContainer/GridContainer/ProgressBar9")]
logLabel = NodePath("../Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/自动注册标识/PanelContainer/MarginContainer/logLabel")
[node name="温湿度数据生成" type="Node" parent="." node_paths=PackedStringArray("_lineEdit")]
@ -1959,6 +1914,7 @@ templateResource = SubResource("Resource_1df3p")
templateName = "订单信息"
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button" to="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button" method="Execute"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button2" to="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button2" method="Execute"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button5" to="Layout/UX Window Service/Horizontal Layout/导航栏/MarginContainer/Layout/Button5" method="Return"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/温湿度传感器/VBoxContainer/VBoxContainer/HBoxContainer/生成数据-button" to="温湿度数据生成" method="Excute"]
[connection signal="pressed" from="Layout/UX Window Service/Horizontal Layout/内容/MarginContainer/标识模板注册器/HBoxContainer/VBoxContainer3/Button" to="标识模板注册器" method="Rebuild"]

View File

@ -93,15 +93,15 @@
- [ ] 给出错误提示和原因
## 更改记录
### 新增issue date:2023年7月18日
- [ ] `标识解析`添加模拟搜索,可以通知搜索值来筛选和过滤标识与标识值
> 标识检测软件
- [ ] `检测软件` 添加异常时的值
- [ ] `监测软件` 异常时需要给出明显的提示
> iFactory课件
- [x] `标识解析`添加模拟搜索,可以通知搜索值来筛选和过滤标识与标识值
- [ ] `动画`添加基于`标识节点`连线的标识解析动画
- [x] `引导`编辑标识模板名称后,需要点击保存
- [x] `引导`强调在`标识注册`中需要点击刷新按钮
- [ ] `引导`添加完整的引导,告诉用户下一步具体该点击什么按钮
- [x] `引导`添加完整的引导,告诉用户下一步具体该点击什么按钮
- [x] `注册标识`修复点击引用标识无效的问题
- [x] `标识模板`修复`类型下拉框`中默认值为空的问题
- [x] `标识模板`添加可以删除模板的按钮

View File

@ -7,13 +7,18 @@
> ⚠️注意 编辑标识模板名称后,需要按下`回车键`才能保存,或者点击`保存`按钮
## 🔑故事线
* 创建标识注册模板
* 通过标识模板注册标识
* 通过`模拟生产`手动注册标识,或自动注册标识
* 手动生产过程中产生的标识注册标识,或自动注册标识
* 只手动注册订单标识,其他的标识用`模拟生产`自动注册
* 对温湿度传感器进行数据采集
* 输入IP和端口后按下回车既可自动连接
* 提交温湿度传感器数据到标识
* 勾选`自动更新`
* 生产环境异常模拟
* 手动提交异常注册
* 对温湿度传感器哈口气
* 标识解析检测软件检测到异常环境,并发送异常信息
* 回到`标识解析`页面,搜索标识并找到异常原因
* 使用模糊搜索,例如:`88.123.99/xxx?温度=60`
## 🗎目录
### 创建标识模板
[订单信息](#订单信息)
@ -52,7 +57,8 @@
[解析温湿度记录标识找到异常的原因](#解析标识找到异常的原因-1)
## 🔥详细步骤
### 订单信息
* 点击`创建标识模板`
* 点击侧边栏的`创建标识模板`
* 点击`创建模板`
* 输入模板名称,例如:`订单标识模板`,然后点击右侧的`保存`按钮
* 接下来创建以下值
* `订单单号` `string` `123456` `订单信息`
@ -67,7 +73,7 @@
* `订单图片` `url` `https://www.baidu.com/img/bd_logo1.png` `订单信息`
* 点击保存
### 温湿度传感器本身标识
* 点击`创建标识模板`
* 点击`创建模板`
* 输入模板名称,例如:`温湿度传感器模板`,然后点击右侧的`保存`按钮
* 接下来创建以下值
* `温度` `float` `42.0` `环境`
@ -77,13 +83,14 @@
* `购买链接` `url` `https://www.baidu.com` `出厂参数`
* `产品图片` `url` `https://www.baidu.com/img/bd_logo1.png` `出厂参数`
### 温湿度记录
* 点击`创建标识模板`
* 点击`创建模板`
* 输入模板名称,例如:`温湿度记录模板`,然后点击右侧的`保存`按钮
* 接下来创建以下值
* `温度` `float` `42.0` `环境`
* `湿度` `float` `50.0` `环境`
### 到这里就可以先跳过注册部分了,因为我们已经创建了关键标识模板[点我跳过](#注册标识)
### AGV的电量和电流
* 点击`创建标识模板`
* 点击`创建模板`
* 输入模板名称,例如:`AGV注册模板`,然后点击右侧的`保存`按钮
* 接下来创建以下值
* `型号` `string` `AGV-001` `出厂参数`
@ -103,16 +110,10 @@
* `产品图片` `url` `https://www.baidu.com/img/bd_logo1.png` `出厂参数`
### 注册标识
打开`注册标识`页面,并点击`刷新`
### ⚠️模拟生产/自动注册标识
我们现在是工作人员,需要为所有设备,物料或工序等注册标识
我们可以根据任务,按照指示一步一步创建标识模板并注册标识
也可以直接点击"自动生产"按钮,系统会自动为我们创建标识模板并注册
点击侧边栏的`注册标识`,并点击`刷新`
### 注册订单
* 点击`订单标识模板`,并在下方输入框中输入需要的数据,或者默认的数据,并提交
### ⚠️ 可以使用`模拟生产`自动注册以下标识,[点我跳过](#采集温湿度传感器的数据)
### 注册温湿度传感器
* 点击`生成标识`,并记录下标识码,例如:`8.123.99/sensor0x123456`
* 点击`温湿度传感器模板`
@ -162,10 +163,10 @@
* 提交
### 采集温湿度传感器的数据
采集环境的配置需要讲师在后台配置,请联系讲师
* 点击`温湿度传感器`
* 点击侧边栏的`温湿度传感器`
默认环境下,传感器的IP和端口为`192.168.3.7`:`502`
当连接到温湿度传感器后,将会自动显示数据
* 在`标识码`未知填写已注册的温湿度传感器的标识码,例如:`8.123.99/sensor0x123456`
* 在`标识码`位置填写已注册的温湿度传感器的标识码,例如:`8.123.99/sensor0x123456`
* 勾选`自动更新数据`
现在温湿度将自动更新到标识
### 创造温湿度的环境异常