Matter - Cozytouch: Issue with information feedback in Gladys

Good evening,

I just integrated my water heater via the matterbridge-plugin-cozytouch plugin:

Thanks @mutmut for the link :slight_smile:

All information is correctly displayed in matterbridge:

The information is correctly updated according to the logs:

[21:24:41.891] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Boost": onOff=false
[21:24:41.891] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-boost:5 attribute OnOff.onOff from false to false
[21:24:41.891] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Absence": onOff=false
[21:24:41.892] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-away:6 attribute OnOff.onOff from false to false
[21:24:41.892] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Mode (Auto/Manual)": onOff=true
[21:24:41.892] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-dhwmode:7 attribute OnOff.onOff from true to true
[21:24:41.893] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updated water heater "LINEO": temp=52.2°C target=55°C switches=3
[21:24:41.893] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] pushAllStates: ✅ updated "LINEO"
[21:24:41.893] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] pushAllStates: done.
[21:25:41.890] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Periodic state push triggered
[21:25:41.890] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] pushAllStates: pushing state for 1 device(s)...
[21:25:41.890] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] pushAllStates: updating "LINEO" (type=waterHeater, url=modbuslink://1537-7989-4054/1#1)
[21:25:41.891] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating thermostat localTemperature=5220 (52.2°C)
[21:25:41.891] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d:4 attribute Thermostat.localTemperature from 5220 to 5220
[21:25:41.892] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d:4 attribute TemperatureMeasurement.measuredValue from 5220 to 5220
[21:25:41.892] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating thermostat occupiedHeatingSetpoint=5500 (55°C)
[21:25:41.894] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d:4 attribute Thermostat.occupiedHeatingSetpoint from 5500 to 5500
[21:25:41.894] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Boost": onOff=false
[21:25:41.894] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-boost:5 attribute OnOff.onOff from false to false
[21:25:41.895] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Absence": onOff=false
[21:25:41.895] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-away:6 attribute OnOff.onOff from false to false
[21:25:41.895] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Mode (Auto/Manual)": onOff=true
[21:25:41.896] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-dhwmode:7 attribute OnOff.onOff from true to true
[21:25:41.896] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updated water heater "LINEO": temp=52.2°C target=55°C switches=3
[21:25:41.896] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] pushAllStates: ✅ updated "LINEO"
[21:25:41.896] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] pushAllStates: done.
[21:26:11.801] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Overkiz state change event for "LINEO" — 2 state(s) changed
[21:26:11.802] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating thermostat localTemperature=5210 (52.1°C)
[21:26:11.803] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d:4 attribute Thermostat.localTemperature from 5220 to 5210
[21:26:11.804] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d:4 attribute TemperatureMeasurement.measuredValue from 5220 to 5210
[21:26:11.804] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating thermostat occupiedHeatingSetpoint=5500 (55°C)
[21:26:11.805] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d:4 attribute Thermostat.occupiedHeatingSetpoint from 5500 to 5500
[21:26:11.805] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Boost": onOff=false
[21:26:11.805] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-boost:5 attribute OnOff.onOff from false to false
[21:26:11.805] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Absence": onOff=false
[21:26:11.805] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-away:6 attribute OnOff.onOff from false to false
[21:26:11.805] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updating switch " Mode (Auto/Manual)": onOff=true
[21:26:11.806] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Set endpoint 996a68f5-e54e-4a5c-8a43-e57478c4d40d-dhwmode:7 attribute OnOff.onOff from true to true
[21:26:11.806] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Updated water heater "LINEO": temp=52.1°C target=55°C switches=3
[21:26:11.806] [Matterbridge plugin for Atlantic/Thermor/Sauter Cozytouch devices (heaters, water heaters, covers)] Overkiz state change for "LINEO" processed successfully

I then added the different elements via the matter plugin of Gladys:

And I added them to the dashboard:

As you can see, the water temperature does not seem to be displayedHowever, no issues with the switches after the first activation/deactivation via Gladys, the sync with the app works very well.

Do you have any idea about the water temperature that comes up in matterbridge but not on Gladys? Or even a debugging tip? :slight_smile:

Note that the water temperature doesn’t even appear on the cozytouch app

PS: I intentionally disabled the setpoint temperature as it is not adjustable on my device :face_with_raised_eyebrow:

Hi @prohand!

Great, it seems like this plugin is working really well :grinning_face_with_smiling_eyes:

Can you download the Matter JSON nodes file that is in the Matter integration settings on Gladys’ side?

This will already allow us to see which Matter clusters are exposed, and therefore to see if any are missing in Gladys!

Hi,

