Matter: Investigation of Dyson Matterbridge fan

Regarding Matter, I do have the updates for NO2 and the fan, thank you! :smiling_face:
However, I see ‹ Add to Gladys › even though the services already exist and have the exact same name.

When I click on Add, it updates device 28 with the NO2 (and therefore not a new service) but I can’t do the same for 27, nothing happens.

Hi,

I’m having the same issue as @mutmut with my Dyson, can’t update it.

I’ve also noticed another issue with my water tank level sensor, it’s switched to meters:

Thanks @pierre-gilles for your reply.

Regarding the Matter device, there is no update button, only an add button.

And when I click on add, nothing happens and nothing in the logs

Ok, I think I’ll add a bit more information about the interface to better understand the issue here :slight_smile:

In the meantime, I’ve created a ticket to keep track of the bug:

@mutmut @Nagromdark Ok, I’ve modified the frontend to display the error more explicitly. This change will be included in the next version of Gladys Assistant :slight_smile:

In the meantime, as this is a purely frontend change, we can already test it via a Gladys Plus test URL (available immediately) here: https://display-matter-save-error-in.gladys-plus.pages.dev

Can you test and give me the error?

@pierre-gilles logs sent in DM

EDIT: I didn’t realize, but when I « add to Gladys », I thought it was an update because it was exactly the same name and especially after that I had only 1 device.
But when I looked at my dashboard where I had put the air info in a device, well everything related to Dyson air disappeared :roll_eyes:

Hi @mutmut,

Thanks for testing. Good, but the screenshot doesn’t help me much, so I’ve added more information to the interface to get more data!

Can you re-test on: https://display-matter-save-error-in.gladys-plus.pages.dev/ ?

No need to send me the server logs, the error message is purely frontend!

Thanks :slight_smile:

and here it is:

Aaah it’s much better with the message :smiley:

I made a fix here:

I built a Docker amd64 image. If you have time to test it today, otherwise I’ll probably release it by the end of the day :slight_smile:

gladysassistant/gladys:fix-fan-max-values

Thanks for the image, here are my tests :slight_smile:

I still have Add to Gladys instead of Update:


but the « addition » works fine (no more errors) and replaces the old one:

and as expected, it deleted the old commands from the dashboard (with a small text issue):

Once the dashboard is reconfigured, for what works and what doesn’t (wrong Matter handling or plugin?): green → 100% operational, orange → not 100%, red → no action/info

  • filter life duration hasn’t changed recently so I guess it’s normal (I should have 67% today):
  • the speed current values are not retrieved even though they are present in matterbridge:
  • the air flow direction is retrieved but doesn’t control anything
  • Fan Mode is retrieved (Disabled or Night Vent only) but no action
  • Oscillation correctly controls Disabled and does nothing when selecting Left/Right, but it does retrieve the correct fan state value. For info, on my TP04 I have several oscillation angles (0° or Off, 45°, 90°, 180°, 350°)

For the air quality part:


NO2 and VOC may not have changed recently but they do have values (levelValue):

However, I don’t have the AQI in Gladys but it is present in matterbridge:

Thanks for all these ultra-precise feedback, it helps me a lot! :folded_hands:

I still have Add to Gladys instead of Update

Actually, I had confused: in the current Matter integration, there was only one button « Add to Gladys ». We didn’t have a translation variant for the case of an update.

I modified the interface to display « Update », to be consistent with the behavior of Zigbee2mqtt.

and as expected it deleted the old commands from the dashboard (with a small text issue in the process)

Thanks for the feedback! It was indeed a bug in the Matter integration: the selector of the features changed between two additions, which broke existing dashboards and scenes.

It’s now fixed. :white_check_mark:

Once the dashboard reconfigured, what works and what doesn’t work

I made corrections on all the points raised. Thanks again for this very detailed feedback, it’s really precious! :raising_hands:

filter life duration hasn’t changed recently so normal I would say

I added an initialization at startup to avoid having empty values on the dashboard.

However, I don’t have the AQI in Gladys but present in matterbridge

It wasn’t part of the scope of this development. :slightly_smiling_face:

There’s already an open feature request here:

Build amd64 in progress on the same image for testing, available in 3 minutes :slight_smile:

gladysassistant/gladys:fix-fan-max-values

Edit: build ready :white_check_mark:

yes I knew that :stuck_out_tongue_winking_eye:

And for the tests:


  • flow direction: functional command!
  • wind mode Disabled and Night Wind: functional command!
  • oscillation Disabled and Left/Right: functional command!

A small remark about Wind mode:


When I’m in Night Wind and switch to Disabled, it works (but you shouldn’t change too quickly otherwise the action is not taken into account).
If I go to Natural Wind after Night Wind, it changes correctly and then switches back to Disabled, which is normal because it’s either normal or night.
And if I choose Night Wind + Natural after Disabled, it switches back to night mode.
In fact, it only keeps 2 states: Disabled and Night Wind.
Is there a way to change and have only that?

Otherwise, well done @pierre-gilles, for me it’s all good :slight_smile:

Awesome, so cool if it works now!

Gladys strictly follows the Matter specification, and according to what the Matterbridge-Dyson plugin exposes, it seems to support all 4 modes.

To be more faithful to the expected behavior on the Matter side, it would probably be necessary to adjust the Matterbridge-Dyson plugin :slightly_smiling_face:

On my side, I merge and it will be included in the next version of Gladys!

Thanks again for taking the time to test :raising_hands: