# 产品配置

# 1. 创建物模型模板和lua配置

前提条件:

1、收集产品的全功能,按照物模型标准完成产品的功能描述

2、定义所接入产品的品类标准库

操作步骤:

1、进入【更多功能】模块点击【物模型2.0】

功能介绍:

  • 可以访问到物模型模板(包含实例、适配的入口lua/应用包、逻辑配置、关联产品),lua文件库、包文件库。
  • 开发者只可以访问当前所属开发组权限的模板和文件库内容。
  • 新产品可以复用已有实例,在已有实例中关联产品。或者新建实例模板适配并关联新产品。

p6

2、进入草稿版本,可以编辑实例

p7

p8

3、逻辑配置:用于维护物模型实例功能之间的逻辑关系,用于各个物模型应用端调用。

点击【创建逻辑】

p25

根据功能之间的逻辑关系,按需配置条件及结果的逻辑关系

p26

4、根据实例开发完适配文件,可以根据实际开发习惯,使用lua或者包文件。上传适配文件后,在模板里选择适配入口文件,也就是thing lua或应用包。适配文件不用单独发布,会跟随模板的发布一起上架。

【适配方式】

适配物模型:通过lua脚本对物模型实例jason转译为设备能够识别的语言。

原生物模型:由设备本身解析物模型实例jason。原生物模型开发指引文档 (opens new window)

【实现路径】

非包管理:可由单个lua文件即可完成解析。

包管理:由 1 到多个 Lua 文件组成。我们将这些文件与配置(在 package.json 中描述物模型的入口 Lua)一起打包成 zip 包上传到平台。这个打包后的 zip 包可以称作应用包,这种模式被称为包管理模式。

【影子补偿】

适用于透传控制设备改变状态后,设备不能及时的主动上报,又想在控端的查询状态和设备状态相同的情况。开启后,云端会通过解析设备透传回复指令,更新设备状态缓存,来完成缓存状态和设备真实状态的一致性。

【云端能力】按需配置

产品需要在实例中定义提供者为云端的功能,需要先在左侧导航栏“服务配置”入口进行服务名和域名配置,并在此开启云端服务。

【上传数据存储】按需配置

用于物模型应用端查询设备上报历史,如传感器的烟雾告警。

