|
@@ -453,13 +453,17 @@ class Device(object):
|
|
|
# 这里要向服务器发送pub请求了,暂时使用临时文件代替
|
|
|
#Demeter.temp(key=type_info['key'], name=info['hardware_id'], value=switch)
|
|
|
feedback = ''
|
|
|
- if 'server_id' in info:
|
|
|
+ state = False
|
|
|
+ if 'server_id' in info and info['server_id']:
|
|
|
server = Demeter.service('common').one('setting_server', id=info['server_id'])
|
|
|
- if server['server_type'] == 2:
|
|
|
- feedback = self.send_modbus_tcp(type_info, gateway_info, info, switch, server)
|
|
|
- elif server['server_type'] == 3:
|
|
|
- feedback = self.send_modbus_rtu(type_info, gateway_info, info, switch, server)
|
|
|
- else:
|
|
|
+ if server:
|
|
|
+ if server['server_type'] == 2:
|
|
|
+ feedback = self.send_modbus_tcp(type_info, gateway_info, info, switch, server)
|
|
|
+ state = True
|
|
|
+ elif server['server_type'] == 3:
|
|
|
+ feedback = self.send_modbus_rtu(type_info, gateway_info, info, switch, server)
|
|
|
+ state = True
|
|
|
+ if not state:
|
|
|
feedback = self.send_pub(type_info, gateway_info, info, switch)
|
|
|
|
|
|
return feedback
|