[Modul] Raumdisplay (RoomDisplay)

Jetzt habe ich zumindest verstanden, warum das Toggeln mit dem Objekt „btn“ so funktioniert (glaube ich zumindest :wink:

Toggle ON:
{„event“:„down“,„val“:0}
{„event“:„up“,„val“:1}
Toggle OFF:
{„event“:„down“,„val“:1}
{„event“:„up“,„val“:0}

Beim Drücken (down) für Einschalten wird eine 0 gesendet, auf die ich in meinem ({{val}}==1) ? ‚false‘ : ‚true‘ entsprechend reagiere.

Geht der Ansatz überhaupt, dass ich eine vorhandene IPS Variable nutze, die dann bei entsprechender Verknüpfung über Deine Mapping-Tabelle den Status ans Display meldet?

Bitte sowas immer als Code (</>) posten, sonst sind die ganzen Hochkommas falsch formatiert zum testen (also zum rauskopieren und hier ausprobieren)

Das Page 0 eine Sonderfunktion hat weißt Du? Warum nutzt Du SendCommand und mappst nicht die Variable mit der Temperatur direkt? Mach ich auch …

Hier mal zwei Beispiele für Toggle Button von mir …

Hier die Definition von Toggle nochmal:

val	int16	0	The value: 0 = untoggled, 1 = toggled

Da Deine Variable anscheinend ein Bool ist, sollte die Umrechnung recht einfach wie in meinem Beispiel sein!
In Deinem Screenshot ist bei Umrechnung nix drin und auch Beschriftung steht „Button1“, das wird in Summe dann so nicht funktionieren!

Woher weißt Du das es funktioniert wenn keine Änderung erfolgt? Hat die Variable eine Action, diese wird normalerweise aufgerufen.

Vorsicht mit den Anführungszeichen, dann ist true oder false schnell ein String. Nimm lieber 1 und 0!

Genau dafür ist doch das Modul da :smiley:

Danke schon mal für die schnelle Reaktion.
Ich habe jetzt alles auf die Variante ({{val}}==1) ? 0 : 1 umgestellt.
Schalten funktioniert wie gehabt, Rückmeldung der KNX Instanz nicht.
Die KNX-Variablen (als Teil der entsprechenden Instanz) haben eine Standard-Action.
Die Umrechnung hatte ich beim Posten des Screenshots rausgenommen (weil sie ja nicht funktioniert hat). „Button 1“ hatte ich als Standard-Label einfach mal eingetragen (da sollte noch keine Funktion hinterliegen ;-))
Die Sonderfunktion der Page0 ist, dass die immer angezeigt wird, oder? Deshalb der richtige Ort, um die Titelzeile zu platzieren, die ja immer sichtbar sein soll, richtig?

1 „Gefällt mir“

Tja, warum habe ich die Temperatur nicht direkt gemappt? Habe wohl gedacht, dass klappt dann auch nicht, weil es auch eine KNX-Variable ist. Klappt aber, auch mit der Formatierung und dem °C (ohne Spezialcode). Es wird langsam :wink:

1 „Gefällt mir“

Hmm, ich versteh es nicht?!
Meine Zuordnung sieht nun wie folgt aus:


Wenn ich die KNX-Instanz schalte reagiert das „Label“ und ändert korrekt das Lampen-Icon (aus und ein). Allerdings wechselt die Farbe des Buttons nicht mit… Das tut sie aber korrekt bei Betätigung des Buttons auf dem Display… (der Toggle Status, also an/aus wird aber korrekt an das Objekt btn zurückgegeben)

Mach doch mal ein Screenshot vom Display damit wir wissen worüber wir reden!

Außerdem lass doch mal ein Log mitlaufen und dann schalte sowohl im Display als auch KNX, dann sehe ich was da abgeht!

Teil 1 = Screenshot (es geht um den Button, der Rest funktioniert):
screenshot-plate0

Welches Log meinst Du? Was genau brauchst Du?
Meldungsfenster bringt Dich sicher nicht weiter, KNX-Gruppenadressen wird auch schwierig, davon gehen auch gaaanz viele über den Bus…
Im Debug des MQTT-Servers kommt nichts an…
Ich suche weiter nach Möglichkeiten eines Logs :wink:

Na das Debug-Log vom Modul!

Mache ich gleich; habe derweil mqtt-spy installiert und mal geguckt, was sp passiert beim Schalten.
Wenn ich ein publish auf das topic hasp/plate0/state/p1b2 mit den Daten {„event“:„down“,„val“:1} mache, schaltet er auch nur das Icon und nicht die Farbe des Buttons (??)

dump (5).txt (39,0 KB)
Ich habe

  1. über Display eingeschaltet
  2. über Display wieder ausgeschaltet
  3. über KNX eingeschaltet
  4. über KNX wieder ausgeschaltet
1 „Gefällt mir“

Meinst Du mit Frabe des Buttons die Invertierung, also den gedrückten Button State!?

Debug schau ich mir morgen an!

Gruß Heiko

Jetzt mal mit Video :wink:

1 „Gefällt mir“

Danke fürs Video - jetzt haben wir den gleichen Stand :slight_smile:

Wenn ich das richtig sehe, ist dein KNX Wert ein Boolean und 1=AN und 0=AUS, richtig?

Dann lösche mal bitte bei Umrechnung und Rückrechnung alles raus, also leer. Und sagst mir was dann passiert!

Das Verhalten ist dasselbe, also das Symbol (die Lampe im btn) wird korrekt geändert, sowohl durch Betätigen des Displays, also auch durch Schalten des KNX Objektes (natürlich auch, wenn es nicht durch Alexa geschaltet wird ;-)). Die Farbe des btn-Objektes ändert sich jedoch nicht, wenn das KNX-Objekt toggelt.
Ohne die Um- und Rückrechnungsformeln ist jedoch alles invers = Symbol Lampe an, wenn echte Lampe aus und entsprechend auch die Button-Farbe auf orange, wenn echte Lampe aus und blau, wenn echte Lampe an.

… ach und ja, KNX-Wert ist boolean (was mich wundert ist, dass für das Label das Ganze ja offensichtlich funktioniert - also das Lampensymbol macht ja alles richtig, sowohl bei der Bedienung über das Display als auch beim Empfang des KNX-Telegramms :man_shrugging:

Nochmal ist das bei deinem KNX Wert so? Wenn nicht, würde es das invers erklären!

Das ist ja das Merkwürdige…


Aus = False = 0
Ein = True = 1
Wie gesagt:
Das Lampen-Icon macht ja genau das, was ich erwarte:

({{val}}==0) ? '\uE6E8' : '\uE335'

Also Icon=„Ausgeschaltete Lampe“ bei val=0 und „Eingeschaltete Lampe“ bei val=1

Nur die Toggel-Schaltfläche macht es anders herum (wofür es über die Invertierung ja eine Lösung gibt). Erklärt aber nicht, warum das Lampen-Icon auf die Änderung der KNX-Variable „hört“ (wie im Video zu sehen), aber die Schaltfläche den btn-Objektes eben nicht?

Ich habe es jetzt mit dem Objekt „switch“ ausprobiert und da funktioniert alles wie erwartet.
Die KNX-Variable zugeordnet über Deine Objektzuordnung und die Schaltfläche reagiert korrekt auf Bedienung am Display und beim Schalten der KNX-Variable?
Hätte es natürlich gern über den Button gemacht, aber nun ja… wenn es so geht, dann bastle ich das halt um. Würde es nur gern verstehen, warum es mit dem btn-Objekt nicht geht (obwohl es eigentlich müsste ;-))