diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL.patch b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL.patch
new file mode 100644
index 0000000000..bacad02a54
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL.patch
@@ -0,0 +1,184 @@
+--- occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl
+@@ -91,6 +91,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) 0
+--- occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
+@@ -91,6 +91,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) 0
+--- occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl
+@@ -91,6 +91,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) 0
+--- occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl.orig
++++ occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl
+@@ -91,6 +91,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_MODE) 0
+ set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+ set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+--- occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl
+@@ -107,6 +107,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
+@@ -107,6 +107,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl
+@@ -100,6 +100,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl.orig
++++ occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl
+@@ -98,6 +98,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_MODE) 0
+ set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+ set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+@@ -170,6 +171,7 @@
+ set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_4(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_4(SHORT_ON_TIME_MODE) 0
+ set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+--- occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_TRANSCEIVER.tcl
+@@ -93,6 +93,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
+@@ -93,6 +93,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/PRESENCEDETECTOR_TRANSCEIVER.tcl
+@@ -93,6 +93,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/WATER_DETECTION_TRANSMITTER.tcl.orig
++++ occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/WATER_DETECTION_TRANSMITTER.tcl
+@@ -94,6 +94,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_MODE) 0
+ set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+ set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+@@ -167,6 +168,7 @@
+ set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_4(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_4(SHORT_ON_TIME_MODE) 0
+ set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+--- occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_TRANSCEIVER.tcl
+@@ -105,6 +105,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
+@@ -105,6 +105,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
++++ occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/PRESENCEDETECTOR_TRANSCEIVER.tcl
+@@ -99,6 +99,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+ set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+ set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+--- occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/WATER_DETECTION_TRANSMITTER.tcl.orig
++++ occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/WATER_DETECTION_TRANSMITTER.tcl
+@@ -94,6 +94,7 @@
+ set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_2(SHORT_ON_TIME_MODE) 0
+ set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+ set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+@@ -167,6 +168,7 @@
+ set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+ set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
++set PROFILE_4(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+ set PROFILE_4(SHORT_ON_TIME_MODE) 0
+ set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+ set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..12eeed1728
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl
@@ -0,0 +1,259 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/getSoundSelector.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) 0.100000
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 2
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 3
+set PROFILE_2(SHORT_JT_RAMPOFF) 3
+set PROFILE_2(SHORT_JT_RAMPON) 3
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) "
"
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..b649ca35dd
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
@@ -0,0 +1,258 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/getSoundSelector.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) 0.100000
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 2
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 3
+set PROFILE_2(SHORT_JT_RAMPOFF) 3
+set PROFILE_2(SHORT_JT_RAMPON) 3
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..12eeed1728
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
@@ -0,0 +1,259 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/getSoundSelector.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) 0.100000
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 2
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 3
+set PROFILE_2(SHORT_JT_RAMPOFF) 3
+set PROFILE_2(SHORT_JT_RAMPON) 3
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..b649ca35dd
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
@@ -0,0 +1,258 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/getSoundSelector.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) 0.100000
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 2
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 3
+set PROFILE_2(SHORT_JT_RAMPOFF) 3
+set PROFILE_2(SHORT_JT_RAMPON) 3
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..1b4af785a2
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl
@@ -0,0 +1,257 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/getSoundSelector.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) 0.100000
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 2
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 3
+set PROFILE_2(SHORT_JT_RAMPOFF) 3
+set PROFILE_2(SHORT_JT_RAMPON) 3
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..51342b162a
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
@@ -0,0 +1,256 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/getSoundSelector.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) 0.100000
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 2
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 3
+set PROFILE_2(SHORT_JT_RAMPOFF) 3
+set PROFILE_2(SHORT_JT_RAMPON) 3
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl
new file mode 100755
index 0000000000..26aed7a371
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl
@@ -0,0 +1,378 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/getSoundSelector.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${dimmer_off}"
+set PROFILES_MAP(4) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(LONG_COND_VALUE_LO) 50
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) 0.100000
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) ""
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+set PROFILE_2(LONG_COND_VALUE_LO) 50
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 3
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 0
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) ""
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(LONG_COND_VALUE_LO) 50
+set PROFILE_3(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_3(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_3(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_3(SHORT_JT_OFF) 6
+set PROFILE_3(SHORT_JT_OFFDELAY) 6
+set PROFILE_3(SHORT_JT_ON) 4
+set PROFILE_3(SHORT_JT_ONDELAY) 6
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 5
+set PROFILE_3(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_3(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_3(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_3(UI_DESCRIPTION) ""
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+set PROFILE_4(SHORT_JT_OFF) 0
+set PROFILE_4(SHORT_JT_ON) 0
+set PROFILE_4(SHORT_JT_OFFDELAY) 0
+set PROFILE_4(SHORT_JT_ONDELAY) 0
+set PROFILE_4(SHORT_JT_RAMPOFF) 0
+set PROFILE_4(SHORT_JT_RAMPON) 0
+set PROFILE_4(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_4(UI_TEMPLATE) $PROFILE_4(UI_DESCRIPTION)
+set PROFILE_4(UI_HINT) 4
+
+# hier folgen die eventuellen Subsets
+
+# "humidity"
+set SUBSET_1(NAME) "\${subset_1}"
+set SUBSET_1(SUBSET_OPTION_VALUE) 1
+set SUBSET_1(SHORT_CT_OFF) 4
+set SUBSET_1(SHORT_CT_OFFDELAY) 4
+set SUBSET_1(SHORT_CT_ON) 4
+set SUBSET_1(SHORT_CT_ONDELAY) 4
+set SUBSET_1(SHORT_CT_RAMPOFF) 4
+set SUBSET_1(SHORT_CT_RAMPON) 4
+
+# "water"
+set SUBSET_2(NAME) "\${subset_2}"
+set SUBSET_2(SUBSET_OPTION_VALUE) 2
+set SUBSET_2(SHORT_CT_OFF) 1
+set SUBSET_2(SHORT_CT_OFFDELAY) 1
+set SUBSET_2(SHORT_CT_ON) 1
+set SUBSET_2(SHORT_CT_ONDELAY) 1
+set SUBSET_2(SHORT_CT_RAMPOFF) 1
+set SUBSET_2(SHORT_CT_RAMPON) 1
+
+# "humidity OR water"
+set SUBSET_3(NAME) "\${subset_3}"
+set SUBSET_3(SUBSET_OPTION_VALUE) 3
+set SUBSET_3(SHORT_CT_OFF) 0
+set SUBSET_3(SHORT_CT_OFFDELAY) 0
+set SUBSET_3(SHORT_CT_ON) 0
+set SUBSET_3(SHORT_CT_ONDELAY) 0
+set SUBSET_3(SHORT_CT_RAMPOFF) 0
+set SUBSET_3(SHORT_CT_RAMPON) 0
+
+# "absolutely dry"
+set SUBSET_4(NAME) "\${subset_4}"
+set SUBSET_4(SUBSET_OPTION_VALUE) 4
+set SUBSET_4(SHORT_CT_OFF) 2
+set SUBSET_4(SHORT_CT_OFFDELAY) 2
+set SUBSET_4(SHORT_CT_ON) 2
+set SUBSET_4(SHORT_CT_ONDELAY) 2
+set SUBSET_4(SHORT_CT_RAMPOFF) 2
+set SUBSET_4(SHORT_CT_RAMPON) 2
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+
+#2 Dimmer EIN
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#3 Dimmer AUS
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#4
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl.orig
new file mode 100755
index 0000000000..f244530d1b
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl.orig
@@ -0,0 +1,377 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/ACOUSTIC_SIGNAL_VIRTUAL_RECEIVER/getSoundSelector.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${dimmer_off}"
+set PROFILES_MAP(4) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(LONG_COND_VALUE_LO) 50
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) 0.100000
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) ""
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+set PROFILE_2(LONG_COND_VALUE_LO) 50
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 3
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 0
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) ""
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(LONG_COND_VALUE_LO) 50
+set PROFILE_3(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_3(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_3(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_3(SHORT_JT_OFF) 6
+set PROFILE_3(SHORT_JT_OFFDELAY) 6
+set PROFILE_3(SHORT_JT_ON) 4
+set PROFILE_3(SHORT_JT_ONDELAY) 6
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 5
+set PROFILE_3(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 255}
+set PROFILE_3(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_3(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_3(UI_DESCRIPTION) ""
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+set PROFILE_4(SHORT_JT_OFF) 0
+set PROFILE_4(SHORT_JT_ON) 0
+set PROFILE_4(SHORT_JT_OFFDELAY) 0
+set PROFILE_4(SHORT_JT_ONDELAY) 0
+set PROFILE_4(SHORT_JT_RAMPOFF) 0
+set PROFILE_4(SHORT_JT_RAMPON) 0
+set PROFILE_4(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_4(UI_TEMPLATE) $PROFILE_4(UI_DESCRIPTION)
+set PROFILE_4(UI_HINT) 4
+
+# hier folgen die eventuellen Subsets
+
+# "humidity"
+set SUBSET_1(NAME) "\${subset_1}"
+set SUBSET_1(SUBSET_OPTION_VALUE) 1
+set SUBSET_1(SHORT_CT_OFF) 4
+set SUBSET_1(SHORT_CT_OFFDELAY) 4
+set SUBSET_1(SHORT_CT_ON) 4
+set SUBSET_1(SHORT_CT_ONDELAY) 4
+set SUBSET_1(SHORT_CT_RAMPOFF) 4
+set SUBSET_1(SHORT_CT_RAMPON) 4
+
+# "water"
+set SUBSET_2(NAME) "\${subset_2}"
+set SUBSET_2(SUBSET_OPTION_VALUE) 2
+set SUBSET_2(SHORT_CT_OFF) 1
+set SUBSET_2(SHORT_CT_OFFDELAY) 1
+set SUBSET_2(SHORT_CT_ON) 1
+set SUBSET_2(SHORT_CT_ONDELAY) 1
+set SUBSET_2(SHORT_CT_RAMPOFF) 1
+set SUBSET_2(SHORT_CT_RAMPON) 1
+
+# "humidity OR water"
+set SUBSET_3(NAME) "\${subset_3}"
+set SUBSET_3(SUBSET_OPTION_VALUE) 3
+set SUBSET_3(SHORT_CT_OFF) 0
+set SUBSET_3(SHORT_CT_OFFDELAY) 0
+set SUBSET_3(SHORT_CT_ON) 0
+set SUBSET_3(SHORT_CT_ONDELAY) 0
+set SUBSET_3(SHORT_CT_RAMPOFF) 0
+set SUBSET_3(SHORT_CT_RAMPON) 0
+
+# "absolutely dry"
+set SUBSET_4(NAME) "\${subset_4}"
+set SUBSET_4(SUBSET_OPTION_VALUE) 4
+set SUBSET_4(SHORT_CT_OFF) 2
+set SUBSET_4(SHORT_CT_OFFDELAY) 2
+set SUBSET_4(SHORT_CT_ON) 2
+set SUBSET_4(SHORT_CT_ONDELAY) 2
+set SUBSET_4(SHORT_CT_RAMPOFF) 2
+set SUBSET_4(SHORT_CT_RAMPON) 2
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+
+#2 Dimmer EIN
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#3 Dimmer AUS
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#4
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..eca485fff2
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl
@@ -0,0 +1,396 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# set PROFILE_2(SHORT_CT_OFF) 2
+# set PROFILE_2(SHORT_CT_OFFDELAY) 2
+# set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+# set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+ set ch $dev_descr_sender(INDEX)
+ set isBSL20 false
+
+ set Fw [getReceiverFw]
+ set fwMajor [lindex $Fw 0]
+ # set fwMinor [lindex $Fw 1]
+ # set fwPatch [lindex $Fw 2]
+
+ if {($dev_descr_receiver(PARENT_TYPE) == "HmIP-BSL") && ($fwMajor >= 2)} {
+ set isBSL20 true
+ }
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..88711986eb
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
@@ -0,0 +1,395 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# set PROFILE_2(SHORT_CT_OFF) 2
+# set PROFILE_2(SHORT_CT_OFFDELAY) 2
+# set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+# set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+ set ch $dev_descr_sender(INDEX)
+ set isBSL20 false
+
+ set Fw [getReceiverFw]
+ set fwMajor [lindex $Fw 0]
+ # set fwMinor [lindex $Fw 1]
+ # set fwPatch [lindex $Fw 2]
+
+ if {($dev_descr_receiver(PARENT_TYPE) == "HmIP-BSL") && ($fwMajor >= 2)} {
+ set isBSL20 true
+ }
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..a2576cbf78
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
@@ -0,0 +1,398 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# set PROFILE_2(SHORT_CT_OFF) 2
+# set PROFILE_2(SHORT_CT_OFFDELAY) 2
+# set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+# set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ set ch $dev_descr_sender(INDEX)
+ set isBSL20 false
+
+ set Fw [getReceiverFw]
+ set fwMajor [lindex $Fw 0]
+ # set fwMinor [lindex $Fw 1]
+ # set fwPatch [lindex $Fw 2]
+
+ if {($dev_descr_receiver(PARENT_TYPE) == "HmIP-BSL") && ($fwMajor >= 2)} {
+ set isBSL20 true
+ }
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..adc009548f
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
@@ -0,0 +1,397 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# set PROFILE_2(SHORT_CT_OFF) 2
+# set PROFILE_2(SHORT_CT_OFFDELAY) 2
+# set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+# set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ set ch $dev_descr_sender(INDEX)
+ set isBSL20 false
+
+ set Fw [getReceiverFw]
+ set fwMajor [lindex $Fw 0]
+ # set fwMinor [lindex $Fw 1]
+ # set fwPatch [lindex $Fw 2]
+
+ if {($dev_descr_receiver(PARENT_TYPE) == "HmIP-BSL") && ($fwMajor >= 2)} {
+ set isBSL20 true
+ }
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..313c4aa318
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl
@@ -0,0 +1,370 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0 2}
+set PROFILE_1(SHORT_CT_ON) {3 0 2}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Dimmer mindestens für die eingestellte Zeit eingeschaltet."
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) {3 2}
+set PROFILE_2(SHORT_CT_ON) {3 2}
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Dimmer mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet."
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ set ch $dev_descr_sender(INDEX)
+ set isBSL20 false
+
+ set Fw [getReceiverFw]
+ set fwMajor [lindex $Fw 0]
+ # set fwMinor [lindex $Fw 1]
+ # set fwPatch [lindex $Fw 2]
+
+ if {($dev_descr_receiver(PARENT_TYPE) == "HmIP-BSL") && ($fwMajor >= 2)} {
+ set isBSL20 true
+ }
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..45e2bcac1d
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
@@ -0,0 +1,369 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0 2}
+set PROFILE_1(SHORT_CT_ON) {3 0 2}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_OFF_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Dimmer mindestens für die eingestellte Zeit eingeschaltet."
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) {3 2}
+set PROFILE_2(SHORT_CT_ON) {3 2}
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Dimmer mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet."
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ set ch $dev_descr_sender(INDEX)
+ set isBSL20 false
+
+ set Fw [getReceiverFw]
+ set fwMajor [lindex $Fw 0]
+ # set fwMinor [lindex $Fw 1]
+ # set fwPatch [lindex $Fw 2]
+
+ if {($dev_descr_receiver(PARENT_TYPE) == "HmIP-BSL") && ($fwMajor >= 2)} {
+ set isBSL20 true
+ }
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl
new file mode 100755
index 0000000000..6199416cd3
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl
@@ -0,0 +1,570 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${dimmer_off}"
+set PROFILES_MAP(4) "\${blink}"
+set PROFILES_MAP(5) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(LONG_COND_VALUE_LO) 50
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+set PROFILE_2(LONG_COND_VALUE_LO) 50
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(LONG_COND_VALUE_LO) 50
+set PROFILE_3(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_3(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_3(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_3(SHORT_JT_OFF) 6
+set PROFILE_3(SHORT_JT_OFFDELAY) 6
+set PROFILE_3(SHORT_JT_ON) 4
+set PROFILE_3(SHORT_JT_ONDELAY) 6
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 5
+set PROFILE_3(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_3(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_3(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_3(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+set PROFILE_4(LONG_COND_VALUE_LO) 51
+set PROFILE_4(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_4(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_4(SHORT_CT_OFF) {0 2 1 4}
+set PROFILE_4(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_4(SHORT_JT_OFF) 1
+set PROFILE_4(SHORT_JT_OFFDELAY) 2
+set PROFILE_4(SHORT_JT_ON) 3
+set PROFILE_4(SHORT_JT_ONDELAY) 2
+set PROFILE_4(SHORT_JT_RAMPOFF) 2
+set PROFILE_4(SHORT_JT_RAMPON) 2
+set PROFILE_4(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_4(SHORT_ON_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_OFF_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_4(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_4(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_4(UI_TEMPLATE) $PROFILE_4(UI_DESCRIPTION)
+set PROFILE_4(UI_HINT) 4
+
+set PROFILE_5(SHORT_JT_OFF) 0
+set PROFILE_5(SHORT_JT_ON) 0
+set PROFILE_5(SHORT_JT_OFFDELAY) 0
+set PROFILE_5(SHORT_JT_ONDELAY) 0
+set PROFILE_5(SHORT_JT_RAMPOFF) 0
+set PROFILE_5(SHORT_JT_RAMPON) 0
+set PROFILE_5(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_5(UI_TEMPLATE) $PROFILE_5(UI_DESCRIPTION)
+set PROFILE_5(UI_HINT) 5
+
+# hier folgen die eventuellen Subsets
+
+# "humidity"
+set SUBSET_1(NAME) "\${subset_1}"
+set SUBSET_1(SUBSET_OPTION_VALUE) 1
+set SUBSET_1(SHORT_CT_OFF) 4
+set SUBSET_1(SHORT_CT_OFFDELAY) 4
+set SUBSET_1(SHORT_CT_ON) 4
+set SUBSET_1(SHORT_CT_ONDELAY) 4
+set SUBSET_1(SHORT_CT_RAMPOFF) 4
+set SUBSET_1(SHORT_CT_RAMPON) 4
+
+# "water"
+set SUBSET_2(NAME) "\${subset_2}"
+set SUBSET_2(SUBSET_OPTION_VALUE) 2
+set SUBSET_2(SHORT_CT_OFF) 1
+set SUBSET_2(SHORT_CT_OFFDELAY) 1
+set SUBSET_2(SHORT_CT_ON) 1
+set SUBSET_2(SHORT_CT_ONDELAY) 1
+set SUBSET_2(SHORT_CT_RAMPOFF) 1
+set SUBSET_2(SHORT_CT_RAMPON) 1
+
+# "humidity OR water"
+set SUBSET_3(NAME) "\${subset_3}"
+set SUBSET_3(SUBSET_OPTION_VALUE) 3
+set SUBSET_3(SHORT_CT_OFF) 0
+set SUBSET_3(SHORT_CT_OFFDELAY) 0
+set SUBSET_3(SHORT_CT_ON) 0
+set SUBSET_3(SHORT_CT_ONDELAY) 0
+set SUBSET_3(SHORT_CT_RAMPOFF) 0
+set SUBSET_3(SHORT_CT_RAMPON) 0
+
+# "absolutely dry"
+set SUBSET_4(NAME) "\${subset_4}"
+set SUBSET_4(SUBSET_OPTION_VALUE) 4
+set SUBSET_4(SHORT_CT_OFF) 2
+set SUBSET_4(SHORT_CT_OFFDELAY) 2
+set SUBSET_4(SHORT_CT_ON) 2
+set SUBSET_4(SHORT_CT_ONDELAY) 2
+set SUBSET_4(SHORT_CT_RAMPOFF) 2
+set SUBSET_4(SHORT_CT_RAMPON) 2
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+
+#2 Dimmer EIN
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#3 Dimmer AUS
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#4 Dimmer BLINK
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+#5
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl.orig
new file mode 100755
index 0000000000..42995e6a5c
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/DIMMER_VIRTUAL_RECEIVER/WATER_DETECTION_TRANSMITTER.tcl.orig
@@ -0,0 +1,568 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${dimmer_off}"
+set PROFILES_MAP(4) "\${blink}"
+set PROFILES_MAP(5) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(LONG_COND_VALUE_LO) 50
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+set PROFILE_2(LONG_COND_VALUE_LO) 50
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(LONG_COND_VALUE_LO) 50
+set PROFILE_3(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_3(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_3(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_3(SHORT_JT_OFF) 6
+set PROFILE_3(SHORT_JT_OFFDELAY) 6
+set PROFILE_3(SHORT_JT_ON) 4
+set PROFILE_3(SHORT_JT_ONDELAY) 6
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 5
+set PROFILE_3(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_3(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_3(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_3(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+set PROFILE_4(LONG_COND_VALUE_LO) 51
+set PROFILE_4(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_4(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_4(SHORT_CT_OFF) {0 2 1 4}
+set PROFILE_4(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_4(SHORT_JT_OFF) 1
+set PROFILE_4(SHORT_JT_OFFDELAY) 2
+set PROFILE_4(SHORT_JT_ON) 3
+set PROFILE_4(SHORT_JT_ONDELAY) 2
+set PROFILE_4(SHORT_JT_RAMPOFF) 2
+set PROFILE_4(SHORT_JT_RAMPON) 2
+set PROFILE_4(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_ON_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_OFF_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_4(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_4(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_4(UI_TEMPLATE) $PROFILE_4(UI_DESCRIPTION)
+set PROFILE_4(UI_HINT) 4
+
+set PROFILE_5(SHORT_JT_OFF) 0
+set PROFILE_5(SHORT_JT_ON) 0
+set PROFILE_5(SHORT_JT_OFFDELAY) 0
+set PROFILE_5(SHORT_JT_ONDELAY) 0
+set PROFILE_5(SHORT_JT_RAMPOFF) 0
+set PROFILE_5(SHORT_JT_RAMPON) 0
+set PROFILE_5(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_5(UI_TEMPLATE) $PROFILE_5(UI_DESCRIPTION)
+set PROFILE_5(UI_HINT) 5
+
+# hier folgen die eventuellen Subsets
+
+# "humidity"
+set SUBSET_1(NAME) "\${subset_1}"
+set SUBSET_1(SUBSET_OPTION_VALUE) 1
+set SUBSET_1(SHORT_CT_OFF) 4
+set SUBSET_1(SHORT_CT_OFFDELAY) 4
+set SUBSET_1(SHORT_CT_ON) 4
+set SUBSET_1(SHORT_CT_ONDELAY) 4
+set SUBSET_1(SHORT_CT_RAMPOFF) 4
+set SUBSET_1(SHORT_CT_RAMPON) 4
+
+# "water"
+set SUBSET_2(NAME) "\${subset_2}"
+set SUBSET_2(SUBSET_OPTION_VALUE) 2
+set SUBSET_2(SHORT_CT_OFF) 1
+set SUBSET_2(SHORT_CT_OFFDELAY) 1
+set SUBSET_2(SHORT_CT_ON) 1
+set SUBSET_2(SHORT_CT_ONDELAY) 1
+set SUBSET_2(SHORT_CT_RAMPOFF) 1
+set SUBSET_2(SHORT_CT_RAMPON) 1
+
+# "humidity OR water"
+set SUBSET_3(NAME) "\${subset_3}"
+set SUBSET_3(SUBSET_OPTION_VALUE) 3
+set SUBSET_3(SHORT_CT_OFF) 0
+set SUBSET_3(SHORT_CT_OFFDELAY) 0
+set SUBSET_3(SHORT_CT_ON) 0
+set SUBSET_3(SHORT_CT_ONDELAY) 0
+set SUBSET_3(SHORT_CT_RAMPOFF) 0
+set SUBSET_3(SHORT_CT_RAMPON) 0
+
+# "absolutely dry"
+set SUBSET_4(NAME) "\${subset_4}"
+set SUBSET_4(SUBSET_OPTION_VALUE) 4
+set SUBSET_4(SHORT_CT_OFF) 2
+set SUBSET_4(SHORT_CT_OFFDELAY) 2
+set SUBSET_4(SHORT_CT_ON) 2
+set SUBSET_4(SHORT_CT_ONDELAY) 2
+set SUBSET_4(SHORT_CT_RAMPOFF) 2
+set SUBSET_4(SHORT_CT_RAMPON) 2
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+
+#2 Dimmer EIN
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#3 Dimmer AUS
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#4 Dimmer BLINK
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+#5
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..21a08c80d1
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_TRANSCEIVER.tcl
@@ -0,0 +1,324 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..a6017e6352
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
@@ -0,0 +1,323 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..21a08c80d1
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
@@ -0,0 +1,324 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..a6017e6352
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
@@ -0,0 +1,323 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/PRESENCEDETECTOR_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/PRESENCEDETECTOR_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..627ecb73e1
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/PRESENCEDETECTOR_TRANSCEIVER.tcl
@@ -0,0 +1,302 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 2
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..de78053ba0
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
@@ -0,0 +1,301 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) 0
+set PROFILE_1(SHORT_CT_OFFDELAY) 0
+set PROFILE_1(SHORT_CT_ON) 0
+set PROFILE_1(SHORT_CT_ONDELAY) 0
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 2
+set PROFILE_2(SHORT_CT_ON) 2
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/WATER_DETECTION_TRANSMITTER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/WATER_DETECTION_TRANSMITTER.tcl
new file mode 100755
index 0000000000..3bff6fdd8e
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/WATER_DETECTION_TRANSMITTER.tcl
@@ -0,0 +1,540 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${dimmer_off}"
+set PROFILES_MAP(4) "\${blink}"
+set PROFILES_MAP(5) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(LONG_COND_VALUE_LO) 50
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+set PROFILE_2(LONG_COND_VALUE_LO) 50
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(LONG_COND_VALUE_LO) 50
+set PROFILE_3(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_3(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_3(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_3(SHORT_JT_OFF) 6
+set PROFILE_3(SHORT_JT_OFFDELAY) 6
+set PROFILE_3(SHORT_JT_ON) 4
+set PROFILE_3(SHORT_JT_ONDELAY) 6
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 5
+set PROFILE_3(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_3(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_3(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_3(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+set PROFILE_4(LONG_COND_VALUE_LO) 51
+set PROFILE_4(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_4(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_4(SHORT_CT_OFF) {0 2 1 4}
+set PROFILE_4(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_4(SHORT_JT_OFF) 1
+set PROFILE_4(SHORT_JT_OFFDELAY) 2
+set PROFILE_4(SHORT_JT_ON) 3
+set PROFILE_4(SHORT_JT_ONDELAY) 2
+set PROFILE_4(SHORT_JT_RAMPOFF) 2
+set PROFILE_4(SHORT_JT_RAMPON) 2
+set PROFILE_4(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_4(SHORT_ON_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_OFF_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_4(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_4(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_4(UI_TEMPLATE) $PROFILE_4(UI_DESCRIPTION)
+set PROFILE_4(UI_HINT) 4
+
+set PROFILE_5(SHORT_JT_OFF) 0
+set PROFILE_5(SHORT_JT_ON) 0
+set PROFILE_5(SHORT_JT_OFFDELAY) 0
+set PROFILE_5(SHORT_JT_ONDELAY) 0
+set PROFILE_5(SHORT_JT_RAMPOFF) 0
+set PROFILE_5(SHORT_JT_RAMPON) 0
+set PROFILE_5(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_5(UI_TEMPLATE) $PROFILE_5(UI_DESCRIPTION)
+set PROFILE_5(UI_HINT) 5
+
+# hier folgen die eventuellen Subsets
+
+# "humidity"
+set SUBSET_1(NAME) "\${subset_1}"
+set SUBSET_1(SUBSET_OPTION_VALUE) 1
+set SUBSET_1(SHORT_CT_OFF) 4
+set SUBSET_1(SHORT_CT_OFFDELAY) 4
+set SUBSET_1(SHORT_CT_ON) 4
+set SUBSET_1(SHORT_CT_ONDELAY) 4
+set SUBSET_1(SHORT_CT_RAMPOFF) 4
+set SUBSET_1(SHORT_CT_RAMPON) 4
+
+# "water"
+set SUBSET_2(NAME) "\${subset_2}"
+set SUBSET_2(SUBSET_OPTION_VALUE) 2
+set SUBSET_2(SHORT_CT_OFF) 1
+set SUBSET_2(SHORT_CT_OFFDELAY) 1
+set SUBSET_2(SHORT_CT_ON) 1
+set SUBSET_2(SHORT_CT_ONDELAY) 1
+set SUBSET_2(SHORT_CT_RAMPOFF) 1
+set SUBSET_2(SHORT_CT_RAMPON) 1
+
+# "humidity OR water"
+set SUBSET_3(NAME) "\${subset_3}"
+set SUBSET_3(SUBSET_OPTION_VALUE) 3
+set SUBSET_3(SHORT_CT_OFF) 0
+set SUBSET_3(SHORT_CT_OFFDELAY) 0
+set SUBSET_3(SHORT_CT_ON) 0
+set SUBSET_3(SHORT_CT_ONDELAY) 0
+set SUBSET_3(SHORT_CT_RAMPOFF) 0
+set SUBSET_3(SHORT_CT_RAMPON) 0
+
+# "absolutely dry"
+set SUBSET_4(NAME) "\${subset_4}"
+set SUBSET_4(SUBSET_OPTION_VALUE) 4
+set SUBSET_4(SHORT_CT_OFF) 2
+set SUBSET_4(SHORT_CT_OFFDELAY) 2
+set SUBSET_4(SHORT_CT_ON) 2
+set SUBSET_4(SHORT_CT_ONDELAY) 2
+set SUBSET_4(SHORT_CT_RAMPOFF) 2
+set SUBSET_4(SHORT_CT_RAMPON) 2
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+
+#2 Dimmer EIN
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#3 Dimmer AUS
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#4 Dimmer BLINK
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+#5
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/WATER_DETECTION_TRANSMITTER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/WATER_DETECTION_TRANSMITTER.tcl.orig
new file mode 100755
index 0000000000..a81409d564
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_ACTOR/WATER_DETECTION_TRANSMITTER.tcl.orig
@@ -0,0 +1,538 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${dimmer_off}"
+set PROFILES_MAP(4) "\${blink}"
+set PROFILES_MAP(5) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(LONG_COND_VALUE_LO) 50
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+set PROFILE_2(LONG_COND_VALUE_LO) 50
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(LONG_COND_VALUE_LO) 50
+set PROFILE_3(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_3(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_3(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_3(SHORT_JT_OFF) 6
+set PROFILE_3(SHORT_JT_OFFDELAY) 6
+set PROFILE_3(SHORT_JT_ON) 4
+set PROFILE_3(SHORT_JT_ONDELAY) 6
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 5
+set PROFILE_3(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_3(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_3(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_3(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+set PROFILE_4(LONG_COND_VALUE_LO) 51
+set PROFILE_4(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_4(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_4(SHORT_CT_OFF) {0 2 1 4}
+set PROFILE_4(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_4(SHORT_JT_OFF) 1
+set PROFILE_4(SHORT_JT_OFFDELAY) 2
+set PROFILE_4(SHORT_JT_ON) 3
+set PROFILE_4(SHORT_JT_ONDELAY) 2
+set PROFILE_4(SHORT_JT_RAMPOFF) 2
+set PROFILE_4(SHORT_JT_RAMPON) 2
+set PROFILE_4(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_ON_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_OFF_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_OUTPUT_BEHAVIOUR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_4(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_4(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_4(UI_TEMPLATE) $PROFILE_4(UI_DESCRIPTION)
+set PROFILE_4(UI_HINT) 4
+
+set PROFILE_5(SHORT_JT_OFF) 0
+set PROFILE_5(SHORT_JT_ON) 0
+set PROFILE_5(SHORT_JT_OFFDELAY) 0
+set PROFILE_5(SHORT_JT_ONDELAY) 0
+set PROFILE_5(SHORT_JT_RAMPOFF) 0
+set PROFILE_5(SHORT_JT_RAMPON) 0
+set PROFILE_5(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_5(UI_TEMPLATE) $PROFILE_5(UI_DESCRIPTION)
+set PROFILE_5(UI_HINT) 5
+
+# hier folgen die eventuellen Subsets
+
+# "humidity"
+set SUBSET_1(NAME) "\${subset_1}"
+set SUBSET_1(SUBSET_OPTION_VALUE) 1
+set SUBSET_1(SHORT_CT_OFF) 4
+set SUBSET_1(SHORT_CT_OFFDELAY) 4
+set SUBSET_1(SHORT_CT_ON) 4
+set SUBSET_1(SHORT_CT_ONDELAY) 4
+set SUBSET_1(SHORT_CT_RAMPOFF) 4
+set SUBSET_1(SHORT_CT_RAMPON) 4
+
+# "water"
+set SUBSET_2(NAME) "\${subset_2}"
+set SUBSET_2(SUBSET_OPTION_VALUE) 2
+set SUBSET_2(SHORT_CT_OFF) 1
+set SUBSET_2(SHORT_CT_OFFDELAY) 1
+set SUBSET_2(SHORT_CT_ON) 1
+set SUBSET_2(SHORT_CT_ONDELAY) 1
+set SUBSET_2(SHORT_CT_RAMPOFF) 1
+set SUBSET_2(SHORT_CT_RAMPON) 1
+
+# "humidity OR water"
+set SUBSET_3(NAME) "\${subset_3}"
+set SUBSET_3(SUBSET_OPTION_VALUE) 3
+set SUBSET_3(SHORT_CT_OFF) 0
+set SUBSET_3(SHORT_CT_OFFDELAY) 0
+set SUBSET_3(SHORT_CT_ON) 0
+set SUBSET_3(SHORT_CT_ONDELAY) 0
+set SUBSET_3(SHORT_CT_RAMPOFF) 0
+set SUBSET_3(SHORT_CT_RAMPON) 0
+
+# "absolutely dry"
+set SUBSET_4(NAME) "\${subset_4}"
+set SUBSET_4(SUBSET_OPTION_VALUE) 4
+set SUBSET_4(SHORT_CT_OFF) 2
+set SUBSET_4(SHORT_CT_OFFDELAY) 2
+set SUBSET_4(SHORT_CT_ON) 2
+set SUBSET_4(SHORT_CT_ONDELAY) 2
+set SUBSET_4(SHORT_CT_RAMPOFF) 2
+set SUBSET_4(SHORT_CT_RAMPON) 2
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+
+#2 Dimmer EIN
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#3 Dimmer AUS
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#4 Dimmer BLINK
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+#5
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..02b9340945
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_TRANSCEIVER.tcl
@@ -0,0 +1,339 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# set PROFILE_2(SHORT_CT_OFF) 2
+# set PROFILE_2(SHORT_CT_OFFDELAY) 2
+# set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+# set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..143056c47a
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_TRANSCEIVER.tcl.orig
@@ -0,0 +1,338 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# set PROFILE_2(SHORT_CT_OFF) 2
+# set PROFILE_2(SHORT_CT_OFFDELAY) 2
+# set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+# set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..02b9340945
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl
@@ -0,0 +1,339 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# set PROFILE_2(SHORT_CT_OFF) 2
+# set PROFILE_2(SHORT_CT_OFFDELAY) 2
+# set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+# set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..143056c47a
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/MOTIONDETECTOR_VIRTUAL_TRANSCEIVER.tcl.orig
@@ -0,0 +1,338 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# set PROFILE_2(SHORT_CT_OFF) 2
+# set PROFILE_2(SHORT_CT_OFFDELAY) 2
+# set PROFILE_2(SHORT_CT_ON) 5 ;# SPHM-248
+# set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 2
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/PRESENCEDETECTOR_TRANSCEIVER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/PRESENCEDETECTOR_TRANSCEIVER.tcl
new file mode 100755
index 0000000000..ed49c1ad82
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/PRESENCEDETECTOR_TRANSCEIVER.tcl
@@ -0,0 +1,312 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
new file mode 100755
index 0000000000..e4fb604633
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/PRESENCEDETECTOR_TRANSCEIVER.tcl.orig
@@ -0,0 +1,311 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/motionDetectorOnTimeHint.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${light_stairway}"
+set PROFILES_MAP(3) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_1(SHORT_CT_OFF) {2 0}
+set PROFILE_1(SHORT_CT_OFFDELAY) {3 0}
+set PROFILE_1(SHORT_CT_ON) {3 0}
+set PROFILE_1(SHORT_CT_ONDELAY) {2 0}
+
+set PROFILE_1(SHORT_CT_RAMPOFF) 0
+set PROFILE_1(SHORT_CT_RAMPON) 0
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) 0
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) 5
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+
+# SPHM-833
+set PROFILE_2(SHORT_CT_OFF) 2
+set PROFILE_2(SHORT_CT_OFFDELAY) 3
+set PROFILE_2(SHORT_CT_ON) 3
+set PROFILE_2(SHORT_CT_ONDELAY) 2
+
+set PROFILE_2(SHORT_CT_RAMPOFF) 2
+set PROFILE_2(SHORT_CT_RAMPON) 2
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_OFF_TIME_MODE) 0
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_BASE) {5 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_MODE) {0 1}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(SHORT_JT_OFF) 0
+set PROFILE_3(SHORT_JT_ON) 0
+set PROFILE_3(SHORT_JT_OFFDELAY) 0
+set PROFILE_3(SHORT_JT_ONDELAY) 0
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 0
+set PROFILE_3(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+# hier folgen die eventuellen Subsets
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_GE_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+ #2 Treppenhauslicht
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+ incr pref
+ # Brightness
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_LO help_active_LT_LO
+ incr pref
+ EnterBrightnessHmIP $prn $pref ${special_input_id} ps ps_descr SHORT_COND_VALUE_HI help_active_LT_LO HI
+
+#3
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/WATER_DETECTION_TRANSMITTER.tcl b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/WATER_DETECTION_TRANSMITTER.tcl
new file mode 100755
index 0000000000..a48e953947
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/WATER_DETECTION_TRANSMITTER.tcl
@@ -0,0 +1,540 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${dimmer_off}"
+set PROFILES_MAP(4) "\${blink}"
+set PROFILES_MAP(5) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(LONG_COND_VALUE_LO) 50
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+set PROFILE_2(LONG_COND_VALUE_LO) 50
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(LONG_COND_VALUE_LO) 50
+set PROFILE_3(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_3(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_3(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_3(SHORT_JT_OFF) 6
+set PROFILE_3(SHORT_JT_OFFDELAY) 6
+set PROFILE_3(SHORT_JT_ON) 4
+set PROFILE_3(SHORT_JT_ONDELAY) 6
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 5
+set PROFILE_3(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_3(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_3(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_3(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+set PROFILE_4(LONG_COND_VALUE_LO) 51
+set PROFILE_4(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_4(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_4(SHORT_CT_OFF) {0 2 1 4}
+set PROFILE_4(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_4(SHORT_JT_OFF) 1
+set PROFILE_4(SHORT_JT_OFFDELAY) 2
+set PROFILE_4(SHORT_JT_ON) 3
+set PROFILE_4(SHORT_JT_ONDELAY) 2
+set PROFILE_4(SHORT_JT_RAMPOFF) 2
+set PROFILE_4(SHORT_JT_RAMPON) 2
+set PROFILE_4(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_4(SHORT_ON_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_OFF_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_4(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_4(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_4(UI_TEMPLATE) $PROFILE_4(UI_DESCRIPTION)
+set PROFILE_4(UI_HINT) 4
+
+set PROFILE_5(SHORT_JT_OFF) 0
+set PROFILE_5(SHORT_JT_ON) 0
+set PROFILE_5(SHORT_JT_OFFDELAY) 0
+set PROFILE_5(SHORT_JT_ONDELAY) 0
+set PROFILE_5(SHORT_JT_RAMPOFF) 0
+set PROFILE_5(SHORT_JT_RAMPON) 0
+set PROFILE_5(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_5(UI_TEMPLATE) $PROFILE_5(UI_DESCRIPTION)
+set PROFILE_5(UI_HINT) 5
+
+# hier folgen die eventuellen Subsets
+
+# "humidity"
+set SUBSET_1(NAME) "\${subset_1}"
+set SUBSET_1(SUBSET_OPTION_VALUE) 1
+set SUBSET_1(SHORT_CT_OFF) 4
+set SUBSET_1(SHORT_CT_OFFDELAY) 4
+set SUBSET_1(SHORT_CT_ON) 4
+set SUBSET_1(SHORT_CT_ONDELAY) 4
+set SUBSET_1(SHORT_CT_RAMPOFF) 4
+set SUBSET_1(SHORT_CT_RAMPON) 4
+
+# "water"
+set SUBSET_2(NAME) "\${subset_2}"
+set SUBSET_2(SUBSET_OPTION_VALUE) 2
+set SUBSET_2(SHORT_CT_OFF) 1
+set SUBSET_2(SHORT_CT_OFFDELAY) 1
+set SUBSET_2(SHORT_CT_ON) 1
+set SUBSET_2(SHORT_CT_ONDELAY) 1
+set SUBSET_2(SHORT_CT_RAMPOFF) 1
+set SUBSET_2(SHORT_CT_RAMPON) 1
+
+# "humidity OR water"
+set SUBSET_3(NAME) "\${subset_3}"
+set SUBSET_3(SUBSET_OPTION_VALUE) 3
+set SUBSET_3(SHORT_CT_OFF) 0
+set SUBSET_3(SHORT_CT_OFFDELAY) 0
+set SUBSET_3(SHORT_CT_ON) 0
+set SUBSET_3(SHORT_CT_ONDELAY) 0
+set SUBSET_3(SHORT_CT_RAMPOFF) 0
+set SUBSET_3(SHORT_CT_RAMPON) 0
+
+# "absolutely dry"
+set SUBSET_4(NAME) "\${subset_4}"
+set SUBSET_4(SUBSET_OPTION_VALUE) 4
+set SUBSET_4(SHORT_CT_OFF) 2
+set SUBSET_4(SHORT_CT_OFFDELAY) 2
+set SUBSET_4(SHORT_CT_ON) 2
+set SUBSET_4(SHORT_CT_ONDELAY) 2
+set SUBSET_4(SHORT_CT_RAMPOFF) 2
+set SUBSET_4(SHORT_CT_RAMPON) 2
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+
+#2 Dimmer EIN
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#3 Dimmer AUS
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#4 Dimmer BLINK
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+#5
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor
diff --git a/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/WATER_DETECTION_TRANSMITTER.tcl.orig b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/WATER_DETECTION_TRANSMITTER.tcl.orig
new file mode 100755
index 0000000000..48396f6968
--- /dev/null
+++ b/buildroot-external/patches/occu/0188-WebUI-Fix-MissingEasymodeSHORT_ON_MIN_LEVEL/occu/WebUI/www/config/easymodes/UNIVERSAL_LIGHT_RECEIVER_PWM/WATER_DETECTION_TRANSMITTER.tcl.orig
@@ -0,0 +1,538 @@
+#!/bin/tclsh
+
+source [file join $env(DOCUMENT_ROOT) config/easymodes/em_common.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/EnterFreeValue.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/options.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/hmip_helper.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/etc/uiElements.tcl]
+source [file join $env(DOCUMENT_ROOT) config/easymodes/DIMMER_VIRTUAL_RECEIVER/getColorElement.tcl]
+
+set PROFILES_MAP(0) "\${expert}"
+set PROFILES_MAP(1) "\${dimmer_toggle}"
+set PROFILES_MAP(2) "\${dimmer_on}"
+set PROFILES_MAP(3) "\${dimmer_off}"
+set PROFILES_MAP(4) "\${blink}"
+set PROFILES_MAP(5) "\${no_action}"
+
+set PROFILE_0(UI_HINT) 0
+set PROFILE_0(UI_DESCRIPTION) "Expertenprofil"
+set PROFILE_0(UI_TEMPLATE) "Expertenprofil"
+
+# hier folgen die verschiedenen Profile
+
+set PROFILE_1(LONG_COND_VALUE_LO) 50
+set PROFILE_1(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_1(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_1(SHORT_CT_OFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_1(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_1(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_1(SHORT_DIM_MAX_LEVEL) 1.000000
+set PROFILE_1(SHORT_DIM_MIN_LEVEL) 0.000000
+set PROFILE_1(SHORT_DIM_STEP) 0.050000
+set PROFILE_1(SHORT_JT_OFF) 1
+set PROFILE_1(SHORT_JT_OFFDELAY) 5
+set PROFILE_1(SHORT_JT_ON) 4
+set PROFILE_1(SHORT_JT_ONDELAY) 2
+set PROFILE_1(SHORT_JT_RAMPOFF) 6
+set PROFILE_1(SHORT_JT_RAMPON) 3
+set PROFILE_1(SHORT_MULTIEXECUTE) 0
+set PROFILE_1(SHORT_OFFDELAY_BLINK) {0 1}
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OFFDELAYLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_BLINK_PERIOD_OLDLEVEL) 4
+set PROFILE_1(SHORT_OFFDELAY_STEP) 0.050000
+set PROFILE_1(SHORT_OFFDELAY_TIME_BASE) 0
+set PROFILE_1(SHORT_OFFDELAY_TIME_FACTOR) 0
+set PROFILE_1(SHORT_OFF_LEVEL) 0.000000
+set PROFILE_1(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_OFF_TIME_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_MODE) 0
+set PROFILE_1(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_1(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_1(SHORT_ON_MIN_LEVEL) {0.1 range 0.0 - 1.0}
+set PROFILE_1(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_1(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_1(SHORT_ON_TIME_MODE) 0
+set PROFILE_1(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_1(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_1(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_1(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_1(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_1(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_1(SHORT_RAMP_START_STEP) 0.050000
+set PROFILE_1(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit eingeschaltet. Ist eine Einschaltverzögerungszeit eingestellt, so wird der Schalter erst nach Ablauf dieser Zeit eingeschaltet.
"
+set PROFILE_1(UI_TEMPLATE) $PROFILE_1(UI_DESCRIPTION)
+set PROFILE_1(UI_HINT) 1
+
+set PROFILE_2(LONG_COND_VALUE_LO) 50
+set PROFILE_2(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_2(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_2(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_2(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_2(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_2(SHORT_JT_OFF) 1
+set PROFILE_2(SHORT_JT_OFFDELAY) 3
+set PROFILE_2(SHORT_JT_ON) 3
+set PROFILE_2(SHORT_JT_ONDELAY) 1
+set PROFILE_2(SHORT_JT_RAMPOFF) 2
+set PROFILE_2(SHORT_JT_RAMPON) 2
+set PROFILE_2(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_TIME_BASE) {7 range 0 - 7}
+set PROFILE_2(SHORT_ON_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_2(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_2(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_2(SHORT_ON_TIME_MODE) 0
+set PROFILE_2(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_2(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_2(SHORT_PROFILE_REPETITIONS) {0 range 0 - 255}
+set PROFILE_2(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_2(SHORT_RAMPON_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_2(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_2(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_2(UI_TEMPLATE) $PROFILE_2(UI_DESCRIPTION)
+set PROFILE_2(UI_HINT) 2
+
+set PROFILE_3(LONG_COND_VALUE_LO) 50
+set PROFILE_3(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_3(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_3(SHORT_CT_OFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_OFFDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ON) {2 0 1 4}
+set PROFILE_3(SHORT_CT_ONDELAY) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPOFF) {2 0 1 4}
+set PROFILE_3(SHORT_CT_RAMPON) {2 0 1 4}
+set PROFILE_3(SHORT_JT_OFF) 6
+set PROFILE_3(SHORT_JT_OFFDELAY) 6
+set PROFILE_3(SHORT_JT_ON) 4
+set PROFILE_3(SHORT_JT_ONDELAY) 6
+set PROFILE_3(SHORT_JT_RAMPOFF) 0
+set PROFILE_3(SHORT_JT_RAMPON) 5
+set PROFILE_3(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_3(SHORT_OFF_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_3(SHORT_OFF_TIME_BASE) {7 range 0 - 7}
+set PROFILE_3(SHORT_OFF_TIME_FACTOR) {31 range 0 - 31}
+set PROFILE_3(SHORT_OFF_TIME_MODE) 0
+set PROFILE_3(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_3(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_3(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_3(SHORT_RAMPOFF_TIME_FACTOR) {5 range 0 - 31}
+set PROFILE_3(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_3(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_3(UI_TEMPLATE) $PROFILE_3(UI_DESCRIPTION)
+set PROFILE_3(UI_HINT) 3
+
+set PROFILE_4(LONG_COND_VALUE_LO) 51
+set PROFILE_4(SHORT_COND_VALUE_HI) {150 range 0 - 255}
+set PROFILE_4(SHORT_COND_VALUE_LO) {50 range 0 - 255}
+set PROFILE_4(SHORT_CT_OFF) {0 2 1 4}
+set PROFILE_4(SHORT_CT_OFFDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ON) {0 1 2 4}
+set PROFILE_4(SHORT_CT_ONDELAY) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPOFF) {0 1 2 4}
+set PROFILE_4(SHORT_CT_RAMPON) {0 1 2 4}
+set PROFILE_4(SHORT_JT_OFF) 1
+set PROFILE_4(SHORT_JT_OFFDELAY) 2
+set PROFILE_4(SHORT_JT_ON) 3
+set PROFILE_4(SHORT_JT_ONDELAY) 2
+set PROFILE_4(SHORT_JT_RAMPOFF) 2
+set PROFILE_4(SHORT_JT_RAMPON) 2
+set PROFILE_4(SHORT_MULTIEXECUTE) {0 false}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_ON_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_ONDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_ONDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_ON_LEVEL) {1.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_ON_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_BASE) {1 range 0 - 7}
+set PROFILE_4(SHORT_OFF_TIME_FACTOR) {1 range 0 - 31}
+set PROFILE_4(SHORT_OFF_TIME_MODE) 0
+set PROFILE_4(SHORT_OFFDELAY_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_OFDELAY_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_OFF_LEVEL) {0.0 range 0.0 - 1.005}
+set PROFILE_4(SHORT_OUTPUT_BEHAVIOUR) {0 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_COLOR) {7 range 0 - 7}
+set PROFILE_4(SHORT_OPTICAL_SIGNAL_BEHAVIOUR) {1 range 0 - 12}
+set PROFILE_4(SHORT_RAMPON_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPON_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_RAMPOFF_TIME_BASE) {0 range 0 - 7}
+set PROFILE_4(SHORT_RAMPOFF_TIME_FACTOR) {0 range 0 - 31}
+set PROFILE_4(SHORT_PROFILE_ACTION_TYPE) 1
+set PROFILE_4(UI_DESCRIPTION) "Beim Auslösen des Sensors wird der Schalter mindestens für die eingestellte Zeit ohne Verzögerung eingeschaltet.
"
+set PROFILE_4(UI_TEMPLATE) $PROFILE_4(UI_DESCRIPTION)
+set PROFILE_4(UI_HINT) 4
+
+set PROFILE_5(SHORT_JT_OFF) 0
+set PROFILE_5(SHORT_JT_ON) 0
+set PROFILE_5(SHORT_JT_OFFDELAY) 0
+set PROFILE_5(SHORT_JT_ONDELAY) 0
+set PROFILE_5(SHORT_JT_RAMPOFF) 0
+set PROFILE_5(SHORT_JT_RAMPON) 0
+set PROFILE_5(UI_DESCRIPTION) "Der Bewegungsmelder ist außer Betrieb."
+set PROFILE_5(UI_TEMPLATE) $PROFILE_5(UI_DESCRIPTION)
+set PROFILE_5(UI_HINT) 5
+
+# hier folgen die eventuellen Subsets
+
+# "humidity"
+set SUBSET_1(NAME) "\${subset_1}"
+set SUBSET_1(SUBSET_OPTION_VALUE) 1
+set SUBSET_1(SHORT_CT_OFF) 4
+set SUBSET_1(SHORT_CT_OFFDELAY) 4
+set SUBSET_1(SHORT_CT_ON) 4
+set SUBSET_1(SHORT_CT_ONDELAY) 4
+set SUBSET_1(SHORT_CT_RAMPOFF) 4
+set SUBSET_1(SHORT_CT_RAMPON) 4
+
+# "water"
+set SUBSET_2(NAME) "\${subset_2}"
+set SUBSET_2(SUBSET_OPTION_VALUE) 2
+set SUBSET_2(SHORT_CT_OFF) 1
+set SUBSET_2(SHORT_CT_OFFDELAY) 1
+set SUBSET_2(SHORT_CT_ON) 1
+set SUBSET_2(SHORT_CT_ONDELAY) 1
+set SUBSET_2(SHORT_CT_RAMPOFF) 1
+set SUBSET_2(SHORT_CT_RAMPON) 1
+
+# "humidity OR water"
+set SUBSET_3(NAME) "\${subset_3}"
+set SUBSET_3(SUBSET_OPTION_VALUE) 3
+set SUBSET_3(SHORT_CT_OFF) 0
+set SUBSET_3(SHORT_CT_OFFDELAY) 0
+set SUBSET_3(SHORT_CT_ON) 0
+set SUBSET_3(SHORT_CT_ONDELAY) 0
+set SUBSET_3(SHORT_CT_RAMPOFF) 0
+set SUBSET_3(SHORT_CT_RAMPON) 0
+
+# "absolutely dry"
+set SUBSET_4(NAME) "\${subset_4}"
+set SUBSET_4(SUBSET_OPTION_VALUE) 4
+set SUBSET_4(SHORT_CT_OFF) 2
+set SUBSET_4(SHORT_CT_OFFDELAY) 2
+set SUBSET_4(SHORT_CT_ON) 2
+set SUBSET_4(SHORT_CT_ONDELAY) 2
+set SUBSET_4(SHORT_CT_RAMPOFF) 2
+set SUBSET_4(SHORT_CT_RAMPON) 2
+
+proc set_htmlParams {iface address pps pps_descr special_input_id peer_type} {
+
+ global url receiver_address sender_address dev_descr_sender dev_descr_receiver
+ upvar PROFILES_MAP PROFILES_MAP
+ upvar HTML_PARAMS HTML_PARAMS
+ upvar PROFILE_PNAME PROFILE_PNAME
+ upvar $pps ps
+ upvar $pps_descr ps_descr
+
+
+ # set sender_addr $sender_address
+ # puts ""
+
+ # array set dev_ps [xmlrpc $url getParamset $sender_address MASTER]
+
+ # set min_interval 4
+
+ foreach pro [array names PROFILES_MAP] {
+ upvar PROFILE_$pro PROFILE_$pro
+ }
+
+
+ set cur_profile [get_cur_profile2 ps PROFILES_MAP PROFILE_TMP $peer_type]
+
+ #global SUBSETS
+ set name "x"
+ set i 1
+ while {$name != ""} {
+ upvar SUBSET_$i SUBSET_$i
+ array set subset [array get SUBSET_$i]
+ set name ""
+ catch {set name $subset(NAME)}
+ array_clear subset
+ incr i
+ }
+
+# die Texte der Platzhalter einlesen
+ puts ""
+ puts ""
+
+ set prn 0
+ append HTML_PARAMS(separate_$prn) ""
+
+#1 Switch toggle
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+
+#2 Dimmer EIN
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#3 Dimmer AUS
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+
+#4 Dimmer BLINK
+ incr prn
+ if {$cur_profile == $prn} then {array set PROFILE_$prn [array get ps]}
+ append HTML_PARAMS(separate_$prn) ""
+#5
+ incr prn
+ append HTML_PARAMS(separate_$prn) ""
+
+}
+
+constructor