上传lua文件(如何开发lua (opens new window)

p27

p9

p10

上传包文件

p11

选择适配方式和实现路径等

p12

5、添加关联的产品型号,支持批量添加。

p13

6、发布模板版本,数据库会对每个产品上架对应的物模型实例和适配配置。

p14

# 2. 设置配网信息

配网指引设计规范下载 (opens new window)

附件设计素材下载 (opens new window)

操作步骤:

1、进入产品配置页面,点击【产品配置】->【设置配网信息】

p15

2、新增配网模式

【名词解释】后确权配网:部分美的设备的模组上电后默认进行入配网模式,配网绑定后需要手动进行后确权操作,才能对设备进行远程控制。

p16

p17

配网指引支持特殊标红的显示配置。标红显示,将需要标红字体的文字前后加上「」;英文字母、数字0-9、“-”、“_”前后加上#,也可以达到标红效果。

案例及显示效果如下:

① 将洗衣机接通电源后开机

② 长按面板「【水位】键」,直到屏幕显示#AP#时,即设置成功。

example

3、 辅助配网模式配置

辅助配网模式是针对支持多种配网方式的设备,当主配网模式配网失败的情况下,可切换为辅配网模式。

例如下图,设备同时支持AP配网及蓝牙配网,配置蓝牙配网作为主配网模式,AP配网作为辅助配网模式,当用户蓝牙配网失败时,在失败页会展示“尝试其他方式”入口,用户点击可切换为AP配网模式进行重试。

example

example

4、 新配网指引配置

新配网指引主要针对混机情况(同一个SN8下有不同电控/不同模组的设备),配置多种的内容,并以时间为界限进行优先级排序展示。

例如设备原有采用“长按速冷/速冻”方式启热点,在2022年9月8日后,生产的设备更换为“长按功能选择键”启热点,如下图配置后,在用户侧效果为:

① 扫码添加设备时,若设备生产时间小于新配网指引有效时间,则在配网指引页,会优先展示主配网模式,支持用户手动切换为新配网模式,若设备生产时间大于等于新配网指引有效时间,则会优先展示新配网指引,支持用户手动切换为主配网指引;

② 选择设备型号添加设备时,会优先展示新配网模式,支持用户手动切换为主配网模式。

example

example

# 3. 插件配置

插件开发规范 (opens new window)

插件设计规范 (opens new window)

操作步骤:

1、进入产品配置页面,点击【插件开发】->【自定义上传】

p18

2、首次上传插件请提交UI方案进行预审核并填写插件信息(请查阅插件UI设计规范

p19

3、已提交UI方案,可以点击下一步,上传插件包,及填写必要的信息。上传并填写完毕后点击保存。

p20

【支持白名单调试】在正式环境APP对指定

# 4. 卡片配置

卡片开发规范 (opens new window)

卡片设计规范 (opens new window)

操作步骤:

1、进入产品配置页面,点击【产品配置】->【设置卡片】

p21

2、支持上传中控屏及美居app卡片,按照开发的卡片尺寸选择,填写必要的信息并确定。

p22

p23

# 5. 场景能力录入

场景能力录入平台说明-文件下载 生态产品场景能力配置操作指引.pptx (opens new window)

功能入口:进入产品配置页面,点击【产品配置】->【场景能力录入平台】

p24

# 6. 安全与隐私规范

关于对插件涉及个人隐私数据收集进行专项审核的说明

根据中华人民共和国信息安全技术标准GB/T 35273-2020中的定义,对个人信息和个人敏感信息的解释如下:

个人信息示例

个人信息是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定自然人活动情况的各种信息,如姓名、出生日期、身份证件号码、个人生物识别信息、住址、通信通讯联系方式、通信记录和内容、账号密码、财产信息、征信信息、行踪轨迹、住宿信息、健康生理信息、交易信息等。

判定某项信息是否属于个人信息,应考虑以下两条路径:一是识别,即从信息到个人,由信息本身的特殊性识别出特定自然人,个人信息应有助于识别出特定个人。二是关联,即从个人到信息,如已知特定自然人,由该特定自然人在其活动中产生的信息(如个人位置信息、个人通话记录、个人浏览记录等)即为个人信息。符合上述两种情形之一的信息,均应判定为个人信息。

表1 给出了个人信息举例。

p1

个人敏感信息判定

个人敏感信息是指一旦泄露、非法提供或滥用可能危害人身和财产安全,极易导致个人名誉、身心健康受到损害或歧视性待遇等的个人信息。通常情况下,14岁以下(含)儿童的个人信息和涉及自然人隐私的信息属于个人敏感信息。可从以下角度判定是否属于个人敏感信息:

泄露:个人信息一旦泄露,将导致个人信息主体及收集、使用个人信息的组织和机构丧失对个人信息的控制能力,造成个人信息扩散范围和用途的不可控。某些个人信息在泄漏后,被以违背个人信息主体意愿的方式直接使用或与其他信息进行关联分析,可能对个人信息主体权益带来重大风险,应判定为个人敏感信息。例如,个人信息主体的身份证复印件被他人用于手机号卡实名登记、银行账户开户办卡等。

非法提供:某些个人信息仅因在个人信息主体授权同意范围外扩散,即可对个人信息主体权益带来重大风险,应判定为个人敏感信息。例如,性取向、存款信息、传染病史等。

滥用:某些个人信息在被超出授权合理界限时使用(如变更处理目的、扩大处理范围等),可能对个人信息主体权益带来重大风险,应判定为个人敏感信息。例如,在未取得个人信息主体授权时,将健康信息用于保险公司营销和确定个体保费高低。

表2 给出了个人敏感信息举例。

p2

如果您的设备插件涉及以上信息收集和使用,请在产品上架审核时勾选"涉及个人信息收集和使用",并上传相应测试报告

p3

# 7. 固件OTA配置与发布

# 7.1 OTA规则介绍

(1)固件信息层级

p1

(2)不同升级规则对于版本状态的反应

虽然一个固件下有很多版本,但由于不同版本配置的升级规则不同(有白名单、灰度、全网等),导致不是所有版本都会被用户所升级,为了方便查看,平台取版本最新一条升级规则作为版本的状态(比如一个版本状态是白名单,说明这个版本还在内部开发中,没有对外发布)
具体版本状态的业务演变如下:
p2

不同版本类型对升级规则的影响

p3

常规版本:作为默认的版本类型,遵循“同一固件识别码中低版本向高版本升级“的规则。 (比如后台发布了1.0、2.0、3.0三个固件版本,用户手里是1.0,则联网后会升级到3.0)

必经版本:在固件迭代过程中,因为对某个版本做了重构,导致低版本不能直接升级到后面的版本,而是必须先升级到当前这个重构版本。 (比如后台发布了4.0、5.0、6.0、7.0、8.0,其中6.0是必经版本,其余都是常规版本,此时如果用户手里是4.0,则会先升级到6.0,再升级到8.0;如果用户手里是6.0或7.0,则会直接升级到8.0)

忽略版本:针对某些已经进入市场的历史版本,可能因为不值得维护,或版本过于特殊,决定不让它参与后续的升级,同时也不允许其他版本升级到它 (比如后台发布了9.0、10.0、11.0,其中10.0是忽略版本,其余都是常规版本,此时如果用户手里是9.0,则会升级到11.0;如果用户手里是10.0,则不会升级)

(3)不同升级指令的区别

p11

(4)固件编码规范

固件版本号由固件识别码+版本序号两部分组成;

模组固件:

image-20250408152914100

Byte[0~2]: 对应固件标识码,此字段由美的AIRC管控,固件标识码相同,则表明软件可以互相替代,不影响基本功能与性能;

Byte[3-5]: 对应软件版本,开发者根据版本规则自行定义,比如若发布软件功能需要迭代升级,版本号在byte[3]字节上加1,初始版本从0x01开始累加;

Byte[6-8]: 对应开发记录小版本号,开发时用于标识不同代码版本,此字段不被云端OTA识别记录,即OTA服务器不会判断该字段以判断固件新旧,但是串口和网络端指令支持读取此信息;

电控固件:

28

智能系统固件(网关、中控、带屏家电、机器人):

29

Zigbee子设备固件:

30

蓝牙设备固件:

M-Smart单蓝牙模组固件版本由固件标识码、软件版本以及开发记录版本三个字段组成,各字段对应字节如下图所示,模组固件版本号由9个十进制数字组成,在消息中采用压缩BCD码表示,其中Byte0字节又分3段来区分版本归属。以版本号170001011603_000001为例,代表事业部二次开发的单蓝牙模组固件,此固件是2016年第3周发布的第一版固件,固件标识码为0x170001。

image-20250408152914100

# 7.2 平台操作指引

(1) 找到“固件管理”模块,选择对应的模组或电控固件管理入口,新建固件 p4 p5

(2) 点击对应固件列表中的“查看版本”,新建一个固件版本 p13

升级停机时长: 由于受设备不同方案的影响,每台设备在升级时影响用户使用的时间会不一样;

“单分区电控”:在固件传输过程中设备无法使用,用时较长; “双分区电控”:下载、传输过程中不影响使用,仅在固件重启的短暂十几秒钟影响使用; “压缩类固件”:由于需要解压,重启安装时间会较长。

因此每位开发者在创建固件版本时,需要根据实际测试结果,录入该版本升级过程中影响用户使用的时间,以便于APP侧给予用户准确 的体验预期 p6 p7

(3) 点击“查看版本详情,确认固件版本的信息无误(如果是海外固件则需要包括多语言) p8

(4) 点击固件版本详情中的“升级规则管理”,新建升级规则 p9 p10

(5) 在固件版本详情-升级规则管理中,往右拖动滚动条可见固件升级结果 p12

字段解释

字段名 字段说明 备注
升级规则ID 创建升级规则时系统自动分配,仅用于区分不同的升级规则 默认按照创建时间排序,最近创建的规则在最前
控端 海外电控OTA只能选择MsmartHome(国际美居)和TsmartLife(国际东芝)
覆盖设备数 白名单发布:等于填写的SN数量
灰度发布:等于填写的灰度设备总数
全网发布:显示“全网”
未发布:显示“/”
升级规则 等待结果返回:云端给设备发送升级包,但未返回结果
升级成功:设备返回升级后的正确版本号
升级失败:设备返回失败日志
无需升级:设备版本号≥推送版本号

关于差分升级的冲突检测

为确保每台设备都能准确升级到目标版本,我们会对以下情况进行检测,比如: 假设某个固件下已经配置了版本000005,且包含三个差分包,分别是000001→000005、000002→000005、000004→000005

p14

随后如果再创建一个版本000006,且包含差分包000001→000006 p15

此时我们发现,000001版本同时被两个高级版本指定了(000005和000006),为了避免这种情况出现,我们会在发布000006版本的时候提示以下冲突: p16

最后修改于: 2025-04-28