智汀家庭云iOS端,支持对智慧中心(SA)、智能设备的发现及控制,其中用到WebSocket技术,关于该技术的应用封装,可查阅 WebSocket模块。
【1】扫描添加智慧中心(SA)
-
扫描SA
(暂未开发,SA暂时固定本地IP地址)
【2】 SA发现智能设备
- SA扫描发现设备:DiscoverViewController.swift
///扫描设备,WebSocket
if !area.sa_user_token.contains("unbind") {
//已绑定SA的家庭通过websocket发现设备
websocket.executeOperation(operation: .discoverDevice(domain: "yeelight"))
} else {
//添加设备
...
}
- 添加智能设备:ConnectDeviceViewController.swift
// 添加SA发现的设备
ApiServiceManager.shared.addDiscoverDevice(device: device, area: authManager.currentArea) { [weak self] response in
guard let self = self else {
return
}
let success = response.device_id != -1
if success {
self.removeCallback?()
self.device_id = response.device_id
self.plugin_url = response.plugin_url
self.finishLoadingDevice()
} else {
self.failToConnect()
}
} failureCallback: { [weak self] (code, err) in
self?.failToConnect(err)
}