Autor Thema: Standard Farbe symbol ändern  (Gelesen 479 mal)

Offline dennis_n

  • Sr. Member
  • ****
  • Beiträge: 553
Standard Farbe symbol ändern
« am: 31 Januar 2018, 17:06:31 »
Hi,

ich habe in meiner Datei folgendes Symbol definiert:

<div data-type="symbol" data-device="doif_dummy" data-get="dummy_entry" data-states='["Wert1","Wert2","Wert3"]' data-colors='["#c7c7c7","#ff0000","#c7c7c7"]' data-icon="fa-times" class="darker"></div>
Wenn im Reading der Wert1 oder Wert3 gesetzt ist, will ich dass das Icon die Farbe #c7c7c7 hat. Bei Wert2 soll es #ff0000 sein.
Sobald Wert2 im Reading steht ist das Symbol auch rot, also #ff0000. Wenn aber ein anderer Wert drinsteht, ist es weiß statt #c7c7c7.

Woran liegt das?

Danke
Gruss
Dennis

Offline drhirn

  • Sr. Member
  • ****
  • Beiträge: 786
Antw:Standard Farbe symbol ändern
« Antwort #1 am: 01 Februar 2018, 16:44:08 »
Kannst du bitte mal dein DOIF posten? Im Original. Und das obige <div> auch im Original.

Grundsätzlich ist's richtig. Ich vermute, dass irgendwas mit den angegebenen data-states nicht stimmt.

Offline dennis_n

  • Sr. Member
  • ****
  • Beiträge: 553
Antw:Standard Farbe symbol ändern
« Antwort #2 am: 01 Februar 2018, 17:27:52 »
Hi,

also das hier ist das komplette <div>, wobei ich die Nummer bei data-get verfremdet habe:
<div data-type="symbol" data-device="doif_antwort" data-get="xxxxxxxx" data-states='["Komme","Komme NICHT","Bin Abwesend"]' data-colors='["#01db01","#c7c7c7","#c7c7c7"]' data-icon="fa-check"  class="darker"></div>
Und hier das doif:

(["FWStatus:msgPeerId"] and ([FWStatus:msgText] eq "Komme" or [FWStatus:msgText] eq "Komme NICHT" or [FWStatus:msgText] eq "Bin Abwesend")) (setreading $SELF [$DEVICE:msgPeerId] [$DEVICE:msgText])

Gruss
Dennis

Offline setstate

  • Hero Member
  • *****
  • Beiträge: 3657
  • FHEM TabletUI
    • FHEM Tablet UI
Antw:Standard Farbe symbol ändern
« Antwort #3 am: 05 Februar 2018, 19:28:47 »
Wenn man testweise eindeutige Farben benutzt und ein Label für den aktuellen Wert, funktioniert es doch  ???

                <div data-type="symbol" data-device="ftuitest"  data-states='["Komme","Komme NICHT","Bin Abwesend"]' data-colors='["#33dd33","#0077dd","#dd3333"]' data-icon="fa-check"></div>
                <div data-type="label" data-device="ftuitest" ></div>

Offline dennis_n

  • Sr. Member
  • ****
  • Beiträge: 553
Antw:Standard Farbe symbol ändern
« Antwort #4 am: 13 Februar 2018, 16:51:13 »
Funktioniert leider immernoch nicht.
Wenn mein Reading keinen Wert hat bzw. irgendeinen Wert hat ausser der 3 abgefragten, dann ist alles grau. Soll ja so sein.
Wenn aber ein Reading den Wert "Komme" beispielsweise bekommt, dann springt der Haken auf Grün, aber das X auf weiß. Ich will aber, dass der Haken grau bleibt.

Und das funktioniert nicht. Sobald ein verwertbares Reading gefunden wird, sind die beiden anderen weiß.
Sieht dann so aus:


Offline setstate

  • Hero Member
  • *****
  • Beiträge: 3657
  • FHEM TabletUI
    • FHEM Tablet UI
Antw:Standard Farbe symbol ändern
« Antwort #5 am: 13 Februar 2018, 18:30:17 »
Ohne Code kann das keiner nachvollziehen, was du meinst

Offline dennis_n

  • Sr. Member
  • ****
  • Beiträge: 553
Antw:Standard Farbe symbol ändern
« Antwort #6 am: 13 Februar 2018, 18:47:57 »
Was für einen Code braucht ihr denn?
Ich habe ein Dummy device mit dem Namen: Status. Dort im state reading steht entweder "Komme", "Komme NICHT" oder "Bin Abwesend". Genau so geschrieben.

In der index Datei der TabletUI will ich dann das Reading farblich darstellen mit:
<div data-type="symbol" data-device="doif_antwort" data-get="Status" data-states='["Komme","Komme NICHT","Bin Abwesend"]' data-colors='["#01db01","#c7c7c7","#c7c7c7"]' data-icon="fa-check"  class="darker"></div>
Wenn im Reading des Dummy also "Komme" steht, soll das Symbol grün sein und wenn der Wert des Readings einer der beiden anderen hat, soll das Symbol grau sein.

Gruss
Dennis

Offline setstate

  • Hero Member
  • *****
  • Beiträge: 3657
  • FHEM TabletUI
    • FHEM Tablet UI
Antw:Standard Farbe symbol ändern
« Antwort #7 am: 14 Februar 2018, 00:06:03 »
Ich kann das nicht nachvollziehen.
Mit meiner TestConfig funktioniert das. Es liegt vielleicht an deinem DOIF.
Füge mal ein Label hinzu, um den aktuellen Wert des Readings anzuzeigen.

                <div class="vbox">
                    <div class="hbox">
                        <div class="vbox">
                            <div data-type="push" data-device="ftuitest" data-set-on="Komme"></div>
                            <div>Komme</div>
                        </div>
                        <div class="vbox">
                            <div data-type="push" data-device="ftuitest" data-set-on="Komme NICHT"></div>
                            <div>Komme NICHT</div>
                        </div>
                        <div class="vbox">
                            <div data-type="push" data-device="ftuitest" data-set-on="Bin Abwesend"></div>
                            <div>Bin Abwesend</div>
                        </div>
                    </div>
                    <div class="hbox">
                        <div data-type="label" data-device="ftuitest"></div>
                    </div>
                    <div class="hbox">
                        <div data-type="symbol" data-device="ftuitest" data-states='["Komme","Komme NICHT","Bin Abwesend"]' data-colors='["#01db01","#c7c7c7","#c7c7c7"]' data-icon="fa-check"></div>
                        <div data-type="symbol" data-device="ftuitest" data-states='["Komme","Komme NICHT","Bin Abwesend"]' data-colors='["#c7c7c7","#dd0101","#c7c7c7"]' data-icon="fa-close"></div>
                    </div>
                </div>

 

decade-submarginal