Dimmer für EIB/KNX: Unterschied zwischen den Versionen
(Dimmen mit einem Aktor von MDT) |
Keine Bearbeitungszusammenfassung |
||
Zeile 26: | Zeile 26: | ||
} | } | ||
Nun das Element für die Visualisierung | Nun das Element für die Visualisierung... | ||
define 103_Dimm dummy | define 103_Dimm dummy | ||
attr 103_Dimm setList state:slider,1,1,255 | attr 103_Dimm setList state:slider,1,1,255 | ||
attr 103_Dimm webCmd state | attr 103_Dimm webCmd state | ||
und das Element für das Senden absoluter Dimmwerte | ... und das Element für das Senden absoluter Dimmwerte an den Aktor. | ||
define 103_abs EIB 1/1/32 | define 103_abs EIB 1/1/32 | ||
attr 103_abs model dpt5 | attr 103_abs model dpt5 |
Version vom 23. August 2013, 12:46 Uhr
Dimmer für EIB/KNX
Das Beispiel erzeugt einen Schieberegler für Dimmer. Der aktuelle Helligkeitswert und Schaltzustand wird auch dargestellt, wenn der Dimmer nicht über FHEM sondern über übliche Wandtaster gesteuert wird. Das Beispiel arbeitet mit Kanal C eines MDT Dimmers AKD-04.01.01 und verweist auf dessen KNX Objekte.
Es werden folgende GAs verwendet:
1/1/19 -> Schaltet ein/aus zum Aktor (Obj.30)
1/1/119 <- Rückmeldung des Schaltzustands vom Aktor (Obj.34)
1/1/104 <- Status des Dimmwertes vom Aktor (Obj.35)
1/1/32 -> Absoluter Dimmwert zum Aktor (Obj.33)
define 103_Licht EIB 1/1/19 1/1/119
Mit folgendem Element wird der jeweils aktuelle Dimmwert in 103_Dimm_Status für die Visulaisierung in 103_Dimm gesetzt
define 103_Dimm_Status EIB 1/1/104 attr 103_Dimm_Status model dpt5 attr 103_Dimm_Status room hidden define x_103_Dimm_Status notify 103_Dimm_Status { \ if (abs($value{"103_Dimm"}-$value{"103_Dimm_Status"})>1) { \ my $i=$value{"103_Dimm_Status"};; \ fhem("set 103_Dimm $i") \ } \ }
Nun das Element für die Visualisierung...
define 103_Dimm dummy attr 103_Dimm setList state:slider,1,1,255 attr 103_Dimm webCmd state
... und das Element für das Senden absoluter Dimmwerte an den Aktor.
define 103_abs EIB 1/1/32 attr 103_abs model dpt5 attr 103_abs room hidden
define 103_Dimm_a notify 103_Dimm {my $i=sprintf("%%.2x",$value{"103_Dimm"}>0?$value{"103_Dimm"}:0);; fhem("set 103_abs value $i") }