matterbridge-dyson-care 0.4.0 → 0.5.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.
- package/CHANGELOG.md +14 -0
- package/README.md +38 -18
- package/apps/frontend/build/app.js +257 -1
- package/apps/frontend/build/app.js.map +3 -3
- package/dist/accessory/dysonAccessory.js +43 -12
- package/dist/accessory/endpoints.js +44 -13
- package/dist/accessory/layout.js +5 -2
- package/dist/accessory/matterState.js +30 -6
- package/dist/accessory/pendingCommand.js +25 -2
- package/dist/config.js +8 -2
- package/dist/controls.js +7 -2
- package/dist/mapping.js +10 -2
- package/dist/module.js +32 -19
- package/dist/platform/endpointIds.js +49 -0
- package/dist/platform/machineSync.js +0 -1
- package/npm-shrinkwrap.json +5 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.5.0] - 2026-10-25
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- [devices]: Add a fan as an option for the oscillation, in place of the rocking, for the apps that show neither the rocking nor a mode select. Its first speed stands the machine still and each speed above it is an angle it sweeps, narrowest first, and its fan mode Auto is the breeze of a humidifier whose barrel turns. The fan of the Big+Quiet tilts it to 0°, 25° and 50° and breezes in auto. The on/off of the fan is the power of the machine, and the fan's own on/off does nothing. A machine with no angle to make a speed of gets a switch instead.
|
|
12
|
+
- [setup]: Offer the fan as a choice for the oscillation and the tilt in the Options step, with the speeds the machine would get, on a machine that has an angle to make a speed of. The home page describes it as a fan of its own.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- [devices]: **Breaking:** devices stored by an earlier version change their identity in Matter at the first start, and the Matter apps take them for new devices: put them back in their rooms once. The name of a device in Matterbridge is made of the serial number of its machine, such as `Dyson NK6-EU-MHA0000A`, and the name given in the setup page is the label of the device, which the Matter apps show. Matterbridge derives the identity of a device from its name, so a new name no longer builds the device again: it is written to the label of each endpoint that is a device of its own, and the apps keep the device with its room and its automations.
|
|
17
|
+
- [devices]: A change of how a device appears in Matter, a reading its machine gives for the first time and a firmware that gives the machine other controls no longer build the device again at once. The device keeps its endpoints, and is built again with its new options at the next restart of Matterbridge, which Matterbridge and the setup page ask for. Taking the endpoints of a device away and registering them again while Matterbridge runs made Apple Home take the device for a new one, with its room and its automations lost; across a restart the endpoint numbers are kept.
|
|
18
|
+
- [devices]: An endpoint that is brought back after it was taken away, such as a switch turned off and on again in the options, gets a new endpoint id, and with it a new endpoint number instead of the one it had: Apple Home could not change the settings of a device that came back under its old number. The machine and the endpoints that stay keep theirs.
|
|
19
|
+
- [devices]: The product name of a machine stays as it was when the machine was added: Matterbridge makes the identity of the device in Matter from it too, so the machine list no longer updates it.
|
|
20
|
+
|
|
7
21
|
## [0.4.0] - 2026-10-20
|
|
8
22
|
|
|
9
23
|
### Added
|
package/README.md
CHANGED
|
@@ -17,14 +17,14 @@ It is a [Matterbridge](https://matterbridge.io) plugin built on [dyson-control](
|
|
|
17
17
|
## Why this plugin
|
|
18
18
|
|
|
19
19
|
- **It finds your machines for you.** Sign in once in the setup page and it lists every machine of your Dyson account, with whether it can control each one. There is no serial number, credential or configuration file to look up: see [Guided setup](#guided-setup).
|
|
20
|
-
- **It fits the Matter app you use.** Matter apps differ in what they show, so you choose how each control appears: the oscillation, the night mode and the airflow direction on the fan itself or as switches, the auto mode as a fan mode, a switch or a step,
|
|
20
|
+
- **It fits the Matter app you use.** Matter apps differ in what they show, so you choose how each control appears: the oscillation, the night mode and the airflow direction on the fan itself or as switches, the auto mode as a fan mode, a switch or a step, a mode select for the oscillation angle or the target humidity, and a fan of its own for the oscillation, whose speeds are its angles. Presets for Apple Home, Google Home and the apps with full Matter support give you a starting point: see [Presets](#presets).
|
|
21
21
|
- **It offers only what your machine can do.** The plugin reads which controls each machine carries from its type, its model, its variant and its firmware, and builds its device in Matter from that. A heater gets a thermostat, a humidifier its humidifying, a purifier its air quality sensor.
|
|
22
22
|
- **It reaches more of the machine than the power and the fan.** Besides the fan speed, the auto mode, the oscillation and the night mode, you get the oscillation angle, the tilt, the heating, the humidifying, find and follow, the filters, and switches for the child lock, the jet focus, the UV light, the ioniser and the like: see the [comparison](#compared-with-other-dyson-plugins).
|
|
23
23
|
- **It shows the air quality.** A purifier gets an air quality sensor with the air quality of its worst pollutant and each pollutant it measures: PM2.5, PM10, VOC, NO₂, formaldehyde and CO₂.
|
|
24
24
|
- **You name each machine.** The MyDyson app names a machine after its room, which several machines can share: the setup page starts from that name and lets you give each machine a name of its own in Matter. A machine whose firmware gains a control gets it.
|
|
25
25
|
- **It talks to your machines on your network.** Each machine is reached on the local network first, which answers quicker and keeps working while the Dyson cloud or the internet is down, and through the Dyson cloud when it does not answer there. There is no address or password to type: see [Connection](#connection).
|
|
26
26
|
- **It says when a machine stops answering.** After two reads in a row fail, or when its connection does not open again, your Matter app shows the machine as unreachable, and it comes back by itself as soon as the machine answers again.
|
|
27
|
-
- **
|
|
27
|
+
- **Almost nothing needs a restart.** Sign in, add, rename, reconnect and remove machines while Matterbridge keeps running. Only a change of how a machine appears in Matter waits for the next restart, which the setup page and Matterbridge ask for.
|
|
28
28
|
|
|
29
29
|
## Requirements
|
|
30
30
|
|
|
@@ -58,7 +58,7 @@ Then it walks through three steps:
|
|
|
58
58
|
2. **Connect.** For each machine you picked, the plugin checks that it answers through the Dyson cloud, and reads which sensors it has.
|
|
59
59
|
3. **Options.** The name the machine gets in Matter, starting from its room name in the MyDyson app, whether it appears as an air purifier or a fan, and how the fan, the oscillation or the tilt, the night mode, the airflow direction, the find and follow, the heating, the humidifying, the clean cycle, the [more controls](#more-controls) and the readings appear in Matter, from what the machine can do, and whether they are one device or several. Start from a [preset](#presets) or choose each one yourself. Last, whether the machine is reached on your network first or through the Dyson cloud only, and the host it is reached at on your network, left empty to search the network for it: see [Connection](#connection).
|
|
60
60
|
|
|
61
|
-
Afterwards the same page lists your machines with their status: online on your network or through the Dyson cloud, connecting while a machine just added
|
|
61
|
+
Afterwards the same page lists your machines with their status: online on your network or through the Dyson cloud, connecting while a machine just added connects, not answering, or not started. A machine online through the cloud alone says that it was not found on your network, or did not answer at the host given. Under each machine it shows how it appears in Matter, the life left in its filters, its clean cycle, such as when the next one is due or how long one that runs has left, how long the drying of its wick has left, and the faults it reports, such as a filter to replace or an empty tank. From there you can add more, change the options of one, reconnect one that stopped answering, remove one, switch to another account, sign in again when the Dyson cloud no longer accepts the sign-in, or sign out. Adding, renaming, reconnecting and removing need no Matterbridge restart; a change of how one appears in Matter takes effect at the next restart, which the page and Matterbridge ask for. Matterbridge's own list of devices shows a machine added or removed here once you reload its page, named after its serial number, such as `Dyson NK6-EU-MHA0000A`: the name you give it is what the Matter apps show.
|
|
62
62
|
|
|
63
63
|
<table>
|
|
64
64
|
<tr>
|
|
@@ -113,7 +113,7 @@ The screenshots show the setup page with simulated machines: the plugin's own se
|
|
|
113
113
|
| More controls | Switches or mode selects for the child lock, the UV light and the like, on a machine that has them: see [More controls](#more-controls) |
|
|
114
114
|
| Readings | An air quality sensor, a temperature sensor and a humidity sensor, each once the machine gives its reading: see [Readings](#readings) |
|
|
115
115
|
|
|
116
|
-
A switch or a mode select is for the Matter apps that do not show a control in its place on the fan control: it comes beside that place, never in place of it, so the place stays for the apps that show it. A control that has a place on the fan control is never hidden, because an app that does not show the place leaves it out. The oscillation is the one exception: its switch or its
|
|
116
|
+
A switch or a mode select is for the Matter apps that do not show a control in its place on the fan control: it comes beside that place, never in place of it, so the place stays for the apps that show it. A control that has a place on the fan control is never hidden, because an app that does not show the place leaves it out. The oscillation is the one exception: its switch, its select or its fan takes the place of the rocking, because Apple Home mishandles the rocking.
|
|
117
117
|
|
|
118
118
|
### How it is built in Matter
|
|
119
119
|
|
|
@@ -127,6 +127,7 @@ flowchart TD
|
|
|
127
127
|
thermostat["Thermostat<br/>Thermostat, heating only, and Thermostat User Interface Configuration on a heater with a temperature unit"]
|
|
128
128
|
switches["On/Off Plug-in Unit, one for each switch<br/>tagged 1 Auto Mode, 2 Night Mode and so on<br/>On/Off"]
|
|
129
129
|
selects["Mode Select, one for each select: the oscillation or the tilt,<br/>the find and follow, the target humidity, the water hardness,<br/>the air quality target and the wick drying speed<br/>Mode Select"]
|
|
130
|
+
oscillation["Fan, for the oscillation or the tilt, tagged Oscillation<br/>On/Off, Fan Control"]
|
|
130
131
|
air["Air Quality Sensor<br/>Air Quality, and a concentration measurement for each pollutant"]
|
|
131
132
|
sensors["Temperature Sensor, Humidity Sensor<br/>Temperature Measurement, Relative Humidity Measurement"]
|
|
132
133
|
end
|
|
@@ -134,11 +135,12 @@ flowchart TD
|
|
|
134
135
|
main -.-> thermostat
|
|
135
136
|
main -.-> switches
|
|
136
137
|
main -.-> selects
|
|
138
|
+
main -.-> oscillation
|
|
137
139
|
main -.-> air
|
|
138
140
|
main -.-> sensors
|
|
139
141
|
```
|
|
140
142
|
|
|
141
|
-
A solid line is always there. A dashed one is there when you choose it in the setup and the machine has it, and for a sensor once the machine gives its reading. The main endpoint also has the Bridged Node and Power Source device types, with the Identify, Bridged Device Basic Information and Power Source clusters: the
|
|
143
|
+
A solid line is always there. A dashed one is there when you choose it in the setup and the machine has it, and for a sensor once the machine gives its reading. The main endpoint also has the Bridged Node and Power Source device types, with the Identify, Bridged Device Basic Information and Power Source clusters: the serial number of the machine, the name you give it, whether it is reachable, and that it runs on mains power. Its parts have the Identify cluster alone, because in Matter the rest belongs to the device. The setup can also make each part a device of its own: see [One device or several](#one-device-or-several).
|
|
142
144
|
|
|
143
145
|
| Device type | ID | Stands for |
|
|
144
146
|
| ------------------- | ------ | ----------------------------------------------------- |
|
|
@@ -146,7 +148,7 @@ A solid line is always there. A dashed one is there when you choose it in the se
|
|
|
146
148
|
| Bridged Node | 0x0013 | Each device: its name, serial number and reachability |
|
|
147
149
|
| Power Source | 0x0011 | Each device: mains powered |
|
|
148
150
|
| Air Purifier | 0x002D | The machine, as an air purifier |
|
|
149
|
-
| Fan | 0x002B | The machine, as a fan
|
|
151
|
+
| Fan | 0x002B | The machine, as a fan, or its oscillation |
|
|
150
152
|
| Thermostat | 0x0301 | The heating of a heater |
|
|
151
153
|
| On/Off Plug-in Unit | 0x010A | Each switch |
|
|
152
154
|
| Mode Select | 0x0027 | Each select |
|
|
@@ -198,6 +200,7 @@ A machine that dyson-control reads as not oscillating, such as the type 965, get
|
|
|
198
200
|
| Native rocking | The left and right rocking of the fan control, as Matter has it. Not every app shows it |
|
|
199
201
|
| A switch | A switch named `<name> Oscillation`, in place of the rocking. On sweeps the angle set in the MyDyson app |
|
|
200
202
|
| A mode select | A mode select named `<name> Oscillation`, in place of the rocking, with Off and the angles the machine sweeps: see below. Few Matter apps show it: see [Mode selects](#mode-selects) |
|
|
203
|
+
| A fan | A fan named `<name> Oscillation`, in place of the rocking: see [Oscillation fan](#oscillation-fan) |
|
|
201
204
|
|
|
202
205
|
The mode select offers what the machine takes:
|
|
203
206
|
|
|
@@ -211,15 +214,29 @@ A sweep the select does not list, such as one set in the MyDyson app, leaves the
|
|
|
211
214
|
|
|
212
215
|
A machine that pauses its oscillation while it stands by takes it on and off in modes of their own, which the plugin sends in place of on and off while the machine stands by, as dyson-control asks.
|
|
213
216
|
|
|
217
|
+
#### Oscillation fan
|
|
218
|
+
|
|
219
|
+
Every Matter app shows a fan, so the oscillation can be one of its own, for the apps that show neither the rocking nor a mode select. Its speeds are the angles the machine can be at, from the first, and the breeze of a machine that has one is its fan mode Auto. Its speeds are steps or a percentage, as you choose for the fan speed:
|
|
220
|
+
|
|
221
|
+
| Machine | Speeds | Auto |
|
|
222
|
+
| ----------------------------------- | ------------------------------------------------------------------------------------ | ------ |
|
|
223
|
+
| One whose firmware takes two angles | Still, then the sweeps 45°, 90°, 180° and 350°, centred as on the mode select | None |
|
|
224
|
+
| One with preset angles | Still, then its presets: 45°, 90°, 180° and 350°, or 15°, 40° and 70° on some models | None |
|
|
225
|
+
| A humidifier whose barrel turns | Still, then 45° and 90° | Breeze |
|
|
226
|
+
| The Big+Quiet, which tilts | 0°, 25° and 50° | Breeze |
|
|
227
|
+
|
|
228
|
+
Still is the first speed: the machine stops oscillating and stays where it is. The on/off of the fan is the power of the machine: it is on while the machine is, whatever the machine oscillates. Its own on and off, and setting it to off or 0, send nothing, and the fan goes back to what the machine holds. A speed or Auto on a machine that is off can turn it on, as the oscillation and the tilt do: see [Power](#power). An angle the fan does not have, such as one set in the MyDyson app, shows the fan on at the speed it showed before. Matter has the fan modes Low, Medium and High for at least three speeds. A machine that oscillates only on and off, takes its two angles only as one direction, or offers a breeze alone, has no angle to make a speed of: the oscillation is a switch on it.
|
|
229
|
+
|
|
214
230
|
### Tilt
|
|
215
231
|
|
|
216
232
|
The Big+Quiet tilts in place of oscillating: to 0°, 25° or 50°, or back and forth in its breeze. Its oscillation options are for the tilt:
|
|
217
233
|
|
|
218
|
-
| Option | In Matter
|
|
219
|
-
| -------------- |
|
|
220
|
-
| Native rocking | The up and down rocking of the fan control. On breezes, and off tilts the machine back to the angle it was at, or to 0°. Not every app shows it
|
|
221
|
-
| A switch | A switch named `<name> Oscillation`, in place of the rocking, which breezes the same way
|
|
222
|
-
| A mode select | A mode select named `<name> Tilt`, in place of the rocking, with 0°, 25°, 50° and Breeze
|
|
234
|
+
| Option | In Matter |
|
|
235
|
+
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
236
|
+
| Native rocking | The up and down rocking of the fan control. On breezes, and off tilts the machine back to the angle it was at, or to 0°. Not every app shows it |
|
|
237
|
+
| A switch | A switch named `<name> Oscillation`, in place of the rocking, which breezes the same way |
|
|
238
|
+
| A mode select | A mode select named `<name> Tilt`, in place of the rocking, with 0°, 25°, 50° and Breeze |
|
|
239
|
+
| A fan | A fan named `<name> Oscillation`, in place of the rocking, with 0°, 25° and 50° as its speeds and Breeze as its auto, on and off with the machine: see [Oscillation fan](#oscillation-fan) |
|
|
223
240
|
|
|
224
241
|
A tilt turns a machine that is off on, as in the MyDyson app: see [Power](#power).
|
|
225
242
|
|
|
@@ -324,7 +341,7 @@ Dyson rates the air from good to severe on one index for every pollutant, and Ma
|
|
|
324
341
|
| 11 to 13 | Extremely poor | Very poor | Critical |
|
|
325
342
|
| 13 and over | Severe | Extremely poor | Critical |
|
|
326
343
|
|
|
327
|
-
- **No machine says which readings it has**, beyond whether it measures the air, so the plugin goes by what the machine reads. The setup page offers a temperature or a humidity sensor only once the machine has given that reading, so a machine without them, such as the HushJet Purifier Compact, is offered neither. A sensor gets its place in Matter the first time the machine gives its reading: at once for one it gave during setup, and otherwise the
|
|
344
|
+
- **No machine says which readings it has**, beyond whether it measures the air, so the plugin goes by what the machine reads. The setup page offers a temperature or a humidity sensor only once the machine has given that reading, so a machine without them, such as the HushJet Purifier Compact, is offered neither. A sensor gets its place in Matter the first time the machine gives its reading: at once for one it gave during setup, and otherwise at the next restart of Matterbridge after the reading comes, which the setup page and Matterbridge ask for.
|
|
328
345
|
- **A reading keeps its place from then on**, so a sensor does not come and go in your Matter app.
|
|
329
346
|
- **A reading the machine does not give right now shows no value**, instead of the last one it gave.
|
|
330
347
|
- **Continuous monitoring.** A machine that can keep measuring the air while it is off can get a switch named `<name> Continuous Monitoring`. On keeps its readings fresh while it is off.
|
|
@@ -356,7 +373,7 @@ The thermostat, the switches, the mode selects and the sensors are parts of the
|
|
|
356
373
|
|
|
357
374
|
Matter names a device, not its parts, so what a part is called is up to the Matter app. One that reads the tags can show `Night Mode`, one that does not shows numbered outlets to rename yourself, and one that shows no parts at all shows the machine alone. This has not been tested in each Matter app: try it in yours, and turn it off if the parts do not show as you want.
|
|
358
375
|
|
|
359
|
-
Changing the choice
|
|
376
|
+
Changing the choice takes effect at the next restart of Matterbridge, which the setup page and Matterbridge ask for, and builds the parts anew: a Matter app takes them for new devices, so they lose the rooms, the names and the automations they had there. The machine itself stays.
|
|
360
377
|
|
|
361
378
|
## Connection
|
|
362
379
|
|
|
@@ -385,7 +402,7 @@ This plugin is the one for a humidifier, and the one that reaches the oscillatio
|
|
|
385
402
|
| A machine that stops answering | Shown as unreachable after two failed reads, or when its connection does not open again | Shown as unreachable when its connection closes, or when the machine says it is leaving |
|
|
386
403
|
| Device types | An air purifier or a fan, as you choose, with a thermostat, the switches, the mode selects and the sensors as parts of it or as devices of their own | An air purifier for every machine, the fans included, with an air quality sensor and a thermostat as devices of their own. Temperature and humidity sensors, and one composed device, are optional |
|
|
387
404
|
| Fan speed and auto | Steps or a percentage, and the auto mode as a fan mode, a switch or a step | Speeds 1 to 10, and the Auto fan mode |
|
|
388
|
-
| Oscillation | The rocking of the fan control, a switch,
|
|
405
|
+
| Oscillation | The rocking of the fan control, a switch, a mode select with the angles the machine sweeps, or a fan with them as its speeds. The tilt of the Big+Quiet the same way | The rocking of the fan control, on and off. The tilt of the Big+Quiet as up and down rocking. No angles |
|
|
389
406
|
| Night mode | The sleep wind of the fan control, and an optional switch | The sleep wind of the fan control |
|
|
390
407
|
| Heating | A thermostat or a switch | A thermostat |
|
|
391
408
|
| Humidifying | Switches or a mode select for the target humidity, and the water hardness | No. The breeze of the Humidify+Cool as its natural wind |
|
|
@@ -405,11 +422,12 @@ Outside Matterbridge, [homebridge-dyson-pure-cool](https://github.com/lukasroegn
|
|
|
405
422
|
|
|
406
423
|
The plugin knows each machine by its **serial number**, which is also the serial number it has in Matter. A thermostat, a switch, a mode select or a sensor that is a device of its own has that serial number with a dash and a letter after it, such as `NK6-EU-MHA0000A-N` for the night mode switch and `NK6-EU-MHA0000A-T` for the thermostat:
|
|
407
424
|
|
|
408
|
-
- **The firmware is kept up to date.** The plugin reads the machine list of your account when it starts, when you sign in, every 15 minutes and when you open the setup page. It takes the firmware, the variant, the model, the
|
|
409
|
-
- **Each device has the name you give it in the setup page**, of up to 32 characters, which starts as the room name of the MyDyson app, followed by a number when another device has that name already, such as `Bedroom 2`. A machine without a room name starts with none, for you to type. A new room name in the MyDyson app does not change it: the options of the device show the new one beside its product name and serial number, as soon as you open the setup page again. No two devices share a name, because the name is what Matter
|
|
410
|
-
- **A new name
|
|
411
|
-
- **What each machine can do** is read from its type, its model, its variant and its firmware capabilities, as the cloud reports them. When a firmware update gives a machine other controls, it is built again in Matter
|
|
425
|
+
- **The firmware is kept up to date.** The plugin reads the machine list of your account when it starts, when you sign in, every 15 minutes and when you open the setup page. It takes the firmware, the variant, the model, the room name and the password of its broker on the network each machine has now, and starts again a machine that could not start. The product name stays as it was when the machine was added, because Matterbridge makes the identity of the device in Matter from it too. A machine the cloud now reports with another type, or on a Dyson cloud service dyson-control cannot connect to, keeps what was stored, and a warning is logged.
|
|
426
|
+
- **Each device has the name you give it in the setup page**, of up to 32 characters, which starts as the room name of the MyDyson app, followed by a number when another device has that name already, such as `Bedroom 2`. A machine without a room name starts with none, for you to type. A new room name in the MyDyson app does not change it: the options of the device show the new one beside its product name and serial number, as soon as you open the setup page again. No two devices share a name, because the name is what the Matter apps show and what its switches and sensors are named after, shortened where the whole would pass 32 characters.
|
|
427
|
+
- **A new name changes nothing else in Matter.** The device keeps its identity: in Matterbridge's own list of devices it is named after the serial number, such as `Dyson NK6-EU-MHA0000A`, and the name you give it is the label the Matter apps show, which a new name replaces in place. The apps keep its room and its automations, and one that let you rename it there keeps the name you chose.
|
|
428
|
+
- **What each machine can do** is read from its type, its model, its variant and its firmware capabilities, as the cloud reports them. When a firmware update gives a machine other controls, a setting it no longer takes is reset, and the machine is built again in Matter at the next restart of Matterbridge, which the setup page and Matterbridge ask for.
|
|
412
429
|
- **The readings each machine has given** are kept in the plugin's storage, so that its sensors are there from the start after a restart. Removing a machine in the setup page removes them too.
|
|
430
|
+
- **The endpoint ids of each device** are kept there too, and outlive its removal: an endpoint that comes back after it was taken away gets a new id, so that the Matter apps see a new device instead of the one they lost.
|
|
413
431
|
|
|
414
432
|
The account and the devices are stored in the plugin configuration, which Matterbridge keeps in `matterbridge-dyson-care.config.json`. The account is stored as the sign-in token Dyson gives the plugin, with its email address and country, and never the password. Each device is stored with the password of its machine's broker on the network, as the machine list gives it. The devices are added, changed and removed in the setup page only: the Matterbridge config editor does not list them.
|
|
415
433
|
|
|
@@ -431,6 +449,8 @@ The settings also have Matterbridge's own `debug` and `unregisterOnShutdown`, fo
|
|
|
431
449
|
- <a id="power"></a>**Controls turn a machine on, as in the MyDyson app.** dyson-control sends the power on with nearly every control, as the MyDyson app does, so changing almost anything on a machine that is off turns it on. The continuous monitoring, the water hardness, the temperature unit, the air quality target and the wick drying leave it off, and so does turning off find and follow or an oscillation that sweeps angles. On a machine of the first generation, only the power, a fan speed and the auto mode turn it on. Turning the heating or the humidifying off on a machine that is off turns it on too, with the fan alone.
|
|
432
450
|
- **Commands are grouped.** A Matter app often changes several things at once. The plugin waits until no change has come for 300 milliseconds and sends the changes to the machine as one command.
|
|
433
451
|
- **A device is reported as unreachable** after two reads in a row fail, or when its connection closes and does not open again on the network or through the cloud. It is reachable again on the first read that works, or the first state the machine sends.
|
|
452
|
+
- **What the Matter apps keep follows one rule: whatever stays keeps its room and its automations, and whatever was removed comes back as new.** A restart, a new name, a new connection and a change of options keep the machine and every switch, mode select, fan or sensor that stays. One that an option change adds is new, in the default room. One that is removed is gone, and turned on again later it is new as well, never the one the apps knew. A removed machine added again is new too, with all its parts.
|
|
453
|
+
- **Changing how a machine appears in Matter** takes effect at the next restart of Matterbridge, which the setup page and Matterbridge ask for. Until then the machine keeps its current controls.
|
|
434
454
|
- **The setup page is as open as Matterbridge itself.** Anyone who can reach the Matterbridge frontend can use it, and so control the machines of the signed-in account. It never returns the stored sign-in token.
|
|
435
455
|
- **Faults are logged.** The plugin asks a machine for its faults when it first reads it and at the first read after each 15 minutes, and takes those it sends as they change. It logs each change, and the setup page shows them.
|
|
436
456
|
- **Not in Matter:** the clean cycle, how long the drying of a wick has left and the faults, which the setup page shows instead, the sleep timer, and the temperature unit of a machine without a thermostat. A machine on the RabbitMQ broker of the Dyson cloud, and an account that signs in with a mobile number, are not supported by dyson-control.
|