Textfarbe Label ändern mit Werten aus CALVIEW

Begonnen von ArduPino, 18 März 2017, 22:09:06

Vorheriges Thema - Nächstes Thema

ArduPino

Hallo.

Ich habe einen Kalender per CALVIEW angelegt.
Readings:
t_001_summary Früh [Harry]
t_002_summary Früh [Hermine]
t_003_summary Spät [Harry]
t_004_summary Spät [Hermine]

Nun möchte ich anhand der Readings, die Farbe des Labels ändern.
<div data-type="label"
           data-device="cv_schichten"
           data-get="t_001_summary"
           data-colors='["blue","green"]'
           data-limits='[".Harry.",".Hermine."]'>
          </div>


Nun versuche ich, anhand von Wildcards auf die Wörter "Harry" und "Hermine" zu reagieren, um diese dann per data-colors in der entsprechenden Farbe anzuzeigen.
Ich kenne mich mit diesem RegEx leider nicht wirklich aus. Ich habe per Seite https://regex101.com/ versucht das mal zu testen, aber blicke da nicht ganz durch.
Oder es liegt an diesen eckigen Klammern, die so in den Kalender eingetragen werden und die ich nicht ändern kann.
Habe schon alles mögliche an Kombinationen mit .* durch.

Kann mir hierzu jemand was sagen ?
Gibt es eine Liste mit Wildcards bzw. der Anwendung dieser ?

setstate

In deiner Kombination soll es blau werden, wenn der Text aus Harry und genau einem beliebigen Zeichen ( der Punkt .) vor und nach Harry. Du willst aber Null oder mehr beliebige Zeichen vor und nach dem Wort erlauben.
Dann muss du einen Quantifizier setzen, z.B. den * für null oder mehr.

data-limits='[".*Harry.*",".*Hermine.*"]'

amenomade

Ich befürchte aber, dass es nicht reichen wird.

So weit ich weiss, vergleicht das Widget Label die Werte aus data-limits (wenn Wert >= Limit(n) dann color(n))

Im Beispiel, "Früh [Harry]" < "Früh [Hermine" < "Spät [Harry]" < "Spät [Hermine]".

Ist "Früh [Harry]" grösser als ".*Harry.*" ? Grösser als ".*Hermine.*" ?

Ich würde data-limits-part="2" (oder "1", ich weiss nicht, ob er ab 0 oder ab 1 zählt) nutzen, und genau vergleichen: data-limits='["\[Harry\]","\[Hermine\]"]'

(nicht getestet)
Gruß
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

setstate

 data-limits wird inzwischen generisch ausgewertet. Wenn ein RegEx passt, wird dieser genommen. Nur bei Zahlenwerten kommt der numerische Größer/Gleich Vergleich zur Anwendung.

ArduPino

Zitat von: setstate am 18 März 2017, 22:46:34
data-limits='[".*Harry.*",".*Hermine.*"]'

Ok, das war genau die Kombination die ich anscheinend noch nicht hatte !
Danke ! So komme ich weiter.

blane

Hallo zusammen,

stehe vor einem ähnlichem Problem.
Habe folgendes versucht, doch bei mir klappt es nicht

data-colors='["blue","green"]'
data-limits='[".*Bday.*",".*Sonstiges.*"]'


Im Anhang eine Zeile der Callview.

Jemand eine Idee wie ich das hinbekomme?

Grüße