FTUI Widget Dimmer: Unterschied zwischen den Versionen
All-Ex (Diskussion | Beiträge) |
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'''|| | |'''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: | ||
< | <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> | ||
</ | </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: | ||
< | <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> | ||
</ | </syntaxhighlight> | ||
===Homematic-Dimmer=== | ===Homematic-Dimmer=== | ||
So wird ein Homematic-Dimmer im erweiterten Modus eingebunden: | So wird ein Homematic-Dimmer im erweiterten Modus eingebunden: | ||
< | <syntaxhighlight lang="html"> | ||
<div data-type="dimmer" | <div data-type="dimmer" | ||
data-device="HomematicDevice1" | data-device="HomematicDevice1" | ||
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> | ||
</ | </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. | ||
< | <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> | ||
</ | </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>
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>