write_param_program.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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. hplus_WASH_TYPE_ID = "201c51890c31c308050400218003484843000001000000000000000000000040"
  14. hplus_WASH_DEVICE_ID = "96EC34C937"
  15. hplus_WASH_BITS = {
  16. "reserveTime": 255,
  17. "wd_link": 254,
  18. "washNight": 253,
  19. }
  20. hplus_DRY_BITS = {
  21. "DelayTime": 255,
  22. "WFreeCn": 254,
  23. "DryNight": 253,
  24. }
  25. ### H+ 洗衣机
  26. def wash_codes(pairs: dict):
  27. return [key for key in hplus_WASH_BITS.keys() if pairs.get(key) == 1]
  28. def set_reserve_time(pairs: dict):
  29. pairs = dict(pairs)
  30. pairs.update({"reserveTime": 1})
  31. return pairs
  32. ### H+ 干衣机
  33. def dry_codes(pairs: dict):
  34. return [key for key in hplus_DRY_BITS.keys() if pairs.get(key) == 1]
  35. # 新增:把干衣机预约强制改为1
  36. def dry_set_reserve_time(pairs: dict):
  37. pairs = dict(pairs)
  38. pairs.update({"DelayTime": 1})
  39. return pairs
  40. if __name__ == "__main__":
  41. #############==============hplus 洗衣机===============#################
  42. # hplus 洗衣机 zone=3 清空历史记录
  43. clear_default_commands(hplus_WASH_TYPE_ID, "3")
  44. clear_program_commands(hplus_WASH_TYPE_ID, "3")
  45. clear_program_time(hplus_WASH_TYPE_ID, "3")
  46. #======1、默认更新==========
  47. # hplus 洗衣机: 默认参数[洗烘联动关]+time
  48. id_range = [110946, 110971]
  49. write_default_commands_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=hplus_WASH_BITS, default_codes=[])
  50. write_program_time_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  51. # hplus 洗衣机: 默认[洗烘联动开]
  52. id_range = [111049, 111064 ]
  53. write_default_commands_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=hplus_WASH_BITS, default_codes=["wd_link"])
  54. write_program_time_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  55. #======2、program参数更新==========
  56. #H+ 洗衣机:洗烘联动
  57. id_range = [111049, 111064]
  58. write_program_commands_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=hplus_WASH_BITS, code_builder=wash_codes )
  59. write_program_time_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1])
  60. # hplus 洗衣机:夜间洗
  61. id_range = [111067, 111086]
  62. write_program_commands_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1],bits=hplus_WASH_BITS, code_builder=wash_codes )
  63. write_program_time_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1])
  64. # hplus 洗衣机:预约开
  65. id_range = [110998, 111023]
  66. write_program_commands_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1],bits=hplus_WASH_BITS, pair_mutator=set_reserve_time, code_builder=wash_codes )
  67. write_program_time_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="3", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1],pair_mutator=set_reserve_time)
  68. #############==============hplus 干衣机===============#################
  69. # hplus 干衣机 zone=0
  70. clear_default_commands(hplus_WASH_TYPE_ID, "0")
  71. clear_program_commands(hplus_WASH_TYPE_ID, "0")
  72. clear_program_time(hplus_WASH_TYPE_ID, "0")
  73. #======1、默认更新==========
  74. # hplus 干衣机: 默认[洗烘联动关]+time
  75. id_range = [110973, 110997]
  76. write_default_commands_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="0", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=hplus_DRY_BITS, default_codes=[] )
  77. write_program_time_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="0", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  78. # hplus 干衣机:延取防皱、夜间烘开
  79. id_range = [111088, 111113]
  80. write_program_commands_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="0", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=hplus_DRY_BITS,code_builder=dry_codes )
  81. write_program_time_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="0", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1] )
  82. # hplus 干衣机:预约
  83. id_range = [111028, 111046]
  84. write_program_commands_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="0", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], bits=hplus_DRY_BITS, pair_mutator=dry_set_reserve_time, code_builder=dry_codes )
  85. write_program_time_from_range( type_id=hplus_WASH_TYPE_ID, zone_id="0", device_id=hplus_WASH_DEVICE_ID, start_id=id_range[0], end_id=id_range[1], pair_mutator=dry_set_reserve_time )