@mp-consulting/homebridge-lg-thinq 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/.claude/settings.local.json +15 -0
  2. package/CHANGELOG.md +98 -0
  3. package/LICENSE +176 -0
  4. package/README.md +114 -0
  5. package/config.schema.json +399 -0
  6. package/dist/__tests__/baseDevice.spec.d.ts +1 -0
  7. package/dist/__tests__/baseDevice.spec.js +96 -0
  8. package/dist/__tests__/baseDevice.spec.js.map +1 -0
  9. package/dist/__tests__/deviceControl.coercion.spec.d.ts +1 -0
  10. package/dist/__tests__/deviceControl.coercion.spec.js +53 -0
  11. package/dist/__tests__/deviceControl.coercion.spec.js.map +1 -0
  12. package/dist/__tests__/helper.spec.d.ts +1 -0
  13. package/dist/__tests__/helper.spec.js +74 -0
  14. package/dist/__tests__/helper.spec.js.map +1 -0
  15. package/dist/baseDevice.d.ts +40 -0
  16. package/dist/baseDevice.js +85 -0
  17. package/dist/baseDevice.js.map +1 -0
  18. package/dist/baseDevice.spec.d.ts +1 -0
  19. package/dist/baseDevice.spec.js +107 -0
  20. package/dist/baseDevice.spec.js.map +1 -0
  21. package/dist/characteristics/TotalConsumption.d.ts +2 -0
  22. package/dist/characteristics/TotalConsumption.js +17 -0
  23. package/dist/characteristics/TotalConsumption.js.map +1 -0
  24. package/dist/characteristics/index.d.ts +2 -0
  25. package/dist/characteristics/index.js +7 -0
  26. package/dist/characteristics/index.js.map +1 -0
  27. package/dist/cli.d.ts +2 -0
  28. package/dist/cli.js +89 -0
  29. package/dist/cli.js.map +1 -0
  30. package/dist/devices/AeroTower.d.ts +24 -0
  31. package/dist/devices/AeroTower.js +113 -0
  32. package/dist/devices/AeroTower.js.map +1 -0
  33. package/dist/devices/AirConditioner.d.ts +425 -0
  34. package/dist/devices/AirConditioner.js +1253 -0
  35. package/dist/devices/AirConditioner.js.map +1 -0
  36. package/dist/devices/AirPurifier.d.ts +50 -0
  37. package/dist/devices/AirPurifier.js +281 -0
  38. package/dist/devices/AirPurifier.js.map +1 -0
  39. package/dist/devices/Dehumidifier.d.ts +28 -0
  40. package/dist/devices/Dehumidifier.js +175 -0
  41. package/dist/devices/Dehumidifier.js.map +1 -0
  42. package/dist/devices/Dishwasher.d.ts +64 -0
  43. package/dist/devices/Dishwasher.js +740 -0
  44. package/dist/devices/Dishwasher.js.map +1 -0
  45. package/dist/devices/Microwave.d.ts +128 -0
  46. package/dist/devices/Microwave.js +1939 -0
  47. package/dist/devices/Microwave.js.map +1 -0
  48. package/dist/devices/Oven.d.ts +148 -0
  49. package/dist/devices/Oven.js +1850 -0
  50. package/dist/devices/Oven.js.map +1 -0
  51. package/dist/devices/RangeHood.d.ts +16 -0
  52. package/dist/devices/RangeHood.js +99 -0
  53. package/dist/devices/RangeHood.js.map +1 -0
  54. package/dist/devices/Refrigerator.d.ts +50 -0
  55. package/dist/devices/Refrigerator.js +325 -0
  56. package/dist/devices/Refrigerator.js.map +1 -0
  57. package/dist/devices/Styler.d.ts +27 -0
  58. package/dist/devices/Styler.js +76 -0
  59. package/dist/devices/Styler.js.map +1 -0
  60. package/dist/devices/WasherDryer.d.ts +39 -0
  61. package/dist/devices/WasherDryer.js +170 -0
  62. package/dist/devices/WasherDryer.js.map +1 -0
  63. package/dist/devices/WasherDryer2.d.ts +9 -0
  64. package/dist/devices/WasherDryer2.js +16 -0
  65. package/dist/devices/WasherDryer2.js.map +1 -0
  66. package/dist/errors/AuthenticationError.d.ts +2 -0
  67. package/dist/errors/AuthenticationError.js +3 -0
  68. package/dist/errors/AuthenticationError.js.map +1 -0
  69. package/dist/errors/ManualProcessNeeded.d.ts +3 -0
  70. package/dist/errors/ManualProcessNeeded.js +4 -0
  71. package/dist/errors/ManualProcessNeeded.js.map +1 -0
  72. package/dist/errors/MonitorError.d.ts +2 -0
  73. package/dist/errors/MonitorError.js +3 -0
  74. package/dist/errors/MonitorError.js.map +1 -0
  75. package/dist/errors/NotConnectedError.d.ts +3 -0
  76. package/dist/errors/NotConnectedError.js +4 -0
  77. package/dist/errors/NotConnectedError.js.map +1 -0
  78. package/dist/errors/TokenError.d.ts +2 -0
  79. package/dist/errors/TokenError.js +3 -0
  80. package/dist/errors/TokenError.js.map +1 -0
  81. package/dist/errors/TokenExpiredError.d.ts +3 -0
  82. package/dist/errors/TokenExpiredError.js +4 -0
  83. package/dist/errors/TokenExpiredError.js.map +1 -0
  84. package/dist/errors/index.d.ts +6 -0
  85. package/dist/errors/index.js +7 -0
  86. package/dist/errors/index.js.map +1 -0
  87. package/dist/helper.d.ts +24 -0
  88. package/dist/helper.js +66 -0
  89. package/dist/helper.js.map +1 -0
  90. package/dist/helper.spec.d.ts +1 -0
  91. package/dist/helper.spec.js +74 -0
  92. package/dist/helper.spec.js.map +1 -0
  93. package/dist/index.d.ts +6 -0
  94. package/dist/index.js +9 -0
  95. package/dist/index.js.map +1 -0
  96. package/dist/lib/API.d.ts +141 -0
  97. package/dist/lib/API.js +362 -0
  98. package/dist/lib/API.js.map +1 -0
  99. package/dist/lib/API.spec.d.ts +1 -0
  100. package/dist/lib/API.spec.js +55 -0
  101. package/dist/lib/API.spec.js.map +1 -0
  102. package/dist/lib/Auth.d.ts +99 -0
  103. package/dist/lib/Auth.js +348 -0
  104. package/dist/lib/Auth.js.map +1 -0
  105. package/dist/lib/Auth.spec.d.ts +1 -0
  106. package/dist/lib/Auth.spec.js +111 -0
  107. package/dist/lib/Auth.spec.js.map +1 -0
  108. package/dist/lib/Device.d.ts +88 -0
  109. package/dist/lib/Device.js +95 -0
  110. package/dist/lib/Device.js.map +1 -0
  111. package/dist/lib/Device.spec.d.ts +1 -0
  112. package/dist/lib/Device.spec.js +53 -0
  113. package/dist/lib/Device.spec.js.map +1 -0
  114. package/dist/lib/DeviceModel.d.ts +164 -0
  115. package/dist/lib/DeviceModel.js +321 -0
  116. package/dist/lib/DeviceModel.js.map +1 -0
  117. package/dist/lib/DeviceModel.spec.d.ts +1 -0
  118. package/dist/lib/DeviceModel.spec.js +90 -0
  119. package/dist/lib/DeviceModel.spec.js.map +1 -0
  120. package/dist/lib/Gateway.d.ts +18 -0
  121. package/dist/lib/Gateway.js +25 -0
  122. package/dist/lib/Gateway.js.map +1 -0
  123. package/dist/lib/Gateway.spec.d.ts +1 -0
  124. package/dist/lib/Gateway.spec.js +35 -0
  125. package/dist/lib/Gateway.spec.js.map +1 -0
  126. package/dist/lib/Persist.d.ts +101 -0
  127. package/dist/lib/Persist.js +245 -0
  128. package/dist/lib/Persist.js.map +1 -0
  129. package/dist/lib/Persist.spec.d.ts +1 -0
  130. package/dist/lib/Persist.spec.js +90 -0
  131. package/dist/lib/Persist.spec.js.map +1 -0
  132. package/dist/lib/Session.d.ts +80 -0
  133. package/dist/lib/Session.js +100 -0
  134. package/dist/lib/Session.js.map +1 -0
  135. package/dist/lib/Session.spec.d.ts +1 -0
  136. package/dist/lib/Session.spec.js +43 -0
  137. package/dist/lib/Session.spec.js.map +1 -0
  138. package/dist/lib/ThinQ.d.ts +28 -0
  139. package/dist/lib/ThinQ.js +373 -0
  140. package/dist/lib/ThinQ.js.map +1 -0
  141. package/dist/lib/__tests__/API.spec.d.ts +1 -0
  142. package/dist/lib/__tests__/API.spec.js +55 -0
  143. package/dist/lib/__tests__/API.spec.js.map +1 -0
  144. package/dist/lib/__tests__/Auth.spec.d.ts +1 -0
  145. package/dist/lib/__tests__/Auth.spec.js +110 -0
  146. package/dist/lib/__tests__/Auth.spec.js.map +1 -0
  147. package/dist/lib/__tests__/Device.spec.d.ts +1 -0
  148. package/dist/lib/__tests__/Device.spec.js +53 -0
  149. package/dist/lib/__tests__/Device.spec.js.map +1 -0
  150. package/dist/lib/__tests__/DeviceModel.spec.d.ts +1 -0
  151. package/dist/lib/__tests__/DeviceModel.spec.js +90 -0
  152. package/dist/lib/__tests__/DeviceModel.spec.js.map +1 -0
  153. package/dist/lib/__tests__/Gateway.spec.d.ts +1 -0
  154. package/dist/lib/__tests__/Gateway.spec.js +35 -0
  155. package/dist/lib/__tests__/Gateway.spec.js.map +1 -0
  156. package/dist/lib/__tests__/Persist.spec.d.ts +1 -0
  157. package/dist/lib/__tests__/Persist.spec.js +90 -0
  158. package/dist/lib/__tests__/Persist.spec.js.map +1 -0
  159. package/dist/lib/__tests__/Session.spec.d.ts +1 -0
  160. package/dist/lib/__tests__/Session.spec.js +43 -0
  161. package/dist/lib/__tests__/Session.spec.js.map +1 -0
  162. package/dist/lib/constants.d.ts +95 -0
  163. package/dist/lib/constants.js +106 -0
  164. package/dist/lib/constants.js.map +1 -0
  165. package/dist/lib/request.d.ts +2 -0
  166. package/dist/lib/request.js +66 -0
  167. package/dist/lib/request.js.map +1 -0
  168. package/dist/platform.d.ts +41 -0
  169. package/dist/platform.js +229 -0
  170. package/dist/platform.js.map +1 -0
  171. package/dist/settings.d.ts +8 -0
  172. package/dist/settings.js +9 -0
  173. package/dist/settings.js.map +1 -0
  174. package/dist/status/BaseStatus.d.ts +48 -0
  175. package/dist/status/BaseStatus.js +59 -0
  176. package/dist/status/BaseStatus.js.map +1 -0
  177. package/dist/types/snapshots.d.ts +142 -0
  178. package/dist/types/snapshots.js +6 -0
  179. package/dist/types/snapshots.js.map +1 -0
  180. package/dist/utils/__tests__/normalize.spec.d.ts +1 -0
  181. package/dist/utils/__tests__/normalize.spec.js +95 -0
  182. package/dist/utils/__tests__/normalize.spec.js.map +1 -0
  183. package/dist/utils/normalize.d.ts +22 -0
  184. package/dist/utils/normalize.js +51 -0
  185. package/dist/utils/normalize.js.map +1 -0
  186. package/dist/v1/__tests__/prepareControlData.spec.d.ts +1 -0
  187. package/dist/v1/__tests__/prepareControlData.spec.js +48 -0
  188. package/dist/v1/__tests__/prepareControlData.spec.js.map +1 -0
  189. package/dist/v1/devices/AC.d.ts +13 -0
  190. package/dist/v1/devices/AC.js +112 -0
  191. package/dist/v1/devices/AC.js.map +1 -0
  192. package/dist/v1/devices/AirPurifier.d.ts +15 -0
  193. package/dist/v1/devices/AirPurifier.js +57 -0
  194. package/dist/v1/devices/AirPurifier.js.map +1 -0
  195. package/dist/v1/devices/RangeHood.d.ts +6 -0
  196. package/dist/v1/devices/RangeHood.js +12 -0
  197. package/dist/v1/devices/RangeHood.js.map +1 -0
  198. package/dist/v1/devices/Refrigerator.d.ts +17 -0
  199. package/dist/v1/devices/Refrigerator.js +69 -0
  200. package/dist/v1/devices/Refrigerator.js.map +1 -0
  201. package/dist/v1/devices/Washer.d.ts +10 -0
  202. package/dist/v1/devices/Washer.js +23 -0
  203. package/dist/v1/devices/Washer.js.map +1 -0
  204. package/dist/v1/devices/index.d.ts +6 -0
  205. package/dist/v1/devices/index.js +7 -0
  206. package/dist/v1/devices/index.js.map +1 -0
  207. package/dist/v1/helper.d.ts +14 -0
  208. package/dist/v1/helper.js +111 -0
  209. package/dist/v1/helper.js.map +1 -0
  210. package/dist/v1/transforms/AirPurifierState.d.ts +2 -0
  211. package/dist/v1/transforms/AirPurifierState.js +9 -0
  212. package/dist/v1/transforms/AirPurifierState.js.map +1 -0
  213. package/dist/v1/transforms/AirState.d.ts +9 -0
  214. package/dist/v1/transforms/AirState.js +55 -0
  215. package/dist/v1/transforms/AirState.js.map +1 -0
  216. package/dist/v1/transforms/HoodState.d.ts +17 -0
  217. package/dist/v1/transforms/HoodState.js +20 -0
  218. package/dist/v1/transforms/HoodState.js.map +1 -0
  219. package/dist/v1/transforms/RefState.d.ts +6 -0
  220. package/dist/v1/transforms/RefState.js +29 -0
  221. package/dist/v1/transforms/RefState.js.map +1 -0
  222. package/dist/v1/transforms/WasherDryer.d.ts +49 -0
  223. package/dist/v1/transforms/WasherDryer.js +56 -0
  224. package/dist/v1/transforms/WasherDryer.js.map +1 -0
  225. package/docs/authorization.md +40 -0
  226. package/docs/device-configuration.md +68 -0
  227. package/homebridge-ui/public/index.html +120 -0
  228. package/homebridge-ui/public/js/app.js +300 -0
  229. package/homebridge-ui/public/js/countries.js +233 -0
  230. package/homebridge-ui/public/styles.css +185 -0
  231. package/homebridge-ui/server.js +103 -0
  232. package/jest.config.ts +39 -0
  233. package/package.json +83 -0
  234. package/sample/README.md +10 -0
  235. package/sample/airconditioner-model.json +3080 -0
  236. package/sample/airconditioner-snapshot.json +49 -0
  237. package/sample/airconditioner.json +157 -0
  238. package/sample/dishwasher-model.json +869 -0
  239. package/sample/dishwasher.json +125 -0
  240. package/sample/washer_dryer-model.json +1294 -0
  241. package/sample/washer_dryer.json +126 -0
