90002-tkl-notice-90002 Integration Guide
Capability Overview
tkl-notice-90002 is integrated with ThinkLink through Source file does not provide it in Source file does not provide it mode. This guide documents the current deployable artifacts and their source-traceable versions.
| Item | Value |
|---|---|
| Project | tkl-notice-90002 |
| Vendor | Source file does not provide it |
| Model | tkl-notice-90002 |
| Business Code | 90002 |
| Integration Mode | Source file does not provide it |
| Protocol | Source file does not provide it |
Model catalog
Search for these models in ThinkLink by name or ID.
| Model type | Name | id_name | Platform model ID |
|---|---|---|---|
| ThinkLink Model | [TKL NOTICE] 90002 | tkl_notice_90002 | 109268078822322176 |
Operations Skill
Use tkl-notice-operations to add or remove notification groups, verify idempotency, or diagnose notification routing. It verifies the group first and requires a minimal server_attrs.notify change with readback.
Features and Application Scope
This project covers tkl-notice-90002 through Source file does not provide it. Its capability boundary, fields, and deployable models follow the current descriptor, requirements, and model sources.
Deployment and Data Acquisition
| DTU | Not applicable | | Power | Source file does not provide it | | LoRaWAN Class | Source file does not provide it | | Interface | Source file does not provide it | | Baud Rate | Not applicable |
Telemetry and Register Definitions
The source does not provide a standalone telemetry table; use the current thing models listed in the model inventory.
Parameter Definitions
No project-specific parameters are defined.
Requirements Evidence
The requirements source was read, but no protocol, deployment, or unresolved-item lines were identified.
Thing Model and RPC Code
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));Thing Model Field Definitions
The models do not provide a telemetry_config field table.
RPC Parameter Definitions
No RPC input templates are defined.
Trigger Definitions
No project-specific triggers are defined.
Third-Party Platform Subscription
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
}
}Template Selection and Verification
Search ThinkLink by project name, business code, or the id_name and ID values in the model inventory. After deployment, use real uplinks to verify fields, units, RPCs, and trigger behavior.
Supplementary Notes
Requirements and decisions: requirement/requirements.md.