90002-tkl-notice-90002 平台能力对接文档
能力简介
Source file does not provide it
| 项目 | 值 |
|---|---|
| 项目名称 | tkl-notice-90002 |
| 厂商 | Source file does not provide it |
| 型号 | tkl-notice-90002 |
| 业务代码 | 90002 |
| 对接模式 | Source file does not provide it |
| 协议 | Source file does not provide it |
模型清单
可使用下列名称或 ID 在 ThinkLink 中搜索对应模型。
| 模型类型 | 名称 | id_name | 平台模型 ID |
|---|---|---|---|
| ThinkLink Model | [TKL NOTICE] 90002 | tkl_notice_90002 | 109268078822322176 |
运维 Skill
增加或删除设备通知组、验证幂等性或排查通知路由时,使用 tkl-notice-operations。该 Skill 会先确认通知组存在,再对 server_attrs.notify 做最小变更和读回。
产品特点与适用范围
本项目面向“server_attrs_mutation”场景。能力边界、字段和可部署模型均以当前 descriptor、requirements 与模型源文件为准。
部署与采集信息
| DTU | Not applicable | | 供电 | Source file does not provide it | | LoRaWAN Class | Source file does not provide it | | 接口 | Source file does not provide it | | 波特率 | Not applicable |
遥测与寄存器定义
源文件未提供独立遥测字段表;请以模型清单中的当前物模型为准。
参数定义
无项目专用参数定义。
Requirements 证据
已读取 requirement/requirements.md,但未识别到协议、部署或未确认事项行。
物模型与 RPC 代码
ThinkLink Model: [TKL NOTICE] 90002
id_name: tkl_notice_90002 · ID: 109268078822322176
// tkl_notice_90002 — server_attrs.notify 通知组成员维护
//
// 用一次 RPC 调用向 server 的 server_attrs.notify 数组增加或删除一个通知组名称。
// 幂等:重复 add 已存在的组、remove 不存在的组都是 no-op。
//
// 入参:
// action "add" | "remove"
// group string 通知组名称
//
// 存储位置: device.server_attrs.notify (string[])
function rpc_script({ device, params, alarms, logger, org_params }) {
let action = params.action;
let group = params.group;
if (action !== "add" && action !== "remove") {
logger.error("invalid action, expect add|remove", { action: action });
return null;
}
if (typeof group !== "string" || group.length === 0) {
logger.error("group must be a non-empty string", { group: group });
return null;
}
let current = Array.isArray(device.server_attrs?.notify)
? device.server_attrs.notify.slice()
: [];
let exists = current.indexOf(group) !== -1;
let next = current;
if (action === "add") {
if (exists) {
logger.info("notice group already present, no-op", { group: group, notify: current });
return null;
}
next = current.concat([group]);
} else {
if (!exists) {
logger.info("notice group not present, no-op", { group: group, notify: current });
return null;
}
next = current.filter(function (g) { return g !== group; });
}
return [
{
sleepTimeMs: 0,
type: "modifyAttrs",
dnMsg: {
server_attrs: { notify: next }
}
}
];
}
// === 本地调试 ===
const testResult = rpc_script({
device: {
name: "test-server",
eui: "0011223344556677",
server_attrs: { notify: ["ops-day"] }
},
params: { action: "add", group: "ops-night" },
alarms: {},
org_params: {},
logger: console
});
console.log(JSON.stringify(testResult, null, 2));物模型字段定义
模型未提供 telemetry_config 字段表。
RPC 参数定义
无 RPC 入参模板。
触发器定义
无项目专用触发器。
第三方平台数据订阅
MQTT Topic: /v32/{Organization Account}/tkl/up/telemetry/{eui}
{
"eui": "6353012af10a9331",
"active_time": "2026-07-13T08:35:48.000Z",
"thingModelId": "Use the platform model ID from the model inventory",
"thingModelIdName": "Use the current telemetry model id_name",
"telemetry_data": {
"snr": 13.5,
"rssi": -51,
"battery": 3.37
}
}模板选择与验证
在 ThinkLink 平台按项目名称、业务代码或模型清单中的 id_name、ID 搜索并绑定模型。部署后使用真实上行帧核对字段、单位、RPC 和触发器行为。
补充说明
需求与决策依据:requirement/requirements.md。