[Modul] Raumdisplay (RoomDisplay)

Also @Helmut & @norden ,

habe gerade mal schnell den Spinner mit value_str getestet - Ergebnis:

  • "value_str": 3 :white_check_mark:
  • "value_str": "AUS" :white_check_mark:
  • "value_str": "\uE01B" :white_check_mark:

Alle 3 Varianten gehen, d.h. man kann da sowohl Text, Zahl als auch die Fonts verwenden :slight_smile:

Ich bau das mal ein wie oben beschrieben (+/-) Wert für Speed & Drehrichtung, und Beschriftung für „value_str“!

Gruß HEiko

1 „Gefällt mir“

? da fehlt ein Tüttelchen? Oder?

Habs oben korriegiert!

Dann doch ChatGPT :slight_smile:

Hier das Statement bei Umrechnung rein:

array_search(array_reduce([0,10,25,50,75,90,100], fn($carry, $item) => abs({{val}} - $item) < abs({{val}} - $carry) ? $item : $carry, 0), [0,10,25,50,75,90,100])

Setzt Werte von 0 bis 100 näherungsweise an 0,10,25,50,75,90,100, d.h. 0 … 6 :slight_smile:

1 „Gefällt mir“

Danke, funktioniert perfekt.

richimaint

So, das mit dem Spinner ist umgebaut und fertig :white_check_mark:

Rudimentäres Testen der hinterlegen Daten und Umrechnungen gibt es jetzt auch :white_check_mark:

Hier mal ein Screen wenn alles Okay ist …

… und hier bei Fehlern …
image

IST NOCH NICHT ONLINE !!!

1 „Gefällt mir“

So, kurz vor dem Wochenende noch die hoffentlich letzte Version vor dem Einreichen zur Stable!

Changelog BETA v2.0.20241129:

  • NEU: Rudimentäres Prüfen der Umrechnungen pro Objekt(-Verlinkung)
  • NEU: Verhalten von Spinner erweitert, Speed & Direction über (+/-) Wert und Beschriftung hinzugefügt (siehe Diskussion oben)
  • FIX: Interner Umbau der Wertübername für Dorpdown, Gauge und Switch (Vereinheitlichung)

Bei entsprechendem Feedback, würde ich das dann nächste Woche einreichen und mich wieder anderen Aufgaben widmen :slight_smile:

Gruß HEiko

4 „Gefällt mir“

Moin Heiko,

vielen Dank. Ich habe es ausprobiert und es funktioniert „einzeln“ wunderbar. Ich habe noch ein Verständisproblem

  • eine Integervariable für +/- Geschwindigkeit und Drehrichtung (Wert)
  • eine Stringvariable für die Beschriftung/Text (Beschriftung)

ich habe jetzt, da es zwei Variablen sind, das Objekt 2 mal zugeordnet (ist das so gedacht?)

Bei Änderung der Beschriftung bleibt der Spinner stehen und läuft erst bei einer Weränderung wieder los.

Habe ich hier den falschen Weg gewählt?

VG
Dieter

Hallo Dieter,
Ist bei mir auch so.

Jein :slight_smile:

Grundsätzlich sollte man versuchen beides über eine Variable zu steuern.
Nehmen wir mal an wir haben ein Integer für einen Lüfter mit verschiedenen Geschwindigkeitsstufen. Dann könnte man z.B. 1000 = Stufe 1, 2000 = Stufe 2 usw. machen, d.h. den Wert nimmt man für den Speed und durch 1000 geteilt als Beschriftung! Wenn man das natürlich nicht durch eine Formel plus Bedingung hin bekommt, z.B. Speed = 0 dann Beschriftung = ‚AUS‘ (bekommt man über Bedingung auch hin), dann muss man das UI-Element doppelt verknüpfen - das geht auch! Die Abarbeitung ist sequentiell entsprechend der Liste (first come first serve).

Wie gesagt, wenn es gar nicht anders geht … dann okay!

Ich schau mir das mal an und melde mich!

Gruß HEiko

Also bei mir geht es. Was ich festgestellt habe ist aber, wenn man was fehlerhaftes formatiert dann bleibt der Spinner stehen!

Ich habe es am oben ausgeführten Beispiel mit der Geschwindigkeitsstufe getestet:

image

Wie sieht das bei Euch aus und was habt ihr für Variablen und Werte … zum Testen!

PS: bei Beschriftung bitte auch einen String (strval) reinschicken!

Moin Heiko,

in meinem Anwendungsfall habe ich zwei voneinander unabhängige Variablen einen String und ein Integerwert ± und nur bei Änderung des Strings bleibt die Animation des Spinners stehen aber kein Problem.
Der von dir beschriebene Weg mit der einen Variablen ist sicher vernüftig und der Normalfall .
Habe ich ausprobiert, funktionier einwandfrei.

