matterbridge-dyson-robot 1.6.8 → 1.7.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 (154) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/README.md +19 -16
  3. package/dist/config-types.d.ts +1 -0
  4. package/dist/config-types.d.ts.map +1 -1
  5. package/dist/dyson-360-cloud-types.d.ts +176 -0
  6. package/dist/dyson-360-cloud-types.d.ts.map +1 -0
  7. package/dist/dyson-360-cloud-types.js +4 -0
  8. package/dist/dyson-360-cloud-types.js.map +1 -0
  9. package/dist/dyson-360-msg-types.d.ts +18 -2
  10. package/dist/dyson-360-msg-types.d.ts.map +1 -1
  11. package/dist/dyson-360-types.d.ts +76 -7
  12. package/dist/dyson-360-types.d.ts.map +1 -1
  13. package/dist/dyson-360-types.js +74 -6
  14. package/dist/dyson-360-types.js.map +1 -1
  15. package/dist/dyson-air-cloud-types.d.ts +48 -0
  16. package/dist/dyson-air-cloud-types.d.ts.map +1 -0
  17. package/dist/dyson-air-cloud-types.js +4 -0
  18. package/dist/dyson-air-cloud-types.js.map +1 -0
  19. package/dist/dyson-cloud-api-device.d.ts +34 -0
  20. package/dist/dyson-cloud-api-device.d.ts.map +1 -0
  21. package/dist/dyson-cloud-api-device.js +113 -0
  22. package/dist/dyson-cloud-api-device.js.map +1 -0
  23. package/dist/dyson-cloud-api-ua.d.ts +15 -6
  24. package/dist/dyson-cloud-api-ua.d.ts.map +1 -1
  25. package/dist/dyson-cloud-api-ua.js +48 -10
  26. package/dist/dyson-cloud-api-ua.js.map +1 -1
  27. package/dist/dyson-cloud-api.d.ts +4 -3
  28. package/dist/dyson-cloud-api.d.ts.map +1 -1
  29. package/dist/dyson-cloud-api.js +13 -11
  30. package/dist/dyson-cloud-api.js.map +1 -1
  31. package/dist/dyson-cloud-types.d.ts +22 -0
  32. package/dist/dyson-cloud-types.d.ts.map +1 -1
  33. package/dist/dyson-cloud-types.js +5 -0
  34. package/dist/dyson-cloud-types.js.map +1 -1
  35. package/dist/dyson-cloud.d.ts +8 -3
  36. package/dist/dyson-cloud.d.ts.map +1 -1
  37. package/dist/dyson-cloud.js +8 -5
  38. package/dist/dyson-cloud.js.map +1 -1
  39. package/dist/dyson-device-360-base.d.ts +11 -5
  40. package/dist/dyson-device-360-base.d.ts.map +1 -1
  41. package/dist/dyson-device-360-base.js +26 -11
  42. package/dist/dyson-device-360-base.js.map +1 -1
  43. package/dist/dyson-device-360-commands.d.ts +23 -3
  44. package/dist/dyson-device-360-commands.d.ts.map +1 -1
  45. package/dist/dyson-device-360-commands.js +114 -76
  46. package/dist/dyson-device-360-commands.js.map +1 -1
  47. package/dist/dyson-device-360-zones.d.ts +62 -0
  48. package/dist/dyson-device-360-zones.d.ts.map +1 -0
  49. package/dist/dyson-device-360-zones.js +286 -0
  50. package/dist/dyson-device-360-zones.js.map +1 -0
  51. package/dist/dyson-device-360.d.ts +84 -5
  52. package/dist/dyson-device-360.d.ts.map +1 -1
  53. package/dist/dyson-device-360.js +40 -11
  54. package/dist/dyson-device-360.js.map +1 -1
  55. package/dist/dyson-device-air-heat.d.ts +2 -1
  56. package/dist/dyson-device-air-heat.d.ts.map +1 -1
  57. package/dist/dyson-device-air-heat.js +1 -1
  58. package/dist/dyson-device-air-heat.js.map +1 -1
  59. package/dist/dyson-device-air.d.ts +3 -0
  60. package/dist/dyson-device-air.d.ts.map +1 -1
  61. package/dist/dyson-device-air.js +22 -1
  62. package/dist/dyson-device-air.js.map +1 -1
  63. package/dist/dyson-device-base.d.ts +5 -2
  64. package/dist/dyson-device-base.d.ts.map +1 -1
  65. package/dist/dyson-device-base.js +3 -1
  66. package/dist/dyson-device-base.js.map +1 -1
  67. package/dist/dyson-device.d.ts +2 -1
  68. package/dist/dyson-device.d.ts.map +1 -1
  69. package/dist/dyson-device.js +6 -27
  70. package/dist/dyson-device.js.map +1 -1
  71. package/dist/dyson-mqtt-360.d.ts +4 -2
  72. package/dist/dyson-mqtt-360.d.ts.map +1 -1
  73. package/dist/dyson-mqtt-360.js +45 -12
  74. package/dist/dyson-mqtt-360.js.map +1 -1
  75. package/dist/dyson-mqtt-client-live.d.ts +1 -1
  76. package/dist/dyson-mqtt-client-live.d.ts.map +1 -1
  77. package/dist/dyson-mqtt-client-live.js +1 -1
  78. package/dist/dyson-mqtt-client-live.js.map +1 -1
  79. package/dist/endpoint-360-behavior.d.ts +6 -2
  80. package/dist/endpoint-360-behavior.d.ts.map +1 -1
  81. package/dist/endpoint-360-behavior.js +46 -3
  82. package/dist/endpoint-360-behavior.js.map +1 -1
  83. package/dist/endpoint-360-rvc.d.ts +3 -1
  84. package/dist/endpoint-360-rvc.d.ts.map +1 -1
  85. package/dist/endpoint-360-rvc.js +36 -13
  86. package/dist/endpoint-360-rvc.js.map +1 -1
  87. package/dist/endpoint-360.d.ts +11 -1
  88. package/dist/endpoint-360.d.ts.map +1 -1
  89. package/dist/endpoint-360.js +39 -3
  90. package/dist/endpoint-360.js.map +1 -1
  91. package/dist/error-360.d.ts +11 -1
  92. package/dist/error-360.d.ts.map +1 -1
  93. package/dist/error-360.js +36 -1
  94. package/dist/error-360.js.map +1 -1
  95. package/dist/platform.d.ts +2 -2
  96. package/dist/platform.d.ts.map +1 -1
  97. package/dist/platform.js +2 -1
  98. package/dist/platform.js.map +1 -1
  99. package/dist/settings.d.ts.map +1 -1
  100. package/dist/settings.js +1 -0
  101. package/dist/settings.js.map +1 -1
  102. package/dist/ti/config-types-ti.d.ts.map +1 -1
  103. package/dist/ti/config-types-ti.js +1 -0
  104. package/dist/ti/config-types-ti.js.map +1 -1
  105. package/dist/ti/config-types.js +1 -1
  106. package/dist/ti/dyson-360-cloud-types-ti.d.ts +34 -0
  107. package/dist/ti/dyson-360-cloud-types-ti.d.ts.map +1 -0
  108. package/dist/ti/dyson-360-cloud-types-ti.js +209 -0
  109. package/dist/ti/dyson-360-cloud-types-ti.js.map +1 -0
  110. package/dist/ti/dyson-360-cloud-types.d.ts +91 -0
  111. package/dist/ti/dyson-360-cloud-types.d.ts.map +1 -0
  112. package/dist/ti/dyson-360-cloud-types.js +13 -0
  113. package/dist/ti/dyson-360-cloud-types.js.map +1 -0
  114. package/dist/ti/dyson-360-msg-types-ti.d.ts +1 -0
  115. package/dist/ti/dyson-360-msg-types-ti.d.ts.map +1 -1
  116. package/dist/ti/dyson-360-msg-types-ti.js +19 -2
  117. package/dist/ti/dyson-360-msg-types-ti.js.map +1 -1
  118. package/dist/ti/dyson-360-msg-types.d.ts +4 -1
  119. package/dist/ti/dyson-360-msg-types.d.ts.map +1 -1
  120. package/dist/ti/dyson-360-msg-types.js +1 -1
  121. package/dist/ti/dyson-360-msg-types.js.map +1 -1
  122. package/dist/ti/dyson-360-types-ti.d.ts +7 -0
  123. package/dist/ti/dyson-360-types-ti.d.ts.map +1 -1
  124. package/dist/ti/dyson-360-types-ti.js +81 -5
  125. package/dist/ti/dyson-360-types-ti.js.map +1 -1
  126. package/dist/ti/dyson-360-types.d.ts +22 -1
  127. package/dist/ti/dyson-360-types.d.ts.map +1 -1
  128. package/dist/ti/dyson-360-types.js +1 -1
  129. package/dist/ti/dyson-360-types.js.map +1 -1
  130. package/dist/ti/dyson-air-cloud-types-ti.d.ts +11 -0
  131. package/dist/ti/dyson-air-cloud-types-ti.d.ts.map +1 -0
  132. package/dist/ti/dyson-air-cloud-types-ti.js +58 -0
  133. package/dist/ti/dyson-air-cloud-types-ti.js.map +1 -0
  134. package/dist/ti/dyson-air-cloud-types.d.ts +22 -0
  135. package/dist/ti/dyson-air-cloud-types.d.ts.map +1 -0
  136. package/dist/ti/dyson-air-cloud-types.js +14 -0
  137. package/dist/ti/dyson-air-cloud-types.js.map +1 -0
  138. package/dist/ti/dyson-air-msg-types.d.ts.map +1 -1
  139. package/dist/ti/dyson-air-msg-types.js +7 -5
  140. package/dist/ti/dyson-air-msg-types.js.map +1 -1
  141. package/dist/ti/dyson-air-sensor-types.js +1 -1
  142. package/dist/ti/dyson-air-state-types.js +1 -1
  143. package/dist/ti/dyson-air-types.js +1 -1
  144. package/dist/ti/dyson-cloud-types-ti.d.ts +5 -0
  145. package/dist/ti/dyson-cloud-types-ti.d.ts.map +1 -1
  146. package/dist/ti/dyson-cloud-types-ti.js +27 -0
  147. package/dist/ti/dyson-cloud-types-ti.js.map +1 -1
  148. package/dist/ti/dyson-cloud-types.d.ts +16 -1
  149. package/dist/ti/dyson-cloud-types.d.ts.map +1 -1
  150. package/dist/ti/dyson-cloud-types.js +1 -1
  151. package/dist/ti/dyson-cloud-types.js.map +1 -1
  152. package/dist/ti/dyson-types.js +1 -1
  153. package/matterbridge-dyson-robot.schema.json +9 -0
  154. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [v1.7.0] - 2025-12-24
