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