模拟测试
大约 5 分钟scenefeature
概念说明
场景联动的模拟测试功能,支持在场景发布上线后,通过设备模拟器对场景进行功能验证。设备模拟器可以模拟真实设备与云端建立MQTT连接,模拟设备属性上报、事件上报等操作,从而触发场景联动规则,验证场景配置是否正确、执行动作是否符合预期。模拟测试是场景上线前的重要环节,能够帮助用户在不影响真实设备的情况下,快速发现和修正场景配置问题。
一、测试准备
1.1 发布场景
在进行模拟测试前,需要先完成场景的发布上线:
- 在场景草稿编辑页面,完成触发器和执行器的配置。
- 点击【保存草稿】保存配置。
- 点击【发布上线】将场景正式发布到线上。
- 确认场景状态为【启用】,场景才会真正生效。
提示
只有发布上线且启用的场景才会响应设备触发,草稿状态的场景不会生效。
1.2 准备测试设备
选择一个离线状态的测试设备用于模拟:
- 测试设备必须已在系统中注册
- 建议使用专门的测试设备,避免影响生产环境
- 确认测试设备属于场景关联的产品

二、启动设备模拟器
2.1 访问设备模拟器
- 在导航菜单中,进入【设备管理】-【设备调试】-【设备模拟器】页面。
- 在页面顶部,选择需要模拟的产品和设备。
- 确认MQTT地址配置正确(系统会自动填充默认地址)。
- 点击【开启模拟】按钮,启动设备模拟器。
2.2 连接状态确认
设备模拟器启动后:
- 系统会自动建立MQTT连接
- 连接成功后会显示"设备连接成功"提示
- 页面会展示设备日志和云端日志两个标签页
- 设备日志会记录连接成功的日志信息
注意事项
- 设备模拟器仅用于模拟离线设备,在线设备请使用设备调试功能
- 连接失败时请检查设备密钥(deviceSecret)是否正确
- 如果连接超时,请检查MQTT地址和网络连接

三、模拟属性上报
3.1 选择测试模块
- 在【上行指令调试】-【属性上报】标签页中,选择要测试的模块。
- 如果产品只有默认模块,会自动选中默认模块。
- 如果产品有多个模块,可以在下拉菜单中切换模块。
3.2 填写属性数据
根据物模型定义,为每个属性填写测试数据:
- 数值类型(int32/float/double):输入符合范围的数值
- 文本类型(text):输入任意文本内容
- 布尔类型(bool):选择真(1)或假(0)
- 枚举类型(enum):从下拉菜单中选择预定义的值
- 日期类型(date):选择日期和时间
- 结构体类型(struct):输入JSON格式的数据
查看物模型
点击页面右上角的【物模型 TSL】按钮,可以查看产品的完整物模型定义,了解每个属性的数据类型、取值范围等信息。
3.3 上报属性数据
填写属性数据后,有两种方式上报:
方式一:单个属性上报
- 点击属性右侧的【调试】下拉菜单。
- 选择【上报】选项。
- 系统会发送该属性的上报指令到MQTT服务器。
方式二:批量属性上报
- 填写多个属性的数据。
- 点击页面底部的【发送指令】按钮。
- 系统会批量上报所有已填写的属性数据。
3.4 查看上报日志
属性上报后,可以在日志区域查看详细信息:
- 设备日志:显示上报的Topic和Payload数据
- 云端日志:显示云端接收和处理的日志记录

四、验证场景触发
4.1 观察场景执行
当模拟器上报的属性数据满足场景的触发条件时,场景会自动执行:
- 在设备日志或云端日志中,可以观察到场景触发的相关日志。
- 如果执行动作是设备控制,会在【下行指令调试】区域收到云端下发的控制指令。
- 如果执行动作是告警通知,会在告警管理中看到对应的告警记录。
4.2 验证执行条件
如果场景未按预期触发,需要检查以下几点:
- 确认场景状态为【启用】
- 确认上报的属性值满足触发条件
- 确认场景的生效时间配置(是否在生效时间范围内)
- 确认场景的防抖配置(是否被防抖规则限制)
- 查看执行条件配置(属性条件、时间条件等是否满足)
4.3 测试多次触发
为了验证场景的稳定性,建议进行多次测试:
- 修改属性值,再次上报。
- 观察场景是否每次都能正常触发。
- 测试临界值情况(如属性值刚好满足或不满足触发条件)。
- 测试防抖配置(在短时间内多次触发,验证防抖是否生效)。
防抖配置影响
如果场景配置了防抖规则,短时间内多次触发可能会被防抖机制拦截。请根据防抖配置的时间窗口和触发次数阈值进行测试。

五、关闭模拟器
5.1 断开连接
测试完成后,点击【关闭模拟】按钮:
- 系统会断开MQTT连接
- 设备状态会变为离线
- 日志记录会被清空
5.2 切换设备测试
如果需要测试其他设备:
- 先关闭当前模拟器连接。
- 重新选择产品和设备。
- 再次开启模拟器连接。
提示
离开页面前,模拟器会自动断开连接,无需手动关闭。
