# \[Matter\] Unterstützung der Cluster MediaPlayback, KeypadInput und LevelControl für Mediengeräte

**URL:** <https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223>\
**Category:** Demande de fonctionnalités\
**Tags:** in-progress, feature-integration, matter\
**Created:** [12. Mai 2026 um 10:08 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223 "2026-05-12T10:08:07Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [12. Mai 2026 um 10:08 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/1 "2026-05-12T10:08:07Z")

</div>

Hallo zusammen!

Ich habe gerade das neue Matterbridge AI Plugin Factory-System von Pierre-Gilles getestet, um meinen Freebox Player Delta (Devialet) über Matter in Gladys zu integrieren.

Der generierte Plugin funktioniert sehr gut auf der Matterbridge-Seite:  
✅ Authentifizierung über die Freebox-Bildschirmvalidierung  
✅ Automatische Erkennung des Players  
✅ Gerät in Gladys über Matter sichtbar

Das Plugin stellt die folgenden Matter-Cluster korrekt bereit:

- OnOff
- LevelControl (Lautstärke)
- MediaPlayback (Abspielen/Pause/Stop/Weiter/Nächster)
- KeypadInput (virtuelle Fernbedienung)

Aber auf der Gladys-Seite wird nur der OnOff-Cluster erkannt  
(als „Schalter“), und er funktioniert auch nicht,  
weil das Ein-/Ausschalten eines Medienplayers anders ist als das einer Lampe.

Ist es möglich, die Unterstützung der folgenden Cluster  
in der Matter-Integration von Gladys hinzuzufügen?

- **MediaPlayback** → Abspielen, Pause, Stop, Weiter, Zurück
- **KeypadInput** → Senden von Tasten (OK, Zurück, Start,  
Hoch, Runter, Links, Rechts)
- **LevelControl** im Medienkontext → Lautstärke  
(nicht Helligkeit)
- **OnOff** für einen Medienplayer → Ein-/Ausschalten  
(unterschiedlich zu einer Lampe)

Das wäre ein riesiger Fortschritt für alle Nutzer,  
die Mediengeräte (TV, Player, TV-Boxen…) haben  
und Matterbridge verwenden, um sie zu integrieren.

Das Freebox-Plugin ist hier für alle, die es testen möchten:

> <https://github.com/GladysAssistant/matterbridge-ai-plugin-factory/issues/13>
>
> \### Device/Service Name
> 
> Freebox Player Delta (Devialet) and Révolution — Freebo…xOS Player API
> 
> \### Existing Integrations & Documentation
> 
> 1. Homebridge plugin (JavaScript, référence principale) :
> https://github.com/securechicken/homebridge-freebox-player-delta
> 
> 2. OpenHAB binding (Java, bonne référence pour la découverte mDNS et le flow auth) :
> https://www.openhab.org/addons/bindings/freeboxos/
> 
> 3. Documentation officielle FreeboxOS API :
> https://dev.freebox.fr/sdk/os/
> 
> \### Device Capabilities
> 
> \- Power on/off detection (via AirPlay TCP port 7000 probe)
> \- Volume control (set level, mute/unmute)
> \- Media control (play, pause, stop, next, previous)
> \- Channel change (open TV channel by number)
> \- Virtual remote key sending (up, down, left, right, ok, back, home)
> \- Current status reading (current app, current channel, volume level)
> 
> \### Additional Context
> 
> {
> "notes": "Cheat-sheet pour Freebox Player via FreeboxOS (endpoints JSON). Remplace \`MAFREEBOX\` par l'IP/hostname local (ex: mafreebox.freebox.fr) et {id\_player} par l'id renvoyé par /api/vX/player. Les versions d'API (vX / v6 / vN) peuvent varier selon box/firmware.",
> "auth": {
> "overview": "Flow d'authentification FreeboxOS : register app -\> authorize (user confirme sur panneau) -\> GET /api/vX/login to obtain challenge -\> POST /api/vX/login/session with hmac(challenge, app\_token) -\> use session\_token in header X-Fbx-App-Auth for subsequent calls.",
> "endpoints": \[
> {
> "description": "Get API version / discovery",
> "method": "GET",
> "url": "https://MAFREEBOX/api\_version"
> },
> {
> "description": "Request authorization (register app)",
> "method": "POST",
> "url": "https://MAFREEBOX/api/vX/login/authorize/",
> "body\_example": {
> "app\_id": "com.matterbridge.freebox",
> "app\_name": "Matterbridge Freebox",
> "app\_version": "1.0.0",
> "device\_name": "Matterbridge"
> },
> "notes": "User must validate the request on the Freebox front panel. Returns app\_token to store persistently."
> },
> {
> "description": "Get challenge",
> "method": "GET",
> "url": "https://MAFREEBOX/api/vX/login/"
> },
> {
> "description": "Open session",
> "method": "POST",
> "url": "https://MAFREEBOX/api/vX/login/session/",
> "body\_example": {
> "app\_id": "com.matterbridge.freebox",
> "password": "HMAC\_SHA1(app\_token, challenge)"
> },
> "note": "Use returned session\_token as header X-Fbx-App-Auth."
> }
> \]
> },
> "discovery": {
> "mdns": "The Freebox broadcasts '\_fbx-api.\_tcp' via mDNS for automatic discovery on local network.",
> "fallback": "If mDNS fails, use hardcoded http://mafreebox.freebox.fr or user-supplied IP.",
> "list\_players": {
> "method": "GET",
> "url": "https://MAFREEBOX/api/vX/player",
> "note": "Returns player list with id, model, api\_version, reachable fields."
> }
> },
> "player\_endpoints": {
> "get\_status": {
> "method": "GET",
> "url": "https://MAFREEBOX/api/vX/player/{id}/api/{api\_version}/status"
> },
> "set\_volume": {
> "method": "PUT",
> "url": "https://MAFREEBOX/api/vX/player/{id}/api/{api\_version}/control/volume/",
> "body\_examples": \[{ "volume": 40 }, { "mute": true }\]
> },
> "media\_control": {
> "method": "POST",
> "url": "https://MAFREEBOX/api/vX/player/{id}/api/{api\_version}/control/mediactrl",
> "body\_examples": \[{ "command": "play" }, { "command": "pause" }, { "command": "stop" }\]
> },
> "open\_channel": {
> "method": "POST",
> "url": "https://MAFREEBOX/api/vX/player/{id}/api/{api\_version}/control/open",
> "body\_example": { "url": "tv:?channel=2" }
> },
> "remote\_key": {
> "method": "POST",
> "url": "https://MAFREEBOX/api/vX/player/{id}/api/{api\_version}/control/remote",
> "body\_examples": \[{ "key": "ok" }, { "key": "back" }, { "key": "home" }\]
> }
> },
> "power\_detection": {
> "method": "TCP port probe on port 7000 (AirPlay service)",
> "note": "AirPlay must be enabled on the player (default). If port 7000 open = player ON, closed = OFF."
> },
> "compatibility": {
> "confirmed\_working": \["Freebox Delta / Devialet"\],
> "should\_work": \["Freebox Révolution"\],
> "limited": \["Freebox Pop / Mini 4K (AndroidTV, Player API incomplete)"\]
> }
> }
> 
> 
> \- Priority: support Delta/Devialet first, Révolution as secondary target
> \- Auth flow: the app\_token obtained after user validation on Freebox front panel 
> must be stored persistently in plugin config (not re-requested on each start)
> \- Discovery: try mDNS first (\_fbx-api.\_tcp), fallback to mafreebox.freebox.fr, 
> then user-supplied IP/hostname
> \- Power status: probe AirPlay TCP:7000 (default) with configurable alternative 
> port 54243
> \- Handle gracefully: not\_implemented errors (some endpoints missing on some models)
> \- Session renewal: session\_token expires, implement automatic re-login using 
> stored app\_token
> 
> \### 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

Danke!

---

<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:** [12. Mai 2026 um 18:28 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/2 "2026-05-12T18:28:27Z")

</div>

Ja, das ist absolut möglich! Und genau darum geht es bei Matter, ich möchte alles zu 100% in Gladys abdecken, damit anschließend alle „nicht-Matter“-Integrationen in Matterbridge erstellt werden können.

Ich werde es mir so bald wie möglich ansehen, aber wenn jemand einen Pull Request machen möchte, ist er herzlich willkommen 😊

---

<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:** [12. Mai 2026 um 19:06 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/3 "2026-05-12T19:06:54Z")

</div>

Eine Nachricht wurde in ein neues Thema verschoben: [Matterbridge Factory: kürzere Plugin-Namen](https://community.gladysassistant.com/t/matterbridge-factory-nom-des-plugins-plus-courts/10224)

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [22. Mai 2026 um 11:47 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/4 "2026-05-22T11:47:23Z")

</div>

## Update — PR eingereicht + Kartierung der fehlenden Matter-Cluster

Hallo zusammen!

Kleine Aktualisierung zu meinem Matter/Matterbridge-Abenteuer,  
vollständig transparent: Ich bin überhaupt kein Entwickler.  
Ich stütze mich auf Claude (KI von Anthropic) und den Editor Cursor,  
um mir zu helfen, den Code zu verstehen und beizutragen.  
Ohne sie hätte ich das Folgende nie tun können 🙂

### Was seit meinem ersten Post passiert ist

Nach dem Feedback von Pierre-Gilles, dass ein PR willkommen wäre,  
haben wir uns daran gemacht. Hier das Ergebnis:

👉 PR #2533 eingereicht im Gladys-Repo:

> <https://github.com/GladysAssistant/Gladys/pull/2533>
>
> \## What this PR does
> 
> Adds support for three new Matter clusters in the Gladys… Matter integration, 
> enabling media player devices (TV, set-top boxes, audio players) bridged 
> via Matterbridge to be fully controlled from Gladys.
> 
> \## New clusters supported
> 
> \- \*\*MediaPlayback\*\* → play, pause, stop features (TELEVISION category)
> \- \*\*LevelControl\*\* (without lighting feature) → volume control (TELEVISION category)
> \- \*\*KeypadInput\*\* → navigation keys: up, down, left, right, enter, return (TELEVISION category)
> 
> \## Why
> 
> These clusters are exposed by Matterbridge plugins for media devices 
> (tested with a Freebox Player Delta via matterbridge-ai-plugin-factory #13).
> Without this PR, only the OnOff switch was recognized by Gladys.
> 
> \## Related
> 
> \- https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223
> \- https://github.com/GladysAssistant/matterbridge-ai-plugin-factory/issues/13
> 
> 
> \## Summary by CodeRabbit
> 
> \* \*\*New Features\*\*
> \* Added TELEVISION controls: Play/Pause/Stop, Volume adjustment, and remote commands (Up/Down/Left/Right, Enter, Return).
> \* Improved device conversion so TVs expose appropriate control features with correct min/max ranges, writable controls, and feedback.
> 
> \* \*\*Tests\*\*
> \* Added unit tests covering TV playback controls, volume adjustments, and remote key commands.
> 
> 
> 
> \[!\[Review Change Stack\](https://storage.googleapis.com/coderabbit\_public\_assets/review-stack-in-coderabbit-ui.svg)\](https://app.coderabbit.ai/change-stack/GladysAssistant/Gladys/pull/2533?utm\_source=github\_walkthrough&utm\_medium=github&utm\_campaign=change\_stack)

Sie fügt die Unterstützung von drei fehlenden Matter-Clustern hinzu:

- **MediaPlayback** → Abspielen, Pause, Stop
- **KeypadInput** → Navigation (hoch/runter/links/rechts/OK/Zurück)
- **LevelControl** (ohne Beleuchtung) → Lautstärke

All das, damit die über Matterbridge gebridgten Mediengeräte  
(Fernseher, Boxen, Player…) echte Funktionen in Gladys anbieten,  
nicht nur einen Schalter.

Der Bot CodeRabbit hat bereits eine automatische Überprüfung  
durchgeführt mit zwei kleinen Verbesserungsvorschlägen,  
die ich gerade korrigiere.

### Kartierung der fehlenden Matter-Cluster

Beim Vertiefen des Themas habe ich einen Vergleich  
zwischen allen verfügbaren MQTT-Funktionen und deren Abdeckung  
seitens Matter durchgeführt. Ergebnis: Etwa 50% der Gladys-Funktionen  
haben noch keinen Matter-Cluster.

**Hohe Prioritäten (Standard-Matter-Cluster, gut dokumentiert):**

- DoorLock → SCHLIEßEN (Schlösser)
- PowerSource → BATTERIE (Batteriestand)
- SmokeCoAlarm → RAUCHMELDER + CO-MELDER
- BooleanState → ÖFFNUNGSMELDER (Öffnungssensoren)

**Mittlere Prioritäten:**

- ColorControl temperature → Farbtemperatur (warm/kalt)
- FanControl → Lüftungs-/Klima-Modus
- CarbonDioxideConcentration → CO2-MELDER

**Funktionen, die nirgends existieren 💡**  
Wenn man weiterdenkt, gibt es Anwendungsfälle, die weder MQTT  
noch Matter heute in Gladys abdecken:

- Ventil/Bewässerung (der Matter-Cluster ValveConfigAndControl  
existiert bereits!)
- Wasser-/Gaszähler (Verbrauch in m³)
- Füllstand des Tanks (Heizöltank, Pool)
- Menschliche Anwesenheit Radar mmWave (genauer als ein PIR)

### Frage an die Community

Gibt es Funktionen, die euch in Gladys heute fehlen?  
Geräte, die ihr nicht richtig integrieren könnt?

Und wenn echte Entwickler diese prioritären Cluster übernehmen  
wollen, ist der Weg jetzt vorgezeichnet — die beiden zu ändernden  
Dateien sind convertToGladysDevice.js und matter.setValue.js,  
und das Muster ist sehr klar zu folgen 🙂

---

<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:** [25. Mai 2026 um 07:30 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/5 "2026-05-25T07:30:06Z")

</div>

Hallo @b3n.0 🙂

Ich weiß nicht, ob du es in der PR gesehen hast, aber wir führen Dutzende von Checks durch, um sicherzustellen, dass die PR gut ist: Unit-Tests, Linting, Formatierung, Code-Coverage usw.

Die Änderung muss auch unter realen Bedingungen getestet werden, bevor sie validiert werden kann. Ich weiß nicht, ob du das schon machen konntest?

In der PR findest du eine Checkliste, die du vor dem nächsten Schritt abhaken musst. Ich lade dich ein, die verschiedenen Punkte durchzugehen und mir Bescheid zu sagen, sobald die Korrekturen angewendet und die Überprüfungen durchgeführt wurden.

Falls es zu kompliziert für dich ist, lass es mich wissen und ich mache eine neue PR 🙂

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [28. Mai 2026 um 15:17 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/6 "2026-05-28T15:17:18Z")

</div>

Hallo @pierre-gilles 🙂

Danke für dein Feedback, ich habe die Checkliste durchgegangen und die geforderten Korrekturen mit Cursor durchgeführt.

> [@pierre-gilles](#):
>
> Man muss die Änderung auch unter realen Bedingungen testen, bevor man sie freigeben kann. Ich weiß nicht, ob du das schon gemacht hast?

Test unter realen Bedingungen: noch nicht, ich muss in einem Schrank wühlen, um einen alten Raspberry zu finden, ich habe irgendwo einen alten RPi 2B, hoffentlich funktioniert er noch!?

---

<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:** [28. Mai 2026 um 15:19 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/7 "2026-05-28T15:19:43Z")

</div>

> [@b3n.0](#):
>
> Danke für dein Feedback, ich habe die Checkliste durchgegangen und die geforderten Korrekturen mit Cursor vorgenommen.

Super, aber achte darauf, dass dein PR Dateien außerhalb des PR-Scopes ändert (`Scene.cy.js`)

> [@b3n.0](#):
>
> Ich habe einen alten RPi 2B, hoffentlich unterstützt er das!?

Das ist zu alt, wir bauen nicht mehr für armv6 ^^

Du kannst es aber auf deinem Entwicklungsrechner testen, musst es nicht unbedingt remote ausführen 🙂

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [31. Mai 2026 um 13:58 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/8 "2026-05-31T13:58:16Z")

</div>

Der PR wurde geschlossen und ein neuer erstellt, der den Umfang des PRs einschränkt…

> <https://github.com/GladysAssistant/Gladys/pull/2537>
>
> \## What this PR does
> 
> Adds support for three new Matter clusters in the Gladys… Matter integration, 
> enabling media player devices (TV, set-top boxes, audio players) bridged 
> via Matterbridge to be fully controlled from Gladys.
> 
> \## New clusters supported
> 
> \- \*\*MediaPlayback\*\* → play, pause, stop features (TELEVISION category)
> \- \*\*LevelControl\*\* (without lighting feature) → volume control (TELEVISION category)
> \- \*\*KeypadInput\*\* → navigation keys: up, down, left, right, enter, return (TELEVISION category)
> 
> \## Why
> 
> These clusters are exposed by Matterbridge plugins for media devices 
> (tested with a Freebox Player Delta via matterbridge-ai-plugin-factory #13).
> Without this PR, only the OnOff switch was recognized by Gladys.
> 
> \## Related
> 
> \- https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223
> \- https://github.com/GladysAssistant/matterbridge-ai-plugin-factory/issues/13
> 
> 
> \## Summary by CodeRabbit
> 
> \* \*\*New Features\*\*
> \* Added television media playback controls (play, pause, stop)
> \* Added television volume control with improved min/max range handling and sensible defaults when device attributes are unavailable
> \* Added remote control directional and action inputs (up, down, left, right, enter, return)
> \* Now surfaces explicit errors when required television control capabilities are missing
> 
> \* \*\*Tests\*\*
> \* Added comprehensive tests for television playback, volume, keypad controls, edge cases, and missing-capability behavior

Die Tests wurden durchgeführt, fehlt der Test unter realen Bedingungen:  
npm run dev schlägt fehl (offensichtlich ist node.js auf meinem Rechner zu neu… Ist das möglich?)

---

<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:** [1. Juni 2026 um 07:41 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/9 "2026-06-01T07:41:34Z")

</div>

Danke für dein PR, aber eine kleine Frage: Du hast dich dafür entschieden, eine „Fernsehen“-Funktionalität in Gladys zu verwenden. Ist `MediaPlayback` in Matter zwangsläufig mit einem Fernseher verbunden oder wird es auch für Musik verwendet?

Wie wird dieser Cluster auf anderen Matter-Systemen angezeigt? Zum Beispiel auf iOS?

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [1. Juni 2026 um 08:50 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/10 "2026-06-01T08:50:59Z")

</div>

Und ja … ! In der Matter-Spezifikation ist MediaPlayback ein generischer Cluster — er ist nicht nur für TVs reserviert. Er wird sowohl von TV-Boxen, Smart Speakern, Musikplayern usw. verwendet.

Die Matter-Spezifikation unterscheidet zwei Hauptgerätetypen:

- «&nbsp;Casting Video Player&nbsp;» (TV, Box)
- «&nbsp;Basic Audio Player&nbsp;» / «&nbsp;Speaker&nbsp;» (Lautsprecher, Audioplayer)

…aber beide können MediaPlayback verwenden. Hinzu kommen dann je nach Verwendung Channel, KeypadInput und LevelControl.

Für die Anzeige in iOS Home, ehrlich gesagt, ich weiß es nicht —  
das ist eine gute Frage und ich hatte noch keine Gelegenheit, es zu testen.

Daher deine Frage zur Designwahl:  
Ist es besser, bei der bestehenden Kategorie FERNSEHER in Gladys zu bleiben  
(die bereits alle Arten von Play/Pause/Lautstärke/Navigation hat), oder MUSIC zu verwenden  
oder etwas Generischeres zu erstellen?

Ich überlasse das völlig deinem Urteil 🙂

---

<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:** [1. Juni 2026 um 15:23 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/11 "2026-06-01T15:23:10Z")

</div>

Hallo @b3n.0,

Es ist wirklich cool, dass du helfen willst, und nimm mein Feedback nicht persönlich, okay? 😃

Der Punkt ist, wenn du einfach nur meine Nachrichten an Claude weiterleitetst und mir seine Antwort schickst, könnte ich das auch direkt selbst machen, also verliert der Vermittler ein bisschen seinen Sinn 😂

Was ich wirklich suche, ist der Teil, den Claude nicht für dich erledigen kann: auf meine Fragen antworten! Das ist die Aufgabe eines Menschen, der seinen Kontext kennt, und genau da bringst du echten Mehrwert ein 😃

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [2. Juni 2026 um 15:00 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/12 "2026-06-02T15:00:37Z")

</div>

Hallo @pierre-gilles,

Natürlich nehme ich das nicht persönlich. Ich weiß, dass ich bei solchen Themen eingeschränkt bin, um zu helfen 🙂

Ich habe mich für diesen PR hauptsächlich engagiert, um die Plugins testen zu können, die ich bei der matterbridge-ai-plugin-factory angefordert hatte, insbesondere für den Freebox Player und die Yoto meiner Kinder. Ich dachte mir, dass es nebenbei auch dem Projekt zugutekommen könnte.

In beiden Fällen handelt es sich um Funktionen, die von Matter in Gladys heute nicht abgedeckt werden.

Daher habe ich versucht, mit Cursor zurechtzukommen. Aber mir fehlen tatsächlich noch viele Grundlagen, selbst das Vokabular. Ich versuche immer, von den KIs die didaktischsten Erklärungen zu verlangen, aber das deckt nicht alles ab: Ich bin noch weit davon entfernt, das Thema zu beherrschen.

Und wenn es aus deiner Sicht am Ende mehr Arbeit in der Überprüfung erfordert, als die Änderungen selbst vorzunehmen, verstehe ich das vollkommen. In meinem Beruf als Architekt kommt es regelmäßig vor, dass ich mehr Zeit damit verbringe, jemandem zu erklären, wie man ein Detail zeichnet, als es selbst zu zeichnen 🙂

Wenn es für dich mehr Arbeit in der Überprüfung ist, als es selbst zu machen, verstehe ich das. In meinem Beruf als Architekt kommt es regelmäßig vor, dass ich mehr Zeit damit verbringe, jemandem zu erklären, wie man ein Detail zeichnet, als es selbst zu zeichnen!

---

<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:** [2. Juni 2026 um 17:56 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/13 "2026-06-02T17:56:49Z")

</div>

Das liegt ganz bei dir 🙂

Ehrlich gesagt, mit Cursor denke ich, dass es möglich ist, auch ohne Berufserfahrung als Entwickler sehr gute PRs für gezielte Funktionen zu erstellen.

Allerdings ersetzt das nicht die gesamte Vorarbeit: Man muss schauen, was die Marktführer machen (das verhindert das Rad neu zu erfinden), über die Benutzererfahrung nachdenken und dann konkret testen, ob es funktioniert und angenehm zu bedienen ist. Diese Teile übernimmt die KI nicht wirklich für dich, hier ist dein Beitrag am wichtigsten.

Wenn du die Motivation hast, eine Entwicklung von Anfang bis Ende zu betreuen, von der Idee bis zu den Tests, hilft mir das enorm. Und außerdem wirst du viel schneller die Funktionen haben, die dich in Gladys interessieren 😄

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [2. Juni 2026 um 19:16 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/14 "2026-06-02T19:16:24Z")

</div>

> [@pierre-gilles](#):
>
> Und du wirst die Funktionen, die dich interessieren, viel schneller in Gladys erhalten

Und ja, das war wirklich die Grundlage meiner Motivation.

Jetzt verstehe ich, dass ich die Tests bis zum Ende durchführen müssen. Daran muss ich noch arbeiten…

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [23. Juli 2026 um 11:37 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/15 "2026-07-23T11:37:34Z")

</div>

Hallo @pierre-gilles,

Ich habe mich ein bisschen umgesehen, und die Hauptansätze finden sich bei HA…

Daher sehe ich drei mögliche Ansätze:

1. **Ein einziges Widget** , das sich automatisch an die Funktionen des Geräts anpasst (Kanäle, Anwendungen, Fernbedienung, Lautstärke usw.).
2. **Mehrere spezialisierte Widgets** je nach Gerätetyp (Audio, Video, Casting…). \>\>\> Das ist die Wahl von HA, wenn ich es richtig verstanden habe
3. **Eine adaptive Version** , leicht auf mobilen Geräten und umfassender auf dem Desktop.

Persönlich finde ich den ersten gut…

Kleine Frage, ich habe kein Sonos bei mir, aber habe ich das richtig verstanden:

- Das bestehende Musik-Widget dient nur für Sonos?
- Gladys erkennt bereits bestehende Sonos-Gruppen, ermöglicht es aber nicht, sie zu erstellen oder zu ändern???

Basis: 4 Matter-Cluster (OnOff, MediaPlayback, LevelControl, KeypadInput)

Liste der Funktionen eines «&nbsp;universellen&nbsp;» Medien-Widgets, die bisher identifiziert wurden:

## 🎯 KERNFUNKTIONEN (Alle Geräte)

### Wiedergabesteuerung

```auto
✅ play() - Wiedergabe starten
✅ pause() - Pause
✅ stop() - Stoppen
✅ next() - Nächstes Lied/Programm
✅ previous() - Vorheriges Lied/Programm

```

### Zeitachse / Fortschritt

```auto
✅ seek(position) - Zu einer Position springen
✅ displayTimeline() - Fortschrittsleiste anzeigen
✅ displayTimeElapsed() - Verstrichene Zeit anzeigen (15:45)
✅ displayTimeRemaining() - Verbleibende Zeit anzeigen (-14:15)

```

### Lautstärkesteuerung

```auto
✅ setVolume(0-100) - Lautstärke einstellen
✅ increaseVolume() - Lautstärke erhöhen
✅ decreaseVolume() - Lautstärke verringern
✅ mute() - Stummschaltung
✅ unmute() - Stummschaltung aufheben
✅ displayVolumeLevel() - Lautstärke in % anzeigen

```

### Strommanagement

```auto
✅ powerOn() - Gerät einschalten
✅ powerOff() - Gerät ausschalten
✅ togglePower() - Ein/Aus umschalten
✅ displayPowerStatus() - Stromstatus anzeigen

```

### Geräteinformationen

```auto
✅ displayDeviceName() - Gerätenamen anzeigen
✅ displayStatus() - Status anzeigen (Wiedergabe, Pause, Gestoppt)
✅ displayCurrentSource() - Aktuelle Quelle anzeigen

```

* * *

## 🎵 AUDIO-PLAYER-FUNKTIONEN (Yoto, Sonos usw.)

### Metadaten-Anzeige

```auto
✅ displayArtwork() - Albumcover anzeigen
✅ displayArtist() - Künstlernamen anzeigen
✅ displayTitle() - Liedtitel anzeigen
✅ displayAlbum() - Albumname anzeigen
✅ displayDuration() - Gesamtdauer anzeigen

```

### Optionale Audio-Funktionen

```auto
✅ shuffle() - Zufallsmodus
✅ repeat() - Wiederholungsmodus
✅ like() - Lied mögen (♥)
✅ dislike() - Nicht mögen
✅ showQueue() - Wiedergabeliste anzeigen

```

* * *

## 📺 VIDEO-PLAYER-FUNKTIONEN (Freebox Player, TV usw.)

### Video-Anzeige

```auto
✅ displayVideoOutput() - Video anzeigen
✅ displayThumbnail() - Miniaturbild anzeigen
✅ displayChannelLogo() - Kanal-Logo anzeigen
✅ displayProgramTitle() - Programmtitel anzeigen

```

### Video-spezifische Steuerungen

```auto
✅ fastForward() - Schnellvorlauf
✅ rewind() - Rücklauf
✅ frameByFrame() - Bild für Bild
✅ subtitles() - Untertitel ein-/ausschalten
✅ audioTracks() - Audiospur ändern

```

* * *

## 📺 TV-KANAL-FUNKTIONEN

### Kanalauswahl

```auto
✅ setChannel(channelId) - Kanal wechseln (TMC, TF1 usw.)
✅ displayCurrentChannel() - Aktuellen Kanal anzeigen
✅ displayChannelNumber() - Kanalnummer anzeigen (34)
✅ displayChannelName() - Kanalname anzeigen (TMC)
✅ displayChannelLogo() - Logo anzeigen
✅ nextChannel() - Nächster Kanal (+)
✅ previousChannel() - Vorheriger Kanal (-)

```

### Schnelle Kanalzugriff

```auto
✅ renderQuickAccessButtons() - [TF1] [france2] [TMC] [france3]
✅ setFavoriteChannel(channelId) - Als Favorit markieren
✅ removeFavoriteChannel(channelId) - Aus Favoriten entfernen
✅ showAllChannels() - Modal mit allen Kanälen (62+)
✅ searchChannel(name) - Kanal suchen

```

### EPG (Electronic Program Guide)

```auto
✅ displayCurrentProgram() - Aktuelles Programm anzeigen
✅ displayProgramTitle() - Programmtitel (NCIS Los Angeles)
✅ displayProgramTime() - Sendezeit (15:45 - 16:30)
✅ displayProgramDescription() - Programmzusammenfassung
✅ displayNextPrograms() - Nächste Programme anzeigen
✅ displayProgramDuration() - Programmdauer

```

* * *

## 🎬 STREAMING-DIENSTE / APP-FUNKTIONEN

### Anwendungsstarter

```auto
✅ launchApp(appId) - App starten (Netflix, Disney+, usw.)
✅ displayAvailableApps() - Liste der verfügbaren Apps anzeigen
✅ displayCurrentApp() - Aktuelle App anzeigen
✅ closeApp() - App schließen
✅ switchApp(appId) - Zu einer anderen App wechseln

```

### Streaming-Dienste

```auto
✅ launchNetflix()
✅ launchDisneyPlus()
✅ launchAmazonPrime()
✅ launchAppleTV()
✅ launchYouTube()
✅ launchSpotify()
✅ launchAllApps() - Alle Apps anzeigen

```

 ![Test](https://gladys-assistant-community.b-cdn.net/uploads/default/original/3X/7/e/7e699708fda03d392ccb8e61611073ccfa882533.jpeg)

---

<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:** [27. Juli 2026 um 13:31 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/16 "2026-07-27T13:31:01Z")

</div>

Hallo @b3n.0!

Danke für die Erkundungsarbeit, genau das habe ich gebraucht, um eine Entscheidung zu treffen. Hier ist mein Vorschlag.

## **Zu den 3 Ansätzen: Wir nehmen Ansatz 1**

Ein einziges Widget, das sich an die Fähigkeiten des Geräts anpasst. Kleiner Hinweis: Home Assistant macht das übrigens tatsächlich genauso. Es hat nicht mehrere spezialisierte Widgets, sondern eine einzige Entität `media_player` und eine einzige Karte, die die Steuerungen je nach `supported_features` des Geräts anzeigt/versteckt. Der Vorreiter auf dem Markt geht also in deine Richtung 🙂

Ansatz 3 (mobil/desktop) ist keine Alternative: Das ist Responsiveness und kommt natürlich mit dem Dashboard-Raster.

## **Die Spezifikation, die ich vorschlage**

Beim Durchforsten des bestehenden Codes habe ich festgestellt, dass wir bereits **zwei sich überschneidende Medienmodelle** haben: die Kategorie `music` (verwendet von Sonos, mit Wiedergabestatus) und die Kategorie `television` (30 Typen, ausschließlich von den per Broadlink/MQTT erstellten Fernbedienungen verwendet). Statt ein drittes zu erstellen oder alles zu verschmelzen, schlage ich vor, jeder Kategorie eine klare Rolle zu geben:

- **`music` = der Medienplayer** (alles, was einen Status hat: Wiedergabe, Lautstärke). Hier wird Matter angeschlossen. Sofortiger Vorteil: Deine Freebox und deine Yoto werden **im selben Widget wie Sonos** angezeigt, das in „Medienplayer“ umbenannt und adaptiv gemacht wird.
- **`television` = die Fernbedienung** (tasten ohne Status: Pfeile, OK, Zurück). Hier wird Matter `KeypadInput` angeschlossen. Nettes Bonus: Der „Fernbedienungs“-Abschnitt des Widgets funktioniert dann auch für bestehende Infrarot-Fernbedienungen von Broadlink, nicht nur für Matter.
- **Power** : Cluster OnOff zu `switch`.

Und wir werden die Gelegenheit nutzen, das Modell zu modernisieren. Heute wird die Wiedergabe durch mehrere separate Features dargestellt (`play`, `pause`, `playback_state`…). Seitdem hat Gladys die `supported_options`: die Möglichkeit für ein Feature, die Liste der Werte anzugeben, die es unterstützt, Gerät für Gerät (wird bereits für Klimaanlagenmodi verwendet). Wir werden es hier nutzen:

- **Ein einziges steuerbares Feature `playback_state`** : Sein Wert ist der aktuelle Status (Wiedergabe / Pause / Stop), synchronisiert in Echtzeit, und seine Änderung sendet den entsprechenden Befehl. Seine `supported_options` listen die Status auf, die _dein_ Gerät erreichen kann, automatisch aus dem konstruiert, was das Gerät angibt (bei Matter veröffentlicht jedes Gerät die genaue Liste der Befehle, die es akzeptiert, über das Attribut `AcceptedCommandList`).
- Das Widget zeigt also genau die Play/Pause/Stop-Tasten an, die das Gerät unterstützt, mit dem aktiven Status hervorgehoben, ohne etwas für eine Marke oder ein Protokoll hart zu codieren. Es ist das Äquivalent zu `supported_features` von Home Assistant, aber in Daten.
- `next` und `previous` bleiben separate Features: Es sind Impulse ohne Status, keine Status.
- In Szenen wird „Player in Wiedergabe setzen“ eine echte Zustandszuweisung, natürlicher als ein „Tastendruck“.

Die vollständige Matter-Mapping:

| **Matter Cluster** | **Gladys Feature** |
| --- | --- |
| MediaPlayback | `music/playback_state` steuerbar, Optionen von `AcceptedCommandList`, Echtzeitstatus über das Attribut `CurrentState` |
| MediaPlayback (Next/Previous, falls unterstützt) | `music/next`, `music/previous` |
| LevelControl (Mediengerät) | `music/volume` **normalisiert 0 bis 100** |
| KeypadInput | `television/up`, `down`, `left`, `right`, `enter`, `return` |
| OnOff | `switch/binary` |

Zwei Punkte, die mir besonders am Herzen liegen:

1. **Statusrückmeldung.** Der Wiedergabestatus wird beim Start gelesen und per Abonnement verfolgt. Ohne das „errät“ das Widget den Status und geht aus dem Takt, sobald man die echte Fernbedienung verwendet. Das ist die Art von Detail, die den Unterschied zwischen einer Integration, die in der Demo funktioniert, und einer Integration, die im Alltag angenehm ist, ausmacht.
2. **Normalisierung der Lautstärke auf 0 bis 100.** Matter spricht von 0 bis 254, Sonos von 0 bis 100. Durch die Normalisierung an der Dienstgrenze bedeutet „Lautstärke auf 30“ in einer Szene dasselbe, unabhängig vom Protokoll. Das ist es, was Gladys protokollagnostisch macht.

Für bestehende Sonos-Nutzer wird eine Migration die alten Features `play`/`pause` automatisch in dieses neue Modell umwandeln, nichts zu tun auf ihrer Seite.

## **Zu deiner langen Funktionsliste**

Sie muss reduziert werden, aus einem faktischen Grund: Matter `MediaPlayback` **exponiert keine Metadaten**. Kein Titel, kein Künstler, kein Cover. Und EPG existiert in Matter überhaupt nicht. Das große Widget mit Kunstwerk kann also heute nicht von Matter gespeist werden. Kanäle und das Starten von Anwendungen haben zwar Cluster (`Channel`, `ApplicationLauncher`), aber fast kein reales Gerät implementiert sie. Wir werden uns damit nur beschäftigen, wenn dein Freebox-Plugin sie exponiert und wir es in der Praxis testen können.

Also Phasierung:

1. **Server** : Das neue Modell `playback_state` + die Sonos-Migration + das obige Matter-Mapping
2. **Frontend** : Entwicklung des Musik-Widgets zu einem adaptiven „Medienplayer“ (jeder Abschnitt wird nur angezeigt, wenn die Features existieren) und Unterstützung der Features mit `supported_options` in Szenen
3. **Später, wenn reale Geräte es rechtfertigen** : Stummschaltung, Position/Seek, Kanäle, Anwendungen, Metadaten bei Sonos

## **Deine Sonos-Fragen**

- Ja, das Musik-Widget ist de facto Sonos-only: Google Cast und AirPlay exponieren nur die Wiedergabe von Benachrichtigungen, daher fallen sie durch das Widget-Filter.
- Sonos-Gruppen werden heute nirgends verwaltet, weder bei der Wiedergabe noch bei der Schreibweise. Das ist ein eigenes Thema, wir behalten es für später.

## **Was als Nächstes kommt**

Für die Implementierung wird Claude Fable 5 ohnehin an dem Thema arbeiten, der Code ist nicht mehr der Engpass. Was jetzt wirklich zählt, ist die **Validierung der obigen Spezifikation** , denn sie wird bestimmen, ob das Ergebnis gut ist.

Und genau hier ist dein Beitrag am wertvollsten:

1. **Validiere (oder hinterfrage) diesen Plan**: Deckt er deine Freebox- und Yoto-Use-Cases gut ab?
2. **Tests unter realen Bedingungen** , wenn es soweit ist: Du bist der Einzige, der diese Geräte zur Hand hat.

Lass mich wissen, was du davon hältst!

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [21. August 2026 um 11:56 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/19 "2026-08-21T11:56:05Z")

</div>

Hallo @pierre-gilles

also, der Arbeitsüberhang vor den Ferien und dann die Ferien haben meine verfügbare Zeit für eine ordentliche Antwort aufgebraucht. sorry!

dann haben sich jetzt viele Dinge geändert (beeindruckend sogar!) vor allem die externen Integrationen [edit: [Dashboard - Mise en page flexible : pouvoir mélanger les lignes à 1, 2 et 3 colonnes](https://community.gladysassistant.com/t/dashboard-mise-en-page-flexible-pouvoir-melanger-les-lignes-a-1-2-et-3-colonnes/10553?u=b3n.0), das ist auch enorm]… ursprünglich wollte ich die Funktionen für ein/mehrere Matter-Plugins hinzufügen, jetzt denke ich, dass Plugins weniger Sinn machen und es besser ist, sich auf eine/mehrere Integrationen zu konzentrieren, oder liege ich da falsch?

Grundsätzlich:

> [@pierre-gilles](#):
>
> Ein einziges Widget, das sich an die Fähigkeiten des Geräts anpasst.

und dieses würde dann die Kategorie `music` und die Kategorie `television` gleichzeitig anzeigen, wenn verfügbar? Daher verstehe ich nicht:

> [@pierre-gilles](#):
>
> - deine Freebox und dein Yoto werden **im selben Widget wie Sonos** erscheinen, das in « Medienplayer » umbenannt und adaptiv gemacht wird.

wenn wir `television` wiederverwenden, das bereits von Broadlink verwendet wird, können wir dann nicht haben:

> [@pierre-gilles](#):
>
> - **Eine einzige Feature `playback_state`, steuerbar** : sein Wert ist der aktuelle Zustand (Wiedergabe / Pause / Stop), synchronisiert in Echtzeit, und seine Änderung sendet den entsprechenden Befehl. Seine `supported_options` listen die Zustände auf, die _dein_ Gerät erreichen kann, automatisch aus dem aufgebaut, was das Gerät angibt (auf der Matter-Seite veröffentlicht jedes Gerät die genaue Liste der Befehle, die es akzeptiert, über das Attribut `AcceptedCommandList`).

Infrarot gibt keinen Zustand zurück (das ist übrigens mein großer Frust zu Hause - ich musste Überwachungsszenen und Bedingungen basierend auf dem Verbrauch (über Steckdose) einrichten, um den Ein/Aus-Zustand meines Projektors abzugleichen - und seit meiner Rückkehr aus dem Urlaub scheint der Broadlink-Dienst nicht mehr zu funktionieren // ich werde später ein separates Thema dazu erstellen)

gibt es nicht Play-, Pause-, Stop-Tasten, die ohnehin stateless sind und daher in `television` bleiben

vielleicht habe ich mich verlaufen…

---

<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:** [4. September 2026 um 07:12 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/20 "2026-09-04T07:12:06Z")

</div>

Hallo @b3n.0,

Ja, jetzt sind die externen Integrationen Priorität 😉

Mit den externen Integrationen hast du die Freiheit, alles zu tun, was du willst: neue Ideen testen, experimentieren, iterieren, ohne mich um Erlaubnis fragen zu müssen. Genau darum geht es: absolute Freiheit 😎

Also los, teste, iteriere, verbessere… genau dafür sind sie gemacht!

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [4. September 2026 um 17:10 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/21 "2026-09-04T17:10:34Z")

</div>

Danke @pierre-gilles für dein Feedback, das sehr motivierend ist… aber es sei denn, ich liege völlig falsch, aber die Notwendigkeit der „Endpunkte“ in Gladys oder aber, und das war es, was ich in meiner letzten Nachricht andeuten wollte, eine externe Integration kann eventuelle Lücken füllen…

---

<div class="post-metadata">

**Author:** ![b3n.0](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/b3n.0/32/3458_2.png) [@b3n.0](https://community.gladysassistant.com/u/b3n.0)\
**Post date:** [6. September 2026 um 11:31 UTC](https://community.gladysassistant.com/t/matter-support-des-clusters-mediaplayback-keypadinput-et-levelcontrol-pour-les-appareils-media/10223/22 "2026-09-06T11:31:51Z")

</div>

Ich merke, dass meine letzte Nachricht absolut unverständlich ist…

Aber als ich das Thema über die Möglichkeit für Integrationen, ihre eigenen Widgets zu deklarieren, gelesen habe, finde ich schon eine Antwort auf einen Teil meiner Fragen.

> [@Erlauben Sie Integrationen, eigene Dashboard-Widgets zu deklarieren (JSON-Schema)](https://community.gladysassistant.com/t/permettre-aux-integrations-de-declarer-leurs-propres-widgets-de-dashboard-schema-json/10641?u=b3n.0):
>
> Der Bedarf Heute werden alle Widgets des Dashboards im Kern von Gladys entwickelt. Eine Integration (insbesondere externe, über das SDK) kann kein spezifisches Widget für ihren Bereich anbieten, obwohl die Daten dort oft erst ihren vollen Sinn ergeben: Überwachung der Solarstromproduktion, Status eines Robotersaugers, Ladeplanung eines Elektroautos usw. Der Vorschlag Es sollte einer Integration ermöglicht werden, ein oder mehrere Widgets über ein JSON-Schema zu deklarieren, nach demselben Pri…

Wenn ich das richtig verstehe, kann man heute nicht wirklich „anstecken“ in Gladys Informationen oder Aktionen, die nicht im Kern von Gladys existieren. Und folglich kann man sie auch nicht wirklich im Dashboard anzeigen oder in Szenen nutzen.

Genau da komme ich auf das Thema der Widgets: Wenn morgen eine externe Integration ihre eigenen Daten, Aktionen und eventuell Trigger deklarieren könnte, könnte man dann eine Integration haben, die mögliche Lücken im Kern von Gladys ausfüllen könnte, ohne jede spezifische Funktion in Gladys hinzufügen zu müssen.

Daher denke ich, dass es eher diese Verbindung zwischen dem Kern und den externen Integrationen ist, die ich in meiner vorherigen Nachricht zu verstehen versuchte.