8
+ ### Added
9
+ * Zone cleaning (Service Areas) implemented for Dyson 360 Vis Nav.
10
+ * Improved Apple Home compatibility for robot vacuum devices by only tagging each cleaning mode with a single ModeTag. This is controlled by the new `simpleModeTagsRvc` configuration option.
11
+ ### Fixed
12
+ * Accept additional changes to MQTT messages for Dyson 360 Vis Nav.
13
+
14
+ ## [v1.6.9] - 2025-12-18
15
+ ### Fixed
16
+ * Accept additional changes to MQTT messages for Dyson 360 Vis Nav.
17
+ ### Changed
18
+ * Updated dependencies.
19
+
7
20
  ## [v1.6.8] - 2025-12-14
8
21
  ### Fixed
9
22
  * Accept `HELLO` MQTT messages from BP03.
@@ -232,7 +245,9 @@ All notable changes to this project will be documented in this file.
232
245
 
233
246
  Copyright © 2025 Alexander Thoukydides
234
247
 
235
- [Unreleased]: https://github.com/thoukydides/matterbridge-dyson-robot/compare/v1.6.8...HEAD
248
+ [Unreleased]: https://github.com/thoukydides/matterbridge-dyson-robot/compare/v1.7.0...HEAD
249
+ [v1.7.0]: https://github.com/thoukydides/homebridge-homeconnect/compare/v1.6.9...v1.7.0
250
+ [v1.6.9]: https://github.com/thoukydides/homebridge-homeconnect/compare/v1.6.8...v1.6.9
236
251
  [v1.6.8]: https://github.com/thoukydides/homebridge-homeconnect/compare/v1.6.7...v1.6.8
237
252
  [v1.6.7]: https://github.com/thoukydides/homebridge-homeconnect/compare/v1.6.6...v1.6.7
238
253
  [v1.6.6]: https://github.com/thoukydides/homebridge-homeconnect/compare/v1.6.5...v1.6.6
