FTUI Widget Dimmer: Unterschied zwischen den Versionen
(→Attribute: data-timeout hinzugefügt) |
(→Hinweise: Erläuterung zu data-timeout hinzugefügt) |
||
Zeile 58: | Zeile 58: | ||
* ''$v'' ist ein Platzhalter für den numerischen Wert. Er wird zur Laufzeit durch den richtigen Wert ersetzt. | * ''$v'' ist ein Platzhalter für den numerischen Wert. Er wird zur Laufzeit durch den richtigen Wert ersetzt. | ||
* data-lock: Das Widget wird gesperrt (readonly), wenn das definierte Reading den Wert ''1'', ''on'' oder ''true'' hat. | * data-lock: Das Widget wird gesperrt (readonly), wenn das definierte Reading den Wert ''1'', ''on'' oder ''true'' hat. | ||
Das Attribut '''data-timeout''' dient dazu, ein "Flackern" der Anzeige zu verhindern. Manche Devices benötigen einige Zeit, bis der gewünschte und eben eingestellte Zustand erreicht wird. So kann es dazu kommen, dass bei einer Veränderung des Einstellwertes von 20% nach 70% der Dimmer erst 70% anzeigt, nach einer Aktualisierung der Readings zurück auf 20% (oder irgendeinen Zwischenwert) springt und erst etwas verzögert die 70% - nämlich dann, wenn der Aktor sein Ziel erreicht hat. Über das Timeout kann eine Laufzeit festgelegt werden, die der Aktor Zeit bekommt, sein Ziel zu erreichen. Nach Ablauf der Zeit wird der tatsächlich aus dem Device gelesene Wert angezeigt. | |||
==Beispiele== | ==Beispiele== |
Version vom 28. September 2017, 19:12 Uhr
Das Dimmer Widget ist ein Widget für FHEM Tablet UI, das einen Ein-/Aus-Button mit inkludiertem Schieberegler erstellt.
Attribute
Attribut | Beschreibung | Standard-Wert | Beispiel |
---|---|---|---|
data-get | Device-Reading, welches den Status-Wert enthält | STATE | |
data-get-on | Wert für EIN | on | data-get-on="An" |
data-get-off | Wert für AUS | off | data-get-off="Aus" |
data-get-value | RegEx oder Position in einer leerzeichen-getrennten Auflistung, die den Wert repräsentiert | -1 (alles anzeigen) | data-get-value="2" |
data-set | Reading, welches geändert werden soll | ||
data-set-on | Wert für EIN, der gesetzt werden soll | data-get-on | |
data-set-off | Wert für AUS, der gesetzt werden soll | data-get-off | |
data-set-value | Wert für EIN, der gesetzt werden soll | $v - nur der Wert | |
data-set-cmd | Name des Befehls zum Ändern des EIN-/AUS-Wertes, der mittels Schieberegler geändert wird | set | data-set-cmd="setreading" |
data-cmd-value | Name des Befehls zum Ändern des Wertes, der mittels Schieberegler geändert wird | set | |
data-dim | Name des Readings, das für den DIM-Wert zuständig ist | data-dim="dim" | |
data-icon | Name des Icons für den Schieberegler | fa-lightbulb-o | |
data-max | Maximalwert, der gesetzt werden kann | 100 | data-max="25" |
data-min | Minimalwert, der gesetzt werden kann | 0 | data-min="10" |
data-step | Größe der Änderungsschritte | 1 | data-step="5" |
data-lock | Name des Readings, welches durch einen Boolean-Wert definiert, ob das Widget gesperrt (readonly) ist | ||
data-timeout | Maximale Zeit, die der eingestellte Zustand nach einer Veränderung angezeigt wird, bis die echte Rückmeldung vom Device wieder angezeigt wird | 2000ms |
CSS Klassen
FS20 | Konvertiert den Wertebereich 0...100 in das von FS20-Dimmern erwartete Format |
Hinweise
- Um den Dim-Wert zu ändern, muss der Button gedrückt und nach unten oder oben verschoben werden.
- Im einfachen Modus (ohne data-dim-Parameter) schaltet das Widget zwischen OFF und dem DIM-Wert.
- Im erweiterten Modus (mit data-dim-Parameter) wird der DIM-Wert vom definierten Reading empfangen bzw. gesendet und der Button wird nur für EIN/AUS verwendet.
- $v ist ein Platzhalter für den numerischen Wert. Er wird zur Laufzeit durch den richtigen Wert ersetzt.
- data-lock: Das Widget wird gesperrt (readonly), wenn das definierte Reading den Wert 1, on oder true hat.
Das Attribut data-timeout dient dazu, ein "Flackern" der Anzeige zu verhindern. Manche Devices benötigen einige Zeit, bis der gewünschte und eben eingestellte Zustand erreicht wird. So kann es dazu kommen, dass bei einer Veränderung des Einstellwertes von 20% nach 70% der Dimmer erst 70% anzeigt, nach einer Aktualisierung der Readings zurück auf 20% (oder irgendeinen Zwischenwert) springt und erst etwas verzögert die 70% - nämlich dann, wenn der Aktor sein Ziel erreicht hat. Über das Timeout kann eine Laufzeit festgelegt werden, die der Aktor Zeit bekommt, sein Ziel zu erreichen. Nach Ablauf der Zeit wird der tatsächlich aus dem Device gelesene Wert angezeigt.
Beispiele
HUEDevice
Einfaches Beispiel:
<div data-type="dimmer"
data-device='HUEDevice1'
data-set="pct"
data-get-on="!off"
data-get-off="off"></div>
Nun ein Beispiel mit einem eigenen Reading für den DIM-Wert. Es ist dasselbe HUEDevice wie oben, nur wird diesmal der pct-Wert getrennt von EIN/AUS geregelt:
<div data-type="dimmer"
data-device="HUEDevice1"
data-get="onoff"
data-get-on="1"
data-get-off="0"
data-set=""
data-set-on="on"
data-set-off="off"
data-dim="pct"></div>
Homematic-Dimmer
So wird ein Homematic-Dimmer im erweiterten Modus eingebunden:
<div data-type="dimmer"
data-device="HomematicDevice1"
data-get-on="on|^[1-9][0-9]?(?:\.5)?$"
data-get-off="off"
data-set-on="on"
data-dim="pct"></div>
RegEx für On-Werte
Dieses Beispiel verwendet einen RegEx-Ausdruck, um alle möglichen Werte für "EIN" abzudecken.
<div data-type="dimmer"
data-device='Dimmer1'
data-set="pct"
data-get-on="[0-9]{1,3}|on"
data-get-off="off"></div>