Dimmer für EIB/KNX: Unterschied zwischen den Versionen

Aus FHEMWiki
(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 anden Aktor
... 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, 13: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") }