wxt536_converter.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. # print(data)
  15. if data:
  16. dict = {}
  17. try:
  18. list = data.decode().split(",")
  19. if len(list) == 9:
  20. for index in config:
  21. name = 'c' + str(index['serial_number'])
  22. i = int(index['address'])
  23. if list[i][-1] != "#":
  24. dict[name] = re.findall(r"\d+\.?\d*", list[i])[0]
  25. else:
  26. dict[name] = "null"
  27. # print(dict)
  28. return dict
  29. elif len(list) > 0:
  30. return "pass"
  31. else:
  32. return "error"
  33. except Exception as e:
  34. print(e)
  35. return "error"