设备数据流通道

主要用于扫地机地图数据等大量实时上报的场景

ITuyaSingleTransfer singleTransfer = TuyaHomeSdk.getTransferInstance();
public interface ITuyaSingleTransfer {
    /**
     * 开始连接
     */
    void startConnect();

    /**
     * 是否在线
     */
    boolean isOnline();

    /**
     * 订阅设备数据,订阅设备之后,设备如果有数据上报上来,便可以通过 registerTransferDataListener 回调上来。需要注意的是,每次通道连接成功都需要重新订阅设备数据
     */
    void subscribeDevice(String devId);

    /**
     * 取消订阅设备信息,则设备数据不在收到
     *
     */
    void unSubscribeDevice(String devId);

    /**
     * 注册设备数据流,SDK不做数据解析,具体格式需要和硬件上报方协商一致,然后解析。
     */
    void registerTransferDataListener(ITuyaDataCallback<TransferDataBean> callback);
    /**
     * 取消订阅设备数据流
     */
    void unRegisterTransferDataListener(ITuyaDataCallback<TransferDataBean> callback);

    /**
     * 注册通道状态变化,在网络波动的情况下会导致通道断开重连的情况 
     */
    void registerTransferCallback(ITuyaTransferCallback callback);

    /** 取消注册
    */
    void unRegisterTransferCallback(ITuyaTransferCallback callback);

    /**
        断开数据流通道
    */
    void stopConnect();
}

数据模型

DeviceBean

  • iconUrl 设备图标链接地址
  • devId 设备唯一标示id
  • isOnline 设备是否在线(局域网或者云端在线)
  • name 设备名称
  • schema 用来描述设备dp点属性
  • productId 产品唯一标示id
  • pv 网关通信协议版本 用x.x来表示 。
  • bv 网关通用固件版本 用x.x来表示。
  • time 设备添加时间
  • isShare 设备是否被分享
  • schemaMap Map类型 key 表示dpId, value 表示Schema 数据。
  • dps 设备当前数据信息。key 是 dpId ,value 是值。
  • lon、lat用来标示经纬度信息,需要用户使用sdk前,调用TuyaSdk.setLatAndLong 设置经纬度信息。
  • isZigBeeWifi 是否是ZigBee网关设备
  • hasZigBee 是否包含ZigBee能力(网关设备或者子设备)

results matching ""

    No results matching ""