Commit e519f61deb0de105a8dd104eaed62710479ac25d

Authored by Patrick Maeght
1 parent d18e437e
Exists in dev

test valid device for database

simulators/plc/colibri-new-fixed-2.json
... ... @@ -247,7 +247,7 @@
247 247 "device_name": "VantagePro",
248 248 "device_type": "meteo",
249 249 "serial_number": "ERTRY2344324",
250   - "valid": "yes",
  250 + "valid": "no",
251 251 "device_values": [
252 252 {
253 253 "name": "OutsideTemp",
... ...
simulators/plc/plcSimulator.py
... ... @@ -144,6 +144,7 @@ class PLCSimulator(DeviceSim, StatusManager):
144 144 return self.loop_1()
145 145 #return (0)
146 146  
  147 + # deprecated
147 148 def set_status(self):
148 149 self.status = {
149 150 "name": "STATUS", "from": "Beckhoff", "version_firmware": "20170809", "site": "OSM-Mexico",
... ... @@ -214,7 +215,7 @@ class PLCSimulator(DeviceSim, StatusManager):
214 215 '''
215 216  
216 217 def get_status(self, count, answer):
217   - list = {"name": "LIST", "from": "Beckhoff", "version_firmware": "20170809", "site": "OSM-Mexico",
  218 + """list = {"name": "LIST", "from": "Beckhoff", "version_firmware": "20170809", "site": "OSM-Mexico",
218 219 "date": "2017-03-03T13:42:46",
219 220 "command": [
220 221 {"name": "LIST", "type": "",
... ... @@ -230,7 +231,7 @@ class PLCSimulator(DeviceSim, StatusManager):
230 231 ]
231 232 }
232 233 ]
233   - }
  234 + }"""
234 235 if count:
235 236 answer += ','
236 237 answer += json.dumps(self.status)
... ...
src/monitoring/tasks.py
... ... @@ -164,29 +164,34 @@ class Monitoring(Task):
164 164 #is_safe_str = status["is_safe"]
165 165 #mode = status["mode"]
166 166 for device in devices:
167   - for value in device["device_values"]:
168   - synthesis[value["name"]] = value["value"]
169   - synthesis[value["name"] + "_unit"] = value["unit"]
  167 + if device['valid'] == "yes":
  168 + for value in device["device_values"]:
  169 + synthesis[value["name"]] = value["value"]
  170 + synthesis[value["name"] + "_unit"] = value["unit"]
170 171 return synthesis
171 172  
172 173 # TODO ATTENTION SI DEUX DEVICES ONT LE MEME NOM
  174 + # TODO SAVE SYNTHESIS
173 175 def saveContent(self, content):
174 176 devices = content[0]["devices"]
175   -
  177 + print("saveContent")
176 178 for device in devices:
177   - status = PlcDeviceStatus()
178   - try:
179   - database_device = PlcDevice.objects.get(name=device["device_name"])
180   - except Exception as e:
181   - # plc = Plc.objects.first()
182   - database_device = PlcDevice.objects.create(name=device["name"])
183   - status.device = database_device
184   - for value in device["device_values"]:
185   - status.setValue(value["name"], value["value"], value["unit"])
186   -
187   - #status.setValue("mode", mode)
188   - #status.setValue("is_safe", is_safe_str)
189   - status.save()
  179 + if device['valid'] == "yes":
  180 + status = PlcDeviceStatus()
  181 + try:
  182 + database_device = PlcDevice.objects.get(name=device["device_name"])
  183 + except Exception as e:
  184 + # plc = Plc.objects.first()
  185 + database_device = PlcDevice.objects.create(name=device["name"])
  186 + status.device = database_device
  187 + for value in device["device_values"]:
  188 + status.setValue(value["name"], value["value"], value["unit"])
  189 + if value["name"] == "OutsideTemp":
  190 + print(value["name"], value["value"])
  191 +
  192 + #status.setValue("mode", mode)
  193 + #status.setValue("is_safe", is_safe_str)
  194 + status.save()
190 195  
191 196 '''
192 197 Parse status returned by plc
... ...