智能小程序 Ray 开发设备控制 API —— DP相关 API 合集(二)

publishDps

下发 DP 功能点

引入

import { publishDps } from '@ray-js/ray';

需引入DeviceKit,且在>=1.2.6版本才可使用

publishDps 在 @ray-js/ray^0.10.4 支持以下两种模式,在之前的版本仅支持 模式二。

模式一

若无特殊场景需求,建议使用智能设备模型控制 DP 功能点

请求参数

参数数据类型说明是否必填
dataDpState要下发的 DP 功能点集合
optionsPublishDpsOptions下发配置

类型

declare type DpValue = boolean | number | string;
 
declare type DpState = Record<string, DpValue>;
 
declare type PublishDpsOptions = {
  /**
   * 下发通道类型
   * 0: 局域网
   * 1: 网络
   * 2: 自动
   */
  mode: number;
  /**
   * 下发通道的优先级
   * LAN       = 0, // LAN
   * MQTT      = 1, // MQTT
   * HTTP      = 2, // Http
   * BLE       = 3, // Single Point Bluetooth
   * SIGMesh   = 4, // Sig Mesh
   * BLEMesh   = 5, // Tuya Private Mesh
   * BLEBeacon = 6, // Beacon
   */
  pipelines: number[];
  /** 预留下发逻辑配置标记,后续可以拓展,例如下发声音,下发操作后续动作等等 */
  options: Record<string, {}>;
};
 
export declare function publishDps(
  data: DpState,
  options?: PublishDpsOptions,
): Promise<boolean>;

返回结果

  • success

Boolean boolean

  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

import { publishDps } from '@ray-js/ray';
 
// 功能点 code 为 key
await publishDps({ power: true });
 
// 功能点 id 为 key
await publishDps({ 1: true });

返回示例

true;
true;

👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。 

模式二

请求参数

Object object

属性类型默认值必填说明
deviceIdstring设备 id
dpsRecord<dpId, any>dps
modenumber下发通道类型 0: 局域网 1: 网络 2: 自动
pipelinesArray<number>下发通道的优先级 LAN = 0, // LAN MQTT = 1, // MQTT HTTP = 2, // Http BLE = 3, // Single Point Bluetooth SIGMesh = 4, // Sig Mesh BLEMesh = 5, // Thing Private Mesh BLEBeacon = 6, // Beacon
optionsObject预留下发逻辑配置标记,后续可以拓展,例如下发声音,下发操作后续动作等等
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

返回结果

  • success

Boolean boolean

  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

publishDps({
  deviceId: 'vdevo169477319679442',
  dps: { 1: false },
  mode: 1,
  pipelines: [0, 1, 2, 3, 4, 5, 6],
  options: {},
  success: res => {
    console.log(res);
  },
  fail: error => {
    console.log(error);
  },
});

返回示例

true

publishDpsWithPipeType

指定通道发送 dps 控制指令

引入

import { publishDpsWithPipeType } from '@ray-js/ray';

需引入DeviceKit,且在>=1.2.6版本才可使用

请求参数

Object object

属性类型默认值必填说明
deviceIdstring设备 id
dpsRecord<dpId, any>dps
modenumber下发通道类型 0: 局域网 1: 网络 2: 自动
pipelinesArray<number>下发通道的优先级 LAN = 0, // LAN MQTT = 1, // MQTT HTTP = 2, // Http BLE = 3, // Single Point Bluetooth SIGMesh = 4, // Sig Mesh BLEMesh = 5, // Thing Private Mesh BLEBeacon = 6, // Beacon
optionsObject预留下发逻辑配置标记,后续可以拓展,例如下发声音,下发操作后续动作等等
completefunction接口调用结束的回调函数(调用成功、失败都会执行)
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数

返回结果

  • success

  • fail
属性类型说明
errorMsgstring插件错误信息
errorCodestring错误码
innerErrorobject插件外部依赖错误信息 {errorMsg: string, errorCode: string }

请求示例

publishDpsWithPipeType({
  deviceId: 'vdevo169477319679442',
  dps: {
    1: false,
  },
  mode: 1,
  pipelines: [0, 1, 2, 3, 4, 5, 6],
  options: {},
  success: res => {
    console.log(res);
  },
  fail: error => {
    console.log(error);
  },
});

👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。 

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值