Yes, I’ll send it to you privately :slight_smile:

Thanks

Hello the plugin was made on my side for my hot water balloon and I indeed had a problem with the feedback. I didn’t have time to dive back into it

Thanks for the data, I’ll let you know when I’ve had a chance to look at it :slight_smile:

Thank you so much :slight_smile:

Thanks for the additional information @prohand, it helped me better understand the issue. :slightly_smiling_face:

I think Gladys is currently missing a feature, as well as a few code adjustments for this use case to work correctly.

So I prepared a PR:

I’m also generating a test Docker image:

gladysassistant/gladys:matter-add-local-temperature

It should be available in about twenty minutes: Build Gladys dev images · GladysAssistant/Gladys@01175a3 · GitHub

Once the image is ready, could you test it and let me know if everything works correctly on your end?

Thanks for your help! :folded_hands:

Thanks :slight_smile:

I just tested it on my test environment and I have another temperature that appeared but apparently it’s still the same issue:


I’m sending you the json file in PM :slight_smile:

Thanks

Thanks for your feedback!

I think it’s just a timing issue when starting Gladys.

I made a fix, and most importantly, I added a lot of logs to help us debug.

You can test on the same image:

gladysassistant/gladys:matter-add-local-temperature

Once you’ve tested, if you still have issues, I’d appreciate it if you could upload the log file (from SettingsSystem).

It’s ok now, thank you :slight_smile:
But I don’t know why I have the info twice :sweat_smile:


Content that it works! :slight_smile:

The temperature is doubled because the Cozytouch Matterbridge plugin exposes the same value via two clusters (TemperatureMeasurement (cluster 1026) and Thermostat.localTemperature (cluster 513)).

Gladys displays both if you’ve added them to the dashboard.

Why do both exist in Matter?

Matter separates functional role and device type:

  • Thermostat: Device that regulates (water heater, radiator, air conditioning…)|
  • TemperatureMeasurement: Passive sensor (room probe, water probe…)|

So the solution, if it’s not useful, would be to modify the Cozytouch plugin to expose only one of the two clusters :slight_smile:

But in any case, on the Gladys side, it’s important to manage both types of clusters!

Does everything else work in the plugin?

Ok I understand better, thanks :slight_smile:
We won’t modify the Cozytouch plugin :sweat_smile: and I’ll ignore one of the two values

Yes everything works fine :slight_smile:

All these improvements are available in Gladys Assistant 4.80:

I just tested on version 4.80 and the issue is not resolved.
I rolled back to the version with your image but I still have the problem, I don’t understand :frowning:
Everything was working very well with your image the other day…

I just sent you the logs in PM with version 4.80

Any idea @pierre-gilles about the problem? :slight_smile:

Thanks

I have the same issue with the two temperatures using a heat pump and the new Melcloud Home & Classic plugin.

@prohand Are we 100% sure that the Cozytouch plugin works correctly? Does everything work perfectly with another Matter client?

Is there no issue with your Matterbridge instance?

Your logs indicate that the node 7799601673845244370 is unreachable:

2026-06-22T19:25:48.074679388Z 2026-06-22T21:25:48+0200 <warn> ensureNodeConnected.js:49 (ensureNodeConnected) Matter: Failed to connect node 7799601673845244370: Connection timeout
2026-06-22T19:25:48.074836026Z 2026-06-22T21:25:48+0200 <warn> matter.handleNode.js:119 (MatterHandler.handleNode) Matter: Node 7799601673845244370 is unreachable, device discovery will continue without live state
2026-06-22T19:25:48.171456833Z 2026-06-22T21:25:48+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature "matter:7799601673845244370:1:child_endpoint:2:6" not found (or not added to Gladys), skipping state update.
2026-06-22T19:25:48.182405459Z 2026-06-22T21:25:48+0200 <info> device.newStateEvent.js:17 (DeviceManager.newStateEvent) DeviceFeature "matter:7799601673845244370:1:child_endpoint:3:6" not found (or not added to Gladys), skipping state update.
2026-06-22T19:25:48.193644313Z 2026-06-22T21:25:48+0200 <info> matter.handleNode.js:138 (MatterHandler.handleNode) Matter: Node 7799601673845244370 handled, 6 device(s) with features (offline)

I use it to control my Somfy/Velux shutters via a connexoon box and it works very well (with the status feedback that is not yet present in the Somfy plugin by Luligu).

So I don’t get it, does it work or not? :joy:

It works for me with Somfy!

EDIT: Somfy uses Overkiz, Cozytouch uses Overkiz.

Ok, I didn’t understand your message then :slight_smile: I thought you were saying you were experiencing the same bugs as @prohand