Found devices looks like a trainwreck.
[{modelJson={Config={tubCleanCourseId=9, wifiDiagnosis=true, defaultCourseId=1, defaultSmartCourseId=1, fota=true, maxDownloadCourseNum=false, downloadPanelLabel=@DW_TERM_DOWNLOADED_W, TubCleanLabel=@WM_COURSE_TUB_CLEAN_W, changeCourseInPause=false, remoteStartLabel=@WM_OPTION_REMOTE_START_W}, Value={DelayStart={default=0, label=@DW_OPTION_RESERVE_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, Option4={default=0, type=Bit, option=[{default=0, startbit=0, length=1, value=AutoDoor}, {default=0, startbit=1, length=1, value=EnergySaver}, {default=0, startbit=2, length=1, value=ExtraDry}, {default=0, startbit=3, length=1, value=HighTemp}, {default=0, startbit=4, length=1, value=DualZone}, {default=0, startbit=5, length=2, value=HalfLoad}, {default=0, startbit=7, length=1, value=Steam}]}, Option3={default=0, type=Bit, option=[{default=0, startbit=0, length=1, value=AutoDoor}, {default=0, startbit=1, length=1, value=None}, {default=0, startbit=2, length=1, value=None}, {default=0, startbit=3, length=1, value=None}, {default=0, startbit=4, length=1, value=None}, {default=0, startbit=5, length=2, value=None}, {default=0, startbit=7, length=1, value=None}]}, Option2={default=0, type=Bit, option=[{default=0, startbit=0, length=1, value=DelayStart}, {default=0, startbit=1, length=1, value=EnergySaver}, {default=0, startbit=2, length=1, value=ExtraDry}, {default=0, startbit=3, length=1, value=HighTemp}, {default=0, startbit=4, length=1, value=DualZone}, {default=0, startbit=5, length=2, value=HalfLoad}, {default=0, startbit=7, length=1, value=Steam}]}, DualZone={default=0, label=@DW_OPTION_DUAL_ZONE_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, Option1={default=0, type=Bit, option=[{default=0, startbit=0, length=1, value=ChildLock}, {default=0, startbit=1, length=1, value=Door}, {default=0, startbit=2, length=1, value=RinseRefill}, {default=0, startbit=3, length=1, value=SaltRefill}, {default=0, startbit=4, length=1, value=SignalLevel}, {default=0, startbit=5, length=1, value=MCReminderSetting}, {default=0, startbit=6, length=1, value=CleanLReminder}, {default=0, startbit=7, length=1, value=NightDry}]}, ChildLock={default=0, label=@DW_OPTION_CHILD_LOCK_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, HalfloadUpper={default=0, label=@DW_OPTION_HALF_LOAD_UPPER_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, RinseLevel={default=2, label=@DW_TERM_SETTINGS_RINSE_LEVEL_W, type=Enum, option={0=0, 1=1, 2=2, 3=3, 4=4, 7=@DW_TERM_UNSET_W}}, HalfLoad={default=0, label=@DW_OPTION_HALF_LOAD_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@DW_OPTION_HALF_LOAD_LOWER_W, 2=@DW_OPTION_HALF_LOAD_UPPER_W}}, PreSteam={default=0, label=@DW_OPTION_PRE_STEAM_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, AutoDoor={default=0, label=@DW_OPTION_AUTO_DOOR_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, Process={default=0, type=Enum, option={0=-, 99=@DW_STATE_CANCEL_W, 1=@DW_STATE_RESERVE_W, 2=@DW_STATE_RUNNING_W, 3=@DW_STATE_RINSING_W, 4=@DW_STATE_DRYING_W, 5=@DW_STATE_COMPLETE_W, 6=@DW_STATE_NIGHTDRY_W}}, Spray={default=0, label=@DW_OPTION_SPRAY_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@DW_OPTION_SPRAY_STRONG_W, 2=@DW_OPTION_SPRAY_MEDIUM_W, 4=@DW_OPTION_SPRAY_SOFT_W}}, MCReminderSetting={default=0, label=@DW_TERM_SETTINGS_MACHINE_CLEAN_REMINDER_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W, 2=@DW_TERM_UNSET_W}}, HighTemp={default=0, label=@DW_OPTION_HIGH_TEMP_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, SofteningLevel={default=0, label=@DW_TERM_SETTINGS_SOFTENING_LEVEL_W, type=Enum, option={0=0, 1=1, 2=2, 3=3, 4=4, 5=@DW_TERM_UNSET_W}}, Remain_Time_M={default=0, type=Range, option={min=0, max=59}}, EnergySaver={default=0, label=@DW_OPTION_ENERGY_SAVER_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, ExtraDry={default=0, label=@DW_OPTION_EXTRA_DRY_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, Course={type=Reference, option=[Course]}, Remain_Time_H={default=0, type=Range, option={min=0, max=30}}, Initial_Time_M={default=0, type=Range, option={min=0, max=59}}, Reserve_Time_H={default=0, label=@WM_OPTION_RESERVE_W, type=Range, option={min=3, max=18}}, HalfloadLower={default=0, label=@DW_OPTION_HALF_LOAD_LOWER_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, Reserve_Time_M={default=0, type=Range, option={min=0, max=59}}, Initial_Time_H={default=0, type=Range, option={min=0, max=30}}, SignalLevel={default=0, label=@DM_GUG_CRS04_6, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W, 2=@DW_TERM_UNSET_W}}, Error={type=Reference, option=[Error]}, Door={default=0, label=Door, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, RinseRefill={default=0, label=Rinse Refill, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, NightDry={default=0, label=@DW_OPTION_NIGHT_DRY_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, SaltRefill={default=0, label=Salt Refill, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, CleanLReminder={default=0, label=@DW_TERM_SETTINGS_CLEAN_LIGHT_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W, 2=@DW_TERM_UNSET_W}}, State={default=0, type=Enum, option={0=@DW_STATE_POWER_OFF_W, 1=@DW_STATE_INITIAL_W, 2=@DW_STATE_RUNNING_W, 3=@DW_STATE_PAUSE_W, 4=@DW_STATE_POWER_OFF_W, 5=@DW_STATE_COMPLETE_W, 6=@DW_STATE_POWER_FAIL_W}}, Steam={default=0, label=@DW_OPTION_STEAM_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W}}, SignalLevelSetting={default=0, label=@DW_TERM_SETTINGS_BEEP_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@CP_ON_EN_W, 2=@DW_TERM_UNSET_W}}, Rinse={default=0, label=@DW_OPTION_RINSE_W, type=Enum, option={0=@CP_OFF_EN_W, 1=@DW_OPTION_RINSE_EXTRAHOT_W, 2=@DW_OPTION_RINSE_RINSE+_W, 3=@DW_OPTION_RINSE_RINSE+EXTRAHOT_W}}, SmartCourse={type=Reference, option=[SmartCourse]}, None={default=0, type=Range, option={min=0, max=59}}, Option5={default=0, type=Bit, option=[{default=0, startbit=0, length=2, value=MCReminderSetting}, {default=0, startbit=2, length=2, value=SignalLevel}, {default=0, startbit=4, length=2, value=CleanLReminder}]}}, Error={11={_comment=EE �� ���� �ȵ� (�ŷڼ� ��忡���� ��), label=EE, title=EE, content=EE}, 12={_comment=LE, �� ����, label=@DW_ERROR_LE_LABEL, title=@DW_ERROR_LE_TITLE, content=@DW_ERROR_HE_CONTENT}, 13={_comment=nE, �� ����, label=@DW_ERROR_NE_LABEL, title=@DW_ERROR_NE_TITLE, content=@DW_ERROR_HE_CONTENT}, 14={_comment=bE, �� ����, label=@DW_ERROR_BE_LABEL, title=@DW_ERROR_BE_TITLE, content=@DW_ERROR_BE_CONTENT}, 0={_comment=No Error, label=No Error, title=No_Error, content=No_Error}, 1={_comment=, label=, title=, content=}, 2={_comment=, label=, title=, content=}, 3={_comment=, label=, title=, content=}, 4={_comment=, label=, title=, content=}, 5={_comment=HE, �� ����, label=@DW_ERROR_HE_LABEL, title=@DW_ERROR_HE_TITLE, content=@DW_ERROR_HE_CONTENT}, 6={_comment=IE, �� ����, label=@DW_ERROR_IE_LABEL, title=@DW_ERROR_IE_TITLE, content=@DW_ERROR_IE_CONTENT}, 7={_comment=OE, �� ����, label=@DW_ERROR_OE_LABEL, title=@DW_ERROR_OE_TITLE, content=@DW_ERROR_OE_CONTENT}, 8={_comment=FE, �� ����(���ܾȵ�), label=@DW_ERROR_FE_LABEL, title=@DW_ERROR_FE_TITLE, content=@DW_ERROR_FE_CONTENT}, 9={_comment=tE, �� ����, label=@DW_ERROR_TE_LABEL, title=@DW_ERROR_TE_TITLE, content=@DW_ERROR_HE_CONTENT}, 10={_comment=AE, �� ����(���ܾȵ�), label=@DW_ERROR_AE_LABEL, title=@DW_ERROR_AE_TITLE, content=@DW_ERROR_AE_CONTENT}}, Info={country=WW, modelName=D3210, model=XD-Studio, modelType=DW, networkType=WIFI, version=1.2, productType=DW}, Module={WPM={GDM_FOT01_Main=003, GDM_CEN01_Main=003, GDM_CRS02_CourseList=003, GDM_CRS03_CourseDetail=003, GDM_WCH01_Main=003, GDM_WCH01_UserGuide=001, GDM_SET02_PushList=001, GDM_CRS01_Main=003, GCM_SDS01_SdsMain=001, GDM_SET01_Main=001, GDM_SET02_Settings=003}, Menu=[GDM_CRS02_CourseList, GDM_WCH01_Main, GCM_SDS01_SdsMain, GDM_SET01_Main]}, Push=[{label=@CP_ALARM_PRODUCT_STATE_W, category=PUSH_DW_STATE, groupCode=20401, pushList=[{0000=PUSH_DW_COMPLETE}, {0100=PUSH_DW_ERROR}, {0101=PUSH_DW_WATERLEAK}, {0102=PUSH_DW_ADD_RINSE}, {0103=PUSH_DW_ADD_SALT}]}], ControlWifi={action={CourseDownload={data=[{{Course}},{{SmartCourse}},0,0,{{Option1}},{{Option4}}], tag=[COURSE, ID, DATA]}, OperationStart={encode=true, data=[{{RinseLevel}},0,{{Option5}}], cmdOpt=Operation, cmd=Control, value=Start}}, type=BINARY(BYTE)}, Course={1={imgIndex=1, courseType=Course, _comment=Auto, function=[{default=0, value=DualZone}, {default=0, value=HalfLoad}, {default=0, value=EnergySaver}, {default=0, value=Steam}, {default=0, value=HighTemp}, {default=0, value=ExtraDry}, {default=0, value=NightDry}, {default=0, value=DelayStart}], name=@DW_COURSE_AUTO_W, id=1}, 2={imgIndex=1, courseType=Course, _comment=Haeavy, function=[{default=0, value=DualZone}, {default=0, value=HalfLoad}, {default=0, value=Steam}, {default=0, value=HighTemp}, {default=0, value=ExtraDry}, {default=0, value=NightDry}, {default=0, value=DelayStart}], name=@DW_COURSE_HEAVY_W, id=2}, 3={imgIndex=1, courseType=Course, _comment=Delicate, function=[{default=0, value=HalfLoad}, {default=0, value=EnergySaver}, {default=0, value=Steam}, {default=0, value=ExtraDry}, {default=0, value=NightDry}, {default=0, value=DelayStart}], name=@DW_COURSE_DELICATE_W, id=3}, 4={imgIndex=1, courseType=Course, _comment=Turbo, function=[{default=0, value=DualZone}, {default=0, value=HighTemp}, {default=0, value=ExtraDry}, {default=0, value=NightDry}, {default=0, value=DelayStart}], name=@DW_COURSE_TURBO_W, id=4}, 5={imgIndex=1, courseType=Course, _comment=Normal, function=[{default=0, value=DualZone}, {default=0, value=HalfLoad}, {default=0, value=EnergySaver}, {default=0, value=Steam}, {default=0, value=HighTemp}, {default=0, value=ExtraDry}, {default=0, value=NightDry}, {default=0, value=DelayStart}], name=@DW_COURSE_NORMAL_W, id=5}, 6={imgIndex=1, courseType=Course, _comment=Rinse, function=[{default=0, value=DelayStart}], name=@DW_COURSE_RINSE_W, id=6}, 7={imgIndex=1, courseType=Course, _comment=Refresh, function=[{default=0, value=Steam}, {default=0, value=ExtraDry}, {default=0, value=NightDry}, {default=0, value=DelayStart}], name=@DW_COURSE_REFRESH_W, id=7}, 8={imgIndex=1, courseType=Course, _comment=Express, function=[{default=0, value=DualZone}, {default=0, value=HighTemp}, {default=0, value=ExtraDry}, {default=0, value=NightDry}, {default=0, value=DelayStart}], name=@DW_COURSE_EXPRESS_W, id=8}, 9={imgIndex=1, courseType=Course, _comment=Machine Clean, function=[{default=0, value=DelayStart}], name=@DW_COURSE_MACHINE_CLEAN_W, id=9}}, SmartCourse={1={imgIndex=14, courseType=SmartCourse, _comment=Pots & Pans (Default), function=[{default=1, value=HighTemp}, {default=1, value=ExtraDry}, {default=1, value=NightDry}], name=@DW_SMARTCOURSE_POTS_PANS_W, id=1, Course=2, script=@DW_SMARTCOURSE_SCRIPT_POTS_PANS_S}, 2={imgIndex=12, courseType=SmartCourse, _comment=Casseroles, function=[{default=1, value=HighTemp}, {default=1, value=NightDry}], name=@DW_SMARTCOURSE_GREASY_DISHES_W, id=2, Course=2, script=@DW_SMARTCOURSE_SCRIPT_GREASY_DISHES_S}, 3={imgIndex=15, courseType=SmartCourse, _comment=Glasswares, function=[{default=1, value=NightDry}], name=@DW_SMARTCOURSE_GLASSWARES_W, id=3, Course=3, script=@DW_SMARTCOURSE_SCRIPT_GLASSWARES_S}, 4={imgIndex=11, courseType=SmartCourse, _comment=Night Care(US), function=[{default=1, value=ExtraDry}, {default=1, value=NightDry}], name=@DW_SMARTCOURSE_OVERNIGHT_W, id=4, Course=3, script=@DW_SMARTCOURSE_SCRIPT_OVERNIGHT_S}}, Settings=[{default=2, selectable=[0, 1, 2, 3, 4], value=RinseLevel}, {default=0, selectable=[0, 1], value=MCReminderSetting}, {default=0, selectable=[0, 1], value=SignalLevel}, {default=0, selectable=[0, 1], value=CleanLReminder}], Monitoring={protocol=[{_comment=State, startByte=0, length=1, value=State}, {_comment=Process, startByte=1, length=1, value=Process}, {_comment=Error, startByte=2, length=1, value=Error}, {_comment=Initial Time H, startByte=3, length=1, value=Initial_Time_H}, {_comment=Initial Time M, startByte=4, length=1, value=Initial_Time_M}, {_comment=Course Idx, startByte=5, length=1, value=Course}, {_comment=Course Type, startByte=6, length=1, value=CourseType}, {_comment=Remain H, startByte=7, length=1, value=Remain_Time_H}, {_comment=Remain M, startByte=8, length=1, value=Remain_Time_M}, {_comment=Reserve H, startByte=9, length=1, value=Reserve_Time_H}, {_comment=Reserve M, startByte=10, length=1, value=Reserve_Time_M}, {_comment=Option 1, startByte=11, length=1, value=Option1}, {_comment=Option 2, startByte=12, length=1, value=Option2}, {_comment=Rinse-Aid Dispensing Level, startByte=13, length=1, value=RinseLevel}, {_comment=Softening Level, startByte=14, length=1, value=SofteningLevel}, {_comment=Option 3, startByte=15, length=1, value=Option3}, {_comment=Reserved, startByte=16, length=4, value=16~19}, {_comment=Smart Course, startByte=20, length=1, value=SmartCourse}, {_comment=Reserved, startByte=21, length=2, value=21~22}, {_comment=Cur Download Idx, startByte=23, length=1, value=CurDownload}], type=BINARY(BYTE)}}, name=DISHWASHER, id=REDACTED, type=204, version=thinq1}, {modelJson={}, name=OVEN, id=REDACTED, type=301, version=thinq2}]