FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: roemi am 30 Dezember 2022, 23:16:49

Titel: ftui3 Button und Max bzw. Min Value
Beitrag von: roemi am 30 Dezember 2022, 23:16:49
HeHo und frohes neues zu haben oder gehabt zu haben.

Ich habe in FTUI3 vor, für einige Lampen die Helligkeit in 10er Schritten heller bzw. dunkler zu machen
             <div><ftui-button [value]="HUEDevice22:pct" max="100" (value)="add(10) | set HUEDevice22:pct" states="$value" debounce="400" fill="" >
                <ftui-icon size="3" name="plus"></ftui-icon>
              </ftui-button></div>
              <div><ftui-label size="3"
              [text]="HUEDevice22:pct | fix(1)" unit=" %">
              </ftui-label></div>
              <div><ftui-button [value]="HUEDevice22:pct" (value)="add(-10) | set HUEDevice22:pct" states="$value" debounce="400" fill="" min="10">
                <ftui-icon size="3" name="minus"></ftui-icon>
              </ftui-button></div>


Wie kann ich erreichen, das ein Maximum von 100 nicht überschritten oder ein Minimum von 10 nicht unterschritten wird?
Min, Max, data.min usw. alles probiert, kein Erfolg.
Es wird aber sicher irgendwie gehen  ::)

Danke für Eure Hilfe

Römi
Titel: Antw:ftui3 Button und Max bzw. Min Value
Beitrag von: OdfFhem am 31 Dezember 2022, 09:23:09
Der Beitrag wäre vermutlich besser aufgehoben unter: "FHEM Forum » FHEM » Frontends » TabletUI"

*1*

Hätte man einen fest vorgegebenen Wertebereich, der nie verlassen wird, könnte man so vorgehen:

         <ftui-button [value]="ftuitest:MinMax" (value)="setreading ftuitest:MinMax" states="10,20,30,40,50,60,70,80,90,100">
           <ftui-icon size="3" name="plus"></ftui-icon>
         </ftui-button>
         <ftui-label size="3" [text]="ftuitest:MinMax | fix(1)" unit=" %"></ftui-label>
         <ftui-button [value]="ftuitest:MinMax" (value)="setreading ftuitest:MinMax" states="100,90,80,70,60,50,40,30,20,10">
           <ftui-icon size="3" name="minus"></ftui-icon>
         </ftui-button>

"+" läuft vorwärts ... "-" läuft rückwärts ... am Anfang bzw. Ende der zulässigen Werte läuft man jedoch rund

*2*

Passende Pipes scheint es (noch) nicht zu geben, könnte man aber (zumindest temporär) selbst definieren:

         <script>
           const max = value => input => Math.max(Number(input),value);
           const min = value => input => Math.min(Number(input),value);
         </script>
         <ftui-button [value]="ftuitest:MinMax" (value)="add(10) | min(100) | setreading ftuitest:MinMax" states="$value">
           <ftui-icon size="3" name="plus"></ftui-icon>
         </ftui-button>
         <ftui-label size="3" [text]="ftuitest:MinMax | fix(1)" unit=" %"></ftui-label>
         <ftui-button [value]="ftuitest:MinMax" (value)="add(-10) | max(10) | setreading ftuitest:MinMax" states="$value">
           <ftui-icon size="3" name="minus"></ftui-icon>
         </ftui-button>

"+" läuft vorwärts bis 100 ... "-" läuft rückwärts bis 10 ... am Anfang bzw. Ende der zulässigen Werte läuft man nicht rund
Titel: Antw:ftui3 Button und Max bzw. Min Value
Beitrag von: roemi am 31 Dezember 2022, 10:59:21
Hallo OdfFhem,

Variante 1 macht was ich will ... perfekt!

Danke Dir

Und allen einen guten Rutsch in Richtung 2023

Römi (der heute evtl. noch zigbee2mqtt aufsetzen will  8))