import sys from pathlib import Path PROJECT_ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(PROJECT_ROOT)) from pre_data.common.param_v1_program_write_tools import ( clear_default_commands, clear_program_commands, clear_program_time, write_default_commands_from_range, write_program_commands_from_range, write_program_time_from_range, ) X11_WASH_TYPE_ID = "201c51890c31c308050100218008390000000000000000000000000000000040" X11_WASH_DEVICE_ID = "F9E5923C0C" X11_WASH_BITS = { "reserveTime": 255, "wd_link": 254, "washNight": 253, "newWind": 252, } def wash_codes(pairs: dict): return [key for key in X11_WASH_BITS.keys() if pairs.get(key) == 1] def set_reserve_time(pairs: dict): pairs = dict(pairs) pairs.update({"reserveTime": 1}) return pairs if __name__ == "__main__": #############==============X11 洗衣机===============################# # X11 洗衣机 zone=2 清空历史记录 clear_default_commands(X11_WASH_TYPE_ID, "2") clear_program_commands(X11_WASH_TYPE_ID, "2") clear_program_time(X11_WASH_TYPE_ID, "2") # # #======1、默认更新========== # X11 洗衣机: 默认[洗烘联动关]+time id_range = [8273, 8295] 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=[]) 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] ) # X11 洗衣机: 默认[洗烘联动开] id_range = [8364, 8375] 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"]) 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] ) #======2、program参数更新========== # X11 洗衣机:新风开+夜间洗 id_range = [8311, 8324] 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 ) 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]) # X11 洗衣机:预约开 id_range = [8335, 8351] 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 ) 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) # X11 洗衣机:洗烘联动 id_range = [8364, 8375] 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 ) 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]) #############==============AI 快净===============################# # X11 洗衣机 AI快净 zone=3 clear_default_commands(X11_WASH_TYPE_ID, "3") clear_program_commands(X11_WASH_TYPE_ID, "3") clear_program_time(X11_WASH_TYPE_ID, "3") #======1、默认更新========== # X11 AI快净: 默认[洗烘联动关]+time id_range = [8300, 8310] 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=[] ) 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] ) # X11 AI快净: 默认[洗烘联动开] id_range = [8376, 8382] 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"] ) 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]) # 新风开+夜间洗 id_range = [8325, 8333] 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 ) 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] ) # 预约 id_range = [8354, 8363] 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 ) 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 ) # 洗烘联动 id_range = [8376, 8382] 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 ) 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] ) # X11_DRY_TYPE_ID = "201c51890c31c308310100218003484748000000000000000000000000000040" # X11_DRY_DEVICE_ID = "F28CCD51B1" # X11_DRY_BITS = { # "DelayTime": 255, # "WFreeCn": 254, # }