[Modul] Raumdisplay (RoomDisplay)

Das einzige was ich probieren würde ist „w“ und „h“ zu vergrößern, bei einer Fontsize von 110 braucht man schon etwas Platz!

Kann man ja später wieder runterfahren bzw. eingrenzen!

Gruß Heiko

Ich hätte da auch noch was: mir gelingt es nicht bei einem Button die Hintergrundfarbe zu ändern wenn er den Wert ‚True‘ hat, bei False klappt es… Idee?

Wie immer, wie soll man anhand Deines Satzes das Probhlem erkennen?? Kein Screens, kein Code …

Je mehr Infos, um so höher die Wahrscheinlichkeit das man eine Lösung findet :slight_smile:

Gruß Heiko

OK, ich versuch es mal detaillierter:

  • ein Button ist wie folgt beschrieben:
  • {„page“:02,„id“:42,„obj“:„btn“, „x“:175,„y“:295,„w“:130,„h“:160,„align“:„center“,„bg_opa“:70,„bg_color“:„#FFFFFF“,„border_side“:0,„text“:„\uF2D4“,„text_color“:„#FFD000“,„text_font“:64,„toggle“:true, „radius“:10}

  • in der Objektzuordnung lautet die Umrechnung:
  • ({{val}} == 0 && ) ? ‚#FF0000 \uF2D4‘ : ‚#420101 \uF2D4‘

Beim Betätigen des Buttons sehe ich im Mqtt Explorer:

{„event“:„up“,„val“:0} und {„event“:„up“,„val“:1}

Die Farbe des Symbols wechselt wie gewünscht, gut, aber nun möchte ich zusätzlich die Farbe des Hintergrundes (bg_color) simultan wechseln, das scheint grundsätzlich zu gelingen aber wenn val:1 dann wird die Farbe wohl von der irgendwo im System gesetzten Farbe überschrieben <= und diese möchte ich beeinflussen.
Hier mein kleines Testscript dazu (kein Automatismus):

<?php
    // === Helper-Funktion für MQTT-Nachrichten ===
    function sendMQTT($instID, $valueID, $topic, $value) {
        global $DEBUG;
        if ($DEBUG) {
            echo "[" . __LINE__ . "] Tor-Update sendMQTT Topic: ".$topic." Payload: ".$value."\n";
        }
        IPS_SetProperty($instID, "Topic", $topic);
        IPS_ApplyChanges($instID);
        RequestAction($valueID, $value);
    }
    // === IDs ===
    $instID       = 44987;   // MQTT-Client-Instanz
    $valueID      = 57246;   // Variable für MQTT-Payload
    // === MQTT-Basis-Topic ===
    $baseTopic    = 'hasp/kroka_test/command';
    $page = '2';
    $buttonID = 42;
    $color = '#0066FF';
    // Button-Hintergrund
    echo "$baseTopic"."/"."p".$page."b".$buttonID.".bg_color".$color;
    sendMQTT($instID, $valueID, $baseTopic."/"."p".$page."b".$buttonID.".bg_color",$color);

as ‘Problem’ liegt ev. bei den Style Einstellungen des Displays… aber die speziell für diesen Button zu ändern hat sich mir bisher nicht erschlossen.
Ich hoffe das ist nun verständlicher ?
Gruß, Michael

Viel besser :slight_smile:

Nur ganz kurz - bin noch nicht durch mit Deinen Infos, aber die

sieht nicht richtig aus! Hast Du mal mein Feature PRÜFEN genutzt?!!

Bzw. haste mal ein Screen vom gewünschten oder eben noch nicht Ergebnis?!

sollte das nicht so sein???

({{val}} == 0) ? '#FF0000 \uF2D4' : '#420101 \uF2D4'

Also für was ist das &&

Gruß Heiko

Sorry, das && war ein Kopierfehler … gibt es nicht in der Realität. Das funktioniert ja auch einwandfrei, das Symbol wechselt die Farbe wie es soll…. Nur ist mir nicht klar wie ich die Hintergrundfarbe des Buttons bei val=1 manipuliere ….

Über die Modul Funktionalität funktioniert es so, gerade getestet

WWXRD_SendCommand($device, '["p0b52.bg_color=red"]');

dann sollte es auch “irgendwie” über MQTT funktionieren.

Danke Dir, das wollte ich auch gerade zusammenschreiben :wink:

Wenn Du das noch über das hinterlegbare Script rausextrahierst, also auf das richtige Objekt - dann hast Du sogar gleich ein Automatismus!

Ich habe es noch nicht richtig erklärt, ja das Script zeigt, dass ich über MQTT sende/ beeinflusse, da liegt nicht der Hund begraben … sondern (Beispiel) ich möchte mit dem Touch auf den Button das Garagentor öffnen, wenn es offen ist (das erkenne ich über einen esp32 mit Reedkontakten) dann soll das Symbol rot werden und die Hintergrundfarbe des Buttons leicht gerötet werden… wenn mit dem nächsten Touch das Tor geschlossen wird soll mit Auslösen des entsprechenden Reed Kontaktes das Symbol grün und der Hintergrund leicht gegrünt werden. Grundsätzlich klappt das Prinzip, das Symbol tut was es soll …. aber der ‚val‘ des Buttons verhindert, wenn er ‚1‘ ist, das Einfärben des Hintergrundes.

Wenn man genau hinschaut sieht man, dass bei val =1 zwar die gewünschte Farbe übernommen wird aber von der Sytemfarbe ( die checked und !checked symbolisiert) überschrieben wird. Also geht es wohl darum, die Systemfarbe (checked/ unchecked) bei genau diesem Button bei genau diesem Zustand (val=1) zu beeinflussen.

Ich hoffe jetzt den Punkt getroffen zu haben :wink:

Habe ihm jetzt viel Platz gegeben - keine Veränderung. Wenn ich auf “Seite neu laden” drücke dann hüpft das Symbol nach links, klicke ich auf “Synchronisieren” so hüpft es nach rechts.

Mach doch bitte mal ein Screen - das ist immer sehr schwer vorstellbar sowas!

Klar kann man bei einem Screen nicht den Effekt sehen, aber man weiß um was es geht :smiley:

Machts einem doch nicht so schwer!!!

Ah jetzt, eine Insel :smiley: :smiley: :smiley:

Du meinst die beim Statuswechsel vom System automatisch ändernde Farbe des Buttons.

Das sollte auch ohne spezielles Kommando gehen. Welcher Styling Parameter genau zieht weiß ich auch nicht, aber hast Du Dir mal die Styling Properties in der Docu angeschaut

Bei States steht …

  • 01 = styling for toggled state

Hast du mal sowas propiert wie bg_color01: xyz, in der Definition - Du verstehst was ich meine!

Gruß Heiko

Aktuelle Einstellungen:

{„page“:5,„id“:21,„obj“:„label“,„x“:15,„y“:200,„w“:190,„h“:190,„border_side“:0,„text_font“:110,„text“:„#FFFF00 \uEA7A#“}
{„page“:5,„id“:23,„obj“:„label“,„x“:135,„y“:200,„w“:190,„h“:190,„border_side“:0,„text_font“:110,„text“:"#FF0000 \uEA7A# "}


Anzeige wenn neu geladen:

So schauts nach dem Synchronisieren aus. Interessanterweise bleibt das rote Icon an der gleichen Stelle.

Danke Dir, aber die aufgeführte Definition ist ja von den Text-Überschriften, nicht von den Icons, oder???

Mist :slight_smile: ich habs im Beitrag oben korrigiert.

Das Leerzeichen am Ende der zweiten Zeile ist BEWUSST beim text-Propertie!!!

Ja, das ist der Schlüssel! Ich hatte das schon mal am Anfang meiner Versuche probiert lag da aber noch mit dem senden der MQTT Messages im Clinch und deshalb verworfen.

Danke für den Hinweis!

Keine Ahnung wie das reinkommt - sofort entfernt, das Verhalten ist exakt das Gleiche.

Mach doch mal einen Rand (Border) um den Label, vielleicht kann man sich so nähern.