Hallo Zusammen,
ich nutze derzeit mit TabletUI den Abfallkalender (was auch super funktioniert). Jetzt möchte ich für eine Statusseite eine einzelne Tonne darstellen, die mir die nächste Abholung (und davon abhängig, was abgeholt wird) ein entsprechend eingefärbtes Symbol anzeigen. Das funktioniert auch, solange an einem Tag nur eine Abholung stattfindet.
Was ich erreichen möchte ist, das wenn mehrere Abholungen am selben Tag anstehen, die Tonne eine besondere Farbe, z.B. rot, bekommt. Allerdings bekomme ich das irgendwie nicht hin.
Das
data-device heißt "myAbfall". Das
data-get, welches ich auswerte, heißt "ftui_next". Und so sehen z.B. die Inhalte aus:
- bei einer Tonne: Abfallkalender_Biomuell_1
- bei mehreren Tonnen pro Tag: Abfallkalender_Biomuell|Abfallkalender_Restmuell_1
So sieht mein device im Moment aus (ohne die "rote" Tonne):
<!-- Das Symbol -->
<div data-type="symbol"
data-device="myAbfall"
data-get="ftui_next"
data-get-warn=".*([0|1|2]).*"
data-get-on='["Abfallkalender_Restmuell_.*","Abfallkalender_Biomuell_.*","Abfallkalender_GelberSack_.*","Abfallkalender_Papier_.*","Abfallkalender_Sperrmuell_.*","Abfallkalender_Sondermuell_.*"]'
data-on-color='["black","#663300","yellow","#3300FF","#663300","yellow"]'
data-icons='["fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-biohazard"]'
class="large warn top-space">
</div>
<!-- Beschreibung der Abholung -->
<div data-type="label"
data-device="myAbfall"
data-get="ftui_text"
class="small top-narrow">
</div>
<!-- Datum der Abholung -->
<div data-type="label"
data-device="myAbfall"
data-get="ftui_datum"
class="small top-space">
</div>
Meine Idee war jetzt, daß ich im
data-get-on/
data-on-colors bei einem Wert, der das "|"-Zeichen enthält, eine bestimmte Farbe für das Tonnen-Symbol setze.
Kann mir ggf. jemand sagen, wie das geht?
Danke und Gruß,
Michael
Hallo,
Du bräuchtest vermutlich noch einen Eintrag ".*|.*". Im folgenden Beispiel habe ich zusätzlich die Einträge um den Ausdruck "Abfallkalender" gekürzt, da dies besser zu lesen ist und vermutlich auch nicht benötigt wird.
data-get-on='[".*|.*",".*_Restmuell_.*",".*_Biomuell_.*",".*_GelberSack_.*",".*_Papier_.*",".*_Sperrmuell_.*",".*_Sondermuell_.*"]'
data-on-color='["red","black","#663300","yellow","#3300FF","#663300","yellow"]'
data-icons='["fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-biohazard"]'
Viele Grüße
Hi,
danke für die schnelle Antwort. Das hatte ich probiert, aber funzt nicht.
Kann es sein, daß es hier Probleme gibt, weil das "|" ja auch das logische Oder in Regexp ist?
Gruß
Hallo,
stimmt; ich habe es gerade mal selbst in anderem Zusammenhang ausprobiert und "\|" statt "|" sollte es lösen.
data-get-on='[".*\|.*",".*_Restmuell_.*",".*_Biomuell_.*",".*_GelberSack_.*",".*_Papier_.*",".*_Sperrmuell_.*",".*_Sondermuell_.*"]'
data-on-color='["red","black","#663300","yellow","#3300FF","#663300","yellow"]'
data-icons='["fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-biohazard"]'
hmmm... Habe es auch probiert... Ändert aber nichts...
Hallo,
der von mir getestete andere Zusammenhang erforderte nur ein einzelnes Maskierungszeichen; in Deinem Fall sind aber wohl 2 Maskierungszeichen notwendig ...
data-get-on='[".*\\|.*",".*_Restmuell_.*",".*_Biomuell_.*",".*_GelberSack_.*",".*_Papier_.*",".*_Sperrmuell_.*",".*_Sondermuell_.*"]'
data-on-color='["red","black","#663300","yellow","#3300FF","#663300","yellow"]'
data-icons='["fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-trash-o","fa-biohazard"]'
Sorry. Das tut auch nicht :'(
Hallo,
nachdem die Sonntagsaktivitäten erledigt sind, habe ich nochmals Zeit gefunden, einen eigenen Test mit dem Symbol-Widget zu machen. Folgende Definition liefert bei mir das (vermutlich) gewünschte Ergebnis.
<div data-type="symbol" data-device="Testdevice"
data-get="testreading"
data-states='[".*\\|.*","Abfall1","Abfall2",".*"]'
data-colors='["red","green","blue","orange"]'
data-icons='["fa-trash-o","fa-trash-o","fa-trash-o","fa-question"]'></div>
- Abfall1 liefert green
- Abfall2 liefert blue
- Abfall3 liefert orange
- Abfall1|Abfall2 liefert red
Wenn ich data-get-on statt data-states verwende, ändert sich nichts am obigen Verhalten. data-on-color habe ich nicht probiert. Verwendest Du data-get-on, weil Du in diesem konkreten Anwendungsfall tatsächlich on- und off-Zustände hast? Ansonsten würde ich auf jeden Fall dazu raten, besser data-states sowie die dazugehörigen Attribute zu nutzen (s.a.
Einstellung bei mehreren Werten unter https://wiki.fhem.de/wiki/FTUI_Widget_Symbol (https://wiki.fhem.de/wiki/FTUI_Widget_Symbol)).
Hi,
nachdem ich meine Sonntagsaktivitäten abgeschlossen habe, konnte ich das Ganze nochmal ausprobieren ;)
Großartig!!! Es funktioniert jetzt perfekt!!! 1000 Dank
Gruß,
Michael