FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: D3ltorohd am 16 September 2019, 09:13:15

Titel: Batteriestatus in FTUI "data-states" Bilder nach Range
Beitrag von: D3ltorohd am 16 September 2019, 09:13:15
Hallo zusammen,

Folgendes::
steig da bei "data-states" nicht ganz durch, z.b. für eine Batterie, wenn ich einen Status von 100-0 habe und dafür 4 Icons, 100, 75, 50, 25, und 0
Nun muss ich doch sagen Bild eins von Status 100-75, von 75-50 usw
aber da komme ich nicht weiter.

Hab mal ein Beispiel im Wiki gesehen, check da aber nicht durch wie die auf sowas kommen, oder wie ich das aufschlüsseln kann, damit ich es vllt verstehe
data-states='["100","([7][5-9])|([8-9][0-9])","([5-6][0-9])|([7][0-4])","([2][5-9])|([3-5][0-9])","([0-9])|([1][0-9])|([2][0-4])"]'

Grüße
Titel: Antw:Batteriestatus in FTUI "data-states" Bilder nach Range
Beitrag von: yersinia am 16 September 2019, 14:17:51
Du kannst das Array in seine Element aufbröseln; für jedes Element kannst du dann ein Icon etc setzen.
data-states='["100","([7][5-9])|([8-9][0-9])","([5-6][0-9])|([7][0-4])","([2][5-9])|([3-5][0-9])","([0-9])|([1][0-9])|([2][0-4])"]' wird zu
- "100" => genau 100
- "([7][5-9])|([8-9][0-9])" => 75 bis 99 (jeweils inklusive)
- "([5-6][0-9])|([7][0-4])" => 50 bis 74 (jeweils inklusive)
- "([2][5-9])|([3-5][0-9])" => 25 bis 59 (jeweils inklusive)
- "([0-9])|([1][0-9])|([2][0-4])" => 0 bis 24 (jeweils inklusive)

Die Notation ist dabei in RegEx gekürzt.
Titel: Antw:Batteriestatus in FTUI "data-states" Bilder nach Range
Beitrag von: D3ltorohd am 16 September 2019, 15:08:01
Vielen Dank, jetzt habe ich glaube den Zahlenwahnsinn kapiert.
Hier müsste aber dann anstatt - "([2][5-9])|([3-5][0-9])"
                             Das so stehen - "([2][5-9])|([3-4][0-9])"
Damit es von 49-25 geht ? Eins drüber hab ich ja 74 - 50,
Dann brauche ich 59-50 ja nicht. So richtig kapiert ?

([25][5-9] heißt dann von 25 - 29
[3-4][0-9] 30-49 ?
Titel: Antw:Batteriestatus in FTUI "data-states" Bilder nach Range
Beitrag von: wowogiengen am 16 September 2019, 17:39:25
Hallo D3ltorohd,
nein nicht ganz
Zitat von: D3ltorohd am 16 September 2019, 15:08:01
([25][5-9] heißt dann von 25 - 29
[3-4][0-9] 30-49 ?

so wie du das geschrieben hast würde es heißen von 255 bis 259 und 30 bis 49.
die Ziffern in [] sind als Bereich kodiert, und stehen so hintereinander
[A-Z] wäre dann alles was an dieser Stelle als Großbuchstabe geschrieben steht...
was du meinst wäre dann

"([2][5-9])|([3-5][0-9])"
die 2 als einzelne Ziffer, und danach dann 5-9,also 25-29
und dann die 3-5 als einzelne Ziffer und danach dann 5-9 also 30-59...

Über RegExp könnte man ein eigenes Buch schreiben. Musst du mal googlen, oder vielleicht steht hier im FHEM-Wiki auch was dazu mit drin...
Viele Grüße
Wolfgang
Titel: Antw:Batteriestatus in FTUI "data-states" Bilder nach Range
Beitrag von: D3ltorohd am 16 September 2019, 17:49:38
Zitatso wie du das geschrieben hast würde es heißen von 255 bis 259 und 30 bis 49.

Ja Schreibfehler, ich sehe es grad, hatte das schnell im Handy getippt. Ich meinte auch 2 und nicht 25. So dann werde ich das gleich mal so testen, dann müsste das Icon dann richtig sein ;-)

EDIT:: Das macht aber so keinen Sinn, das habe ich richtig gesehen ?

Zitat([3-5][0-9])

Weil ich hätte dann ja 30 - 59, davor habe ich aber ja schon durch
Zitat"([5-6][0-9])|([7][0-4])"
50 - 74, dann würde sich das ja überschneiden im 50er Bereich. Daher müsste ich das so schreiben richtig ? 
Zitat([3-4][0-9])
dann wäre das eben 30 - 49, und 50 habe ich ja vom anderen Block.