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

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:
:white_check_mark: Authentifizierung über die Freebox-Bildschirmvalidierung
:white_check_mark: Automatische Erkennung des Players
:white_check_mark: 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:

Danke!

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 :blush:

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 :slightly_smiling_face:

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:

:backhand_index_pointing_right: PR #2533 eingereicht im Gladys-Repo:

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 :light_bulb:
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 :slightly_smiling_face:

Hallo @b3n.0 :slight_smile:

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 :slight_smile:

Hallo @pierre-gilles :slightly_smiling_face:

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

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!?

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

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 :slight_smile:

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

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?)

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?

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:

  • « Casting Video Player » (TV, Box)
  • « Basic Audio Player » / « Speaker » (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 :slightly_smiling_face:

Hallo @b3n.0,

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

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 :joy:

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 :smiley:

Hallo @pierre-gilles,

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

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 :slightly_smiling_face:

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!

Das liegt ganz bei dir :slightly_smiling_face:

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 :grinning_face_with_smiling_eyes:

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…

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 « universellen » Medien-Widgets, die bisher identifiziert wurden:

:bullseye: KERNFUNKTIONEN (Alle Geräte)

Wiedergabesteuerung

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

Zeitachse / Fortschritt

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

Lautstärkesteuerung

✅ 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

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

Geräteinformationen

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

:musical_note: AUDIO-PLAYER-FUNKTIONEN (Yoto, Sonos usw.)

Metadaten-Anzeige

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

Optionale Audio-Funktionen

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

:television: VIDEO-PLAYER-FUNKTIONEN (Freebox Player, TV usw.)

Video-Anzeige

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

Video-spezifische Steuerungen

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

:television: TV-KANAL-FUNKTIONEN

Kanalauswahl

✅ 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

✅ 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)

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

:clapper_board: STREAMING-DIENSTE / APP-FUNKTIONEN

Anwendungsstarter

✅ 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

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

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 :slightly_smiling_face:

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!

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, 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:

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

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

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…

Hallo @b3n.0,

Ja, jetzt sind die externen Integrationen Priorität :wink:

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 :smiling_face_with_sunglasses:

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

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…

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.

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.