Select-Widget für lineare und logarithmische Zahlenreihen

Begonnen von Ellert, 15 Juni 2017, 09:44:53

Vorheriges Thema - Nächstes Thema

Ellert

Im manchen Fällen ist es hilfreich nicht alle Optionen eines Select-Widget aufzuführen, z.B.:

- wenn die Zahlenreihe sehr lang ist
- wenn der Wertebereich sehr groß ist, z.B die Beleuchtungsstärke 0.1-100000

Daher möchte ich die anliegende Ergänzung vorschlagen, damit werden die Werte des Widgets automatisch erzeugt, ähnlich wie beim Slider-Widget.

Beispiel für "Raw definition":


defmod du5 dummy
attr du5 readingList state lin log
attr du5 room 0_Test
attr du5 setList lin:selectnumbers,1,.1,5,1,lin\
log:selectnumbers,1,.0625,120000,0,log10
attr du5 webCmd state:lin:log
attr du5 widgetOverride setList:textField-long


10_FHEMWEB.pm habe ich ergänzt mit

          <li>Ist der Modifier in der Form
            ":selectnumbers,&lt;min&gt;,&lt;step&gt;,&lt;max&gt;,&lt;number of digits after decimal point&gt;,lin|log10", so wird ein in
            Select-Widget mit einer Zahlenreihe vom Wert min bis Wert max mit Schritten von step angezeigt.<br>
            Die Angabe lin erzeugt eine konstant ansteigende Reihe.
            Die Angabe log10 erzeugt eine exponentiell ansteigende Reihe zur Basis 10, step bezieht sich auf den Exponenten, z.B. 0.0625.
          </li>

          <li>if the modifier is of the form
            ":selectnumbers,&lt;min&gt;,&lt;step&gt;,&lt;max&gt;,&lt;number of digits after decimal point&gt;,lin|log10",a select widget is generated with values from min to max with step.<br>
            lin generates a constantly increasing series.
            log10 generates an exponentially increasing series to base 10, step is related to the exponent, e.g. 0.0625.
          </li>


Edit: Beispiel an die Änderung angepasst und die Dateien entfernt.

rudolfkoenig

Danke, habe es mit folgenden Aenderungen eingecheckt:
- selectseries nach selectnumbers umbenannt
- die .js Datei in fhemweb.js integriert, da es relativ klein ist, und keine weiteren Abhaengigkeiten hat. Eine etwas groessere Datei ist mir lieber, als eine Weitere, die immer geladen wird.