有线设备配网

更新时间:2022-02-17 07:04:26下载pdf

有线设备是指通过有线网络连接路由器,配网过程不用输入路由器的热点名称和密码。本文以 Zigbee 有线网关介绍有线配网业务流程。

配网流程

有线设备配网

发现设备

SDK 提供发现待配网有线设备的功能。查询设备前,手机需与设备接入同一网络,然后注册查询有线设备的通知。待 SDK 收到有线设备的广播,即会通过通知转发设备信息。

示例代码

ITuyaGwSearcher mTuyaGwSearcher = TuyaOSActivator.deviceActivator().newTuyaGwActivator().newSearcher();

mTuyaGwSearcher.registerGwSearchListener(newIGwSearchListener() {
	@Override
	public void onDevFind(HgwBean hgwBean) {
	}
});

参数说明

参数 说明
hgwBean 发现的网关数据实体

获取 Token

开始配网之前,SDK 需要在联网状态下从云端获取配网 Token,Token 的有效期为 10 分钟。且配置成功后就会失效,再次配网需要重新获取。

接口说明

TuyaOSActivator.deviceActivator().getActivatorToken(final long homeId, final ITuyaActivatorGetToken activatorGetToken);

参数说明

参数 说明
homeId 站点 ID
activatorGetToken 配网 Token 查询回调

示例代码

TuyaOSActivator.deviceActivator().getActivatorToken(homeId,
		new ITuyaActivatorGetToken() {

			@Override
			public void onSuccess(String token) {

			}

			@Override
			public void onFailure(String s, String s1) {

			}
		});

初始化配网参数

使用 SDK 的发现设备功能

示例代码

ITuyaActivator mITuyaActivator = TuyaOSActivator.deviceActivator().newGwActivator(
		new TuyaGwActivatorBuilder()
			.setToken(token)
			.setTimeOut(timeout)
			.setContext(context)
			.setHgwBean(hgwBean)
			.setListener(new ITuyaSmartActivatorListener() {

					@Override
					public void onError(String errorCode, String errorMsg) {

					}

					@Override
					public void onActiveSuccess(DeviceBean devResp) {

					}

					@Override
					public void onStep(String step, Object data) {

					}
			}
		));

参数说明

参数 说明
token 配网所需要的激活 Token
context 需要传入 activitycontext
timeout 配网的超时时间设置,默认是100s ,单位是秒
hgwBean 监听发现的网关数据实体

不使用 SDK 的发现设备功能

示例代码

ITuyaActivator mITuyaActivator = TuyaOSActivator.deviceActivator().newGwActivator(
		new TuyaGwActivatorBuilder()
			.setToken(token)
			.setTimeOut(timeout)
			.setContext(context)
			.setListener(new ITuyaSmartActivatorListener() {

					@Override
					public void onError(String errorCode, String errorMsg) {

					}

					@Override
					public void onActiveSuccess(DeviceBean devResp) {

					}

					@Override
					public void onStep(String step, Object data) {

					}
			}
		));

参数说明

参数 说明
token 配网所需要的激活 Token
context 需要传入 activitycontext
timeout 配网的超时时间设置,默认是100s ,单位是秒

配网方法调用

ITuyaActivator mITuyaActivator = TuyaOSActivator.deviceActivator().newGwActivator(builder);
//开始配网
mITuyaActivator.start()
//停止配网
mITuyaActivator.stop()
//退出页面清理
mITuyaActivator.onDestroy()