Hilfe bei aktualisierten Dimmer Werten

Begonnen von math78, 23 Februar 2016, 22:24:44

Vorheriges Thema - Nächstes Thema

math78

Hallo,

bräuchte Eure Hilfe bei meinem Fibaro Dimmer. Leider bekomme ich keine aktualisierten Werte im Dimmer in Tablet UI angezeigt. Habe im Device in FHEM ein UserReading, welches mir einen reinen Zahlenwert liefert (state_01).

Habe folgenden Code:
<div data-type="dimmer"
         data-device='Spots_Esszimmer'
       data-get="state_01"
       data-get-on="([0-9].*)"
       data-get-off="0"
       data-set-value="dim $v"         
       data-set-on="dim 99"
       data-set-off="dim 0"
       class="bigger cell">
</div>

Habt Ihr eine Idee?

Danke.

LG
Matthias


roman1528

Moin.

attr Spots_Esszimmer event-on-change-reading state_01

Hat mir immer bei userReadings und Dummy's geholfen ;)

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

math78

Hat leider nichts gebracht, aber Danke.

LG

Matthias

roman1528

Ok.

Dann schauen wir jetzt mal auf dein RegEX.

1-99 vom Dimmer-Device sind Werte wenn die Lampe an/gedimmt ist.... und 0 wenn sie aus ist. Sehe ich das richtig?

dann ist dein data-get-off="0" schon mal richtig.

Aber dein data-get-on="[0-9].*" heißt: "0 oder 1 oder 2 oder 3 oder 4 .... oder 9 und egal was danach kommt"

Versuch mal ....
data-get-on="[1-9]{1}|[0-9]{2}"
Das heißt übersetzt: ({1}=einstellig, {2}=zweistellig):

1 oder 2 oder 3 ... oder 9 ODER 00 oder 01 oder 02 ... oder 10 oder 11 ... oder 99        (wenn ich jetzt nicht auf dem ganz flaschen Weg bin  ::)  )

00, 01 usw. wird/sollte niemals vorkommen .. also egal und von uns ignoriert... und in deinem UserReading hast du einen reinen Zahlenwert... heißt: Hinter der Zahl wird/sollte nichts mehr kommen... somit kannst du .* weg lassen.

Bin auf deine Antwort gespannt  ;D ;D

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

math78

Hallo Roman,

Dein Vorschlag hat leider nicht funktioniert. Habe jetzt folgenden Code für data-get-on verwendet:
"!off"
Bekomme damit aber keinen aktuellen Wert.

Hast Du noch eine andere Idee???

LG

Matthias


roman1528

Schau dir das hier nochmal GANZ genau an:
https://github.com/knowthelist/fhem-tablet-ui#dimmer-widgets

speziell data-dim.

Dann weiß ich aber auch nicht weiter... Schon gar nicht weil ich nicht weiß was für ein device du hast. Und z.B. FS20 habe ich selber nicht... deswegen könnte ih dazu erst recht nichts sagen.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

dadoc

Hi Matthias,
ich habe ein ähnliches Problem mit meinen FS20-Dimmern (deren Status ist kein Zahlenwert, sondern Werte wie "dim50%"). Ich habe auch den reinen Zahlenwert in ein Userreading extrahiert, aber es ist auch mir nicht gelungen, dass das Dimmer-Widget diesen Wert ausliest. Habe in einem anderen Thread gefragt (http://forum.fhem.de/index.php/topic,49733.msg415166.html#msg415166), warte noch auf Antwort.
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

setstate

Ist das eine Möglichkeit?


<div data-type="dimmer" data-device='myFS20Dimmer'
     data-set-on="dim$v%"
     data-set-off="dim0%"
     data-set-value="dim$v%"
     data-get-on="dim([1-9]\d?)?%"
     data-get-off="dim0%"
class="FS20"></div>


Das ist im Simple Mode -> Aus und On mit einem lokal festgelegten Dim-Wert. Alle Werte werden STATE geholt und aus dem 'dim' und '%' Salat raus interpretiert. Senden auch gegen STATE.

Wenn du den Dimmwert dynamisch von FHEM willst, muss man data-dim angeben und einen Parameter für an/aus -> data-get. Weiß aber jetzt nicht aus der Kalten, wie das bei dir heißen könnte:


<div data-type="dimmer" data-device='myFS20Dimmer'
     data-get="myOnOffReading"
     data-get-on="1" data-get-off="0"
     data-set=""
     data-set-on="on" data-set-off="off"
     data-dim="myDimReading"
class="FS20"></div>



math78

Hallo setstate,

Danke für deine Vorschläge. Komme erst die Woche über dazu es auszuprobieren, gebe dann direkt Rückmeldung.

LG

Matthias

dadoc

Zitat von: setstate am 26 Februar 2016, 07:54:38
Ist das eine Möglichkeit?
Danke setstate, damit werde ich es mal versuchen.
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

Zitat von: setstate am 26 Februar 2016, 07:54:38
Wenn du den Dimmwert dynamisch von FHEM willst, muss man data-dim angeben und einen Parameter für an/aus -> data-get. Weiß aber jetzt nicht aus der Kalten, wie das bei dir heißen könnte:


<div data-type="dimmer" data-device='myFS20Dimmer'
     data-get="myOnOffReading"
     data-get-on="1" data-get-off="0"
     data-set=""
     data-set-on="on" data-set-off="off"
     data-dim="myDimReading"
class="FS20"></div>

Ich haben noch "data-set-value="dim$v%"" eingefügt und zwei User-Readings für den Dimmer angelegt, eines für an/aus, eines für den aktuellen Dimmwert ohne "dim" und "%". Damit aktualisiert sich die Anzeige zwar in ftui, aber das Problem bleibt, dass beim Dimmen aus ftui der Inhalt von data-dim in den Befehl gepfriemelt wird, also
set Dimmer_07 myDimReading dim68%
statt
set Dimmer_07 dim68%
Krieg ich das irgendwie raus?
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

setstate

Aber genau über data-set-value kommt bei dir dieses "dim" rein. Das musst du weglassen, damit der default wirkt, oder data-set-value="$v" angeben. Dann wird nur der Zahlenwert gesendet

dadoc

Zitat von: setstate am 29 Februar 2016, 17:09:39
Dann wird nur der Zahlenwert gesendet
Möglicherweise stehe ich ja auf der Leitung, aber der FS20-Dimmer braucht doch von Natur aus einen Befehl wie
set dimmer dim61%
und eben nicht den reinen Zahlenwert. Sonst müsste man ja noch einbauen, dass sich der Dimmer den Dimmwert aus dem Userreading wieder selbst zusammenbastelt (stateFormat?)
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

setstate

Das Reading für dim muss set und get übernehmen. Nur Wert holen , aber Set nur auf den Status ist nicht möglich.
Da könnte ich nur wieder für FS20 eine Sonderbehandlung einbauen.

dadoc

ok, mit stateFormat ({"dim".ReadingsVal("Dimmer_07","dimstate",0)."%"}) bastelt sich der Dimmer jetzt aus dem reinen Zahlenwert sein dimxx%-Befehl.
Aber wie kann ich aus ftui den Dimmwert in das User-Reading "dimstate" schreiben?
Zitatset Dimmer_07 dimstate 68
funktioniert jedenfalls nicht: Und setreading würde zwar den Wert setzen, ihn aber nicht an den Dimmer senden.
Daher die Frage, auf die ich keine Antwort finden konnte: Wie setzt man den Wert eines Userreadings?
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods