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

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
K (Sichtung / Korrektur der letzten Änderungen)
 
(9 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Das Beispiel (Feature-Set 5.7 getestet) erzeugt einen Schieberegler für einen '''EIB/KNX Dimmer'''. Der aktuelle Helligkeitswert und der Schaltzustand werden auch dann aktualisiert dargestellt, wenn der Dimmer nicht über Fhem sondern über übliche Wandtaster gesteuert wird.  
Das Beispiel (Feature-Set 5.7 getestet) erzeugt einen Schieberegler für einen '''EIB/KNX Dimmer'''. Der aktuelle Helligkeitswert und der Schaltzustand werden auch dann aktualisiert dargestellt, wenn der Dimmer nicht über FHEM sondern über übliche Wandtaster gesteuert wird.  
 
[[Datei:EIB-KNX-DimmerDarstellung.png]]


Das Beispiel arbeitet mit Kanal C eines MDT Dimmers AKD-04.01.01 und verweist auf dessen [[:Kategorie:EIB/KNX|KNX]] Objekte.
Das Beispiel arbeitet mit Kanal C eines MDT Dimmers AKD-04.01.01 und verweist auf dessen [[:Kategorie:EIB/KNX|KNX]] Objekte.
Zeile 5: Zeile 7:
Es werden folgende GAs verwendet:
Es werden folgende GAs verwendet:


;<code>1/1/19</code> : Schaltet ein/aus zum Aktor (Obj.30)
;<code>1/1/19</code> : Schaltet ein/aus zum Aktor (Obj.30, write only)
;<code>1/1/119</code> : Rückmeldung des Schaltzustands vom Aktor (Obj.34)
;<code>1/1/119</code> : Rückmeldung des Schaltzustands vom Aktor (Obj.34, read only)
;<code>1/1/104</code> : Status des Dimmwertes vom Aktor (Obj.35)
;<code>1/1/104</code> : Status des Dimmwertes vom Aktor (Obj.35, byte, read only)
;<code>1/1/32</code> : Absoluter Dimmwert zum Aktor (Obj.33)
;<code>1/1/32</code> : Absoluter Dimmwert zum Aktor (Obj.33, byte, write only)
 
{{Randnotiz|RNText=Die Konfiguationen und Beispiele verwenden das Modul EIB! Dieses Modul ist seit 2018 deprecated und wird nicht mehr gewartet. Beispiele für KNX sind auf der Seite [[KNX Device Definition - Beispiele]] zu finden.}}
Die Definition des Bedienelementes für den Dimmer-Schaltzustand in der Konfigurationsdatei (z.&nbsp;B. fhem.cfg):
Die Definition des Bedienelementes für den Dimmer-Schaltzustand in der Konfigurationsdatei (z.&nbsp;B. fhem.cfg):
  define 103_Licht EIB 1/1/19 1/1/119
  define 103_Licht EIB 1/1/19 1/1/119
Zeile 18: Zeile 20:
  define 103_Dimm_Status EIB 1/1/104
  define 103_Dimm_Status EIB 1/1/104
  attr 103_Dimm_Status IODev tul
  attr 103_Dimm_Status IODev tul
  attr 103_Dimm_Status model persent
  attr 103_Dimm_Status model percent
  attr 103_Dimm_Status room hidden
  attr 103_Dimm_Status room hidden
  define x_103_Dimm_Status notify 103_Dimm_Status { \
  define x_103_Dimm_Status notify 103_Dimm_Status { \
Zeile 25: Zeile 27:
           fhem("define 103_Dimm_Status_T at +00:00:10 setreading 103_Dimm state $i") \
           fhem("define 103_Dimm_Status_T at +00:00:10 setreading 103_Dimm state $i") \
  }
  }
Die beiden letzten Zeilen stellen sicher, dass nach 10 Sekunden auch die Weboberfläche aktualisiert wird, wenn der Dimmerstatus aus dem KNX-System heraus verändert wurde. (Vielleicht kennt jemand eine bessere Variante...)
Die beiden letzten Zeilen stellen sicher, dass nach 10 Sekunden auch die Weboberfläche aktualisiert wird, wenn der Dimmerstatus aus dem KNX-System heraus verändert wurde (vielleicht kennt jemand eine bessere Variante...).


Nun das Element für die Visualisierung des Schiebereglers:
Nun das Element für die Visualisierung des Schiebereglers:
Zeile 37: Zeile 39:
  attr 103_abs room hidden
  attr 103_abs room hidden


Wenn über die Bedienoberfläche der Schieberegler verschoben wird, ändert sich "103_Dimm" und löst nun ein Event aus. Dabei wird dann "103_abs" aktualisiert, d.h., der neue Dimmwert wird von fhem gen KNX-Bus in den Aktor geschrieben.
Wenn über die Bedienoberfläche der Schieberegler verschoben wird, ändert sich "103_Dimm" und löst nun ein Event aus. Dabei wird dann "103_abs" aktualisiert, d.h., der neue Dimmwert wird von FHEM gen KNX-Bus in den Aktor geschrieben.


  define x_103_Dimm notify 103_Dimm { \
  define x_103_Dimm notify 103_Dimm { \
     my $v=Value("103_Dimm");; \
     my $v=Value("103_Dimm");; \
     fhem("set 103_abs value $i") \
     fhem("set 103_abs value $v") \
  }
  }
 
 
[[Kategorie:Examples]]
[[Kategorie:Examples]]
[[Kategorie:EIB/KNX]]
[[Kategorie:EIB/KNX]]

Aktuelle Version vom 11. Oktober 2021, 10:23 Uhr

Das Beispiel (Feature-Set 5.7 getestet) erzeugt einen Schieberegler für einen EIB/KNX Dimmer. Der aktuelle Helligkeitswert und der Schaltzustand werden auch dann aktualisiert dargestellt, wenn der Dimmer nicht über FHEM sondern über übliche Wandtaster gesteuert wird.

EIB-KNX-DimmerDarstellung.png

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, write only)
1/1/119
Rückmeldung des Schaltzustands vom Aktor (Obj.34, read only)
1/1/104
Status des Dimmwertes vom Aktor (Obj.35, byte, read only)
1/1/32
Absoluter Dimmwert zum Aktor (Obj.33, byte, write only)
Info green.pngDie Konfiguationen und Beispiele verwenden das Modul EIB! Dieses Modul ist seit 2018 deprecated und wird nicht mehr gewartet. Beispiele für KNX sind auf der Seite KNX Device Definition - Beispiele zu finden.

