ioBroker.awtrix-light icon indicating copy to clipboard operation
ioBroker.awtrix-light copied to clipboard

[Vorschlag] Super-Experten Apps zur transparenten Übertragung eigenverantwortlich gestalteter Apps

Open hsteinme opened this issue 1 year ago • 3 comments

I'm sure that

  • [X] This issue is still present in the current beta version of this adapter
  • [X] There is no other (open) issue with the same topic (use the search!)
  • [X] This issue is not described in the adapter documentation / FAQ (read the docs!)

Version of awtrix-light firmware

0.96

The problem

Mit der sendTo-Funktionalität des Adapters können Notifications erstellt und gesendet werden. Deren Aussehen wird über eine ziemlich umfangreiche Property-Sammlung eines JSON-Objekts definiert. Hier stehen weitaus mehr Gestaltungsmöglichkeiten als bei einer App zur Verfügung. Als Beispiele hierfür seien nur mal die Möglichkeit, Textfragmente verschiedenartig zu färben, oder die Nutzung der Zeichnen-Anweisungen genannt.

Vorschlag: In einer speziellen Klasse der Experten-Apps die App-Gestaltung per vom Anwender eigenverantwortlich erstelltem JSON-String zulassen und diesen vom Adapter unbesehen (also tranparent) zum Awtrix übertragen. Das User-Interface dazu könnte wie folgt gestaltet werden:

  • Die heutige Definition von Experten-Apps wird um ein Optionsfeld erweitert: Typ: Standard-Typ / JSON-Typ. Der Standard-Typ entspräche den bisherigen Experten-Apps. JSON-Typ wäre die neue Klasse von Apps.

  • Im Objektbaum unterhalb awtrix-light.x.apps.<AppName> würden nur drei Datenpunkte angeboten werden: "activate", "visible" und "json". In letzterem müsste der Anwender seine App-Konfiguration im JSON-Format abstellen.

Ich weiß nicht, ob der Adapter bei formalen Fehlern im JSON eine Rückmeldung der Awtrix erhält. Falls ja, wäre zu überlegen, wie damit umzugehen wäre: Ignorieren (lieber nicht), in die Logdatei schreiben oder in einem 4. Datenpunkt "feedback" abstellen.

iobroker.current.log (in debug mode!)

No response

Version of nodejs

v18.20.4

Version of ioBroker js-controller

5.0.19

Version of adapter

1.3.0

hsteinme avatar Sep 05 '24 10:09 hsteinme

Thanks for reporting a new issue @hsteinme!

  1. Please make sure your topic is not covered in the documentation
  2. Please attach all necessary log files (in debug mode!), screenshots and other information to reproduce this issue
  3. Search for the issue topic in other/closed issues to avoid duplicates!

Otherwise this issue will be closed.

github-actions[bot] avatar Sep 05 '24 10:09 github-actions[bot]

Dann sind wir aber langsam an dem Punkt, wo man den Adapter gar nicht mehr braucht und einfach selbst einen POST-Request senden kann?!

klein0r avatar Sep 05 '24 11:09 klein0r

So ganz Unrecht hast Du damit nicht. Dennoch hat der Ansatz über den Adapter Vorzüge gegenüber dem "zu-Fuß-Ansatz".

  • Die Bedienung/Programmierung des Adapters ist für meinen Geschmack einfacher als die Arbeit mit dem POST-Versand.
  • Bei einer Mischung von Custom Apps, Expert-Apps-Standard und Expert-Apps-JSON für den Betrieb ein und desselben Gerätes möchte ich gern einen Single Point of Operation haben - und das ist für mich dann der Adapter.
  • Wenn ich Aktivitäten verschiedener App-Typen untereinander abstimmen muss, ist dies einfacher, wenn die verschiedenen Apps an ein und derselben Schnittstelle hängen.
  • Ob im Awtrix Komplikationen auftreten können, wenn es von zwei unabhängigen Quellen unkoordiniert mit Apps beworfen wird, vermag ich nicht einzuschätzen. Aber ein gewisses Risiko sehe/fühle ich schon dabei.

hsteinme avatar Sep 05 '24 11:09 hsteinme

Siehe *.baseObject (seit Adapter-Version 2.0.0) in den Experten-Apps.

klein0r avatar May 02 '25 10:05 klein0r

Super! Ein ganz liebes Dankeschön geht daher von Sande nach Elsen 😁

Wird es irgendwann und irgendwo noch einen 5-Zeiler zu diesem neuen Datenpunkt geben?

hsteinme avatar May 02 '25 12:05 hsteinme

Wo würdest denn nach so einem 5-Zeiler suchen? 😄

klein0r avatar May 02 '25 12:05 klein0r

In https://github.com/klein0r/ioBroker.awtrix-light/tree/master/docs/de.

Eine elektronische Suche nach baseObject lieferte dort keinen Treffer. Nach Deiner kessen Rückfrage habe ich dann mal visuell gesucht - und war heftigst erstaunt, dass hier sogar die Namen von Datenpunkten ins Deutsche übersetzt werden 🥴

Danke für den 7-Zeiler 👍

hsteinme avatar May 02 '25 13:05 hsteinme