FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: NewMatic am 16 Dezember 2019, 17:09:51

Titel: Runden in FTUI
Beitrag von: NewMatic am 16 Dezember 2019, 17:09:51
Hallo,

folgender Code zeigt mir ein Symbol an, in welchen Bereich mein Rollo steht (zusätzlich eine invertierde Prozentzahl von state (diese ist ein Userreading und bereits gerundet bzw. abgeschnitten)):

  <header> <div data-type="label" class="big">WZ Fenster</div>  
<div class="hbox">
  <ul><li> <div data-type="symbol" data-device="wz_JalousieFenster"
data-states='["on","([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])","off"]'
data-icons='["oa-fts_garage_door_10","oa-fts_garage_door_20","oa-fts_garage_door_40","oa-fts_garage_door_60","oa-fts_garage_door_80","oa-fts_garage_door_100"]'
data-colors='["SeaGreen","Crimson","Crimson","Crimson","Crimson","GoldenRod"]'></div></li></ul>
<ul><li>  <div data-type="label" data-device="wz_JalousieFenster" data-get="stateInverted"  data-colors="green" data-unit="%"></div> </li></ul>
<!-- stateInverted is ein Userreading! muss zuvor angelegt werden!-->
</div>
  </header>


Funktioniert eigentlich super. Das Problem ist nur, dass meine data-states Bereiche nicht mit Prozentzahlen umgehen können.
Wenn z.B: state=96,5 ist, zeigt er ein fast ganzes geschlossenes Symbol an, obwohl, er nur minimal runtergefahren ist und ein fast ganz offenes Symbol anzeigen sollte.
Bzw. er zeigt oa-fts_garage_door_80 an, obwohl oa-fts_garage_door_20 richtig wäre.

Meine Frage:
wie kann ich in der Index.html data-states runden?

Eine Lösung hätte ich bereits... die scheint mir aber doch recht umständlich:
Anstatt "([7][5-9])|([8-9][0-9])" müsste man "([7][5-9])|([8-9][0-9].[0-9])" schreiben.
Diese bläst aber das ganze ziemlich auf.

Die andere Lösung, wäre dass ich im data-states mein bereits vorhandenes UserReading stateInverted auslese... geht sowas? wenn ja, wie?^^

So ist es derzeit bei einer Nachkommastelle (state=96,5):
falsch.png

so wäre der richtige Zustand:
richtig.png

Danke für eure mithilfe!