wxt536_converter.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import json
  2. import re
  3. from converter import Converter
  4. class WXT536Converter(Converter):
  5. '''
  6. [{"name":"c1","addr":"1"},
  7. {"name":"c2","addr":"2"},
  8. {"name":"c3","addr":"3"},
  9. {"name":"c4","addr":"4"},
  10. {"name":"c5","addr":"5"},
  11. {"name":"c6","addr":"6"}]
  12. '''
  13. def convert(self, config, data):
  14. if data:
  15. dict = {}
  16. try:
  17. list = data.decode().split(",")
  18. if len(list) == 9:
  19. for index in config:
  20. name = 'c' + str(index['serial_number'])
  21. i = int(index['address'])
  22. if list[i][-1] != "#":
  23. dict[name] = re.findall(r"\d+\.?\d*", list[i])[0]
  24. else:
  25. dict[name] = "null"
  26. return dict
  27. elif len(list) > 0:
  28. return "pass"
  29. else:
  30. return "error"
  31. except Exception as e:
  32. print(e)
  33. return "error"