Standard Farbe symbol ändern

Begonnen von dennis_n, 31 Januar 2018, 17:06:31

Vorheriges Thema - Nächstes Thema

dennis_n

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

drhirn

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.

dennis_n

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

setstate

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>


dennis_n

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:


setstate

Ohne Code kann das keiner nachvollziehen, was du meinst

dennis_n

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

setstate

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>