FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: NeoMatrix am 27 März 2017, 17:34:17

Titel: Widget Volumen - Parameter data-get-value
Beitrag von: NeoMatrix am 27 März 2017, 17:34:17
Hallo zusammen!

Im State meines Gerätes steht kein einzelner Wert sondern die Zeichenfolge "dim_40" für z.b. für "Lampe ist mit 40% gedimmt" steht.

Ich nutze den Volume Regler um den Dimmer zu steuern:

            <div data-type="volume"
                data-device="Wohnzimmer_Main"
                data-set-value="dim_$v"
                data-step="10"
                data-min="10"
                data-max="90"
                data-tickstep="10"
                data-unit="%"
                class="dim-tick dim-back">
            </div>


Das funktioniert wunderbar. Nur wird der State nicht angezeigt (40% gedimmt) weil natürlich dim_40 gelesen wird und nicht 40. Trage ich als State testweise eine 40 ein funktioniert alles.

Ich wollte nun - wie beschrieben -  mit dem Parameter "data-get-value" NUR den Zahlenwert auslesen lassen.

Folgendes habe ich versucht:

data-get-value="/\d\d/"
data-get-value="\d\d"
data-get-value="/[0-9][0-9]/"
data-get-value="[0-9][0-9]"
data-get-value="5"

RegEx habe ich mir angeschaut. Muss ich das anders eingeben oder umschreiben lassen? Reicht es nicht das nur die Zahlen gelesen werden?

Danke für die Hilfe!

Titel: Antw:Widget Volumen - Parameter data-get-value
Beitrag von: viegener am 27 März 2017, 18:10:35
data-get-value muss den ganzen (!) Wert matchen und das tut keiner Deiner Regexp (und der übergebene regexp wird dazu mit ^und $ ergänzt)

ALso wäre vermutlich so etwas wie

data-get-value="dim_(\d+)"

passend?
Titel: Antw:Widget Volumen - Parameter data-get-value
Beitrag von: NeoMatrix am 27 März 2017, 19:46:55
Hallo Viegener,

danke für die schnelle Antwort.

Ohne "/" geht es.

data-get-value="dim_(\d+)"


Titel: Antw:Widget Volumen - Parameter data-get-value
Beitrag von: viegener am 27 März 2017, 22:55:46
Ooops, ja natürlich, dass meinte ich es wird mit ^und $ aufgefüllt, ich hätte es nicht nur kopieren sollen, sondern komplett korrigieren.