# Matter - Climatiseur : Gestion des modes

**URL:** <https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225>\
**Category:** Demandes livrées\
**Tags:** matter, intégration\
**Created:** [Mai 12, 2026, 7:26 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225 "2026-05-12T19:26:30Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![prohand](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/prohand/32/15713_2.png) [@prohand](https://community.gladysassistant.com/u/prohand)\
**Post date:** [Mai 12, 2026, 7:26 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/1 "2026-05-12T19:26:30Z")

</div>

Bonjour à tous,

Lors de mes tests sur le plugin daikin-onecta pour matterbridge je vois bien remonter dans Gladys le commutateur On/Off ainsi que les 2 températures de consignes (1 pour le mode clim et 1 pour le mode chauffage) :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/f/7/f7f5757526d41fc3b421cae31306f7cb796673cb.png)

La sélection du mode n’était pas visible dans Gladys alors que sur l’application Maison d’Apple je voyais bien les modes, voici des captures d’écrans de ce que je peux voir : (Il manque le mode ventilateur et déshumidificateur mais je ne sais pas dire si le problème vient du plugin ou bien d’apple qui ne sait pas gérer ces 2 modes).

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/e/3/e3c6f0743a18e133123bd03752f121834377c945.png)  
 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/6/a/6ae90f3c1412875b3456e174e150f6980ad98a53.jpeg)  
 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/f/a/fa2302d13f6c3dc527e9cc2dd684c53e8e0c2b99.jpeg)  
 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/9/d/9d703988055c11da44fde7c957dc94faff2b3cac.jpeg)

---

<div class="post-metadata">

**Author:** ![prohand](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/prohand/32/15713_2.png) [@prohand](https://community.gladysassistant.com/u/prohand)\
**Post date:** [Mai 17, 2026, 6:43 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/2 "2026-05-17T18:43:45Z")

</div>

Voici un petit résumé par l’IA entre les fonctionnalités Gladys et matterbridge :

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/3/0/3049e96f1ce9fa067718c526817e931157a7561f.png)  
 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/c/d/cd100548b92e84eddb111699e8c23de6a54f9988.png)

---

<div class="post-metadata">

**Author:** ![prohand](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/prohand/32/15713_2.png) [@prohand](https://community.gladysassistant.com/u/prohand)\
**Post date:** [Juin 19, 2026, 12:46 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/3 "2026-06-19T12:46:40Z")

</div>

@pierre-gilles Je suis malheureusement au max de mes connaissances pour rendre comptatible ceci.  
Tu penses avoir un peu de temps pour regarder ?  
Merci

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juin 19, 2026, 3:11 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/4 "2026-06-19T15:11:17Z")

</div>