Vielen Dank für Deine Mühen
Dieter

Kannst Du mir mal dein Mapping zeigen für diesen Fall?! Dann kann ich mal versuchen das nachzustellen.

Gruß HEiko

Ahh, hab das Problem! Bei 2 Variablen versucht er trotzdem den Speed immer zu setzten :frowning: Fix ich zum nächsten Update! Brauchst mir nicht mehr schicken!

Klasse, bin auch gerade erst nach Hause gekommen :slight_smile:

1 „Gefällt mir“

Hallo zusammen
Habe mein Display erhalten und bin nun am spielen, macht wirklich Spass - und besten Dank für eure Arbeit!

Es gibt ja die schon erwähnten Icons welche sich auch nutzen lassen (im jsonl: \u…):
Fonts - openHASP

Die Icons scheinen von Material Design Icons zu stammen, in der Lib sind dort noch viel mehr mit drin:
Material Design Icons - Icon Library - Pictogrammers

Auch im GIT von openHASP scheint diese vollständige Lib/Liste drin zu sein:
openHASP/src/font/md-icons.json at master · HASwitchPlate/openHASP · GitHub

Nur kann ich die zusätzlichen Icons nicht ansprechen mittels \u…
Ist das möglich, hat das jemand von euch geschafft?

Gerade das „window-open-variant“ wäre sehr wertvoll welches es nur in der grossen Lib gibt…

Besten Dank!

In deinem ersten Link unter „Custom Fonts“ wird erklärt, wie die ttf nutzen kannst. Ich habe es noch nicht probiert.

Hi zusammen, ich habe mein Display schon seit ein paar Monaten liegen und jetzt zu Weihnachten endlich einmal Zeit mich damit zu beschäftigen. Ich bin vom Modul openHASP auf das Raumdisplay Modul umgestiegen, tue mich aber tatsächlich noch ein bisschen schwer.
Ich habe lange versucht das °C hinzubekommen… irgendwann hat es dann mit folgendem Code-Schnipsel geklappt: WWXRD_SendCommand(48700, ‚["p0b4.text=‘.$Text.‚\u00B0C"]‘); (Wobei in der $Text Variablen die Temperatur steht. Wahrscheinlich geht es besser, aber das °C hat er nur initial richtig ausgegeben und nicht, wenn ich es gesendet habe…
Ich hänge jetzt aber fest bei einem Button mit Toggle Funktion.
Mit diesem habe ich eine KNX Variable verknüpft, die mein Licht schaltet.
Leider wird der Button dazu verkehr herum dargestellt, d.h. er ist orange, wenn das Licht aus ist und blau bei an. Das habe ich mit den Umwandlungen versucht anzupassen.
Unter „Umrechnung“ steht bei mir: ({{val}}==true) ? ‚0‘ : ‚1‘
Unter „Rückrechnung“: ({{val}}==1) ? ‚false‘ : ‚true‘
Damit ist zumindest der Farbwechsel richtig, allerdings reagiert der Button nicht auf Änderungen der KNX-Instanz, d.h. wenn die KNX Instanz „toggelt“ tut sich bei dem Button nichts…
Was kann ich da ggf. noch tun?

Hi,

das °C Problem ist eigentlich schon lange Geschichte.

Bei Problemen sind immer 2 Sachen wichtig, die JSONL Definition des UI-Elements in der pages.jsonl und der Mapping-Eintrag im Modul. Sonst wird es schwer zu helfen bzw. nachzustellen! Weil, es ist schon manschmal etwas Tricky die richtige Konfig zu finden.

Gruß Heiko

1 „Gefällt mir“

Hmm, ich sag ja, mir fehlt da noch ein bisschen Background, wie die einzelnen Dinge Hand in Hand gehen.
Der Eintrag in der pages.json für den Button sieht so aus:
{„page“:1,„id“:2,„obj“:„btn“,„x“:10,„y“:90,„w“:105,„h“:90,„toggle“:true,„text“:„\uE335“,„text_font“:28,„align“:1}
Für die Temperatur:
{„page“:0,„id“:4,„obj“:„label“,„x“:275,„y“:1,„h“:40,„w“:100,„text“:„00.00°C“,„text_font“:28,„text_color“:„red“,„align“:2,„bg_color“:„#2C3E50“}
Funktioniert auch initial mit dem °C, wenn ich das allerdings mit WWXRD_SendCommand sende, dann lässt er das ° weg.
Für den Button habe ich folgenden Mapping Eintrag erstellt:


Die „Rückrechnung“ funktioniert auch so, nur Änderungen in der KNX-Variablen werden nicht registriert, aber vielleicht ist das auch so gewollt und ich muss mit einer „Zwischenvariablen“ arbeiten wie das Ausgangsmodul openHASP?