|
@@ -49,7 +49,8 @@ class Device(object):
|
|
|
switch = 0
|
|
|
for v in value['devices']:
|
|
|
self.switch(v, switch)
|
|
|
- # 处理开关
|
|
|
+
|
|
|
+ # 处理开关-向设备发送请求
|
|
|
def switch(self, device_id, switch=1):
|
|
|
model = Demeter.model('device_info')
|
|
|
model.id = device_id
|
|
@@ -75,4 +76,10 @@ class Device(object):
|
|
|
pub = Pub()
|
|
|
key = 'update/' + type_info['key'] + '/' + gateway_info['hardware_id'] + '/' + info['hardware_id']
|
|
|
value = switch
|
|
|
- pub.push(key, value, 2)
|
|
|
+ pub.push(key, value, qos=2, callback=self.switchAction, param={'id':info['id'], 'switch':switch})
|
|
|
+
|
|
|
+ # 处理开关-响应
|
|
|
+ def switchAction(self, param, client, userdata, mid):
|
|
|
+ model = Demeter.model('device_info')
|
|
|
+ model.id = param['id']
|
|
|
+ model.update(value=param['switch'])
|