FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: heig am 17 Juli 2016, 12:38:41

Titel: Dimmer-Widget mit Fibaro Dimmer
Beitrag von: heig am 17 Juli 2016, 12:38:41
Hallo zusammen,
meine Suche war bislang leider erfolglos, daher hier meine Frage:

Ich habe einen Fibaro Dimmer im Einsatz und möchte diesen über die TabletUI steuern. Das steuern ansich geht auch, ich kann ihn ein/ausschalten und Werte setzen. Aber das auslesen des aktuellen Wertes geht nicht.
Leider übermittelt der Dimmer den Wert im state folgendermaßen: "dim 80" z.b. für 80%. Daher war mein Versuch aus dem Reading via Regex nur die Zahlen auszulesen, aber das führt leider nicht zum Erfolg. Ggf ist auch mein Regex einfach nur kaputt?

<div data-type="dimmer" data-device="FL.Licht" data-get-on="on|dim ([0-9].*)" data-set="dim" data-get-value="([0-9],{2})" data-get-off="off" class="cell"></div>


Die Erkennung von on/off sowie das setzen eines Dimmerwertes geht einwandfrei. Vielleicht hat ja jemand von euch eine Idee, was in "data-get-value" rein muss, damit der Dimmer-Wert angezeigt wird?

Danke!
Titel: Antw:Dimmer-Widget mit Fibaro Dimmer
Beitrag von: sinus61 am 20 Juli 2016, 21:09:23
Mach doch ein extra Userreading für den Wert:

dim {ReadingsVal("FL.Licht","state","") =~"dim"? ReadingsNum("FL.Licht","state",""):ReadingsVal("FL.Licht","dim","")}

und dann den Wert mit
data-dim="dim"
holen.
Titel: Antw:Dimmer-Widget mit Fibaro Dimmer
Beitrag von: heig am 20 Juli 2016, 21:19:53
... Guter Punkt. Hab ich irgendwie weg-ignoriert. Vielen Dank - läuft 1a!
Titel: Antw:Dimmer-Widget mit Fibaro Dimmer
Beitrag von: setstate am 20 Juli 2016, 21:22:16
"dim 80" mit Leerzeichen?
und sowas??


data-get-value="dim\s([0-9]{1,3})"


Ich empfehle, immer hier zu testen: https://regex101.com/
Titel: Antw:Dimmer-Widget mit Fibaro Dimmer
Beitrag von: heig am 20 Juli 2016, 21:26:23
Zitat von: setstate am 20 Juli 2016, 21:22:16
"dim 80" mit Leerzeichen?
und sowas??


data-get-value="dim\s([0-9]{1,3})"


Der Regex ist korrekt (meiner von oben hat auch funktioniert im Test), aber funktioniert im TUI leider trotzdem nicht :(
Titel: Antw:Dimmer-Widget mit Fibaro Dimmer
Beitrag von: Tobias am 21 Juli 2016, 08:33:10
Im widget Label gibt es "data-part=" wobei der Value beim Leerzeichen zerlegt wird.

Bei "dim 80" wäre das also

data-part="2"

@setsate, könnte man doch im dimmer auch einbauen....

alternativ mit dem Userreading:
anstatt
dim {ReadingsVal("FL.Licht","state","") =~"dim"? ReadingsNum("FL.Licht","state",""):ReadingsVal("FL.Licht","dim","")}
lieber (ungetestet)
dim {ReadingsVal("FL.Licht","state","") =~ s/dim\ //}
Titel: Antw:Dimmer-Widget mit Fibaro Dimmer
Beitrag von: db7 am 02 Januar 2018, 19:04:17
Hallo, ich habe auch meine Probleme mit der Anzeige des Dimmer-Wertes.

Mit dem userreading


dim {ReadingsVal("ZWave_SWITCH_MULTILEVEL_33","state","") =~ s/\D+//r}


und


<div
  data-type="dimmer"
  data-device="ZWave_SWITCH_MULTILEVEL_33"
  data-get-on="dim|on"
  data-get-off="off"
  data-set-on="on"
  data-set-off="off"
  data-dim="dim" class="big" ></div>



funktioniert es, aber lässt sich die Definitoin des data-type dimmers nicht ohne zusätzliches userreading schreiben?
Meine Versuche über data-get-value sind sämtlichst fehlgeschlagen. Aber vielleicht hat ja noch jemand einen Tip für mich auf Lager.
Titel: Antw:Dimmer-Widget mit Fibaro Dimmer
Beitrag von: QTreiber am 29 Juni 2018, 08:34:23
hast du mittlerweile eine Lösung ohne userreading gefunden? Ich habe durch das zusätzliche userreading Probleme mit einem Notify.
Titel: Antw:Dimmer-Widget mit Fibaro Dimmer
Beitrag von: Thyraz am 29 Juni 2018, 08:46:55
Welcher Art denn? Normal sollte ein weiteres Reading ja nicht stören, ist eher die Frage ob am Notify dann was nicht stimmt.

Ich habe meinen ZWave Dimmern allen ein UserReading "dimVal" verpasst, welches "off" und "dim xx" entsprechend in ein rein numerisches Reading mapped.

Sowas ist allgemein ja nicht verkehrt, und mache ich auch bei ähnlichen Zwave Eigenheiten wegen denen man für einen eigentlich numerischen Wert irgendwelche Texte oder Textanteile bekommt.

Das stört ja nicht nur in TabletUI, sondern auch z.B. bei Plots.
Außerdem kann man so über mehrere Systeme die Readings normalisieren.
In Fhem machen das verschiedene Module ja oft sehr unterschiedlich.

Meine Hue Stripes haben z.B. auch ein dimVal UserReading, obwohl es hier nur einen 1:1 Kopie vom pct Reading ist.
Aber so kann ich mir eben sicher sein, dass alle dimmbaren Lampen in meinem System eine einheitliche Möglichkeit der Helligkeitsabfrage bieten.

Das erleichtert z.B. auch die Nutzung von Templates in TabletUI, da man eben nicht nach Hardware unterscheiden muss.