write_param_program.py 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import sys
  2. from pathlib import Path
  3. PROJECT_ROOT = Path(__file__).resolve().parents[2]
  4. sys.path.insert(0, str(PROJECT_ROOT))
  5. from pre_data.common.param_v1_program_write_tools import (
  6. clear_default_commands,
  7. clear_program_commands,
  8. clear_program_time,
  9. write_default_commands_from_range,
  10. write_program_commands_from_range,
  11. write_program_time_from_range,
  12. )
  13. X11_WASH_TYPE_ID = "201c51890c31c308050100218008390000000000000000000000000000000040"
  14. X11_WASH_DEVICE_ID = "F9E5923C0C"
  15. X11_WASH_BITS = {
  16. "reserveTime": 255,
  17. "wd_link": 254,
  18. "washNight": 253,
  19. "newWind": 252,
  20. }
  21. def wash_codes(pairs: dict):
  22. return [key for key in X11_WASH_BITS.keys() if pairs.get(key) == 1]
  23. def set_reserve_time(pairs: dict):
  24. pairs = dict(pairs)
  25. pairs.update({"reserveTime": 1})
  26. return pairs
  27. if __name__ == "__main__":
  28. #############==============X11 洗衣机===============#################
  29. # X11 洗衣机 zone=2 清空历史记录
  30. clear_default_commands(X11_WASH_TYPE_ID, "2")
  31. clear_program_commands(X11_WASH_TYPE_ID, "2")
  32. clear_program_time(X11_WASH_TYPE_ID, "2")
  33. #
  34. #
  35. #======1、默认更新==========
  36. # X11 洗衣机: 默认[洗烘联动关]+time
  37. id_range = [8273, 8295]
  38. write_default_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=X11_WASH_BITS, default_codes=[])
  39. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  40. # X11 洗衣机: 默认[洗烘联动开]
  41. id_range = [8364, 8375]
  42. write_default_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=X11_WASH_BITS, default_codes=["wd_link"])
  43. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  44. #======2、program参数更新==========
  45. # X11 洗衣机:新风开+夜间洗
  46. id_range = [8311, 8324]
  47. write_program_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1],bits=X11_WASH_BITS, code_builder=wash_codes )
  48. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1])
  49. # X11 洗衣机:预约开
  50. id_range = [8335, 8351]
  51. write_program_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1],bits=X11_WASH_BITS, pair_mutator=set_reserve_time, code_builder=wash_codes )
  52. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1],pair_mutator=set_reserve_time)
  53. # X11 洗衣机:洗烘联动
  54. id_range = [8364, 8375]
  55. write_program_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=X11_WASH_BITS, code_builder=wash_codes )
  56. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="2", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1])
  57. #############==============AI 快净===============#################
  58. # X11 洗衣机 AI快净 zone=3
  59. clear_default_commands(X11_WASH_TYPE_ID, "3")
  60. clear_program_commands(X11_WASH_TYPE_ID, "3")
  61. clear_program_time(X11_WASH_TYPE_ID, "3")
  62. #======1、默认更新==========
  63. # X11 AI快净: 默认[洗烘联动关]+time
  64. id_range = [8300, 8310]
  65. write_default_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=X11_WASH_BITS, default_codes=[] )
  66. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  67. # X11 AI快净: 默认[洗烘联动开]
  68. id_range = [8376, 8382]
  69. write_default_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=X11_WASH_BITS, default_codes=["wd_link"] )
  70. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1])
  71. # 新风开+夜间洗
  72. id_range = [8325, 8333]
  73. write_program_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=X11_WASH_BITS, code_builder=wash_codes )
  74. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  75. # 预约
  76. id_range = [8354, 8363]
  77. write_program_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=X11_WASH_BITS, pair_mutator=set_reserve_time, code_builder=wash_codes )
  78. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], pair_mutator=set_reserve_time )
  79. # 洗烘联动
  80. id_range = [8376, 8382]
  81. write_program_commands_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=X11_WASH_BITS, code_builder=wash_codes )
  82. write_program_time_from_range( type_id=X11_WASH_TYPE_ID, zone_id="3", device_id=X11_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  83. # X11_DRY_TYPE_ID = "201c51890c31c308310100218003484748000000000000000000000000000040"
  84. # X11_DRY_DEVICE_ID = "F28CCD51B1"
  85. # X11_DRY_BITS = {
  86. # "DelayTime": 255,
  87. # "WFreeCn": 254,
  88. # }