@homebridge-plugins/homebridge-smarthq 0.4.4 → 0.4.6

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 (71) hide show
  1. package/CHANGELOG.md +76 -94
  2. package/dist/devices/advantium.d.ts +10 -0
  3. package/dist/devices/advantium.d.ts.map +1 -0
  4. package/dist/devices/advantium.js +72 -0
  5. package/dist/devices/advantium.js.map +1 -0
  6. package/dist/devices/beverageCenter.d.ts +10 -0
  7. package/dist/devices/beverageCenter.d.ts.map +1 -0
  8. package/dist/devices/beverageCenter.js +122 -0
  9. package/dist/devices/beverageCenter.js.map +1 -0
  10. package/dist/devices/clothesDryer.d.ts +1 -1
  11. package/dist/devices/clothesDryer.d.ts.map +1 -1
  12. package/dist/devices/clothesDryer.js +44 -9
  13. package/dist/devices/clothesDryer.js.map +1 -1
  14. package/dist/devices/clothesWasher.d.ts +1 -1
  15. package/dist/devices/clothesWasher.d.ts.map +1 -1
  16. package/dist/devices/clothesWasher.js +44 -9
  17. package/dist/devices/clothesWasher.js.map +1 -1
  18. package/dist/devices/coffeeMaker.d.ts +10 -0
  19. package/dist/devices/coffeeMaker.d.ts.map +1 -0
  20. package/dist/devices/coffeeMaker.js +13 -0
  21. package/dist/devices/coffeeMaker.js.map +1 -0
  22. package/dist/devices/dishwasher.d.ts.map +1 -1
  23. package/dist/devices/dishwasher.js +44 -24
  24. package/dist/devices/dishwasher.js.map +1 -1
  25. package/dist/devices/microwave.d.ts +10 -0
  26. package/dist/devices/microwave.d.ts.map +1 -0
  27. package/dist/devices/microwave.js +81 -0
  28. package/dist/devices/microwave.js.map +1 -0
  29. package/dist/devices/oven.d.ts.map +1 -1
  30. package/dist/devices/oven.js +71 -52
  31. package/dist/devices/oven.js.map +1 -1
  32. package/dist/devices/refrigerator.d.ts.map +1 -1
  33. package/dist/devices/refrigerator.js +106 -7
  34. package/dist/devices/refrigerator.js.map +1 -1
  35. package/dist/devices/waterFilter.d.ts +10 -0
  36. package/dist/devices/waterFilter.d.ts.map +1 -0
  37. package/dist/devices/waterFilter.js +65 -0
  38. package/dist/devices/waterFilter.js.map +1 -0
  39. package/dist/devices/waterHeater.d.ts +10 -0
  40. package/dist/devices/waterHeater.d.ts.map +1 -0
  41. package/dist/devices/waterHeater.js +94 -0
  42. package/dist/devices/waterHeater.js.map +1 -0
  43. package/dist/devices/waterSoftener.d.ts +10 -0
  44. package/dist/devices/waterSoftener.d.ts.map +1 -0
  45. package/dist/devices/waterSoftener.js +65 -0
  46. package/dist/devices/waterSoftener.js.map +1 -0
  47. package/dist/platform.d.ts +7 -0
  48. package/dist/platform.d.ts.map +1 -1
  49. package/dist/platform.js +267 -0
  50. package/dist/platform.js.map +1 -1
  51. package/docs/classes/SmartHQPlatform.html +8 -8
  52. package/docs/interfaces/DeviceOptions.html +2 -2
  53. package/docs/interfaces/SmartHQPlatformConfig.html +2 -2
  54. package/docs/interfaces/SmartHqContext.html +2 -2
  55. package/docs/interfaces/SmartHqERDResponse.html +2 -2
  56. package/docs/interfaces/credentials.html +2 -2
  57. package/docs/interfaces/devicesConfig.html +2 -2
  58. package/docs/interfaces/options.html +2 -2
  59. package/docs/variables/API_URL.html +1 -1
  60. package/docs/variables/ERD_CODES.html +1 -1
  61. package/docs/variables/ERD_TYPES.html +1 -1
  62. package/docs/variables/KEEPALIVE_TIMEOUT.html +1 -1
  63. package/docs/variables/LOGIN_URL.html +1 -1
  64. package/docs/variables/OAUTH2_CLIENT_ID.html +1 -1
  65. package/docs/variables/OAUTH2_CLIENT_SECRET.html +1 -1
  66. package/docs/variables/OAUTH2_REDIRECT_URI.html +1 -1
  67. package/docs/variables/PLATFORM_NAME.html +1 -1
  68. package/docs/variables/PLUGIN_NAME.html +1 -1
  69. package/docs/variables/SECURE_URL.html +1 -1
  70. package/docs/variables/default.html +1 -1
  71. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,38 +1,20 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/)
3
+ All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/).
4
4
 
