Danke für dein Engagement 
Ich denke, die Möglichkeit, Text anzuzeigen, geht weit über meinen spezifischen Nutzen für diesen Staubsauger hinaus.
Ideen:
- Block „Geburtstage heute“, der die Namen der zu feiernden Personen anzeigt.
- Block „Persönliche Nachricht“, die sich je nach Bedarf ändert.
- Block „Maxime des Tages“ (persönlich zeigt meine Konsole immer einen kleinen Gedanken von Chuck Norris an, hier ist es „Chuck Norris kann das Vakuum zerstören“).
- Block „Letzte SMS“, der die letzte empfangene SMS anzeigt.
- Block „Fehlermeldung“ eines bestimmten Befehls (wie wakeonlan oder ein anderer Befehl, der regelmäßig vom Raspberry ausgeführt wird). Es ist unmöglich, alle Fehler aller Befehle aufzulisten, und man würde die Möglichkeit verlieren, einen bestimmten Fehler anzugeben oder einen benutzerdefinierten Text anzuzeigen.
- …
All das einfach über MQTT vom Entwickler umgesetzt und ohne den Quellcode von Gladys anpassen zu müssen, denn:
- Es ist kompliziert.
- Wir sind von euch abhängig.
- Ihr braucht Zeit.
- Es blockiert, bis es entwickelt ist.
- Es macht keinen Sinn, persönliche Anforderungen in Gladys zu entwickeln.
Letztlich denke ich, dass man so weitermachen sollte, wie ihr es tut, Konstanten für Werte, aber es sollte eine Funktion „Text“ geben, mit der man den gewünschten Text anzeigen kann.
Auf diese Weise kann man, wenn es sich um einen spezifischen Text handelt, ihn anzeigen, und wenn es sich um einen Text handelt, der in eine Konstante gesetzt werden kann, kann man ihn anzeigen, bis die Konstanten und Funktionen erstellt sind.
Denn ja, es ist schöner, die richtige Funktion mit ihrer Einheit und ihrem Symbol zu verwenden.
Um noch weiter zu gehen, müsste man auch die Möglichkeit entwickeln, einen Textwert im Auslöser der Szene „Gerätestatusänderung“ und „Nur fortsetzen, wenn“ zu verwenden.
Und das Beste wäre, die Möglichkeit zu haben, das Symbol anzupassen (ja, ich bin bis zum Ende nervig
).
Mein Standpunkt ist, dass man eine einfache Möglichkeit belassen sollte, das anzuzeigen, was man möchte, damit jeder Baby-Dev seine kleinen persönlichen Skripte autonom erstellen kann.
Um zu meinem Staubsauger zurückzukehren, hier sind die Informationen, die er mir geben kann:
Zustände, die in Gladys-Konstanten definiert werden könnten:
Wert ‹ docked › im Topic ‹ state:state ›.
Wert ‹ medium › im Topic ‹ state:fan_speed ›.
Wert ‹ Charging › im Topic ‹ attributes:valetudo_state.name ›.
Wert ‹ stop › im Topic ‹ command_status:command ›.
Wert ‹ state › im Topic ‹ config:schema ›.
Wert ‹ ok › im Topic ‹ command_status:message ›.
→ Diese Werte können global OK sein, erfordern aber das Verwalten aller Werte und das Überprüfen der Übereinstimmung mit anderen Staubsaugern. Die Werte könnten möglicherweise von den Staubsaugern und der Software abhängen…
Spezifischere Nachricht, bei der man alle Möglichkeiten finden müsste:
Wert ‹ No error › im Topic ‹ attributes:last_run_stats.errorDescription ›.
→ Ich denke, das ist viel spezifischer für meinen Staubsauger.
Wirklich spezifische Werte für meinen Staubsauger:
Wert ‹ rockrobo › im Topic ‹ config:name ›.
Wert ‹ rockrobo › im Topic ‹ config:unique_id ›.
Wert ‹ Roborock › im Topic ‹ config:device.manufacturer ›.
Wert ‹ roborock.vacuum.s5 › im Topic ‹ config:device.model ›.
Wert ‹ rockrobo › im Topic ‹ config:device.name ›.
Wert ‹ rockrobo › im Topic ‹ config:device.identifiers ›.
Wert ‹ 0.10.9 › im Topic ‹ config:device.sw_version ›.
→ Das sind nur Texte, die man nicht in Konstanten setzen kann.
Hier gibt er die zu verwendenden Topics an, also spezifisch für die Software und ihre Konfiguration:
Wert ‹ valetudo/rockrobo/command › im Topic ‹ config:command_topic ›.
Wert ‹ valetudo/rockrobo/state › im Topic ‹ config:state_topic ›.
Wert ‹ valetudo/rockrobo/set_fan_speed › im Topic ‹ config:set_fan_speed_topic ›.
Wert ‹ valetudo/rockrobo/custom_command › im Topic ‹ config:send_command_topic ›.
Wert ‹ valetudo/rockrobo/attributes › im Topic ‹ config:json_attributes_topic ›.
→ Das sind nur Texte, die man nicht in Konstanten setzen kann.
Liste der möglichen Werte einiger Befehle:
Wert ‹ start:pause:stop:return_home:battery:status:locate:clean_spot:fan_speed:send_command › im Topic ‹ config:supported_features ›.
Wert ‹ min:medium:high:max:mop › im Topic ‹ config:fan_speed_list ›.
→ Könnte mehr oder weniger in Gladys gesetzt werden, hängt aber von den Fähigkeiten der Staubsauger ab.
Datumsverwaltung (Anzahl der Millisekunden seit dem 01/01/1970):
Wert ‹ 1676655003668 › im Topic ‹ command_status:updated ›.
Wert ‹ 1676655000000 › im Topic ‹ attributes:last_run_stats.startTime ›.
Wert ‹ 1676655003000 › im Topic ‹ attributes:last_run_stats.endTime ›.
→ Selbst wenn ich das Datum berechne, kann ich es nicht in Gladys anzeigen.
→ Noch eine Idee für eine zu entwickelnde Funktion 
Letztlich erfordert das Entwicklung auf eurer Seite, obwohl alles über eine Textfunktion laufen könnte.
Ich schätze Gladys wirklich, sein Design, seine Benutzerfreundlichkeit…
Deshalb bin ich nervig und denke, dass diese Art von generischer Funktion das Leben vereinfachen und dir helfen würde, keine Zeit mit spezifischeren Anforderungen (andere als meine, die natürlich priorisiert werden
) zu verlieren.
Fazit: Danke dir und es lebe Gladys!