teplo_api_controller.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. # Исходный вариант функции
  2. def get_current_values(self, device_id, subsystem, value_name_list):
  3. if device_id != 'gius-controller':
  4. return APIBase.get_current_values(self, device_id, subsystem, value_name_list)
  5. result = {}
  6. for value_name in value_name_list:
  7. try:
  8. if value_name.startswith("AI"):
  9. v = self.get_sensorman().get_sensor_value_by_alias("teploUB.adc%s"%(value_name[-1]))
  10. else:
  11. v = self.get_sensorman().get_sensor_value_by_alias("DI%s"%(value_name[-1]))
  12. result[value_name] = ( v, int(time.time()), OPC_QUALITY_GOOD )
  13. except Exception as e:
  14. self.logger.exception("get_current_values {0} error {1}".format(device_id, e))
  15. result[value_name] = (None, None, OPC_QUALITY_BAD)
  16. return result
  17. # Вариант с дополнениями
  18. def get_current_values(self, device_id, subsystem, value_name_list):
  19. if device_id != 'gius-controller':
  20. return APIBase.get_current_values(self, device_id, subsystem, value_name_list)
  21. result = {}
  22. for value_name in value_name_list:
  23. try:
  24. if value_name.startswith("AI"):
  25. v = self.get_sensorman().get_sensor_value_by_alias("teploUB.adc%s"%(value_name[-1]))
  26. else:
  27. v = self.get_sensorman().get_sensor_value_by_alias("DI%s"%(value_name[-1]))
  28. result[value_name] = ( v, int(time.time()), OPC_QUALITY_GOOD, "str_param" )
  29. except Exception as e:
  30. self.logger.exception("get_current_values {0} error {1}".format(device_id, e))
  31. result[value_name] = (None, None, OPC_QUALITY_BAD)
  32. return result