package/README.md CHANGED
@@ -18,7 +18,7 @@ to the [Matter](https://csa-iot.org/all-solutions/matter/) smart home ecosystem
18
18
 
19
19
  ## Installation
20
20
 
21
- This plugin supports multiple methods for configuring and connecting to Dyson robot vacuum and air treatment devices. The following instructions are for cloud-based connection via a MyDyson account and the Dyson AWS IoT MQTT gateway, which is the recommended approach (and the only one compatible with Dyson 360 Vis Nav robot vacuums). See [Alternative Provisioning Methods](#provisioning-methods) (below) for options to connect to supported devices locally.
21
+ This plugin supports multiple methods for configuring and connecting to Dyson robot vacuum and air treatment devices. The following instructions are for cloud-based connection via a MyDyson account and the Dyson AWS IoT MQTT gateway, which is the recommended approach (and the only one compatible with some recent products such as Dyson 360 Vis Nav robot vacuums). See [Alternative Provisioning Methods](#provisioning-methods) (below) for options to connect to supported devices locally.
22
22
 
23
23
  ### Step 1 - Create Account and Connect Devices
24
24
  1. Use the MyDyson [iPhone](https://apps.apple.com/gb/app/mydyson/id993135524) or [Android](https://play.google.com/store/apps/details?id=com.dyson.mobile.android) app to create an account.
@@ -66,6 +66,7 @@ MyDyson account authorisation cannot be completed via the command line. See [Alt
66
66
  "china": false
67
67
  },
68
68
  "enableServerRvc": true,
69
+ "simpleModeTagsRvc": true,
69
70
  "wildcardTopic": true,
70
71
  "blackList": [],
71
72
  "whiteList": [],
@@ -92,6 +93,7 @@ You can include additional settings in `matterbridge-dyson-robot.config.json` to
92
93
  | `provisioningMethod` | `"Remote Account"` | Selects how the plugin is configured and how it connects to the Dyson devices. See [Alternative Provisioning Methods](#provisioning-methods) (below) for details of each option.
93
94
  | `devices` | `[]` | Local network and MQTT configuration for each Dyson device when not using the `Remote Account` provisioning method. See below for details.
94
95
  | `enableServerRvc` | `true` | When set to `false` all devices are exposed via a single Matter bridge. Setting it to `true` exposes any robot vacuum devices as standalone Matter nodes using Matterbridge's `server` mode, with the Matter bridge only used for any air treatment devices. This improves compatibility with Matter controllers such as the Apple Home app, but requires each robot vacuum to be paired individually.
96
+ | `simpleModeTagsRvc` | `true` | When set to `false` all relevant ModeTag values are listed for each cleaning mode (e.g. `MaxBoost` might be tagged as *Max*, *Vacuum*, and *Day*). When set to `true` only the single most descriptive ModeTag is published for each cleaning mode. This improves compatibility with Matter controllers such as the Apple Home app, which do not handle multiple mode tags gracefully.
95
97
  | `logMapStyle` | `"Matterbridge"` | Select how robot vacuum maps are rendered in the log at the end of cleans. When set to `"Matterbridge"` the map is restricted to glyphs that render correctly in the Matterbridge frontend. Change to `Monospaced` for more detailed and clearer maps if the log will be viewed using a monospaced font. Set to `"Off"` to disable logging of maps.
96
98
  | `wildcardTopic` | `true` | When set to `false` the plugin only subscribes to the essential status MQTT topic(s) appropriate for each device. Setting it to `true` additionally subscribes to the command topic (for AWS IoT connections) or to the `#` wildcard topic (for local network connections), receiving additional messages published by the devices or echoed by the MQTT brokers. This is useful for discovering new topics, seeing the commands issued by the MyDyson app (only some commands to robot vacuums), and verifying correct `root_topic` and `username` settings.
97
99
  | `blackList` | `[]` | If the list is not empty, then any robot vacuum and air treatment devices with matching serial numbers will not be exposed as Matter devices.
@@ -280,25 +282,23 @@ The following sections describe the functionality exposed to Matter. Different e
280
282
  <details>
281
283
  <summary>Robot Vacuums</summary>
282
284
 
283
- Each robot vacuum appears as a standalone Matter device with a single endpoint. This supports basic start/stop/pause/resume control and changing power mode. Detailed status information is provided for the robot vacuum's activity, battery, and any faults.
284
-
285
- Zone cleaning and mapping control are not currently supported, as Dyson's MQTT API does not appear to expose these functions.
285
+ Each robot vacuum appears as a standalone Matter device with a single endpoint. This supports basic start/stop/pause/resume control and changing power mode. Detailed status information is provided for the robot vacuum's activity, battery, and any faults. Zone cleaning is also supported for Dyson 360 Vis Nav devices (only).
286
286
 
287
287
  #### Robotic Vacuum Cleaner Device
288
288
 
289
289
  - **RVC Run Mode** cluster:
290
290
  - `Idle`: Abort cleaning and return to dock (same as `GoHome`).
291
291
  - `Cleaning`: Start a full-clean.
292
- - `Mapping`: Status only; no information is available about how to initiate mapping via MQTT.
292
+ - `Mapping`: Status only (use the MyDyson app to initiate mapping and configure zones).
293
293
 
294
294
  - **RVC Clean Mode** cluster:
295
- | Mode | Dyson 360 Eye | Dyson Heurist | Dyson Vis Nav |
296
- | ---------- | :-----------: | :-----------: | :-----------: |
297
- | `Quiet` | Quiet | Quiet | Quiet |
298
- | `Quick` | | | Quick |
299
- | `High` | | High | |
300
- | `MaxBoost` | Max | Max | Boost |
301
- | `Auto` | | | Auto |
295
+ | Mode | Dyson 360 Eye | Dyson 360 Heurist | Dyson 360 Vis Nav | Dyson Spot+Clean |
296
+ | ---------- | :-----------: | :---------------: | :---------------: | :--------------: |
297
+ | `Quiet` | Quiet | Quiet | Quiet | Quiet |
298
+ | `Quick` | | | Quick | Quick |
299
+ | `High` | | High | | |
300
+ | `MaxBoost` | Max | Max | Boost | Boost |
301
+ | `Auto` | | | Auto | Auto |
302
302
 
303
303
  **RVC Operational State** cluster:
304
304
  - `Pause`: Pause cleaning or mapping activity.
@@ -311,7 +311,10 @@ Zone cleaning and mapping control are not currently supported, as Dyson's MQTT A
311
311
  - Battery charge level and charging status.
312
312
  - Any active fault.
313
313
 
314
- No **Service Area** cluster is implemented; zone cleaning does not appear to be controllable via MQTT commands.
314
+ **Service Area** cluster (currently only implemented for Dyson 360 Vis Nav):
315
+ - `SelectAreas`: Start a zone clean of specified areas (using the per-zone power modes configured in the MyDyson app).
316
+ - Lists of maps and zones.
317
+ - Current zone and per-zone cleaning status.
315
318
 
316
319
  </details>
317
320
 
@@ -409,6 +412,7 @@ This plugin has been tested with the following devices:
409
412
  | Description | Model | MQTT Root Topic | Firmware | Tested By
410
413
  | ----------------------------------------- | :-------: | :-------------: | :---------------------: | ---
411
414
  | Dyson 360 Eye robot vacuum | RB01 | `N223` | `11.3.5.10` | Developer
415
+ | Dyson 360 Vis Nav robot vacuum | RB03 | `277` | `RB03PR.01.08.006.5079` | Developer
412
416
  | Dyson Pure Humidify+Cool | PH01 | `358` | | MQTT logs
413
417
  | Dyson Pure Humidify+Cool Cryptomic | PH02 | `358` | `ECG2PF.46.00.007.0003` | MQTT logs
414
418
  | Dyson Purifier Humidify+Cool Formaldehyde | PH04 | `358E` | `ECG2PF.47.01.000.0005` | MQTT logs
@@ -453,8 +457,7 @@ The Apple Home app in iOS/iPadOS 18.4 and macOS Sequoia has limited Matter suppo
453
457
 
454
458
  The Apple Home app expects each robot vacuum to be a standalone, individually-paired Matter node implementing a single endpoint. However, by default Matterbridge acts as a Matter bridge - either a single bridge node for all plugins (*bridge* mode), or a separate bridge node per plugin (*childbridge* mode) - with each plugin's device exposed as an additional child endpoint. The `enableServerRvc` configuration option enables use of Matterbridge's `server` mode for any robot vacuum devices, ensuring full compatibility with the Home app.
455
459
 
456
- Other quirks in the Home app:
457
- * **Incorrect RVC Clean Mode display:** The Home app displays ModeTag values (e.g. *Deep Clean*, *Low Noise*) rather than the advertised modes (*Quiet*, *Max*, etc) reported by the robot vacuum. It also only shows these when not cleaning, even though Dyson robot vacuums support changing the power mode during a clean.
460
+ For cleaning (power) modes the Matter specification encourages tagging each mode with all relevant ModeTag values to describe its characteristics and usage. However, the Home app displays the list of all ModeTag values (e.g. *Deep Clean*, *Low Noise*) rather than the advertised modes (*Quiet*, *Max*, etc) reported by the robot vacuum. The `simpleModeTagsRvc` configuration option selects the single most descriptive ModeTag for each cleaning mode to improve the Home app user interface experience.
458
461
  </details>
459
462
  <details>
460
463
  <summary>Air Purifiers</summary>
@@ -499,7 +502,7 @@ This plugin enables essential status monitoring and control interoperability bet
499
502
 
500
503
  However, Dyson may change their APIs or terms of service at any time, potentially rendering this plugin non-functional or causing unexpected behaviour. By using this plugin, you acknowledge and accept the inherent risks associated with interacting with unofficial APIs. Your use of this plugin is entirely at your own risk. If Dyson chooses to offer an official API or integration mechanism, this project will aim to migrate to that instead.
501
504
 
502
- Dyson, Dyson Cool, Dyson Hot, Dyson Hot+Cool, Dyson Pure, Dyson Pure Cool, Dyson Pure Cool Link, Dyson Pure Hot+Cool Link, Dyson Pure Humidify+Cool, Dyson 360 Eye, Dyson 360 Heurist, and Dyson 360 Vis Nav, are trademarks of Dyson Technology Limited.
505
+ Dyson, Dyson Cool, Dyson Hot, Dyson Hot+Cool, Dyson Pure, Dyson Pure Cool, Dyson Pure Cool Link, Dyson Pure Hot+Cool Link, Dyson Pure Humidify+Cool, Dyson 360 Eye, Dyson 360 Heurist, Dyson 360 Vis Nav, and Dyson Spot+Clean, are trademarks of Dyson Technology Limited.
503
506
 
504
507
  ### ISC License (ISC)
505
508
 
@@ -54,6 +54,7 @@ export interface ConfigBase {
54
54
  };
55
55
  provisioningMethod: ProvisioningMethod;
56
56
  enableServerRvc: boolean;
57
+ simpleModeTagsRvc: boolean;
57
58
  wildcardTopic: boolean;
58
59
  logMapStyle: LogMapStyle;
59
60
  debug: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../src/config-types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,YAAY,GACZ,cAAc,CAAC;AAGnB,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAmB,OAAO,CAAC;IAEhC,UAAU,CAAC,EAAa,OAAO,CAAC;IAChC,SAAS,CAAC,EAAc,OAAO,CAAA;CAClC;AACD,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,KAAK,EAAmB,MAAM,CAAC;IAC/B,QAAQ,EAAgB,MAAM,CAAC;CAClC;AACD,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,KAAK,EAAmB,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAkB,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAe,MAAM,CAAC;CAClC;AACD,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAGjE,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAoB,MAAM,CAAC;IAC/B,IAAI,EAAoB,MAAM,CAAC;CAClC;AACD,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACjE,YAAY,EAAY,MAAM,CAAC;CAClC;AACD,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAC9D,IAAI,EAAoB,MAAM,CAAC;IAC/B,IAAI,EAAoB,MAAM,CAAC;IAC/B,QAAQ,EAAgB,MAAM,CAAC;CAClC;AACD,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAC9D,IAAI,EAAoB,MAAM,CAAC;IAC/B,YAAY,EAAY,MAAM,CAAC;IAC/B,QAAQ,EAAgB,MAAM,CAAC;IAC/B,SAAS,EAAe,MAAM,CAAC;CAClC;AACD,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAoB,MAAM,CAAC;IAC/B,QAAQ,EAAgB,MAAM,CAAC;IAC/B,YAAY,EAAY,MAAM,CAAC;IAC/B,SAAS,EAAe,MAAM,CAAC;CAClC;AAGD,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,oBAAoB,GACpB,uBAAuB,GACvB,iBAAiB,GACjB,oBAAoB,GACpB,YAAY,CAAC;AAGjB,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,YAAY,GACZ,cAAc,CAAC;AAGnB,MAAM,MAAM,aAAa,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,2BAA2B,GAC3B,oBAAoB,GACpB,mBAAmB,CAAC;AAGxB,MAAM,WAAW,UAAU;IAEvB,IAAI,EAAoB,MAAM,CAAC;IAC/B,IAAI,EAAoB,MAAM,CAAC;IAC/B,OAAO,EAAiB,MAAM,CAAC;IAC/B,SAAS,EAAe,MAAM,EAAE,CAAC;IACjC,SAAS,EAAe,MAAM,EAAE,CAAC;IACjC,eAAe,EAAS,UAAU,EAAE,CAAC;IACrC,eAAe,EAAS,UAAU,EAAE,CAAC;IACrC,qBAAqB,EAAG;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,EAAE,CAAA;KAAE,CAAC;IAEjE,kBAAkB,EAAM,kBAAkB,CAAC;IAC3C,eAAe,EAAS,OAAO,CAAC;IAChC,aAAa,EAAW,OAAO,CAAC;IAChC,WAAW,EAAa,WAAW,CAAC;IACpC,KAAK,EAAmB,OAAO,CAAC;IAChC,aAAa,EAAW,aAAa,EAAE,CAAC;IACxC,oBAAoB,EAAI,OAAO,CAAC;CACnC;AACD,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC7C,YAAY,EAAY,YAAY,CAAC;CACxC;AACD,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACtD,kBAAkB,EAAM,gBAAgB,CAAC;CAC5C;AACD,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACrD,kBAAkB,EAAM,eAAe,CAAC;IACxC,OAAO,EAAiB,wBAAwB,EAAE,CAAC;CACtD;AACD,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C,kBAAkB,EAAM,aAAa,CAAC;IACtC,OAAO,EAAiB,qBAAqB,EAAE,CAAC;CACnD;AACD,MAAM,WAAW,eAAgB,SAAQ,UAAU;IAC/C,kBAAkB,EAAM,YAAY,CAAC;IACrC,OAAO,EAAiB,qBAAqB,EAAE,CAAC;CACnD;AACD,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC1C,kBAAkB,EAAM,cAAc,CAAC;IACvC,OAAO,EAAiB,gBAAgB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAW,YAAY,CAAC;CACxC;AACD,MAAM,MAAM,MAAM,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,eAAe,GAAG,eAAe,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../src/config-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ import { Dyson360CleaningMode, Dyson360CleaningProgramme, Dyson360CleaningStrategy, Dyson360DustName, Dyson360EyeEventPowerMode, Dyson360TimelineEvent, Dyson360ZoneIcon, Dyson360ZoneStatus } from './dyson-360-types.js';
2
+ import { DysonUnifiedschedulerEvent, DysonUnifiedschedulerEventsResponse } from './dyson-cloud-types.js';
3
+ export interface Dyson360UnifiedschedulerEvent extends DysonUnifiedschedulerEvent {
4
+ settings: {
5
+ cleaningProgramme: Dyson360CleaningProgramme | null;
6
+ cleaningStrategy: Dyson360CleaningStrategy | null;
7
+ currentCleaningMode?: Dyson360CleaningMode;
8
+ powerMode: Dyson360EyeEventPowerMode | null;
9
+ };
10
+ }
11
+ export interface Dyson360UnifiedschedulerEventsResponse extends DysonUnifiedschedulerEventsResponse {
12
+ events: Dyson360UnifiedschedulerEvent[];
13
+ }
14
+ export interface Dyson360CleanHistoryEntry {
15
+ Area: number;
16
+ Charges: number;
17
+ Clean: string;
18
+ Finished: string;
19
+ FinishedIso8601: string;
20
+ IsInterim: boolean;
21
+ Started: string;
22
+ StartedIso8601: string;
23
+ Type: string;
24
+ }
25
+ export interface Dyson360CleanHistoryResponse {
26
+ Entries: Dyson360CleanHistoryEntry[];
27
+ TriviaArea: number;
28
+ TriviaMessage: string;
29
+ }
30
+ export interface Dyson360PersistentMapMetadataZone {
31
+ area: number;
32
+ icon: Dyson360ZoneIcon;
33
+ id: string;
34
+ name: string;
35
+ }
36
+ export interface Dyson360PersistentMapMetadataZoneProperties {
37
+ zones: string[];
38
+ zoneBehaviours: {
39
+ vacuumPowerMode: null;
40
+ cleaningStrategy: Dyson360CleaningStrategy;
41
+ };
42
+ }
43
+ export interface Dyson360PersistentMapMetadata {
44
+ id: string;
45
+ name: string;
46
+ lastVisited: string;
47
+ zones: Dyson360PersistentMapMetadataZone[];
48
+ zoneProperties: Dyson360PersistentMapMetadataZoneProperties[];
49
+ zonesDefinitionLastUpdatedDate: string;
50
+ }
51
+ export type Dyson360PersistentMapMetadataResponse = Dyson360PersistentMapMetadata[];
52
+ export interface Dyson360PersistentMapVertex {
53
+ x: number;
54
+ y: number;
55
+ }
56
+ export interface Dyson360PersistentMapLocation extends Dyson360PersistentMapVertex {
57
+ angle: number;
58
+ }
59
+ export interface Dyson360PersistentMapBitmap {
60
+ resolution: number;
61
+ data: string;
62
+ }
63
+ export interface Dyson360PersistentMapThreshold {
64
+ startX: number;
65
+ startY: number;
66
+ endX: number;
67
+ endY: number;
68
+ leftZone: string;
69
+ rightZone: string;
70
+ }
71
+ export interface Dyson360PersistentMapZonesDefinition {
72
+ lastUpdatedDate: string;
73
+ persistentMapDisplayOrientation: number;
74
+ persistentMapId: string;
75
+ persistentMapName: string;
76
+ persistentMapOffset: Dyson360PersistentMapLocation;
77
+ persistentMapVersion: number;
78
+ thresholds: Dyson360PersistentMapThreshold[];
79
+ zoneProperties: Dyson360PersistentMapMetadataZoneProperties[];
80
+ zones: Dyson360PersistentMapMetadataZone[];
81
+ zonesMap: Dyson360PersistentMapBitmap;
82
+ }
83
+ export interface Dyson360PersistentMapRestrictionProperties {
84
+ keepOut: true | null;
85
+ brushBarOff: true | null;
86
+ vacuumPowerMode: null;
87
+ noClimb: true | null;
88
+ lowObjectSensitivity: null;
89
+ }
90
+ export interface Dyson360PersistentMapRestriction {
91
+ icon: null;
92
+ id: number;
93
+ name: string;
94
+ priority: number;
95
+ properties: Dyson360PersistentMapRestrictionProperties;
96
+ vertices: Dyson360PersistentMapVertex[];
97
+ }
98
+ export interface Dyson360PersistentMapRestrictionsDefinition {
99
+ lastUpdatedDate: string;
100
+ persistentMapId: string;
101
+ persistentMapOffset: Dyson360PersistentMapLocation;
102
+ persistentMapVersion: number;
103
+ restrictions: Dyson360PersistentMapRestriction[];
104
+ }
105
+ export interface Dyson360PersistentMapResponse {
106
+ dockLocations: Dyson360PersistentMapLocation[];
107
+ highSensitivityAdditionalObjects: Dyson360PersistentMapBitmap;
108
+ id: string;
109
+ lastVisited: string;
110
+ lowSensitivityObjects: Dyson360PersistentMapBitmap;
111
+ maturity: Dyson360PersistentMapBitmap;
112
+ occupancyProbability: Dyson360PersistentMapBitmap;
113
+ offset: Dyson360PersistentMapLocation;
114
+ presentationMap: Dyson360PersistentMapBitmap;
115
+ restrictionsDefinition: Dyson360PersistentMapRestrictionsDefinition | null;
116
+ version: number;
117
+ visitedFootprint: Dyson360PersistentMapBitmap;
118
+ zonesDefinition: Dyson360PersistentMapZonesDefinition;
119
+ }
120
+ export interface Dyson360CleanTimelineEntry {
121
+ eventName: Dyson360TimelineEvent;
122
+ time: string;
123
+ zone: string | null;
124
+ targetZone: string | null;
125
+ persistentMapId: string | null;
126
+ reason: null;
127
+ faultCode: string | null;
128
+ faultType: string | null;
129
+ faultLocation: Dyson360PersistentMapVertex | null;
130
+ }
131
+ export interface DysonCleanMapDustData {
132
+ name: Dyson360DustName;
133
+ scaleFactor: number;
134
+ data: string;
135
+ }
136
+ export interface DysonCleanMapDustMap {
137
+ width: number;
138
+ height: number;
139
+ resolution: number;
140
+ dustData: DysonCleanMapDustData[];
141
+ }
142
+ export interface Dyson360CleanMap {
143
+ cleanedFootprint: Dyson360PersistentMapBitmap;
144
+ cleanId: string;
145
+ cleanTimeline: Dyson360CleanTimelineEntry[];
146
+ dustMap: DysonCleanMapDustMap;
147
+ highSensitivityAdditionalObjects: Dyson360PersistentMapBitmap;
148
+ lowSensitivityObjects: Dyson360PersistentMapBitmap;
149
+ occupancyProbability: Dyson360PersistentMapBitmap;
150
+ persistentMap: {
151
+ id: string;
152
+ cleanMapPosition: Dyson360PersistentMapLocation;
153
+ };
154
+ robotPath: [];
155
+ sequenceNumber: number;
156
+ zones: Dyson360PersistentMapBitmap;
157
+ zoneStatus: Dyson360ZoneStatus | null;
158
+ }
159
+ export type Dyson360CleanMapsResponse = Dyson360CleanMap[];
160
+ export interface Dyson360ZonePredictionDustMilligrams {
161
+ name: Dyson360DustName;
162
+ weight: number;
163
+ }
164
+ export interface Dyson360ZonePrediction {
165
+ zoneId: string;
166
+ zoneDustMilligrams: Dyson360ZonePredictionDustMilligrams[];
167
+ }
168
+ export interface Dyson360RecommendedClean {
169
+ persistentMapId: string;
170
+ zonePredictions: Dyson360ZonePrediction[];
171
+ }
172
+ export type Dyson360RecommendedCleansResponse = Dyson360RecommendedClean[];
173
+ export interface Dyson360ZoneBehavioursRequest {
174
+ cleaningStrategy: Dyson360CleaningStrategy;
175
+ }
176
+ //# sourceMappingURL=dyson-360-cloud-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dyson-360-cloud-types.d.ts","sourceRoot":"","sources":["../src/dyson-360-cloud-types.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,0BAA0B,EAC1B,mCAAmC,EACtC,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,6BAA8B,SAAQ,0BAA0B;IAC7E,QAAQ,EAAE;QACN,iBAAiB,EAAe,yBAAyB,GAAK,IAAI,CAAC;QACnE,gBAAgB,EAAgB,wBAAwB,GAAM,IAAI,CAAC;QACnE,mBAAmB,CAAC,EAAY,oBAAoB,CAAC;QACrD,SAAS,EAAuB,yBAAyB,GAAK,IAAI,CAAC;KACtE,CAAA;CACJ;AACD,MAAM,WAAW,sCAAuC,SAAQ,mCAAmC;IAC/F,MAAM,EAA8B,6BAA6B,EAAE,CAAC;CACvE;AAGD,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAgC,MAAM,CAAC;IAC3C,OAAO,EAA6B,MAAM,CAAC;IAC3C,KAAK,EAA+B,MAAM,CAAC;IAC3C,QAAQ,EAA4B,MAAM,CAAC;IAC3C,eAAe,EAAqB,MAAM,CAAC;IAC3C,SAAS,EAA2B,OAAO,CAAC;IAC5C,OAAO,EAA6B,MAAM,CAAC;IAC3C,cAAc,EAAsB,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,CAAC;CAC9C;AACD,MAAM,WAAW,4BAA4B;IACzC,OAAO,EAA6B,yBAAyB,EAAE,CAAC;IAChE,UAAU,EAA0B,MAAM,CAAC;IAC3C,aAAa,EAAuB,MAAM,CAAC;CAC9C;AAGD,MAAM,WAAW,iCAAiC;IAC9C,IAAI,EAAgC,MAAM,CAAC;IAC3C,IAAI,EAAgC,gBAAgB,CAAC;IACrD,EAAE,EAAkC,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,CAAC;CAC9C;AACD,MAAM,WAAW,2CAA2C;IACxD,KAAK,EAA+B,MAAM,EAAE,CAAC;IAC7C,cAAc,EAAE;QACZ,eAAe,EAAiB,IAAI,CAAC;QACrC,gBAAgB,EAAgB,wBAAwB,CAAC;KAC5D,CAAA;CACJ;AACD,MAAM,WAAW,6BAA6B;IAC1C,EAAE,EAAkC,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,CAAC;IAC3C,WAAW,EAAyB,MAAM,CAAC;IAC3C,KAAK,EAA+B,iCAAiC,EAAE,CAAC;IACxE,cAAc,EAAsB,2CAA2C,EAAE,CAAC;IAClF,8BAA8B,EAAM,MAAM,CAAC;CAC9C;AACD,MAAM,MAAM,qCAAqC,GAAG,6BAA6B,EAAE,CAAC;AAGpF,MAAM,WAAW,2BAA2B;IACxC,CAAC,EAAmC,MAAM,CAAC;IAC3C,CAAC,EAAmC,MAAM,CAAC;CAC9C;AACD,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAC9E,KAAK,EAA+B,MAAM,CAAC;CAC9C;AACD,MAAM,WAAW,2BAA2B;IACxC,UAAU,EAA0B,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,CAAC;CAC9C;AACD,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAA8B,MAAM,CAAC;IAC3C,MAAM,EAA8B,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,CAAC;IAC3C,QAAQ,EAA4B,MAAM,CAAC;IAC3C,SAAS,EAA2B,MAAM,CAAC;CAC9C;AACD,MAAM,WAAW,oCAAoC;IACjD,eAAe,EAAqB,MAAM,CAAC;IAC3C,+BAA+B,EAAK,MAAM,CAAC;IAC3C,eAAe,EAAqB,MAAM,CAAC;IAC3C,iBAAiB,EAAmB,MAAM,CAAC;IAC3C,mBAAmB,EAAiB,6BAA6B,CAAC;IAClE,oBAAoB,EAAgB,MAAM,CAAC;IAC3C,UAAU,EAA0B,8BAA8B,EAAE,CAAC;IACrE,cAAc,EAAsB,2CAA2C,EAAE,CAAC;IAClF,KAAK,EAA+B,iCAAiC,EAAE,CAAC;IACxE,QAAQ,EAA4B,2BAA2B,CAAC;CACnE;AACD,MAAM,WAAW,0CAA0C;IACvD,OAAO,EAA6B,IAAI,GAAG,IAAI,CAAC;IAChD,WAAW,EAAyB,IAAI,GAAG,IAAI,CAAC;IAChD,eAAe,EAAqB,IAAI,CAAC;IACzC,OAAO,EAA6B,IAAI,GAAG,IAAI,CAAC;IAChD,oBAAoB,EAAgB,IAAI,CAAC;CAC5C;AACD,MAAM,WAAW,gCAAgC;IAC7C,IAAI,EAAgC,IAAI,CAAC;IACzC,EAAE,EAAkC,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,CAAC;IAC3C,QAAQ,EAA4B,MAAM,CAAC;IAC3C,UAAU,EAA0B,0CAA0C,CAAC;IAC/E,QAAQ,EAA4B,2BAA2B,EAAE,CAAC;CACrE;AACD,MAAM,WAAW,2CAA2C;IACxD,eAAe,EAAqB,MAAM,CAAC;IAC3C,eAAe,EAAqB,MAAM,CAAC;IAC3C,mBAAmB,EAAiB,6BAA6B,CAAC;IAClE,oBAAoB,EAAgB,MAAM,CAAC;IAC3C,YAAY,EAAwB,gCAAgC,EAAE,CAAC;CAC1E;AACD,MAAM,WAAW,6BAA6B;IAC1C,aAAa,EAAuB,6BAA6B,EAAE,CAAC;IACpE,gCAAgC,EAAI,2BAA2B,CAAC;IAChE,EAAE,EAAkC,MAAM,CAAC;IAC3C,WAAW,EAAyB,MAAM,CAAC;IAC3C,qBAAqB,EAAe,2BAA2B,CAAC;IAChE,QAAQ,EAA4B,2BAA2B,CAAC;IAChE,oBAAoB,EAAgB,2BAA2B,CAAC;IAChE,MAAM,EAA8B,6BAA6B,CAAC;IAClE,eAAe,EAAqB,2BAA2B,CAAC;IAChE,sBAAsB,EAAc,2CAA2C,GAAG,IAAI,CAAC;IACvF,OAAO,EAA6B,MAAM,CAAC;IAC3C,gBAAgB,EAAoB,2BAA2B,CAAC;IAChE,eAAe,EAAqB,oCAAoC,CAAC;CAC5E;AAGD,MAAM,WAAW,0BAA0B;IACvC,SAAS,EAA2B,qBAAqB,CAAC;IAC1D,IAAI,EAAgC,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,GAAG,IAAI,CAAC;IAClD,UAAU,EAA0B,MAAM,GAAG,IAAI,CAAC;IAClD,eAAe,EAAqB,MAAM,GAAG,IAAI,CAAC;IAClD,MAAM,EAA8B,IAAI,CAAC;IACzC,SAAS,EAA2B,MAAM,GAAG,IAAI,CAAC;IAClD,SAAS,EAA2B,MAAM,GAAG,IAAI,CAAC;IAClD,aAAa,EAAuB,2BAA2B,GAAG,IAAI,CAAC;CAC1E;AACD,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAgC,gBAAgB,CAAC;IACrD,WAAW,EAAyB,MAAM,CAAC;IAC3C,IAAI,EAAgC,MAAM,CAAC;CAC9C;AACD,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAA+B,MAAM,CAAC;IAC3C,MAAM,EAA8B,MAAM,CAAC;IAC3C,UAAU,EAA0B,MAAM,CAAC;IAC3C,QAAQ,EAA4B,qBAAqB,EAAE,CAAC;CAC/D;AACD,MAAM,WAAW,gBAAgB;IAC7B,gBAAgB,EAAoB,2BAA2B,CAAC;IAChE,OAAO,EAA6B,MAAM,CAAC;IAC3C,aAAa,EAAuB,0BAA0B,EAAE,CAAC;IACjE,OAAO,EAA6B,oBAAoB,CAAC;IACzD,gCAAgC,EAAI,2BAA2B,CAAC;IAChE,qBAAqB,EAAe,2BAA2B,CAAC;IAChE,oBAAoB,EAAgB,2BAA2B,CAAC;IAChE,aAAa,EAAE;QACX,EAAE,EAA8B,MAAM,CAAC;QACvC,gBAAgB,EAAgB,6BAA6B,CAAC;KACjE,CAAC;IACF,SAAS,EAA2B,EAAE,CAAC;IACvC,cAAc,EAAsB,MAAM,CAAC;IAC3C,KAAK,EAA+B,2BAA2B,CAAC;IAChE,UAAU,EAA0B,kBAAkB,GAAG,IAAI,CAAC;CACjE;AACD,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,EAAE,CAAC;AAG3D,MAAM,WAAW,oCAAoC;IACjD,IAAI,EAAgC,gBAAgB,CAAC;IACrD,MAAM,EAA8B,MAAM,CAAC;CAC9C;AACD,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAA8B,MAAM,CAAC;IAC3C,kBAAkB,EAAkB,oCAAoC,EAAE,CAAC;CAC9E;AACD,MAAM,WAAW,wBAAwB;IACrC,eAAe,EAAqB,MAAM,CAAC;IAC3C,eAAe,EAAqB,sBAAsB,EAAE,CAAC;CAChE;AACD,MAAM,MAAM,iCAAiC,GAAG,wBAAwB,EAAE,CAAC;AAG3E,MAAM,WAAW,6BAA6B;IAC1C,gBAAgB,EAAoB,wBAAwB,CAAC;CAChE"}
@@ -0,0 +1,4 @@
1
+ // Matterbridge plugin for Dyson robot vacuum and air treatment devices
2
+ // Copyright © 2025 Alexander Thoukydides
3
+ export {};
4
+ //# sourceMappingURL=dyson-360-cloud-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dyson-360-cloud-types.js","sourceRoot":"","sources":["../src/dyson-360-cloud-types.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,yCAAyC"}
@@ -1,4 +1,4 @@
1
- import { Dyson360ActiveFault, Dyson360CleaningMode, Dyson360CleaningStrategy, Dyson360CleaningType, Dyson360Faults, Dyson360OutOfBoxState, Dyson360Position, Dyson360PowerMode, Dyson360State } from './dyson-360-types.js';
1
+ import { Dyson360ActiveFault, Dyson360CleaningMode, Dyson360CleaningProgramme, Dyson360CleaningStrategy, Dyson360CleaningType, Dyson360Faults, Dyson360OutOfBoxState, Dyson360Position, Dyson360PowerMode, Dyson360State, Dyson360ZoneStatus } from './dyson-360-types.js';
2
2
  import { DysonModeReason, DysonMsg } from './dyson-types.js';
3
3
  export interface Dyson360MsgDeviceCredentials extends DysonMsg {
4
4
  msg: 'DEVICE-CREDENTIALS';
@@ -37,6 +37,7 @@ export interface Dyson360MsgCurrentState extends DysonMsg {
37
37
  channel?: string;
38
38
  cleanDuration?: number;
39
39
  cleanId?: string;
40
+ cleaningProgramme?: Dyson360CleaningProgramme;
40
41
  currentCleaningMode?: Dyson360CleaningMode;
41
42
  currentCleaningStrategy?: Dyson360CleaningStrategy;
42
43
  currentVacuumPowerMode: Dyson360PowerMode;
@@ -47,9 +48,14 @@ export interface Dyson360MsgCurrentState extends DysonMsg {
47
48
  fullCleanType: Dyson360CleaningType;
48
49
  globalPosition?: Dyson360Position;
49
50
  outOfBoxState?: Dyson360OutOfBoxState;
51
+ persistentMapId?: string;
50
52
  rssi?: string;
51
53
  sessionId?: string;
52
54
  state: Dyson360State;
55
+ traverseTargetId?: string;
56
+ zoneId?: string;
57
+ zonesDefinitionVersion?: string;
58
+ zoneStatus?: Dyson360ZoneStatus[];
53
59
  }
54
60
  export interface Dyson360MsgStateChange extends DysonMsg {
55
61
  msg: 'STATE-CHANGE';
@@ -58,6 +64,7 @@ export interface Dyson360MsgStateChange extends DysonMsg {
58
64
  channel?: string;
59
65
  cleanDuration?: number;
60
66
  cleanId?: string;
67
+ cleaningProgramme?: Dyson360CleaningProgramme;
61
68
  currentCleaningMode?: Dyson360CleaningMode;
62
69
  currentCleaningStrategy?: Dyson360CleaningStrategy;
63
70
  currentVacuumPowerMode: Dyson360PowerMode;
@@ -81,6 +88,7 @@ export interface Dyson360MsgStateChange extends DysonMsg {
81
88
  sessionId?: string;
82
89
  traverseTargetId?: string;
83
90
  zonesDefinitionVersion?: string;
91
+ zoneStatus?: Dyson360ZoneStatus[];
84
92
  }
85
93
  export interface Dyson360MsgMapData extends DysonMsg {
86
94
  msg: 'MAP-DATA';
@@ -124,15 +132,20 @@ export interface Dyson360MsgRequestCurrentState extends DysonMsg {
124
132
  export interface Dyson360MsgStateSet extends DysonMsg {
125
133
  msg: 'STATE-SET';
126
134
  'mode-reason': DysonModeReason;
127
- data: {
135
+ data?: {
128
136
  defaultVacuumPowerMode: Dyson360PowerMode;
129
137
  };
138
+ defaults?: {
139
+ defaultCleaningStrategy: Dyson360CleaningStrategy;
140
+ };
130
141
  }
131
142
  export interface Dyson360MsgStart extends DysonMsg {
132
143
  msg: 'START';
133
144
  'mode-reason'?: DysonModeReason;
134
145
  fullCleanType: Dyson360CleaningType;
135
146
  cleaningMode?: Dyson360CleaningMode;
147
+ cleaningProgramme?: Dyson360CleaningProgramme;
148
+ cleaningStrategy?: Dyson360CleaningStrategy;
136
149
  vacuumPowerMode?: Dyson360PowerMode;
137
150
  cleanId?: string;
138
151
  }
@@ -148,4 +161,7 @@ export interface Dyson360MsgAbort extends DysonMsg {
148
161
  msg: 'ABORT';
149
162
  'mode-reason': DysonModeReason;
150
163
  }
164
+ export interface Dyson360MsgPersistentMapManifestUpdated extends DysonMsg {
165
+ msg: 'PERSISTENT-MAP-MANIFEST-UPDATED';
166
+ }
151
167
  //# sourceMappingURL=dyson-360-msg-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dyson-360-msg-types.d.ts","sourceRoot":"","sources":["../src/dyson-360-msg-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dyson-360-msg-types.d.ts","sourceRoot":"","sources":["../src/dyson-360-msg-types.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI7D,MAAM,WAAW,4BAA6B,SAAQ,QAAQ;IAC1D,GAAG,EAAyB,oBAAoB,CAAC;IACjD,YAAY,EAAgB,MAAM,CAAC;IACnC,cAAc,EAAc,MAAM,CAAC;CACtC;AAID,MAAM,WAAW,2BAA4B,SAAQ,QAAQ;IACzD,GAAG,EAAyB,mBAAmB,CAAC;IAChD,MAAM,EAAsB,MAAM,CAAC;IACnC,KAAK,EAAuB,MAAM,CAAC;IACnC,OAAO,EAAqB,MAAM,CAAC;IACnC,SAAS,EAAmB,MAAM,CAAC;IACnC,EAAE,EAA0B,MAAM,CAAC;CACtC;AAKD,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAC9C,GAAG,EAAyB,OAAO,CAAC;IACpC,QAAQ,EAAoB,MAAM,CAAC;IACnC,MAAM,EAAsB,MAAM,CAAC;IACnC,OAAO,EAAqB,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAChD,GAAG,EAAyB,SAAS,CAAC;IACtC,MAAM,EAAsB,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACjD,GAAG,EAAyB,WAAW,CAAC;CAE3C;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IAC/C,GAAG,EAAyB,SAAS,CAAC;IACtC,KAAK,CAAC,EAAsB,aAAa,CAAC;CAC7C;AAED,MAAM,WAAW,uBAAwB,SAAQ,QAAQ;IACrD,GAAG,EAAyB,eAAe,CAAC;IAC5C,YAAY,CAAC,EAAe,mBAAmB,EAAE,CAAC;IAClD,kBAAkB,CAAC,EAAS,MAAM,CAAC;IACnC,OAAO,CAAC,EAAoB,MAAM,CAAC;IACnC,aAAa,CAAC,EAAc,MAAM,CAAC;IACnC,OAAO,CAAC,EAAoB,MAAM,CAAC;IACnC,iBAAiB,CAAC,EAAU,yBAAyB,CAAC;IACtD,mBAAmB,CAAC,EAAQ,oBAAoB,CAAC;IACjD,uBAAuB,CAAC,EAAI,wBAAwB,CAAC;IACrD,sBAAsB,EAAM,iBAAiB,CAAC;IAC9C,mBAAmB,CAAC,EAAQ,oBAAoB,CAAC;IACjD,uBAAuB,CAAC,EAAI,wBAAwB,CAAC;IACrD,sBAAsB,CAAC,EAAK,iBAAiB,CAAC;IAC9C,MAAM,CAAC,EAAqB,cAAc,CAAC;IAC3C,aAAa,EAAe,oBAAoB,CAAC;IACjD,cAAc,CAAC,EAAa,gBAAgB,CAAC;IAC7C,aAAa,CAAC,EAAc,qBAAqB,CAAC;IAClD,eAAe,CAAC,EAAY,MAAM,CAAC;IACnC,IAAI,CAAC,EAAuB,MAAM,CAAC;IACnC,SAAS,CAAC,EAAkB,MAAM,CAAC;IACnC,KAAK,EAAuB,aAAa,CAAC;IAC1C,gBAAgB,CAAC,EAAW,MAAM,CAAC;IACnC,MAAM,CAAC,EAAqB,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAK,MAAM,CAAC;IACnC,UAAU,CAAC,EAAiB,kBAAkB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACpD,GAAG,EAAyB,cAAc,CAAC;IAC3C,YAAY,CAAC,EAAe,mBAAmB,EAAE,CAAC;IAClD,kBAAkB,CAAC,EAAS,MAAM,CAAC;IACnC,OAAO,CAAC,EAAoB,MAAM,CAAC;IACnC,aAAa,CAAC,EAAc,MAAM,CAAC;IACnC,OAAO,CAAC,EAAoB,MAAM,CAAC;IACnC,iBAAiB,CAAC,EAAU,yBAAyB,CAAC;IACtD,mBAAmB,CAAC,EAAQ,oBAAoB,CAAC;IACjD,uBAAuB,CAAC,EAAI,wBAAwB,CAAC;IACrD,sBAAsB,EAAM,iBAAiB,CAAC;IAC9C,mBAAmB,CAAC,EAAQ,oBAAoB,CAAC;IACjD,uBAAuB,CAAC,EAAI,wBAAwB,CAAC;IACrD,sBAAsB,CAAC,EAAK,iBAAiB,CAAC;IAC9C,UAAU,CAAC,EAAiB,OAAO,CAAC;IACpC,MAAM,CAAC,EAAqB,cAAc,CAAC;IAC3C,aAAa,EAAe,oBAAoB,CAAC;IACjD,cAAc,CAAC,EAAa,gBAAgB,CAAC;IAC7C,eAAe,CAAC,EAAY,mBAAmB,EAAE,CAAC;IAClD,gBAAgB,CAAC,EAAW,qBAAqB,CAAC;IAClD,QAAQ,EAAoB,aAAa,CAAC;IAC1C,SAAS,CAAC,EAAkB,MAAM,CAAC;IACnC,eAAe,CAAC,EAAY,mBAAmB,EAAE,CAAC;IAClD,gBAAgB,CAAC,EAAW,qBAAqB,CAAC;IAClD,QAAQ,EAAoB,aAAa,CAAC;IAC1C,SAAS,CAAC,EAAkB,MAAM,CAAC;IACnC,eAAe,CAAC,EAAY,MAAM,CAAC;IACnC,IAAI,CAAC,EAAuB,MAAM,CAAC;IACnC,SAAS,CAAC,EAAkB,MAAM,CAAC;IACnC,gBAAgB,CAAC,EAAW,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAK,MAAM,CAAC;IACnC,UAAU,CAAC,EAAiB,kBAAkB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAChD,GAAG,EAAyB,UAAU,CAAC;IACvC,MAAM,EAAsB,MAAM,CAAC;IACnC,OAAO,EAAqB,MAAM,CAAC;IACnC,IAAI,EAAE;QACF,OAAO,EAAiB,MAAM,CAAC;QAC/B,WAAW,EAAa,kBAAkB,CAAC;QAC3C,eAAe,EAAS,MAAM,CAAC;KAClC,CAAA;CACJ;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IAClD,GAAG,EAAyB,YAAY,CAAC;IACzC,KAAK,EAAuB,MAAM,CAAC;IACnC,OAAO,EAAqB,MAAM,CAAC;IACnC,MAAM,EAAsB,MAAM,CAAC;IACnC,CAAC,EAA2B,MAAM,CAAC;IACnC,CAAC,EAA2B,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IAChD,GAAG,EAAyB,UAAU,CAAC;IACvC,MAAM,EAAsB,gBAAgB,CAAC;IAC7C,OAAO,EAAqB,MAAM,CAAC;IACnC,MAAM,EAAsB,MAAM,CAAC;IACnC,MAAM,EAAsB,MAAM,CAAC;IACnC,UAAU,EAAkB,MAAM,CAAC;IACnC,KAAK,EAAuB,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,wBAAyB,SAAQ,QAAQ;IACtD,GAAG,EAAyB,gBAAgB,CAAC;IAC7C,MAAM,EAAsB,MAAM,CAAC;IACnC,MAAM,EAAsB,MAAM,CAAC;IACnC,MAAM,EAAsB,MAAM,CAAC;IACnC,MAAM,EAAsB,MAAM,CAAC;IACnC,EAAE,EAA0B,MAAM,CAAC;CACtC;AAID,MAAM,WAAW,8BAA+B,SAAQ,QAAQ;IAC5D,GAAG,EAAyB,uBAAuB,CAAC;IACpD,aAAa,CAAC,EAAc,eAAe,CAAC;CAC/C;AAED,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACjD,GAAG,EAAyB,WAAW,CAAC;IACxC,aAAa,EAAe,eAAe,CAAC;IAC5C,IAAI,CAAC,EAAE;QACH,sBAAsB,EAAE,iBAAiB,CAAC;KAC7C,CAAA;IACD,QAAQ,CAAC,EAAE;QACP,uBAAuB,EAAE,wBAAwB,CAAA;KACpD,CAAA;CACJ;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAC9C,GAAG,EAAyB,OAAO,CAAC;IACpC,aAAa,CAAC,EAAc,eAAe,CAAC;IAC5C,aAAa,EAAe,oBAAoB,CAAC;IACjD,YAAY,CAAC,EAAe,oBAAoB,CAAC;IACjD,iBAAiB,CAAC,EAAU,yBAAyB,CAAC;IACtD,gBAAgB,CAAC,EAAW,wBAAwB,CAAC;IACrD,eAAe,CAAC,EAAY,iBAAiB,CAAC;IAC9C,OAAO,CAAC,EAAoB,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAC9C,GAAG,EAAyB,OAAO,CAAC;IACpC,aAAa,EAAe,eAAe,CAAC;CAC/C;AAED,MAAM,WAAW,iBAAkB,SAAQ,QAAQ;IAC/C,GAAG,EAAyB,QAAQ,CAAC;IACrC,aAAa,EAAe,eAAe,CAAC;CAC/C;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAC9C,GAAG,EAAyB,OAAO,CAAC;IACpC,aAAa,EAAe,eAAe,CAAC;CAC/C;AAED,MAAM,WAAW,uCAAwC,SAAQ,QAAQ;IACrE,GAAG,EAAyB,iCAAiC,CAAA;CAChE"}
@@ -50,13 +50,16 @@ export interface Dyson360Faults {
50
50
  }
51
51
  export declare enum Dyson360FaultNextAction {
52
52
  WaitToClean = "WAIT_TO_CLEAR",
53
- LocalUserContinue = "LOCAL_USER_CONTINUE"
53
+ LocalUserAck = "LOCAL_USER_ACK",
54
+ LocalUserContinue = "LOCAL_USER_CONTINUE",
55
+ LogOnly = "LOG_ONLY"
54
56
  }
55
57
  export declare enum Dyson360FaultPresent {
56
58
  Present = "PRESENT",
57
59
  NotPresent = "NOT_PRESENT"
58
60
  }
59
61
  export declare enum Dyson360FaultUserAction {
62
+ NoAction = "NO_ACTION",
60
63
  UserRecoverable = "USER_RECOVERABLE"
61
64
  }
62
65
  export interface Dyson360ActiveFault {
@@ -65,6 +68,10 @@ export interface Dyson360ActiveFault {
65
68
  present: Dyson360FaultPresent;
66
69
  requiredUserAction: Dyson360FaultUserAction;
67
70
  }
71
+ export declare enum Dyson360EyeEventPowerMode {
72
+ Quiet = 1,
73
+ Max = 0
74
+ }
68
75
  export declare enum Dyson360EyePowerMode {
69
76
  Quiet = "halfPower",
70
77
  Max = "fullPower"
@@ -75,25 +82,45 @@ export declare enum Dyson360HeuristPowerMode {
75
82
  Max = "3"
76
83
  }
77
84
  export declare enum Dyson360VisNavPowerMode {
78
- Unknown = "0",
79
- Auto = "1",
80
- Quick = "2",
81
- Quiet = "3",
82
- Boost = "4"
85
+ Idle = "0",
86
+ Quiet = "1",// Auto (low) / Quiet / Quick
87
+ High = "2",// Auto (high)
88
+ Boost = "3"
83
89
  }
84
90
  export type Dyson360PowerMode = Dyson360EyePowerMode | Dyson360HeuristPowerMode | Dyson360VisNavPowerMode;
85
91
  export declare enum Dyson360CleaningType {
86
92
  Unknown = "",
87
93
  Immediate = "immediate",
88
94
  Manual = "manual",
89
- Scheduled = "scheduled"
95
+ Scheduled = "scheduled",
96
+ Mapping = "mapping"
90
97
  }
91
98
  export declare enum Dyson360CleaningMode {
92
99
  Global = "global",
93
100
  ZoneConfigured = "zoneConfigured"
94
101
  }
102
+ export interface Dyson360CleaningProgramme {
103
+ orderedZones?: string[];
104
+ persistentMapId: string;
105
+ unorderedZones?: string[];
106
+ zonesDefinitionLastUpdatedDate: string;
107
+ }
108
+ export declare enum Dyson360ZoneCleanStatus {
109
+ NotRequested = "CLEAN_NOT_REQUESTED",
110
+ Unable = "CANT_CLEAN",
111
+ Pending = "CLEAN_PENDING",
112
+ InProgress = "CLEAN_IN_PROGRESS",
113
+ Complete = "CLEAN_COMPLETE"
114
+ }
115
+ export interface Dyson360ZoneStatus {
116
+ cleanStatus: Dyson360ZoneCleanStatus;
117
+ zoneId: string;
118
+ }
95
119
  export declare enum Dyson360CleaningStrategy {
96
120
  Auto = "auto",
121
+ Quick = "quick",
122
+ Quiet = "quiet",
123
+ Boost = "boost",
97
124
  Mixed = "mixed"
98
125
  }
99
126
  export type Dyson360Position = [number, number];
@@ -107,6 +134,48 @@ export interface Dyson360MapData {
107
134
  path: Dyson360MapPath[];
108
135
  }
109
136
  export declare enum Dyson360OutOfBoxState {
137
+ AwaitingMapping = "AWAITING_SUCCESSFUL_MAPPING",
138
+ AwaitingMapUploadingCompletion = "AWAITING_MAP_UPLOADING_COMPLETION",
139
+ AwaitingZoningCompletion = "AWAITING_ZONING_COMPLETION",
110
140
  Complete = "OUT_OF_BOX_COMPLETE"
111
141
  }
142
+ export declare enum Dyson360ZoneIcon {
143
+ Balcony = "balcony",
144
+ Bathroom = "bathroom",
145
+ Bedroom = "bedroom",// Secondary bedroom / Guest room
146
+ DiningRoom = "dining_room",
147
+ Hallway = "hallway",
148
+ Kitchen = "kitchen",
149
+ LivingRoom = "living_room",
150
+ MainBedroom = "main_bedroom",// Main bedroom
151
+ Study = "study",
152
+ Toilet = "toilet",
153
+ UtilityRoom = "utility_room",
154
+ Work = "work",// Office
155
+ Custom = "custom"
156
+ }
157
+ export declare enum Dyson360TimelineEvent {
158
+ Charging = "CHARGING",
159
+ CleanEnded = "CLEAN_ENDED",
160
+ CleanStarted = "CLEAN_STARTED",
161
+ FaultUserRecoverable = "FAULT_USER_RECOVERABLE",
162
+ NeedsCharge = "NEEDS_CHARGE",
163
+ Paused = "PAUSED",
164
+ PersistentMapChanged = "PERSISTENT_MAP_CHANGED",
165
+ Resumed = "RESUMED",
166
+ RunEnded = "RUN_ENDED",
167
+ RunStarted = "RUN_STARTED",
168
+ TraverseEnded = "TRAVERSE_ENDED",
169
+ TraverseStarted = "TRAVERSE_STARTED",
170
+ ZoneEntered = "ZONE_ENTERED",
171
+ ZoneLeft = "ZONE_LEFT"
172
+ }
173
+ export declare enum Dyson360DustName {
174
+ ExtraFine = "extraFine",
175
+ Fine = "fine",
176
+ Medium = "medium",
177
+ Large = "large",
178
+ Other = "other",
179
+ Total = "total"
180
+ }
112
181
  //# sourceMappingURL=dyson-360-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dyson-360-types.d.ts","sourceRoot":"","sources":["../src/dyson-360-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dyson-360-types.d.ts","sourceRoot":"","sources":["../src/dyson-360-types.ts"],"names":[],"mappings":"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"}