5
- ## [0.4.3](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.3) (2025-12-22)
6
-
7
-
8
- ### Features
9
-
10
- * support hood ([#57](https://github.com/homebridge-plugins/homebridge-smarthq/issues/57)) ([2659b21](https://github.com/homebridge-plugins/homebridge-smarthq/commit/2659b21a0a483cb15e0622733f58d75603d99cab))
11
-
12
-
13
-
14
- ## [0.4.1](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.0...v0.4.1) (2025-09-18)
15
-
16
-
17
- ### Bug Fixes
5
+ ## [0.4.6](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.4...v0.4.6) (2025-12-22)
18
6
 
19
- * **air conditioner:** fix temperature setting and update switch display names ([#38](https://github.com/homebridge-plugins/homebridge-smarthq/issues/38)) ([1675205](https://github.com/homebridge-plugins/homebridge-smarthq/commit/16752059c93d6a5b26b782f2b42246e622b4b830))
20
- * **air conditioner:** preserve decimal precision when converting Celsius to Fahrenheit ([#40](https://github.com/homebridge-plugins/homebridge-smarthq/issues/40)) ([38c8285](https://github.com/homebridge-plugins/homebridge-smarthq/commit/38c82852015d8ea0ceb0f4dd4b9ddf0622f57963))
21
- * **air conditioner:** report all operating modes off when unit is off ([#42](https://github.com/homebridge-plugins/homebridge-smarthq/issues/42)) ([d44ebe3](https://github.com/homebridge-plugins/homebridge-smarthq/commit/d44ebe34590a2da6645e30db0db269e1dbbe4f3b))
22
7
 
23
8
 
24
- ### Features
25
-
26
- * add Portable AC as supported device ([#45](https://github.com/homebridge-plugins/homebridge-smarthq/issues/45)) ([50d83b1](https://github.com/homebridge-plugins/homebridge-smarthq/commit/50d83b1e003d8d238485459a5c882f357e1c61fb))
9
+ ## [0.4.4](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.3...v0.4.4) (2025-12-22)
27
10
 
28
11
 
12
+ ### Reverts
29
13
 
30
- # [0.4.0](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.2.0...v0.4.0) (2025-06-27)
14
+ * Revert "update dependenices" ([b3fe90e](https://github.com/homebridge-plugins/homebridge-smarthq/commit/b3fe90ea172fb78b8acd360695cbc3c6b97f0326))
31
15
 
32
16
 
33
17
 
34
- # 0.2.0 (2025-02-23)
35
-
36
18
  ## [0.4.3](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.3) (2025-12-22)
37
19
 
38
20
 
@@ -64,6 +46,19 @@ All notable changes to this project will be documented in this file. This projec
64
46
 
65
47
  # 0.2.0 (2025-02-23)
66
48
 
49
+ ## [0.4.6](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.4...v0.4.6) (2025-12-22)
50
+
51
+
52
+
53
+ ## [0.4.4](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.3...v0.4.4) (2025-12-22)
54
+
55
+
56
+ ### Reverts
57
+
58
+ * Revert "update dependenices" ([b3fe90e](https://github.com/homebridge-plugins/homebridge-smarthq/commit/b3fe90ea172fb78b8acd360695cbc3c6b97f0326))
59
+
60
+
61
+
67
62
  ## [0.4.3](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.3) (2025-12-22)
68
63
 
69
64
 
@@ -95,6 +90,19 @@ All notable changes to this project will be documented in this file. This projec
95
90
 
96
91
  # 0.2.0 (2025-02-23)
97
92
 
93
+ ## [0.4.5](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.4...v0.4.5) (2025-12-22)
94
+
95
+
96
+
97
+ ## [0.4.4](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.3...v0.4.4) (2025-12-22)
98
+
99
+
100
+ ### Reverts
101
+
102
+ * Revert "update dependenices" ([b3fe90e](https://github.com/homebridge-plugins/homebridge-smarthq/commit/b3fe90ea172fb78b8acd360695cbc3c6b97f0326))
103
+
104
+
105
+
98
106
  ## [0.4.3](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.3) (2025-12-22)
99
107
 
100
108
 
@@ -126,43 +134,25 @@ All notable changes to this project will be documented in this file. This projec
126
134
 
127
135
  # 0.2.0 (2025-02-23)
128
136
 
129
- ## [0.4.2](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.2) (2025-11-21)
130
-
137
+ ## [0.4.5](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.4...v0.4.5) (2025-12-22)
131
138
 
132
- ### Features
133
-
134
- * support hood ([#57](https://github.com/homebridge-plugins/homebridge-smarthq/issues/57)) ([2659b21](https://github.com/homebridge-plugins/homebridge-smarthq/commit/2659b21a0a483cb15e0622733f58d75603d99cab))
135
139
 
136
140
 
141
+ ## [0.4.4](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.3...v0.4.4) (2025-12-22)
137
142
 
138
- ## [0.4.1](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.0...v0.4.1) (2025-09-18)
139
143
 
144
+ ### Reverts
140
145
 
141
- ### Bug Fixes
146
+ * Revert "update dependenices" ([b3fe90e](https://github.com/homebridge-plugins/homebridge-smarthq/commit/b3fe90ea172fb78b8acd360695cbc3c6b97f0326))
142
147
 
143
- * **air conditioner:** fix temperature setting and update switch display names ([#38](https://github.com/homebridge-plugins/homebridge-smarthq/issues/38)) ([1675205](https://github.com/homebridge-plugins/homebridge-smarthq/commit/16752059c93d6a5b26b782f2b42246e622b4b830))
144
- * **air conditioner:** preserve decimal precision when converting Celsius to Fahrenheit ([#40](https://github.com/homebridge-plugins/homebridge-smarthq/issues/40)) ([38c8285](https://github.com/homebridge-plugins/homebridge-smarthq/commit/38c82852015d8ea0ceb0f4dd4b9ddf0622f57963))
145
- * **air conditioner:** report all operating modes off when unit is off ([#42](https://github.com/homebridge-plugins/homebridge-smarthq/issues/42)) ([d44ebe3](https://github.com/homebridge-plugins/homebridge-smarthq/commit/d44ebe34590a2da6645e30db0db269e1dbbe4f3b))
146
148
 
147
149
 
148
- ### Features
149
-
150
- * add Portable AC as supported device ([#45](https://github.com/homebridge-plugins/homebridge-smarthq/issues/45)) ([50d83b1](https://github.com/homebridge-plugins/homebridge-smarthq/commit/50d83b1e003d8d238485459a5c882f357e1c61fb))
151
-
152
-
153
-
154
- # [0.4.0](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.2.0...v0.4.0) (2025-06-27)
155
-
156
-
157
-
158
- # 0.2.0 (2025-02-23)
159
-
160
- ## [0.4.2](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.2) (2025-11-21)
150
+ ## [0.4.3](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.3) (2025-12-22)
161
151
 
162
152
 
163
153
  ### Features
164
154
 
165
- * support hood ([#57](https://github.com/homebridge-plugins/homebridge-smarthq/issues/57)) ([6a98928](https://github.com/homebridge-plugins/homebridge-smarthq/commit/6a989281dcac32d8c47fd78a2eb7bcd76c67c0b5))
155
+ * support hood ([#57](https://github.com/homebridge-plugins/homebridge-smarthq/issues/57)) ([2659b21](https://github.com/homebridge-plugins/homebridge-smarthq/commit/2659b21a0a483cb15e0622733f58d75603d99cab))
166
156
 
167
157
 
168
158
 
@@ -188,96 +178,88 @@ All notable changes to this project will be documented in this file. This projec
188
178
 
189
179
  # 0.2.0 (2025-02-23)
190
180
 
191
- ## [0.4.2](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.2) (2025-11-20)
192
-
193
-
194
- ### Features
195
-
196
- * support hood ([#57](https://github.com/homebridge-plugins/homebridge-smarthq/issues/57)) ([8f9cb9e](https://github.com/homebridge-plugins/homebridge-smarthq/commit/8f9cb9e66c5b911093f45d6ab530a68cd75177ac))
197
-
181
+ ---
198
182
 
183
+ ## [0.4.4](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.3...v0.4.4) (2025-12-22)
199
184
 
200
- ## [0.4.1](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.0...v0.4.1) (2025-09-18)
201
-
185
+ ### Reverts
202
186
 
203
- ### Bug Fixes
187
+ - Revert "update dependenices" ([b3fe90e](https://github.com/homebridge-plugins/homebridge-smarthq/commit/b3fe90ea172fb78b8acd360695cbc3c6b97f0326))
204
188
 
205
- * **air conditioner:** fix temperature setting and update switch display names ([#38](https://github.com/homebridge-plugins/homebridge-smarthq/issues/38)) ([1675205](https://github.com/homebridge-plugins/homebridge-smarthq/commit/16752059c93d6a5b26b782f2b42246e622b4b830))
206
- * **air conditioner:** preserve decimal precision when converting Celsius to Fahrenheit ([#40](https://github.com/homebridge-plugins/homebridge-smarthq/issues/40)) ([38c8285](https://github.com/homebridge-plugins/homebridge-smarthq/commit/38c82852015d8ea0ceb0f4dd4b9ddf0622f57963))
207
- * **air conditioner:** report all operating modes off when unit is off ([#42](https://github.com/homebridge-plugins/homebridge-smarthq/issues/42)) ([d44ebe3](https://github.com/homebridge-plugins/homebridge-smarthq/commit/d44ebe34590a2da6645e30db0db269e1dbbe4f3b))
189
+ ---
208
190
 
191
+ ## [0.4.3](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.3) (2025-12-22)
209
192
 
210
193
  ### Features
211
194
 
212
- * add Portable AC as supported device ([#45](https://github.com/homebridge-plugins/homebridge-smarthq/issues/45)) ([50d83b1](https://github.com/homebridge-plugins/homebridge-smarthq/commit/50d83b1e003d8d238485459a5c882f357e1c61fb))
213
-
195
+ - support hood ([#57](https://github.com/homebridge-plugins/homebridge-smarthq/issues/57)) ([2659b21](https://github.com/homebridge-plugins/homebridge-smarthq/commit/2659b21a0a483cb15e0622733f58d75603d99cab))
214
196
 
197
+ ---
215
198
 
216
- # [0.4.0](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.2.0...v0.4.0) (2025-06-27)
199
+ ## [0.4.2](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.1...v0.4.2) (2025-11-21)
217
200
 
201
+ ### Features
218
202
 
203
+ - support hood ([#57](https://github.com/homebridge-plugins/homebridge-smarthq/issues/57)) ([6a98928](https://github.com/homebridge-plugins/homebridge-smarthq/commit/6a989281dcac32d8c47fd78a2eb7bcd76c67c0b5))
219
204
 
220
- # 0.2.0 (2025-02-23)
205
+ ---
221
206
 
222
207
  ## [0.4.1](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.4.0...v0.4.1) (2025-09-18)
223
208
 
224
-
225
209
  ### Bug Fixes
226
210
 
227
- * **air conditioner:** fix temperature setting and update switch display names ([#38](https://github.com/homebridge-plugins/homebridge-smarthq/issues/38)) ([1675205](https://github.com/homebridge-plugins/homebridge-smarthq/commit/16752059c93d6a5b26b782f2b42246e622b4b830))
228
- * **air conditioner:** preserve decimal precision when converting Celsius to Fahrenheit ([#40](https://github.com/homebridge-plugins/homebridge-smarthq/issues/40)) ([38c8285](https://github.com/homebridge-plugins/homebridge-smarthq/commit/38c82852015d8ea0ceb0f4dd4b9ddf0622f57963))
229
- * **air conditioner:** report all operating modes off when unit is off ([#42](https://github.com/homebridge-plugins/homebridge-smarthq/issues/42)) ([d44ebe3](https://github.com/homebridge-plugins/homebridge-smarthq/commit/d44ebe34590a2da6645e30db0db269e1dbbe4f3b))
230
-
211
+ - **air conditioner:** fix temperature setting and update switch display names ([#38](https://github.com/homebridge-plugins/homebridge-smarthq/issues/38)) ([1675205](https://github.com/homebridge-plugins/homebridge-smarthq/commit/16752059c93d6a5b26b782f2b42246e622b4b830))
212
+ - **air conditioner:** preserve decimal precision when converting Celsius to Fahrenheit ([#40](https://github.com/homebridge-plugins/homebridge-smarthq/issues/40)) ([38c8285](https://github.com/homebridge-plugins/homebridge-smarthq/commit/38c82852015d8ea0ceb0f4dd4b9ddf0622f57963))
213
+ - **air conditioner:** report all operating modes off when unit is off ([#42](https://github.com/homebridge-plugins/homebridge-smarthq/issues/42)) ([d44ebe3](https://github.com/homebridge-plugins/homebridge-smarthq/commit/d44ebe34590a2da6645e30db0db269e1dbbe4f3b))
231
214
 
232
215
  ### Features
233
216
 
234
- * add Portable AC as supported device ([#45](https://github.com/homebridge-plugins/homebridge-smarthq/issues/45)) ([50d83b1](https://github.com/homebridge-plugins/homebridge-smarthq/commit/50d83b1e003d8d238485459a5c882f357e1c61fb))
217
+ - add Portable AC as supported device ([#45](https://github.com/homebridge-plugins/homebridge-smarthq/issues/45)) ([50d83b1](https://github.com/homebridge-plugins/homebridge-smarthq/commit/50d83b1e003d8d238485459a5c882f357e1c61fb))
235
218
 
236
-
237
-
238
- # [0.4.0](https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.2.0...v0.4.0) (2025-06-27)
239
-
240
-
241
-
242
- # 0.2.0 (2025-02-23)
219
+ ---
243
220
 
244
221
  ## [0.4.0](https://github.com/homebridge-plugins/homebridge-smarthq/releases/tag/v0.4.0) (2025-06-26)
245
222
 
246
- ### What's Changes
223
+ ### What's Changed
247
224
 
248
- - Add air conditioner support [#34](https://github.com/homebridge-plugins/homebridge-smarthq/pull/34), Thanks [@nicholasodonnell](https://github.com/nicholasodonnell)
249
- - Opal Monitoring Services Improvements [#26](https://github.com/homebridge-plugins/homebridge-smarthq/pull/26), Thanks [@jamesh48](https://github.com/jamesh48)
250
- - Opal Scheduling Manager [#25](https://github.com/homebridge-plugins/homebridge-smarthq/pull/25), Thanks [@jamesh48](https://github.com/jamesh48)
251
- - Fast Follower- Remove Unnecessary info logs [#24](https://github.com/homebridge-plugins/homebridge-smarthq/pull/24), Thanks [@jamesh48](https://github.com/jamesh48)
252
- - Opal Ice Maker- Labels, Sorting, Auto Shutoff Feature, Descale Notification [#23](https://github.com/homebridge-plugins/homebridge-smarthq/pull/23), Thanks [@jamesh48](https://github.com/jamesh48)
253
- - Favor deviceOptions over options for options that are specific to devices. [#21](https://github.com/homebridge-plugins/homebridge-smarthq/pull/21), Thanks [@jamesh48](https://github.com/jamesh48)
254
- - Opal Ice Maker Production/Progress Feature [#20](https://github.com/homebridge-plugins/homebridge-smarthq/pull/20), Thanks [@jamesh48](https://github.com/jamesh48)
255
- - Housekeeping and updated dependencies.
225
+ - Add air conditioner support ([#34](https://github.com/homebridge-plugins/homebridge-smarthq/pull/34)), Thanks [@nicholasodonnell](https://github.com/nicholasodonnell)
226
+ - Opal Monitoring Services Improvements ([#26](https://github.com/homebridge-plugins/homebridge-smarthq/pull/26)), Thanks [@jamesh48](https://github.com/jamesh48)
227
+ - Opal Scheduling Manager ([#25](https://github.com/homebridge-plugins/homebridge-smarthq/pull/25)), Thanks [@jamesh48](https://github.com/jamesh48)
228
+ - Fast Follower - Remove Unnecessary info logs ([#24](https://github.com/homebridge-plugins/homebridge-smarthq/pull/24)), Thanks [@jamesh48](https://github.com/jamesh48)
229
+ - Opal Ice Maker - Labels, Sorting, Auto Shutoff Feature, Descale Notification ([#23](https://github.com/homebridge-plugins/homebridge-smarthq/pull/23)), Thanks [@jamesh48](https://github.com/jamesh48)
230
+ - Favor deviceOptions over options for options that are specific to devices ([#21](https://github.com/homebridge-plugins/homebridge-smarthq/pull/21)), Thanks [@jamesh48](https://github.com/jamesh48)
231
+ - Opal Ice Maker Production/Progress Feature ([#20](https://github.com/homebridge-plugins/homebridge-smarthq/pull/20)), Thanks [@jamesh48](https://github.com/jamesh48)
232
+ - Housekeeping and updated dependencies
256
233
 
257
234
  **Full Changelog**: https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.3.0...v0.4.0
258
235
 
259
- ## [0.3.0](https://github.com/homebridge-plugins/homebridge-smarthq/releases/tag/v0.3.0) (2025-03-04)
236
+ ---
260
237
 
261
- # *No New Releases During Lent*
238
+ ## [0.3.0](https://github.com/homebridge-plugins/homebridge-smarthq/releases/tag/v0.3.0) (2025-03-04)
262
239
 
263
- ### What's Changes
240
+ ### What's Changed
264
241
 
265
- - Opal Ice Maker Production/Progress Feature. [#17](https://github.com/homebridge-plugins/homebridge-smarthq/pull/17), Thanks [@jamesh48](https://github.com/jamesh48)
266
- - Housekeeping and updated dependencies.
242
+ - Opal Ice Maker Production/Progress Feature ([#17](https://github.com/homebridge-plugins/homebridge-smarthq/pull/17)), Thanks [@jamesh48](https://github.com/jamesh48)
243
+ - Housekeeping and updated dependencies
267
244
 
268
245
  **Full Changelog**: https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.2.0...v0.3.0
269
246
 
247
+ ---
248
+
270
249
  ## [0.2.0](https://github.com/homebridge-plugins/homebridge-smarthq/releases/tag/v0.2.0) (2025-02-23)
271
250
 
272
- ### What's Changes
251
+ ### What's Changed
273
252
 
274
- - Basic Support for Opal Ice Maker 2.0. [#14](https://github.com/homebridge-plugins/homebridge-smarthq/pull/14), Thanks [@jamesh48](https://github.com/jamesh48)
253
+ - Basic Support for Opal Ice Maker 2.0 ([#14](https://github.com/homebridge-plugins/homebridge-smarthq/pull/14)), Thanks [@jamesh48](https://github.com/jamesh48)
275
254
  - Basic Support for Ovens
276
255
 
277
256
  **Full Changelog**: https://github.com/homebridge-plugins/homebridge-smarthq/compare/v0.1.0...v0.2.0
278
257
 
258
+ ---
259
+
279
260
  ## [0.1.0](https://github.com/homebridge-plugins/homebridge-smarthq/releases/tag/v0.1.0) (2024-09-07)
280
261
 
281
- ### What's Changes
262
+ ### What's Changed
282
263
 
283
264
  - Initial Release
265
+
@@ -0,0 +1,10 @@
1
+ import type { PlatformAccessory } from 'homebridge';
2
+ import type { SmartHQPlatform } from '../platform.js';
3
+ import type { devicesConfig, SmartHqContext } from '../settings.js';
4
+ import { deviceBase } from './device.js';
5
+ export declare class SmartHQAdvantium extends deviceBase {
6
+ readonly platform: SmartHQPlatform;
7
+ readonly device: SmartHqContext['device'] & devicesConfig;
8
+ constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
9
+ }
10
+ //# sourceMappingURL=advantium.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advantium.d.ts","sourceRoot":"","sources":["../../src/devices/advantium.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,gBAAiB,SAAQ,UAAU;IAE5C,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAElC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;gBAFhD,QAAQ,EAAE,eAAe,EAClC,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EACnC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;CA+D5D"}
@@ -0,0 +1,72 @@
1
+ import { deviceBase } from './device.js';
2
+ export class SmartHQAdvantium extends deviceBase {
3
+ platform;
4
+ device;
5
+ constructor(platform, accessory, device) {
6
+ super(platform, accessory, device);
7
+ this.platform = platform;
8
+ this.device = device;
9
+ this.debugLog(`Advantium Features: ${JSON.stringify(accessory.context.device.features)}`);
10
+ // Advantium Light
11
+ const light = this.accessory.getService('Advantium Light') ?? this.accessory.addService(this.platform.Service.Lightbulb, 'Advantium Light', 'AdvantiumLight');
12
+ light
13
+ .getCharacteristic(this.platform.Characteristic.On)
14
+ .onGet(async () => {
15
+ try {
16
+ // TODO: Implement light state ERD
17
+ return false;
18
+ }
19
+ catch (error) {
20
+ this.warnLog?.(`Advantium Light error: ${error?.message ?? error}`);
21
+ return false;
22
+ }
23
+ })
24
+ .onSet(async (value) => {
25
+ try {
26
+ // TODO: Implement light control ERD
27
+ this.debugLog(`Advantium Light set to: ${value}`);
28
+ }
29
+ catch (error) {
30
+ this.warnLog?.(`Advantium Light set error: ${error?.message ?? error}`);
31
+ }
32
+ });
33
+ // Advantium Temperature Sensor
34
+ const tempSensor = this.accessory.getService('Advantium Temperature') ?? this.accessory.addService(this.platform.Service.TemperatureSensor, 'Advantium Temperature', 'AdvantiumTemp');
35
+ tempSensor
36
+ .getCharacteristic(this.platform.Characteristic.CurrentTemperature)
37
+ .onGet(async () => {
38
+ try {
39
+ // TODO: Implement current temperature ERD
40
+ return 0;
41
+ }
42
+ catch (error) {
43
+ this.warnLog?.(`Advantium Temperature error: ${error?.message ?? error}`);
44
+ return 0;
45
+ }
46
+ });
47
+ // Advantium Running State (Switch)
48
+ const runningSwitch = this.accessory.getService('Advantium Running') ?? this.accessory.addService(this.platform.Service.Switch, 'Advantium Running', 'AdvantiumRunning');
49
+ runningSwitch
50
+ .getCharacteristic(this.platform.Characteristic.On)
51
+ .onGet(async () => {
52
+ try {
53
+ // TODO: Implement running state ERD
54
+ return false;
55
+ }
56
+ catch (error) {
57
+ this.warnLog?.(`Advantium Running error: ${error?.message ?? error}`);
58
+ return false;
59
+ }
60
+ })
61
+ .onSet(async (value) => {
62
+ try {
63
+ // TODO: Implement running control ERD
64
+ this.debugLog(`Advantium Running set to: ${value}`);
65
+ }
66
+ catch (error) {
67
+ this.warnLog?.(`Advantium Running set error: ${error?.message ?? error}`);
68
+ }
69
+ });
70
+ }
71
+ }
72
+ //# sourceMappingURL=advantium.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advantium.js","sourceRoot":"","sources":["../../src/devices/advantium.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { PlatformAccessory } from 'homebridge';
2
+ import type { SmartHQPlatform } from '../platform.js';
3
+ import type { devicesConfig, SmartHqContext } from '../settings.js';
4
+ import { deviceBase } from './device.js';
5
+ export declare class SmartHQBeverageCenter extends deviceBase {
6
+ readonly platform: SmartHQPlatform;
7
+ readonly device: SmartHqContext['device'] & devicesConfig;
8
+ constructor(platform: SmartHQPlatform, accessory: PlatformAccessory<SmartHqContext>, device: SmartHqContext['device'] & devicesConfig);
9
+ }
10
+ //# sourceMappingURL=beverageCenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beverageCenter.d.ts","sourceRoot":"","sources":["../../src/devices/beverageCenter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,qBAAsB,SAAQ,UAAU;IAEjD,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAElC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;gBAFhD,QAAQ,EAAE,eAAe,EAClC,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EACnC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,aAAa;CAkH5D"}
@@ -0,0 +1,122 @@
1
+ import { deviceBase } from './device.js';
2
+ export class SmartHQBeverageCenter extends deviceBase {
3
+ platform;
4
+ device;
5
+ constructor(platform, accessory, device) {
6
+ super(platform, accessory, device);
7
+ this.platform = platform;
8
+ this.device = device;
9
+ this.debugLog(`Beverage Center Features: ${JSON.stringify(accessory.context.device.features)}`);
10
+ // Beverage Center Temperature Sensor
11
+ const tempSensor = this.accessory.getService('Beverage Temperature') ?? this.accessory.addService(this.platform.Service.TemperatureSensor, 'Beverage Temperature', 'BeverageTemp');
12
+ tempSensor
13
+ .getCharacteristic(this.platform.Characteristic.CurrentTemperature)
14
+ .onGet(async () => {
15
+ try {
16
+ // TODO: Implement current temperature ERD
17
+ return 4;
18
+ }
19
+ catch (error) {
20
+ this.warnLog?.(`Beverage Center Temperature error: ${error?.message ?? error}`);
21
+ return 4;
22
+ }
23
+ });
24
+ // Beverage Center Door Sensor
25
+ const doorSensor = this.accessory.getService('Beverage Door') ?? this.accessory.addService(this.platform.Service.ContactSensor, 'Beverage Door', 'BeverageDoor');
26
+ doorSensor
27
+ .getCharacteristic(this.platform.Characteristic.ContactSensorState)
28
+ .onGet(async () => {
29
+ try {
30
+ // TODO: Implement door status ERD
31
+ return this.platform.Characteristic.ContactSensorState.CONTACT_DETECTED;
32
+ }
33
+ catch (error) {
34
+ this.warnLog?.(`Beverage Center Door error: ${error?.message ?? error}`);
35
+ return this.platform.Characteristic.ContactSensorState.CONTACT_DETECTED;
36
+ }
37
+ });
38
+ // Beverage Center Thermostat Control
39
+ const thermostat = this.accessory.getService('Beverage Thermostat') ?? this.accessory.addService(this.platform.Service.Thermostat, 'Beverage Thermostat', 'BeverageThermostat');
40
+ thermostat
41
+ .getCharacteristic(this.platform.Characteristic.CurrentHeatingCoolingState)
42
+ .onGet(async () => {
43
+ try {
44
+ // TODO: Implement cooling state ERD
45
+ return this.platform.Characteristic.CurrentHeatingCoolingState.COOL;
46
+ }
47
+ catch (error) {
48
+ this.warnLog?.(`Beverage Center State error: ${error?.message ?? error}`);
49
+ return this.platform.Characteristic.CurrentHeatingCoolingState.OFF;
50
+ }
51
+ });
52
+ thermostat
53
+ .getCharacteristic(this.platform.Characteristic.TargetHeatingCoolingState)
54
+ .setProps({
55
+ validValues: [this.platform.Characteristic.TargetHeatingCoolingState.OFF, this.platform.Characteristic.TargetHeatingCoolingState.COOL],
56
+ })
57
+ .onGet(async () => {
58
+ try {
59
+ // TODO: Implement target state ERD
60
+ return this.platform.Characteristic.TargetHeatingCoolingState.COOL;
61
+ }
62
+ catch (error) {
63
+ this.warnLog?.(`Beverage Center Target State error: ${error?.message ?? error}`);
64
+ return this.platform.Characteristic.TargetHeatingCoolingState.OFF;
65
+ }
66
+ })
67
+ .onSet(async (value) => {
68
+ try {
69
+ // TODO: Implement target state control ERD
70
+ this.debugLog(`Beverage Center set to: ${value}`);
71
+ }
72
+ catch (error) {
73
+ this.warnLog?.(`Beverage Center Target State set error: ${error?.message ?? error}`);
74
+ }
75
+ });
76
+ thermostat
77
+ .getCharacteristic(this.platform.Characteristic.CurrentTemperature)
78
+ .onGet(async () => {
79
+ try {
80
+ // TODO: Implement current temperature ERD
81
+ return 4;
82
+ }
83
+ catch (error) {
84
+ this.warnLog?.(`Beverage Center Current Temp error: ${error?.message ?? error}`);
85
+ return 4;
86
+ }
87
+ });
88
+ thermostat
89
+ .getCharacteristic(this.platform.Characteristic.TargetTemperature)
90
+ .setProps({
91
+ minValue: 2,
92
+ maxValue: 8,
93
+ minStep: 1,
94
+ })
95
+ .onGet(async () => {
96
+ try {
97
+ // TODO: Implement target temperature ERD
98
+ return 4;
99
+ }
100
+ catch (error) {
101
+ this.warnLog?.(`Beverage Center Target Temp error: ${error?.message ?? error}`);
102
+ return 4;
103
+ }
104
+ })
105
+ .onSet(async (value) => {
106
+ try {
107
+ // TODO: Implement target temperature control ERD
108
+ this.debugLog(`Beverage Center temperature set to: ${value}°C`);
109
+ }
110
+ catch (error) {
111
+ this.warnLog?.(`Beverage Center Target Temp set error: ${error?.message ?? error}`);
112
+ }
113
+ });
114
+ thermostat
115
+ .getCharacteristic(this.platform.Characteristic.TemperatureDisplayUnits)
116
+ .onGet(async () => this.platform.Characteristic.TemperatureDisplayUnits.CELSIUS)
117
+ .onSet(async (value) => {
118
+ this.debugLog(`Beverage Center display units set to: ${value}`);
119
+ });
120
+ }
121
+ }
122
+ //# sourceMappingURL=beverageCenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beverageCenter.js","sourceRoot":"","sources":["../../src/devices/beverageCenter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
2
  import type { SmartHqContext } from '../settings.js';
3
- import { deviceBase } from './device';
3
+ import { deviceBase } from './device.js';
4
4
  export declare class SmartHQClothesDryer extends deviceBase {
5
5
  private ClothesDryer;
6
6
  constructor(platform: any, accessory: PlatformAccessory<SmartHqContext>, device: any);
@@ -1 +1 @@
1
- {"version":3,"file":"clothesDryer.d.ts","sourceRoot":"","sources":["../../src/devices/clothesDryer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,OAAO,CAAC,YAAY,CAEnB;gBAGC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,GAAG;IAgBP,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAY3C,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7D"}
1
+ {"version":3,"file":"clothesDryer.d.ts","sourceRoot":"","sources":["../../src/devices/clothesDryer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,OAAO,CAAC,YAAY,CAEnB;gBAGC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,GAAG;IAqDP,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAY3C,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7D"}
@@ -1,19 +1,54 @@
1
- import { deviceBase } from './device';
1
+ import { deviceBase } from './device.js';
2
2
  export class SmartHQClothesDryer extends deviceBase {
3
3
  ClothesDryer;
4
4
  constructor(platform, accessory, device) {
5
5
  super(platform, accessory, device);
6
6
  this.debugLog(`Clothes Dryer Features: ${JSON.stringify(accessory.context.device.features)}`);
7
- accessory.context.device.features.forEach((feature) => {
8
- if (feature === 'CLOTHES_DRYER_V1_FOUNDATION') {
9
- const dryer = this.accessory.getService(accessory.displayName) ?? this.accessory.addService(this.platform.Service.Switch, accessory.displayName, 'Clothes Dryer');
10
- dryer.getCharacteristic(this.platform.Characteristic.On)
11
- .onGet(this.handleGetOn.bind(this))
12
- .onSet(this.handleSetOn.bind(this));
7
+ // Dryer Running State (Valve)
8
+ const dryerValve = this.accessory.getService('Dryer') ?? this.accessory.addService(this.platform.Service.Valve, 'Dryer', 'Dryer');
9
+ dryerValve.setCharacteristic(this.platform.Characteristic.ValveType, this.platform.Characteristic.ValveType.GENERIC_VALVE);
10
+ dryerValve
11
+ .getCharacteristic(this.platform.Characteristic.Active)
12
+ .onGet(async () => {
13
+ try {
14
+ return this.ClothesDryer?.On ? this.platform.Characteristic.Active.ACTIVE : this.platform.Characteristic.Active.INACTIVE;
13
15
  }
14
- else {
15
- this.debugLog(`Feature not supported: ${feature}`);
16
+ catch (error) {
17
+ this.warnLog?.(`Dryer Active error: ${error?.message ?? error}`);
18
+ return this.platform.Characteristic.Active.INACTIVE;
16
19
  }
20
+ })
21
+ .onSet(this.handleSetOn.bind(this));
22
+ dryerValve
23
+ .getCharacteristic(this.platform.Characteristic.InUse)
24
+ .onGet(async () => {
25
+ try {
26
+ return this.ClothesDryer?.On ? this.platform.Characteristic.InUse.IN_USE : this.platform.Characteristic.InUse.NOT_IN_USE;
27
+ }
28
+ catch (error) {
29
+ this.warnLog?.(`Dryer InUse error: ${error?.message ?? error}`);
30
+ return this.platform.Characteristic.InUse.NOT_IN_USE;
31
+ }
32
+ });
33
+ // Door Lock
34
+ const doorLock = this.accessory.getService('Dryer Door Lock') ?? this.accessory.addService(this.platform.Service.LockMechanism, 'Dryer Door Lock', 'DryerDoorLock');
35
+ doorLock
36
+ .getCharacteristic(this.platform.Characteristic.LockCurrentState)
37
+ .onGet(async () => {
38
+ try {
39
+ // TODO: Implement door lock state when ERD available
40
+ return this.platform.Characteristic.LockCurrentState.UNSECURED;
41
+ }
42
+ catch (error) {
43
+ this.warnLog?.(`Dryer Door Lock error: ${error?.message ?? error}`);
44
+ return this.platform.Characteristic.LockCurrentState.UNSECURED;
45
+ }
46
+ });
47
+ doorLock
48
+ .getCharacteristic(this.platform.Characteristic.LockTargetState)
49
+ .onGet(async () => this.platform.Characteristic.LockTargetState.UNSECURED)
50
+ .onSet(async (value) => {
51
+ this.debugLog(`Dryer Door Lock set to: ${value}`);
17
52
  });
18
53
  }
19
54
  async handleGetOn() {
@@ -1 +1 @@
1
- {"version":3,"file":"clothesDryer.js","sourceRoot":"","sources":["../../src/devices/clothesDryer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IACzC,YAAY,CAEnB;IAED,YACE,QAAa,EACb,SAA4C,EAC5C,MAAW;QAEX,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC7F,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;YAC5D,IAAI,OAAO,KAAK,6BAA6B,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;gBACjK,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;qBACrD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAA;YACpD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,qEAAqE;YACrE,kEAAkE;YAClE,yCAAyC;YACzC,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,KAAK,CAAA;QACvC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,EAAE,CAAC,mCAAmC,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;YAC5E,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA0B;QAC1C,IAAI,CAAC;YACH,qEAAqE;YACrE,oEAAoE;YACpE,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,KAAK,CAAA;QAC9B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,EAAE,CAAC,mCAAmC,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"clothesDryer.js","sourceRoot":"","sources":["../../src/devices/clothesDryer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
2
2
  import type { SmartHqContext } from '../settings.js';
3
- import { deviceBase } from './device';
3
+ import { deviceBase } from './device.js';
4
4
  export declare class SmartHQClothesWasher extends deviceBase {
5
5
  private ClothesWasher;
6
6
  constructor(platform: any, accessory: PlatformAccessory<SmartHqContext>, device: any);
@@ -1 +1 @@
1
- {"version":3,"file":"clothesWasher.d.ts","sourceRoot":"","sources":["../../src/devices/clothesWasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,aAAa,CAEpB;gBAGC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,GAAG;IAgBP,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAY3C,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7D"}
1
+ {"version":3,"file":"clothesWasher.d.ts","sourceRoot":"","sources":["../../src/devices/clothesWasher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,qBAAa,oBAAqB,SAAQ,UAAU;IAClD,OAAO,CAAC,aAAa,CAEpB;gBAGC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAAC,EAC5C,MAAM,EAAE,GAAG;IAqDP,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAY3C,WAAW,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAS7D"}