Alors la situation a évolué depuis, car le cluster `FanControl` est maintenant géré par Gladys ! ( Mais personne n’avait testé le développement, donc on itère sur ce sujet : [Matter : Investigation ventilateur Dyson Matterbridge](https://community.gladysassistant.com/t/matter-investigation-ventilateur-dyson-matterbridge/10290) )

Pour `ModeSelect`, je peux m’en occuper oui 🙂

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juillet 20, 2026, 12:17 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/5 "2026-07-20T12:17:40Z")

</div>

Grâce aux nouvelles `supported_options` développés récemment, j’ai pu développer cette fonctionnalité !

Pour tester, je vous proposes une image Docker:

```auto
ghcr.io/gladysassistant/gladys-preview:cursor-matter-ac-mode-management-fb55

```

La PR :

> <https://github.com/gladysassistant/gladys/pull/2690>
>
> \## Description
> 
> Adds air conditioner operating mode management to the Matter int…egration, as requested on the community forum: https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225
> 
> Air conditioners exposed over Matter (e.g. Daikin units bridged through Matterbridge) expose their operating mode through the \`Thermostat\` cluster \`SystemMode\` attribute. Until now, Gladys only handled the local temperature and the heating/cooling setpoints, so the mode selector visible in Apple Home was missing in Gladys.
> 
> \### Server (\`server/services/matter\`)
> 
> \- New \`utils/thermostatMatterMapping.js\`: bidirectional mapping between Matter \`SystemMode\` (Off/Auto/Cool/Heat/EmergencyHeat/Precooling/FanOnly/Dry/Sleep) and Gladys \`AC\_MODE\` (Auto/Cooling/Heating/Drying/Fan), plus \`getAcModeSupportedOptions\` which builds the feature \`supported\_options\` from the Thermostat cluster capabilities (Auto only when the cluster has the \`AutoMode\` feature, Heat only with the \`Heating\` feature; Dry/FanOnly have no Matter capability flag and are always exposed on cooling devices).
> \- \`convertToGladysDevice\`: devices whose Thermostat cluster supports the \`cooling\` feature now expose an \`air-conditioning/mode\` feature (\`:mode\` external id suffix) with its \`supported\_options\` (persisted via the mechanism introduced in #2567), and \`min\`/\`max\` derived from them.
> \- \`matter.listenToStateChange\`: subscribes to \`SystemMode\` attribute changes and emits the mapped Gladys AC mode (values without a Gladys equivalent, such as \`Off\`, are ignored — on/off is handled by the \`OnOff\` cluster).
> \- \`matter.readInitialDeviceStates\`: reads the initial \`SystemMode\` value on startup.
> \- \`matter.setValue\`: writes the \`SystemMode\` attribute when the user changes the mode from Gladys.
> \- README compatibility table updated.
> 
> \### Server (core fix)
> 
> \- \`utils/normalizeSupportedOptions.js\`: strip the DB metadata fields (\`device\_feature\_id\`, \`created\_at\`, \`updated\_at\`) from \`supported\_options\` payloads. Devices fetched from the API include the full \`DeviceFeatureSupportedOption\` rows, so re-saving a device from an integration page failed validation with \`"\[0\].device\_feature\_id" is not allowed\` (found while testing this PR end-to-end).
> 
> \### Front
> 
> \- \`AirConditioningModeDeviceFeature\` now renders the mode buttons dynamically from the feature \`supported\_options\` (sorted by \`sort\_order\`, labels translated per mode with the stored label as fallback). Features without \`supported\_options\` (e.g. existing MELCloud devices) keep the previous behavior: Auto/Cool/Heat, plus Dry/Fan when the feature \`max\` covers them.
> \- New \`drying\`/\`fan\` translations added to \`en\`, \`fr\`, and \`de\`.
> 
> \## Tests
> 
> \- New unit tests for \`thermostatMatterMapping\` (all mappings, unknown-value branches, and supported options per capability combination).
> \- Updated/extended tests for \`convertToGladysDevice\`, \`listenToStateChange\`, \`readInitialDeviceStates\`, \`setValue\`, \`matter.init\` and \`normalizeSupportedOptions\` (metadata stripping round-trip).
> \- \`npm run coverage\` on the server passes (4337 tests), with 100% line coverage on every touched file. Front \`prettier-check\`, \`eslint\`, \`compare-translations\`, \`build\` and the full Cypress suite pass.
> 
> \## End-to-end validation
> 
> Tested against \*\*two real Matter nodes\*\* built with matter.js and commissioned into Gladys through the Matter integration UI/API:
> 
> \- a Room Air Conditioner with Thermostat \`Heating + Cooling + AutoMode\` → Mode feature with 5 supported options (Auto, Cool, Heat, Dry, Fan);
> \- a second one with \`Heating + Cooling\` only (no AutoMode) → Mode feature with 4 supported options (no Auto).
> 
> The options are persisted in \`t\_device\_feature\_supported\_option\`:
> 
> \`\`\`
> matter-1-1-513-mode|0|Auto|0 matter-2-1-513-mode|1|Cool|0
> matter-1-1-513-mode|1|Cool|1 matter-2-1-513-mode|2|Heat|1
> matter-1-1-513-mode|2|Heat|2 matter-2-1-513-mode|3|Dry|2
> matter-1-1-513-mode|3|Dry|3 matter-2-1-513-mode|4|Fan|3
> matter-1-1-513-mode|4|Fan|4
> \`\`\`
> 
> The dashboard widget follows them — the first device shows 5 buttons, the second only 4 (no Auto), and clicking a mode writes the correct Matter \`SystemMode\` to each device:
> 
> \[matter\_ac\_supported\_options\_demo.mp4\](https://cursor.com/agents/bc-6057d516-266d-490e-8877-6dc49a82fb55/artifacts?path=%2Fopt%2Fcursor%2Fartifacts%2Fmatter\_ac\_supported\_options\_demo.mp4)
> 
> \`\`\`
> \[VIRTUAL-AC\] systemMode changed to 1 (Auto)
> \[VIRTUAL-AC\] systemMode changed to 8 (Dry)
> \[VIRTUAL-AC-NOAUTO\] systemMode changed to 3 (Cool)
> \[VIRTUAL-AC-NOAUTO\] systemMode changed to 7 (FanOnly)
> \`\`\`
> 
> \[Paired Matter AC device card with Mode feature\](https://cursor.com/agents/bc-6057d516-266d-490e-8877-6dc49a82fb55/artifacts?path=%2Fopt%2Fcursor%2Fartifacts%2Fmatter\_device\_card\_with\_mode\_feature.webp)
> 
> 
> \<sub\>To show artifacts inline, \<a href="https://cursor.com/dashboard/cloud-agents#my-pull-requests"\>enable\</a\> in settings.\</sub\>
> 
> 
> \<div\>\<a href="https://cursor.com/agents/bc-6057d516-266d-490e-8877-6dc49a82fb55"\>\<picture\>\<source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-web-dark.png"\>\<source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-web-light.png"\>\<img alt="Open in Web" width="114" height="28" src="https://cursor.com/assets/images/open-in-web-dark.png"\>\</picture\>\</a\>&nbsp;\<a href="https://cursor.com/background-agent?bcId=bc-6057d516-266d-490e-8877-6dc49a82fb55"\>\<picture\>\<source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/assets/images/open-in-cursor-dark.png"\>\<source media="(prefers-color-scheme: light)" srcset="https://cursor.com/assets/images/open-in-cursor-light.png"\>\<img alt="Open in Cursor" width="131" height="28" src="https://cursor.com/assets/images/open-in-cursor-dark.png"\>\</picture\>\</a\>&nbsp;\</div\>
> 
> 
> 
> 
> \## Summary by CodeRabbit
> 
> \* \*\*New Features\*\*
> \* Added Matter thermostat HVAC operating mode control (Auto/Cooling/Heating/Drying/Fan) with mode availability derived from the device’s supported options and kept in sync.
> \* Unified AC mode selection so all mode buttons update through the same flow.
> \* \*\*Documentation\*\*
> \* Updated Matter thermostat documentation to describe HVAC system modes.
> \* \*\*Bug Fixes\*\*
> \* Improved supported-option saving by stripping database metadata from option objects.
> \* Skip unknown/unmapped thermostat system modes and ignore unsupported app mode values to prevent incorrect updates.
> \* \*\*Localization\*\*
> \* Added/extended English, French, and German labels for the new drying and fan modes.

---

<div class="post-metadata">

**Author:** ![prohand](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/prohand/32/15713_2.png) [@prohand](https://community.gladysassistant.com/u/prohand)\
**Post date:** [Juillet 20, 2026, 7:03 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/6 "2026-07-20T19:03:14Z")

</div>

Merci @pierre-gilles  
Je voulais tester avec le plugin daikin fait par la factory mais je rencontre un problème depuis la mise à jour 3.10.0 de matterbridge  
Je voulais que l’IA repasse dessus mais visiblement il y a un truc de cassé car l’IA n’est pas passé sur le plugin 😅

> <https://github.com/GladysAssistant/matterbridge-ai-plugin-factory/issues/12>
>
> \### Device/Service Name
> 
> Daikin\_Onecta
> 
> \### Existing Integrations & Documentatio…n
> 
> HomeBridge plugin : https://www.npmjs.com/package/@mp-consulting/homebridge-daikin-cloud (recent update)
> Github project that controls this device : https://github.com/Apollon77/daikin-controller-cloud (last update 1 year)
> 
> \### Device Capabilities
> 
> On/Off control
> Change thermostat (temperature)
> Air Conditioning Mode (Heating, Cooling or Auto)
> 
> \### Additional Context
> 
> Authentication on Homebridge is presented as follows, step by step; therefore, the same process should be replicated with the callback URL:
> 
> \<img width="775" height="627" alt="Image" src="https://github.com/user-attachments/assets/cab99f57-75fe-4467-8d0a-09f4c765a21e" /\>
> 
> \<img width="791" height="762" alt="Image" src="https://github.com/user-attachments/assets/cf000d2d-49f2-4be2-9787-82e18eab16cc" /\>
> 
> \<img width="679" height="924" alt="Image" src="https://github.com/user-attachments/assets/03f1dc27-92ff-45da-a34b-d13f84b6c87d" /\>
> 
> \<img width="1041" height="677" alt="Image" src="https://github.com/user-attachments/assets/61ee8c27-2c94-446c-b9f6-871fb8e845e8" /\>
> 
> \<img width="758" height="677" alt="Image" src="https://github.com/user-attachments/assets/d04ea8d5-6b7e-4bf8-b710-6ac0e76fa7a6" /\>
> 
> \<img width="761" height="369" alt="Image" src="https://github.com/user-attachments/assets/e0d4f6d9-150f-4e6d-9d40-5425b14b78c8" /\>
> 
> \### Confirmations
> 
> \- \[x\] I have provided links to existing integrations in other projects
> \- \[x\] I have verified the API documentation is accessible
> \- \[x\] I understand this is an automated AI process and results may vary
> \- \[x\] I am willing to test the generated plugin and provide feedback

Merci

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juillet 21, 2026, 4:39 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/7 "2026-07-21T16:39:40Z")

</div>

> [@prohand](#):
>
> Je voulais que l’IA repasse dessus mais visiblement il y a un truc de cassé car l’IA n’est pas passé sur le plugin 😅

Merci du retour, le token Github avait expiré, j’ai remis un nouveau token !

---

<div class="post-metadata">

**Author:** ![prohand](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/prohand/32/15713_2.png) [@prohand](https://community.gladysassistant.com/u/prohand)\
**Post date:** [Juillet 21, 2026, 5:51 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/8 "2026-07-21T17:51:51Z")

</div>

Merci c’est tout bon pour le mattterbridge plugin factory

J’ai également pu tester le mode et c’est ok pour moi 😉

J’ai même d’autres fonctionnalitées qui sont apparu 😉

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/9/a/9a52211328f6777919a0b36d541938eafd3b5587.png)

Merci pour le travail 🙂

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juillet 23, 2026, 3:13 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/9 "2026-07-23T15:13:26Z")

</div>

Merci pour les tests, c’est mergé et ça partira dans la prochaine version de Gladys !

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juillet 30, 2026, 8:26 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/10 "2026-07-30T20:26:28Z")

</div>

C’est disponible dans Gladys Assistant 4.84 :

> [@Gladys Assistant 4.84 : Les intégrations externes sont là rocket](https://community.gladysassistant.com/t/gladys-assistant-4-84-les-integrations-externes-sont-la/10396):
>
> Bonsoir à tous !! Je suis super heureux de sortir ce soir une version qui, je pense, va vraiment changer la vitesse d’évolution du projet. Les intégrations externes arrivent enfin dans Gladys ! Elles vont permettre d’enrichir beaucoup plus rapidement la liste des appareils et services compatibles, tout en permettant à chacun de développer et partager ses propres intégrations. Je vous explique tout dans cet article backhand_index_pointing_down

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juillet 30, 2026, 8:26 UTC](https://community.gladysassistant.com/t/matter-climatiseur-gestion-des-modes/10225/11 "2026-07-30T20:26:32Z")

</div>