@@ -0,0 +1,869 @@
1
+ {
2
+ "Info": {
3
+ "productType": "DW",
4
+ "country": "WW",
5
+ "modelType": "DW",
6
+ "model": "XD-G4(중아) steam",
7
+ "modelName": "D0210",
8
+ "networkType": "WIFI",
9
+ "version": "1.5"
10
+ },
11
+ "Module": {
12
+ "WPM": {
13
+ "GDM_CEN01_Main": "201",
14
+ "GDM_CRS01_Main": "201",
15
+ "GDM_CRS02_CourseList": "201",
16
+ "GDM_CRS03_CourseDetail": "201",
17
+ "GCM_SDS01_SdsMain": "001",
18
+ "GDM_SET01_Main": "201",
19
+ "GDM_SET02_PushList": "201",
20
+ "GDM_SET02_Settings": "201",
21
+ "GDM_FOT01_Main": "201",
22
+ "GDM_WCH01_Main": "201",
23
+ "GDM_SET03_PushList": "201",
24
+ "GDM_WCH01_UserGuide": "001"
25
+ },
26
+ "Menu": ["GDM_CRS02_CourseList", "GDM_WCH01_Main", "GCM_SDS01_SdsMain", "GDM_SET01_Main"]
27
+ },
28
+ "Config": {
29
+ "defaultCourseId": "5",
30
+ "defaultSmartCourseId": "1",
31
+ "tubCleanCourseId": "9",
32
+ "fota": true,
33
+ "wifiDiagnosis": "true",
34
+ "remoteStartLabel": "@WM_OPTION_REMOTE_START_W",
35
+ "TubCleanLabel": "@WM_COURSE_TUB_CLEAN_W",
36
+ "downloadPanelLabel": "@DW_DOWNLOADED_CYCLE"
37
+ },
38
+ "Push": [{
39
+ "category": "PUSH_DW_STATE",
40
+ "label": "@CP_ALARM_PRODUCT_STATE_W",
41
+ "groupCode": "20401",
42
+ "pushList": [{
43
+ "0000": "PUSH_DW_COMPLETE"
44
+ }, {
45
+ "0100": "PUSH_DW_ERROR"
46
+ }, {
47
+ "0101": "PUSH_DW_WATERLEAK"
48
+ }
49
+ ]
50
+ }
51
+ ],
52
+ "Value": {
53
+ "State": {
54
+ "type": "Enum",
55
+ "default": "POWEROFF",
56
+ "option": {
57
+ "POWEROFF": "@DW_STATE_POWER_OFF_W",
58
+ "INITIAL": "@DW_STATE_INITIAL_W",
59
+ "RUNNING": "@DW_STATE_RUNNING_W",
60
+ "PAUSE": "@DW_STATE_PAUSE_W",
61
+ "STANDBY": "@DW_STATE_POWER_OFF_W",
62
+ "END": "@DW_STATE_COMPLETE_W",
63
+ "POWERFAIL": "@DW_STATE_POWER_FAIL_W"
64
+ }
65
+ },
66
+ "Process": {
67
+ "type": "Enum",
68
+ "default": "NONE",
69
+ "option": {
70
+ "NONE": "@DW_STATE_INITIAL_W",
71
+ "RESERVED": "@DW_STATE_RESERVE_W",
72
+ "RUNNING": "@DW_STATE_RUNNING_W",
73
+ "RINSING": "@DW_STATE_RINSING_W",
74
+ "DRYING": "@DW_STATE_DRYING_W",
75
+ "END": "@DW_STATE_COMPLETE_W",
76
+ "NIGHTDRY": "@DW_STATE_NIGHTDRY_W",
77
+ "CANCEL": "@DW_STATE_CANCEL_W"
78
+ }
79
+ },
80
+ "ChildLock": {
81
+ "type": "Enum",
82
+ "default": "OFF",
83
+ "label": "@DW_OPTION_CHILD_LOCK_W",
84
+ "option": {
85
+ "OFF": "@CP_OFF_EN_W",
86
+ "ON": "@CP_ON_EN_W"
87
+ }
88
+ },
89
+ "Door": {
90
+ "type": "Enum",
91
+ "default": "CLOSE",
92
+ "label": "Door",
93
+ "option": {
94
+ "CLOSE": "@CP_OFF_EN_W",
95
+ "OPEN": "@CP_ON_EN_W"
96
+ }
97
+ },
98
+ "RinseRefill": {
99
+ "type": "Enum",
100
+ "default": "NOT_SET",
101
+ "label": "Rinse Refill",
102
+ "option": {
103
+ "NOT_SET": "@CP_OFF_EN_W",
104
+ "SET": "@CP_ON_EN_W"
105
+ }
106
+ },
107
+ "SaltRefill": {
108
+ "type": "Enum",
109
+ "default": "NOT_SET",
110
+ "label": "Salt Refill",
111
+ "option": {
112
+ "NOT_SET": "@CP_OFF_EN_W",
113
+ "SET": "@CP_ON_EN_W"
114
+ }
115
+ },
116
+ "NightDry": {
117
+ "type": "Enum",
118
+ "default": "OFF",
119
+ "label": "@DW_OPTION_NIGHT_DRY_W",
120
+ "option": {
121
+ "OFF": "@CP_OFF_EN_W",
122
+ "ON": "@CP_ON_EN_W"
123
+ }
124
+ },
125
+ "DelayStart": {
126
+ "type": "Enum",
127
+ "default": "OFF",
128
+ "label": "@DW_OPTION_RESERVE_W",
129
+ "option": {
130
+ "OFF": "@CP_OFF_EN_W",
131
+ "ON": "@CP_ON_EN_W"
132
+ }
133
+ },
134
+ "EnergySaver": {
135
+ "type": "Enum",
136
+ "default": "OFF",
137
+ "label": "@DW_OPTION_ENERGY_SAVER_W",
138
+ "option": {
139
+ "OFF": "@CP_OFF_EN_W",
140
+ "ON": "@CP_ON_EN_W"
141
+ }
142
+ },
143
+ "AutoDoor": {
144
+ "type": "Enum",
145
+ "default": "OFF",
146
+ "label": "@DW_OPTION_AUTO_DOOR_W",
147
+ "option": {
148
+ "OFF": "@CP_OFF_EN_W",
149
+ "ON": "@CP_ON_EN_W"
150
+ }
151
+ },
152
+ "Steam": {
153
+ "type": "Enum",
154
+ "default": "OFF",
155
+ "label": "@DW_OPTION_STEAM_W",
156
+ "option": {
157
+ "OFF": "@CP_OFF_EN_W",
158
+ "ON": "@CP_ON_EN_W"
159
+ }
160
+ },
161
+ "ExtraDry": {
162
+ "type": "Enum",
163
+ "default": "OFF",
164
+ "label": "@DW_OPTION_EXTRA_DRY_W",
165
+ "option": {
166
+ "OFF": "@CP_OFF_EN_W",
167
+ "ON": "@CP_ON_EN_W"
168
+ }
169
+ },
170
+ "HighTemp": {
171
+ "type": "Enum",
172
+ "default": "OFF",
173
+ "label": "@DW_OPTION_HIGH_TEMP_W",
174
+ "option": {
175
+ "OFF": "@CP_OFF_EN_W",
176
+ "ON": "@CP_ON_EN_W"
177
+ }
178
+ },
179
+ "DualZone": {
180
+ "type": "Enum",
181
+ "default": "OFF",
182
+ "label": "@DW_OPTION_DUAL_ZONE_W",
183
+ "option": {
184
+ "OFF": "@CP_OFF_EN_W",
185
+ "ON": "@CP_ON_EN_W"
186
+ }
187
+ },
188
+ "HalfloadLower": {
189
+ "type": "Enum",
190
+ "default": "OFF",
191
+ "label": "@DW_OPTION_HALF_LOAD_LOWER_W",
192
+ "option": {
193
+ "OFF": "@CP_OFF_EN_W",
194
+ "ON": "@CP_ON_EN_W"
195
+ }
196
+ },
197
+ "HalfloadUpper": {
198
+ "type": "Enum",
199
+ "default": "OFF",
200
+ "label": "@DW_OPTION_HALF_LOAD_UPPER_W",
201
+ "option": {
202
+ "OFF": "@CP_OFF_EN_W",
203
+ "ON": "@CP_ON_EN_W"
204
+ }
205
+ },
206
+ "PreSteam": {
207
+ "type": "Enum",
208
+ "default": "OFF",
209
+ "label": "@DW_OPTION_PRE_STEAM_W",
210
+ "option": {
211
+ "OFF": "@CP_OFF_EN_W",
212
+ "ON": "@CP_ON_EN_W"
213
+ }
214
+ },
215
+ "Rinse": {
216
+ "type": "Enum",
217
+ "default": "OFF",
218
+ "label": "@DW_OPTION_RINSE_W",
219
+ "option": {
220
+ "OFF": "@CP_OFF_EN_W",
221
+ "EXTRA_HOT": "@DW_OPTION_RINSE_EXTRAHOT_W",
222
+ "PLUS": "@DW_OPTION_RINSE_RINSE+_W",
223
+ "PLUS_EXTRA_HOT": "@DW_OPTION_RINSE_RINSE+EXTRAHOT_W"
224
+ }
225
+ },
226
+ "HalfLoad": {
227
+ "type": "Enum",
228
+ "default": "OFF",
229
+ "label": "@DW_OPTION_HALF_LOAD_W",
230
+ "option": {
231
+ "OFF": "@CP_OFF_EN_W",
232
+ "LOWER": "@DW_OPTION_HALF_LOAD_LOWER_W",
233
+ "UPPER": "@DW_OPTION_HALF_LOAD_UPPER_W"
234
+ }
235
+ },
236
+ "Spray": {
237
+ "type": "Enum",
238
+ "default": "OFF",
239
+ "label": "@DW_OPTION_SPRAY_W",
240
+ "option": {
241
+ "OFF": "@CP_OFF_EN_W",
242
+ "STRONG": "@DW_OPTION_SPRAY_STRONG_W",
243
+ "MEDIUM": "@DW_OPTION_SPRAY_MEDIUM_W",
244
+ "SOFT": "@DW_OPTION_SPRAY_SOFT_W"
245
+ }
246
+ },
247
+ "RinseLevel": {
248
+ "type": "Enum",
249
+ "default": "LEVEL_0",
250
+ "label": "@DW_TERM_SETTINGS_RINSE_LEVEL_W",
251
+ "option": {
252
+ "LEVEL_0": "0",
253
+ "LEVEL_1": "1",
254
+ "LEVEL_2": "2",
255
+ "LEVEL_3": "3",
256
+ "LEVEL_4": "4",
257
+ "LEVEL_UNSET": "@DW_TERM_UNSET_W"
258
+ }
259
+ },
260
+ "SofteningLevel": {
261
+ "type": "Enum",
262
+ "default": "LEVEL_0",
263
+ "label": "@DW_TERM_SETTINGS_SOFTENING_LEVEL_W",
264
+ "option": {
265
+ "LEVEL_0": "0",
266
+ "LEVEL_1": "1",
267
+ "LEVEL_2": "2",
268
+ "LEVEL_3": "3",
269
+ "LEVEL_4": "4",
270
+ "LEVEL_UNSET": "@DW_TERM_UNSET_W"
271
+ }
272
+ },
273
+ "MCReminderSetting": {
274
+ "type": "Enum",
275
+ "default": "OFF",
276
+ "label": "@DW_TERM_SETTINGS_MACHINE_CLEAN_REMINDER_W",
277
+ "option": {
278
+ "OFF": "@CP_OFF_EN_W",
279
+ "ON": "@CP_ON_EN_W",
280
+ "UNSET": "@DW_TERM_UNSET_W"
281
+ }
282
+ },
283
+ "SignalLevel": {
284
+ "type": "Enum",
285
+ "default": "LEVEL_OFF",
286
+ "label": "@DM_GUG_CRS04_6",
287
+ "option": {
288
+ "LEVEL_OFF": "@CP_OFF_EN_W",
289
+ "LEVEL_ON": "@CP_ON_EN_W",
290
+ "LEVEL_UNSET": "@DW_TERM_UNSET_W"
291
+ }
292
+ },
293
+ "CleanLReminder": {
294
+ "type": "Enum",
295
+ "default": "OFF",
296
+ "label": "@DW_TERM_SETTINGS_CLEAN_LIGHT_W",
297
+ "option": {
298
+ "OFF": "@CP_OFF_EN_W",
299
+ "ON": "@CP_ON_EN_W",
300
+ "UNSET": "@DW_TERM_UNSET_W"
301
+ }
302
+ },
303
+ "Remain_Time_H": {
304
+ "type": "Range",
305
+ "default": 0,
306
+ "option": {
307
+ "min": 0,
308
+ "max": 30
309
+ }
310
+ },
311
+ "Remain_Time_M": {
312
+ "type": "Range",
313
+ "default": 0,
314
+ "option": {
315
+ "min": 0,
316
+ "max": 59
317
+ }
318
+ },
319
+ "Initial_Time_H": {
320
+ "type": "Range",
321
+ "default": 0,
322
+ "option": {
323
+ "min": 0,
324
+ "max": 30
325
+ }
326
+ },
327
+ "Initial_Time_M": {
328
+ "type": "Range",
329
+ "default": 0,
330
+ "option": {
331
+ "min": 0,
332
+ "max": 59
333
+ }
334
+ },
335
+ "Reserve_Time_H": {
336
+ "type": "Range",
337
+ "default": 0,
338
+ "label": "@WM_OPTION_RESERVE_W",
339
+ "option": {
340
+ "min": 3,
341
+ "max": 18
342
+ }
343
+ },
344
+ "Reserve_Time_M": {
345
+ "type": "Range",
346
+ "default": 0,
347
+ "option": {
348
+ "min": 0,
349
+ "max": 59
350
+ }
351
+ },
352
+ "Error": {
353
+ "type": "Reference",
354
+ "option": ["Error"]
355
+ },
356
+ "Course": {
357
+ "type": "Reference",
358
+ "option": ["Course"]
359
+ },
360
+ "SmartCourse": {
361
+ "type": "Reference",
362
+ "option": ["SmartCourse"]
363
+ },
364
+ "CurrentDownloadCourse": {
365
+ "type": "Enum",
366
+ "default": "NONE",
367
+ "label": "@DW_DOWNLOADED_CYCLE",
368
+ "option": {
369
+ "NONE": "0",
370
+ "POTS_PANS": "1",
371
+ "CASSEROLES": "2",
372
+ "GLASSWARES": "3",
373
+ "NIGHT_CARE": "4"
374
+ }
375
+ },
376
+ "TclCount": {
377
+ "type": "Number",
378
+ "default": 0
379
+ },
380
+ "None": {
381
+ "type": "Range",
382
+ "default": 0,
383
+ "option": {
384
+ "min": 0,
385
+ "max": 59
386
+ }
387
+ }
388
+ },
389
+ "Settings": [{
390
+ "value": "RinseLevel",
391
+ "default": "LEVEL_2",
392
+ "selectable": ["LEVEL_0", "LEVEL_1", "LEVEL_2", "LEVEL_3", "LEVEL_4"]
393
+ }, {
394
+ "value": "SofteningLevel",
395
+ "default": "LEVEL_2",
396
+ "selectable": ["LEVEL_0", "LEVEL_1", "LEVEL_2", "LEVEL_3", "LEVEL_4"]
397
+ }, {
398
+ "value": "MCReminderSetting",
399
+ "default": "OFF",
400
+ "selectable": ["OFF", "ON"]
401
+ }, {
402
+ "value": "SignalLevel",
403
+ "default": "LEVEL_OFF",
404
+ "selectable": ["LEVEL_OFF", "LEVEL_ON"]
405
+ }, {
406
+ "value": "CleanLReminder",
407
+ "default": "OFF",
408
+ "selectable": ["OFF", "ON"]
409
+ }
410
+ ],
411
+ "Error": {
412
+ "ERROR_NO": {
413
+ "_comment": "No Error",
414
+ "title": "No_Error",
415
+ "content": "No_Error",
416
+ "label": "No Error"
417
+ },
418
+ "ERROR_HE": {
419
+ "_comment": "HE, 고객 노출",
420
+ "title": "@DW_ERROR_HE_TITLE",
421
+ "content": "@DW_ERROR_HE_CONTENT",
422
+ "label": "@DW_ERROR_HE_LABEL"
423
+ },
424
+ "ERROR_IE": {
425
+ "_comment": "IE, 고객 노출",
426
+ "title": "@DW_ERROR_IE_TITLE",
427
+ "content": "@DW_ERROR_IE_CONTENT",
428
+ "label": "@DW_ERROR_IE_LABEL"
429
+ },
430
+ "ERROR_OE": {
431
+ "_comment": "OE, 고객 노출",
432
+ "title": "@DW_ERROR_OE_TITLE",
433
+ "content": "@DW_ERROR_OE_CONTENT",
434
+ "label": "@DW_ERROR_OE_LABEL"
435
+ },
436
+ "ERROR_FE": {
437
+ "_comment": "FE, 고객 노출(진단안됨)",
438
+ "title": "@DW_ERROR_FE_TITLE",
439
+ "content": "@DW_ERROR_FE_CONTENT",
440
+ "label": "@DW_ERROR_FE_LABEL"
441
+ },
442
+ "ERROR_TE": {
443
+ "_comment": "tE, 고객 노출",
444
+ "title": "@DW_ERROR_TE_TITLE",
445
+ "content": "@DW_ERROR_HE_CONTENT",
446
+ "label": "@DW_ERROR_TE_LABEL"
447
+ },
448
+ "ERROR_AE": {
449
+ "_comment": "AE, 고객 노출(진단안됨)",
450
+ "title": "@DW_ERROR_AE_TITLE",
451
+ "content": "@DW_ERROR_AE_CONTENT",
452
+ "label": "@DW_ERROR_AE_LABEL"
453
+ },
454
+ "ERROR_EE": {
455
+ "_comment": "EE 고객 노출 안됨 (신뢰성 모드에서만 발생)",
456
+ "title": "EE",
457
+ "content": "EE",
458
+ "label": "EE"
459
+ },
460
+ "ERROR_LE": {
461
+ "_comment": "LE, 고객 노출",
462
+ "title": "@DW_ERROR_LE_TITLE",
463
+ "content": "@DW_ERROR_HE_CONTENT",
464
+ "label": "@DW_ERROR_LE_LABEL"
465
+ },
466
+ "ERROR_NE": {
467
+ "_comment": "nE, 고객 노출",
468
+ "title": "@DW_ERROR_NE_TITLE",
469
+ "content": "@DW_ERROR_HE_CONTENT",
470
+ "label": "@DW_ERROR_NE_LABEL"
471
+ },
472
+ "ERROR_BE": {
473
+ "_comment": "bE, 고객 노출",
474
+ "title": "@DW_ERROR_BE_TITLE",
475
+ "content": "@DW_ERROR_BE_CONTENT",
476
+ "label": "@DW_ERROR_BE_LABEL"
477
+ }
478
+ },
479
+ "Monitoring": {
480
+ "type": "THINQ2",
481
+ "protocol": {
482
+ "state": "State",
483
+ "process": "Process",
484
+ "error": "Error",
485
+ "initialTimeHour": "Initial_Time_H",
486
+ "initialTimeMinute": "Initial_Time_M",
487
+ "course": "Course",
488
+ "courseType": "CourseType",
489
+ "remainTimeHour": "Remain_Time_H",
490
+ "remainTimeMinute": "Remain_Time_M",
491
+ "reserveTimeHour": "Reserve_Time_H",
492
+ "reserveTimeMinute": "Reserve_Time_M",
493
+ "childLock": "ChildLock",
494
+ "door": "Door",
495
+ "rinseRefill": "RinseRefill",
496
+ "saltRefill": "SaltRefill",
497
+ "signalLevel": "SignalLevel",
498
+ "mcReminderSetting": "MCReminderSetting",
499
+ "cleanLReminder": "CleanLReminder",
500
+ "nightDry": "NightDry",
501
+ "delayStart": "DelayStart",
502
+ "energySaver": "EnergySaver",
503
+ "extraDry": "ExtraDry",
504
+ "highTemp": "HighTemp",
505
+ "dualZone": "DualZone",
506
+ "halfLoad": "HalfLoad",
507
+ "autoDoor": "AutoDoor",
508
+ "preSteam": "PreSteam",
509
+ "steam": "Steam",
510
+ "rinseLevel": "RinseLevel",
511
+ "softeningLevel": "SofteningLevel",
512
+ "smartCourse": "SmartCourse",
513
+ "currentDownloadCourse": "CurrentDownloadCourse",
514
+ "tclCount": "TclCount"
515
+ }
516
+ },
517
+ "ControlWifi": {
518
+ "downloadCourse": {
519
+ "command": "Set",
520
+ "dataForm": {
521
+ "dishwasher": {
522
+ "courseDownloadType": "COURSEDATA",
523
+ "courseDownloadDataLength": 6,
524
+ "course": "{{Course}}",
525
+ "smartCourse": "{{SmartCourse}}",
526
+ "childLock": "{{ChildLock}}",
527
+ "door": "{{Door}}",
528
+ "rinseRefill": "{{RinseRefill}}",
529
+ "saltRefill": "{{SaltRefill}}",
530
+ "signalLevel": "{{SignalLevel}}",
531
+ "mcReminderSetting": "{{MCReminderSetting}}",
532
+ "cleanLReminder": "{{CleanLReminder}}",
533
+ "nightDry": "{{NightDry}}",
534
+ "delayStart": "{{DelayStart}}",
535
+ "energySaver": "{{EnergySaver}}",
536
+ "extraDry": "{{ExtraDry}}",
537
+ "highTemp": "{{HighTemp}}",
538
+ "dualZone": "{{DualZone}}",
539
+ "halfLoad": "{{HalfLoad}}",
540
+ "preSteam": "{{PreSteam}}",
541
+ "steam": "{{Steam}}",
542
+ "autoDoor": "{{AutoDoor}}"
543
+ }
544
+ }
545
+ },
546
+ "setOption": {
547
+ "command": "Set",
548
+ "dataForm": {
549
+ "dishwasher": {
550
+ "rinseLevel": "{{RinseLevel}}",
551
+ "softeningLevel": "{{SofteningLevel}}",
552
+ "mcReminderSetting": "{{MCReminderSetting}}",
553
+ "signalLevel": "{{SignalLevel}}",
554
+ "cleanLReminder": "{{CleanLReminder}}"
555
+ }
556
+ }
557
+ }
558
+ },
559
+ "ConvertingRule": {
560
+ "Course": {
561
+ "ControlConvertingRule": {
562
+ "0": "NONE",
563
+ "1": "AUTO",
564
+ "2": "HEAVY/INTENSIVE",
565
+ "3": "DELICATE",
566
+ "4": "TURBO",
567
+ "5": "NORMAL/ECO",
568
+ "6": "RINSE",
569
+ "7": "REFRESH",
570
+ "8": "EXPRESS",
571
+ "9": "MACHINE_CLEAN",
572
+ "10": "SHORT_MODE",
573
+ "11": "DOWNLOAD_CYCLE"
574
+ },
575
+ "MonitoringConvertingRule": {
576
+ "NONE": "0",
577
+ "AUTO": "1",
578
+ "HEAVY/INTENSIVE": "2",
579
+ "DELICATE": "3",
580
+ "TURBO": "4",
581
+ "NORMAL/ECO": "5",
582
+ "RINSE": "6",
583
+ "REFRESH": "7",
584
+ "EXPRESS": "8",
585
+ "MACHINE_CLEAN": "9",
586
+ "SHORT_MODE": "10",
587
+ "DOWNLOAD_CYCLE": "11",
588
+ "ACCELERATED_MODE": "12",
589
+ "WASHING_ONLY": "13"
590
+ }
591
+ },
592
+ "SmartCourse": {
593
+ "ControlConvertingRule": {
594
+ "0": "NONE",
595
+ "1": "POTS_PANS",
596
+ "2": "CASSEROLES",
597
+ "3": "GLASSWARES",
598
+ "4": "NIGHT_CARE"
599
+ },
600
+ "MonitoringConvertingRule": {
601
+ "NONE": "0",
602
+ "POTS_PANS": "1",
603
+ "CASSEROLES": "2",
604
+ "GLASSWARES": "3",
605
+ "NIGHT_CARE": "4"
606
+ }
607
+ }
608
+ },
609
+ "Course": {
610
+ "1": {
611
+ "_comment": "Auto",
612
+ "courseType": "Course",
613
+ "id": 1,
614
+ "name": "@DW_COURSE_AUTO_W",
615
+ "imgIndex": 1,
616
+ "function": [{
617
+ "value": "DualZone",
618
+ "default": "OFF"
619
+ }, {
620
+ "value": "HalfLoad",
621
+ "default": "OFF"
622
+ }, {
623
+ "value": "EnergySaver",
624
+ "default": "OFF"
625
+ }, {
626
+ "value": "Steam",
627
+ "default": "OFF"
628
+ }, {
629
+ "value": "HighTemp",
630
+ "default": "OFF"
631
+ }, {
632
+ "value": "ExtraDry",
633
+ "default": "OFF"
634
+ }, {
635
+ "value": "DelayStart",
636
+ "default": "OFF"
637
+ }
638
+ ]
639
+ },
640
+ "2": {
641
+ "_comment": "Intensive",
642
+ "courseType": "Course",
643
+ "id": 2,
644
+ "name": "@DW_COURSE_INTENSIVE_W",
645
+ "imgIndex": 1,
646
+ "function": [{
647
+ "value": "DualZone",
648
+ "default": "OFF"
649
+ }, {
650
+ "value": "HalfLoad",
651
+ "default": "OFF"
652
+ }, {
653
+ "value": "Steam",
654
+ "default": "OFF"
655
+ }, {
656
+ "value": "HighTemp",
657
+ "default": "OFF"
658
+ }, {
659
+ "value": "ExtraDry",
660
+ "default": "OFF"
661
+ }, {
662
+ "value": "DelayStart",
663
+ "default": "OFF"
664
+ }
665
+ ]
666
+ },
667
+ "3": {
668
+ "_comment": "Delicate",
669
+ "courseType": "Course",
670
+ "id": 3,
671
+ "name": "@DW_COURSE_DELICATE_W",
672
+ "imgIndex": 1,
673
+ "function": [{
674
+ "value": "HalfLoad",
675
+ "default": "OFF"
676
+ }, {
677
+ "value": "EnergySaver",
678
+ "default": "OFF"
679
+ }, {
680
+ "value": "Steam",
681
+ "default": "OFF"
682
+ }, {
683
+ "value": "ExtraDry",
684
+ "default": "OFF"
685
+ }, {
686
+ "value": "DelayStart",
687
+ "default": "OFF"
688
+ }
689
+ ]
690
+ },
691
+ "4": {
692
+ "_comment": "Turbo",
693
+ "courseType": "Course",
694
+ "id": 4,
695
+ "name": "@DW_COURSE_TURBO_W",
696
+ "imgIndex": 1,
697
+ "function": [{
698
+ "value": "DualZone",
699
+ "default": "OFF"
700
+ }, {
701
+ "value": "Steam",
702
+ "default": "OFF"
703
+ }, {
704
+ "value": "HighTemp",
705
+ "default": "OFF"
706
+ }, {
707
+ "value": "ExtraDry",
708
+ "default": "OFF"
709
+ }, {
710
+ "value": "DelayStart",
711
+ "default": "OFF"
712
+ }
713
+ ]
714
+ },
715
+ "5": {
716
+ "_comment": "Eco",
717
+ "courseType": "Course",
718
+ "id": 5,
719
+ "name": "@DW_COURSE_ECO_W",
720
+ "imgIndex": 1,
721
+ "function": [{
722
+ "value": "DualZone",
723
+ "default": "OFF"
724
+ }, {
725
+ "value": "HalfLoad",
726
+ "default": "OFF"
727
+ }, {
728
+ "value": "EnergySaver",
729
+ "default": "OFF"
730
+ }, {
731
+ "value": "Steam",
732
+ "default": "OFF"
733
+ }, {
734
+ "value": "HighTemp",
735
+ "default": "OFF"
736
+ }, {
737
+ "value": "ExtraDry",
738
+ "default": "OFF"
739
+ }, {
740
+ "value": "DelayStart",
741
+ "default": "OFF"
742
+ }
743
+ ]
744
+ },
745
+ "6": {
746
+ "_comment": "Rinse",
747
+ "courseType": "Course",
748
+ "id": 6,
749
+ "name": "@DW_COURSE_RINSE_W",
750
+ "imgIndex": 1,
751
+ "function": [{
752
+ "value": "DelayStart",
753
+ "default": "OFF"
754
+ }
755
+ ]
756
+ },
757
+ "7": {
758
+ "_comment": "Refresh",
759
+ "courseType": "Course",
760
+ "id": 7,
761
+ "name": "@DW_COURSE_REFRESH_W",
762
+ "imgIndex": 1,
763
+ "function": [{
764
+ "value": "Steam",
765
+ "default": "OFF"
766
+ }, {
767
+ "value": "ExtraDry",
768
+ "default": "OFF"
769
+ }, {
770
+ "value": "DelayStart",
771
+ "default": "OFF"
772
+ }
773
+ ]
774
+ },
775
+ "8": {
776
+ "_comment": "Express",
777
+ "courseType": "Course",
778
+ "id": 8,
779
+ "name": "@DW_COURSE_EXPRESS_W",
780
+ "imgIndex": 1,
781
+ "function": [{
782
+ "value": "DualZone",
783
+ "default": "OFF"
784
+ }, {
785
+ "value": "HighTemp",
786
+ "default": "OFF"
787
+ }, {
788
+ "value": "ExtraDry",
789
+ "default": "OFF"
790
+ }, {
791
+ "value": "DelayStart",
792
+ "default": "OFF"
793
+ }
794
+ ]
795
+ },
796
+ "9": {
797
+ "_comment": "Machine Clean",
798
+ "courseType": "Course",
799
+ "id": 9,
800
+ "name": "@DW_COURSE_MACHINE_CLEAN_W",
801
+ "imgIndex": 1,
802
+ "function": [{
803
+ "value": "DelayStart",
804
+ "default": "OFF"
805
+ }
806
+ ]
807
+ },
808
+ "11": {
809
+ "_comment": "Download Cycle",
810
+ "courseType": "Course",
811
+ "id": 11,
812
+ "name": "@DW_TERM_SMARTCOURSE_W",
813
+ "imgIndex": 1,
814
+ "function": [{
815
+ "value": "DelayStart",
816
+ "default": "OFF"
817
+ }
818
+ ]
819
+ }
820
+ },
821
+ "SmartCourse": {
822
+ "1": {
823
+ "_comment": "Pots & Pans (Default)",
824
+ "courseType": "SmartCourse",
825
+ "id": 1,
826
+ "Course": 2,
827
+ "name": "@DW_SMARTCOURSE_POTS_PANS_W",
828
+ "script": "@DW_SMARTCOURSE_SCRIPT_POTS_PANS_S",
829
+ "imgIndex": 14,
830
+ "function": [{
831
+ "value": "ExtraDry",
832
+ "default": "ON"
833
+ }
834
+ ]
835
+ },
836
+ "2": {
837
+ "_comment": "Casseroles",
838
+ "courseType": "SmartCourse",
839
+ "id": 2,
840
+ "Course": 2,
841
+ "name": "@DW_SMARTCOURSE_GREASY_DISHES_W",
842
+ "script": "@DW_SMARTCOURSE_SCRIPT_GREASY_DISHES_S",
843
+ "imgIndex": 12
844
+ },
845
+ "3": {
846
+ "_comment": "Glasswares",
847
+ "courseType": "SmartCourse",
848
+ "id": 3,
849
+ "Course": 3,
850
+ "name": "@DW_SMARTCOURSE_GLASSWARES_W",
851
+ "script": "@DW_SMARTCOURSE_SCRIPT_GLASSWARES_S",
852
+ "imgIndex": 15
853
+ },
854
+ "4": {
855
+ "_comment": "Night Care(US)",
856
+ "courseType": "SmartCourse",
857
+ "id": 4,
858
+ "Course": 3,
859
+ "name": "@DW_SMARTCOURSE_OVERNIGHT_W",
860
+ "script": "@DW_SMARTCOURSE_SCRIPT_OVERNIGHT_S",
861
+ "imgIndex": 11,
862
+ "function": [{
863
+ "value": "ExtraDry",
864
+ "default": "ON"
865
+ }
866
+ ]
867
+ }
868
+ }
869
+ }