FTUI Widget Dimmer

Aus FHEMWiki
Wechseln zu: Navigation, Suche

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. Zitat aus dem Forum: "data-timeout gilt nur für die on-off (toggle) Funktion von Switch und Dimmer, nicht fürs Dimmen. Das Problem: Am Switch wird eingeschaltet, der Knopf wird hell und ON an FHEM gesendet. Aber die Hardware reagiert nicht, geht nicht auf ON. Wenn sie das machen würde, käme auch eine Bestätigung per Longpoll. Mit data-timeout wird die eingestellte Zeit gewartet und bei Ausbleiben der Bestätigung fällt der Switch zum ursprünglichen Status zurück, geht also wieder aus. Nur wenn innerhalb der x Sekunden das Longpoll-Event kommt, wird der Fallbacktimer gestoppt."

Beispiele

HUEDevice

Einfaches Beispiel:

<div data-type="dimmer"
     data-device='HUEDevice1'
     data-set="pct"
     data-get-on="!off"
     data-get-off="off"></div>

FTUI Widget Dimmer 01.png

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>