Homematic HM-LC-SW4-PCB WOLF_CWL Steuern

Begonnen von lewej, 04 Oktober 2015, 13:12:58

Vorheriges Thema - Nächstes Thema

lewej

Hallo Zusammen,

ich habe einen HM-LC-SW4-PCB mit dem ich meine Lüftungsanlage Steuern möchte. Ich hätte gerne 4 Schalter:

Stufe0
Stufe1
Stufe2
Stufe3

Ich habe es wie folgt gelöst, aber ich denke es gibt einen besseren Weg, vielleicht hat jemand eine Idee. Es muss immer sichergestellt werden, das nie zwei oder alle gleichzeitig geschaltet sind. Deshalb schalte ich sicherheitshalber immer zuerst alle auf OFF.


define HM_SW_01_WOLF_STUFE2 CUL_HM SERIALNUMBER01
attr HM_SW_01_WOLF_STUFE2 model HM-LC-SW4-PCB
attr HM_SW_01_WOLF_STUFE2 peerIDs 00000000,
attr HM_SW_01_WOLF_STUFE2 webCmd statusRequest:toggle:on:off
define HM_SW_01_WOLF_STUFE0 CUL_HM SERIALNUMBER02
attr HM_SW_01_WOLF_STUFE0 model HM-LC-SW4-PCB
attr HM_SW_01_WOLF_STUFE0 peerIDs 00000000,
attr HM_SW_01_WOLF_STUFE0 webCmd statusRequest:toggle:on:off
define HM_SW_01_WOLF_STUFE3 CUL_HM SERIALNUMBER03
attr HM_SW_01_WOLF_STUFE3 model HM-LC-SW4-PCB
attr HM_SW_01_WOLF_STUFE3 peerIDs 00000000,
attr HM_SW_01_WOLF_STUFE3 webCmd statusRequest:toggle:on:off



define WOLF_STUFE0 dummy
attr WOLF_STUFE0 fm_type onbutton,state
attr WOLF_STUFE0 group Lueftungsanlage
attr WOLF_STUFE0 icon vent_ventilation
attr WOLF_STUFE0 room HZR
attr WOLF_STUFE0 setList on
define WOLF_STUFE0_AN notify WOLF_STUFE0:on set HM_SW_01_WOLF_STUFE2 off;;set HM_SW_01_WOLF_STUFE3 off;;set HM_SW_01_WOLF_STUFE0 on;;set WOLF_STUFE1 off;;set WOLF_STUFE2 off;;set WOLF_STUFE3 off
#define WOLF_STUFE0_AUS notify WOLF_STUFE0:off set HM_SW_01_WOLF_STUFE2 off;;set HM_SW_01_WOLF_STUFE3 off;;set HM_SW_01_WOLF_STUFE0 off

define WOLF_STUFE1 dummy
attr WOLF_STUFE1 fm_type state,onbutton
attr WOLF_STUFE1 group Lueftungsanlage
attr WOLF_STUFE1 icon vent_ventilation_level_1
attr WOLF_STUFE1 room HZR
attr WOLF_STUFE1 setList on
define WOLF_STUFE1_AN notify WOLF_STUFE1:on set HM_SW_01_WOLF_STUFE2 off;;set HM_SW_01_WOLF_STUFE3 off;;set HM_SW_01_WOLF_STUFE0 off;;set WOLF_STUFE0 off;;set WOLF_STUFE2 off;; set WOLF_STUFE3 off
#define WOLF_STUFE1_AUS notify WOLF_STUFE1:off set HM_SW_01_WOLF_STUFE2 off;;set HM_SW_01_WOLF_STUFE3 off;;set HM_SW_01_WOLF_STUFE0 off

define WOLF_STUFE2 dummy
attr WOLF_STUFE2 devStateIcon .*:vent_ventilation_level_2
attr WOLF_STUFE2 fm_type onbutton,state
attr WOLF_STUFE2 group Lueftungsanlage
attr WOLF_STUFE2 icon vent_ventilation_level_2
attr WOLF_STUFE2 room HZR
attr WOLF_STUFE2 setList on
define WOLF_STUFE2_AN notify WOLF_STUFE2:on set HM_SW_01_WOLF_STUFE3 off;;set HM_SW_01_WOLF_STUFE0 off;;set HM_SW_01_WOLF_STUFE2 on;;set WOLF_STUFE0 off;;set WOLF_STUFE1 off;;set WOLF_STUFE3 off
#define WOLF_STUFE2_AUS notify WOLF_STUFE2:off set HM_SW_01_WOLF_STUFE2 off;;set HM_SW_01_WOLF_STUFE3 off;;set HM_SW_01_WOLF_STUFE0 off

define WOLF_STUFE3 dummy
attr WOLF_STUFE3 fm_type onbutton,state
attr WOLF_STUFE3 group Lueftungsanlage
attr WOLF_STUFE3 icon vent_ventilation_level_3
attr WOLF_STUFE3 room HZR
attr WOLF_STUFE3 setList on
define WOLF_STUFE3_AN notify WOLF_STUFE3:on set HM_SW_01_WOLF_STUFE2 off;;set HM_SW_01_WOLF_STUFE0 off;;set HM_SW_01_WOLF_STUFE3 on;;set WOLF_STUFE0 off;;set WOLF_STUFE1 off;;set WOLF_STUFE2 off



Könnte man das nicht über notify oder ähnlichen so lösen, das wenn man eine Stufe schaltet, das immer die zuvor geschaltete Stufe zuerst auf OFF geschaltet wird.


Gruß

Ellert

Mit einem DOIF lässt es sich recht übersichtlich lösen.

d1 dummy
setList state:0,1,2,3,4
WebCmd state

di DOIF ([d1] ==1) (set Stufe2|Stufe3|Stufe4 off, set Stufe1 on)
DOELSEIF  ([d1] ==2) ...
...
DOELSEIF  ([d1] ==0) (alles aus)

nicht getestet, Syntax unvollständig