Die Definition des Bedienelementes für den Dimmer-Schaltzustand in der Konfigurationsdatei (z. B. fhem.cfg):

define 103_Licht EIB 1/1/19 1/1/119
attr 103_Licht model dpt1
attr 103_Licht IODev tul

Mit folgendem Element wird der jeweils aktuelle Dimmwert in 103_Dimm_Status für die Visualisierung in 103_Dimm gesetzt

define 103_Dimm_Status EIB 1/1/104
attr 103_Dimm_Status IODev tul
attr 103_Dimm_Status model percent
attr 103_Dimm_Status room hidden
define x_103_Dimm_Status notify 103_Dimm_Status { \
         my $i=Value("103_Dimm_Status");; \
         if(Value("103_Dimm_Status_T")) {fhem("delete 103_Dimm_Status_T")};; \
         fhem("define 103_Dimm_Status_T at +00:00:10 setreading 103_Dimm state $i") \
}

Die beiden letzten Zeilen stellen sicher, dass nach 10 Sekunden auch die Weboberfläche aktualisiert wird, wenn der Dimmerstatus aus dem KNX-System heraus verändert wurde (vielleicht kennt jemand eine bessere Variante...).

Nun das Element für die Visualisierung des Schiebereglers:

define 103_Dimm dummy
attr 103_Dimm setList state:slider,1,1,100
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 percent
attr 103_abs room hidden

Wenn über die Bedienoberfläche der Schieberegler verschoben wird, ändert sich "103_Dimm" und löst nun ein Event aus. Dabei wird dann "103_abs" aktualisiert, d.h., der neue Dimmwert wird von FHEM gen KNX-Bus in den Aktor geschrieben.

define x_103_Dimm notify 103_Dimm { \
    my $v=Value("103_Dimm");; \
    fhem("set 103_abs value $v") \
}