FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: NoMercy am 26 Mai 2019, 08:37:03

Titel: Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: NoMercy am 26 Mai 2019, 08:37:03
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:
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
Titel: Antw:Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: OdfFhem am 26 Mai 2019, 08:49:43
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
Titel: Antw:Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: NoMercy am 26 Mai 2019, 09:22:09
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ß
Titel: Antw:Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: OdfFhem am 26 Mai 2019, 09:30:04
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"]'
Titel: Antw:Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: NoMercy am 26 Mai 2019, 09:34:12
hmmm... Habe es auch probiert... Ändert aber nichts...
Titel: Antw:Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: OdfFhem am 26 Mai 2019, 10:04:53
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"]'
Titel: Antw:Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: NoMercy am 26 Mai 2019, 10:42:03
Sorry. Das tut auch nicht  :'(
Titel: Antw:Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: OdfFhem am 26 Mai 2019, 18:43:42
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>



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)).
Titel: Antw:Abfallkalender mit bestimmter Symbolfarbe bei mehreren Abholungen am selben Tag?
Beitrag von: NoMercy am 26 Mai 2019, 20:13:11
Hi,

nachdem ich meine Sonntagsaktivitäten abgeschlossen habe, konnte ich das Ganze nochmal ausprobieren  ;)

Großartig!!! Es funktioniert jetzt perfekt!!! 1000 Dank

Gruß,
Michael