Hi,
Ich habe meinen RolladenStatus (Symbol) mit einem CircleMenü gekoppelt um mehr Aktionen ausführen zu können. Der Hintergrund des Symbols "Rolladen" soll nun aber vom Status des Fenstersgriffs (Three-State-Sensor) anhängig gemacht werden.
Also rot wenn "open", gelb wenn "tilted", grün wenn "closed".
Wie macht man das??
Aktuell sind es noch 2 einzelen Widgets:
<div data-type="circlemenu" data-direction="bottom-half" data-circle-radius="90" data-item-diameter="67" style="font-size:130%" class="top-narro$
<ul class="menu">
<li>
<div data-type="symbol" data-device="RL_OG_Bad" data-get="level"
data-icons='["oa-fts_shutter_90","oa-fts_shutter_80","oa-fts_shutter_70","oa-fts_shutter_60","oa-fts_shutter_50",
"oa-fts_shutter_50","oa-fts_shutter_40","oa-fts_shutter_30","oa-fts_shutter_20",
"oa-fts_shutter_10","oa-fts_window_2w"]'
data-get-on='["0","10","20","30","40","50","60","70","80","90","100"]' data-on-color="#2A2A2A"
data-on-background-color="#aa6900" data-background-icon="fa-circle">
</div>
</li>
<li> <div data-type="push" data-device="RL_OG_Bad" data-icon="fa-angle-double-up" data-set-on="on"></div></li>
<li> <div data-type="push" data-device="RL_OG_Bad" data-icon="fa-angle-up" data-set-on="pct 80"></div></li>
<li> <div data-type="push" data-device="RL_OG_Bad" data-icon="fa-minus" data-set-on=""></div></li>
<li> <div data-type="push" data-device="RL_OG_Bad" data-icon="fa-angle-down" data-set-on="pct 10"></div></li>
<li> <div data-type="push" data-device="RL_OG_Bad" data-icon="fa-angle-double-down" data-set-on="off"></div></li>
</ul>
</div>
</td>
<td width="20%">
<div data-type="symbol" data-device="WW_EG_EZ_Griff"
data-get-on='["open","tilted","closed"]'
data-icons='["fa-windows","fa-windows","fa-windows"]'
data-on-colors='["SeaGreen","SlateBlue","IndianRed"]'
class="top-narrow-2x">
</div>
<div data-type="label"
class="narrow darker small">Fenster
</div>
Alternative: 2 Objekte übereinander legen, das Symbol für den Festerstatus im Hintergrund, Rolladen und Circlemenu im Vordergrund. GEht das? Muss exakt in der Kreismitte pixelgenau gleich sein.
Hat jemand dasselbe Problem? Wie habt Ihr es gelöst??
das Einzige, was mir einfällt, ist das data-on-background-color auf ein FHEM Reading zu legen, was die RBG Farbe vorgibt.
data-on-background-color="WW_EG_EZ_Griff:farbe"
das Reading "farbe" muss dann per UserReading durch FHEM-Logik gesetzt werden
Zitat von: setstate am 20 Juli 2016, 20:37:40
das Einzige, was mir einfällt, ist das data-on-background-color auf ein FHEM Reading zu legen, was die RBG Farbe vorgibt.
Ich wusste garnicht das data-on-background-color auch auf andere Devices zugreifen kann als im Data-device angegeben ist..?? :o ::)
Habe ich nirgends dokumentiert gesehen? Ein undocumented feature ?? :o ::) :P
Funktioniert das noch woanders als im CircleMenu und im data-on-background-color?
Hallo Tobias,
interessante Idee.
Es geht aber immer nur ein Device, kein weiteres um die Farbe zu definieren. Aber setstate hat die Lösung schon beschrieben, damit du immer die richtige Farbe hast!
Zitat von: setstate am 20 Juli 2016, 20:37:40
das Reading "farbe" muss dann per UserReading durch FHEM-Logik gesetzt werden
Viele Grüße
Tim
Doch, sind 2.
Das CircleMenu ist RL_OG_Bad
Die Background-Color ist WW_EG_EZ_Griff:farbe, Kommt aus dem Device WW_EG_EZ_Griff
Ich check das mal ob es geht...
Irgendetwas mache ich falsch.
Im Symbol habe ich definiert: data-on-background-color="RL_EG_EZ:windowstatus"
Im Device RL_EG_EZ habe ich testweise ein Userreading definiert:windowstatus {"#44ED0C"}
Das steht jetzt auch so in den Readings:windowstatus #44ED0C 2016-07-22 11:33:43
Aber mein Hintergrund bleibt grau, sprich: die Farbe wird nicht gesetzt. Wer sieht meinen Denkfehler??
Ist denn das Symbol gerade "on" ? Oder eher "off", dann müsste auch data-off-background-color versorgt werden.
Hmm, das ist ja merkwürdig... mit data-background-off-color gehts... Aber warum??
Im Beispiel unten ist die Farbe vom Reading in der Range 0-9 immer "data-background-on-color", sonst (also 10-100) "data-background-off-color"
<div data-type="symbol" data-device="RL_EG_EZ" data-get="level"
data-icons='["oa-fts_shutter_90","oa-fts_shutter_80","oa-fts_shutter_70","oa-fts_shutter_60","oa-fts_shutter_50",
"oa-fts_shutter_50","oa-fts_shutter_40","oa-fts_shutter_30","oa-fts_shutter_20",
"oa-fts_shutter_10","oa-fts_window_2w"]'
data-states='["0","10","20","30","40","50","60","70","80","90","100"]' data-on-color="#2A2A2A"
data-off-background-color="RL_EG_EZ:windowstatus"
data-on-background-color="#aa6900"
data-background-icon="fa-circle">
</div>
Nochwas, wenn das Device der Hintergrundfarbe ein anderes als ein bereits in ftui benutztes ist, muss ich dann nicht ein DummyWidget anlegen damit die Statusänderungen übernommen werden?
Gibt es ggf ein Beispiel?
Garnicht merkwürdig. Du benutzt data-states, damit wird on/off des Symbols nicht gesetzt und verbleibt bei off. Also musst du die off Farbe ändern.
Ftui Version 2.2 kennt alle Devices und Readings.