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, ) hplus_WASH_TYPE_ID = "201c51890c31c308050400218003484843000001000000000000000000000040" hplus_WASH_DEVICE_ID = "96EC34C937" hplus_WASH_BITS = { "reserveTime": 255, "wd_link": 254, "washNight": 253, } hplus_DRY_BITS = { "DelayTime": 255, "WFreeCn": 254, "DryNight": 253, } ### H+ 洗衣机 def wash_codes(pairs: dict): return [key for key in hplus_WASH_BITS.keys() if pairs.get(key) == 1] def set_reserve_time(pairs: dict): pairs = dict(pairs) pairs.update({"reserveTime": 1}) return pairs ### H+ 干衣机 def dry_codes(pairs: dict): return [key for key in hplus_DRY_BITS.keys() if pairs.get(key) == 1] # 新增:把干衣机预约强制改为1 def dry_set_reserve_time(pairs: dict): pairs = dict(pairs) pairs.update({"DelayTime": 1}) return pairs if __name__ == "__main__": #############==============hplus 洗衣机===============################# # hplus 洗衣机 zone=3 清空历史记录 clear_default_commands(hplus_WASH_TYPE_ID, "3") clear_program_commands(hplus_WASH_TYPE_ID, "3") clear_program_time(hplus_WASH_TYPE_ID, "3") #======1、默认更新========== # hplus 洗衣机: 默认参数[洗烘联动关]+time id_range = [110946, 110971] 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=[]) 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] ) # hplus 洗衣机: 默认[洗烘联动开] id_range = [111049, 111064 ] 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"]) 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] ) #======2、program参数更新========== #H+ 洗衣机:洗烘联动 id_range = [111049, 111064] 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 ) 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]) # hplus 洗衣机:夜间洗 id_range = [111067, 111086] 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 ) 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]) # hplus 洗衣机:预约开 id_range = [110998, 111023] 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 ) 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) #############==============hplus 干衣机===============################# # hplus 干衣机 zone=0 clear_default_commands(hplus_WASH_TYPE_ID, "0") clear_program_commands(hplus_WASH_TYPE_ID, "0") clear_program_time(hplus_WASH_TYPE_ID, "0") #======1、默认更新========== # hplus 干衣机: 默认[洗烘联动关]+time id_range = [110973, 110997] 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=[] ) 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] ) # hplus 干衣机:延取防皱、夜间烘开 id_range = [111088, 111113] 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 ) 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] ) # hplus 干衣机:预约 id_range = [111028, 111046] 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 ) 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 )