FTUI Widget Dimmer: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Das [[{{PAGENAME}}|Dimmer Widget]] ist ein Widget für [[FHEM Tablet UI]], das einen Ein-/Aus-Button mit inkludiertem Schieberegler erstellt.
Das [[{{PAGENAME}}|Dimmer Widget]] ist ein Widget für [[FHEM Tablet UI V2]], das einen Ein-/Aus-Button mit inkludiertem Schieberegler erstellt.


<gallery>
<gallery>
Zeile 42: Zeile 42:
|'''data-step'''||Größe der Änderungsschritte||1||data-step="5"
|'''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-lock'''||Reading, mit dem das Element für eine Bedienung gesperrt wird. Die Sperre greift, wenn das Reading den Wert 'true', '1' oder 'on' hat. Hiervon abweichend ist auch eine Definition mittels data-lock-on und data-lock-off möglich.||||
|-
|'''data-lock-on'''||Wert des Readings, bei dem die Sperre (vgl. data-lock) aktiviert wird||||
|-
|'''data-lock-off'''||Wert des Readings, bei dem die Sperre (vgl. data-lock) aufgehoben wird||||
|-
|'''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||
|}
|}


Zeile 56: Zeile 62:
* ''$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.
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==
==Beispiele==
===HUEDevice===
===HUEDevice===
Einfaches Beispiel:
Einfaches Beispiel:
<source lang="html">
<syntaxhighlight lang="html">
<div data-type="dimmer"
<div data-type="dimmer"
     data-device='HUEDevice1'
     data-device='HUEDevice1'
Zeile 66: Zeile 76:
     data-get-on="!off"
     data-get-on="!off"
     data-get-off="off"></div>
     data-get-off="off"></div>
</source>
</syntaxhighlight>
[[File:FTUI_Widget_Dimmer_01.png]]
[[File: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:
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:
<source lang="html">
<syntaxhighlight lang="html">
<div data-type="dimmer"
<div data-type="dimmer"
     data-device="HUEDevice1"
     data-device="HUEDevice1"
Zeile 80: Zeile 90:
     data-set-off="off"
     data-set-off="off"
     data-dim="pct"></div>
     data-dim="pct"></div>
</source>
</syntaxhighlight>


===Homematic-Dimmer===
===Homematic-Dimmer===
So wird ein Homematic-Dimmer im erweiterten Modus eingebunden:
So wird ein Homematic-Dimmer im erweiterten Modus eingebunden:
<source lang="html">
<syntaxhighlight lang="html">
<div data-type="dimmer"  
<div data-type="dimmer"  
     data-device="HomematicDevice1"
     data-device="HomematicDevice1"  
    data-get="pct" 
     data-get-on="on|^[1-9][0-9]?(?:\.5)?$"  
     data-get-on="on|^[1-9][0-9]?$"  
     data-get-off="off"  
     data-get-off="off"  
     data-set-on="on"  
     data-set-on="on"  
     data-dim="pct"></div>
     data-dim="pct"></div>
</source>
</syntaxhighlight>


===RegEx für On-Werte===
===RegEx für On-Werte===
Dieses Beispiel verwendet einen RegEx-Ausdruck, um alle möglichen Werte für "EIN" abzudecken.
Dieses Beispiel verwendet einen RegEx-Ausdruck, um alle möglichen Werte für "EIN" abzudecken.
<source lang="html">
<syntaxhighlight lang="html">
<div data-type="dimmer"
<div data-type="dimmer"
     data-device='Dimmer1'
     data-device='Dimmer1'
Zeile 102: Zeile 111:
     data-get-on="[0-9]{1,3}|on"
     data-get-on="[0-9]{1,3}|on"
     data-get-off="off"></div>
     data-get-off="off"></div>
</source>
</syntaxhighlight>


[[Kategorie:FHEM Tablet UI]]
[[Kategorie:FHEM Tablet UI V2|Dimmer]]

Aktuelle Version vom 2. August 2024, 15:41 Uhr

Das Dimmer Widget ist ein Widget für FHEM Tablet UI V2, 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 Reading, mit dem das Element für eine Bedienung gesperrt wird. Die Sperre greift, wenn das Reading den Wert 'true', '1' oder 'on' hat. Hiervon abweichend ist auch eine Definition mittels data-lock-on und data-lock-off möglich.
data-lock-on Wert des Readings, bei dem die Sperre (vgl. data-lock) aktiviert wird
data-lock-off Wert des Readings, bei dem die Sperre (vgl. data-lock) aufgehoben wird
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>