Dimmer-Widget mit Fibaro Dimmer

Begonnen von heig, 17 Juli 2016, 12:38:41

Vorheriges Thema - Nächstes Thema

heig

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!

sinus61

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.

heig

... Guter Punkt. Hab ich irgendwie weg-ignoriert. Vielen Dank - läuft 1a!

setstate

"dim 80" mit Leerzeichen?
und sowas??


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


Ich empfehle, immer hier zu testen: https://regex101.com/

heig

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 :(

Tobias

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\ //}
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

db7

#6
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.

QTreiber

hast du mittlerweile eine Lösung ohne userreading gefunden? Ich habe durch das zusätzliche userreading Probleme mit einem Notify.
aktuelles System auf RPi 3:
RaZberyy ZWave Controller: Schaltaktoren, Heizkörperthermostate, Fenstersensoren, Multisensoren (Bewegung, Temperatur, Helligkeit), Schukostecker, Rauchmelder
Sduino: Somfy Jalousie
WiFi: E27-RGB-LED, Echogeräte, Netatmo, DashButtons, googleBackup, Harmony, Staubsauger

Thyraz

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.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...