mirror of https://github.com/arendst/Tasmota.git
Add command SetOption40 0..250
Add command SetOption40 0..250 to disable button functionality if activated for over 0.1 second. Needs SetOption1 1 and SetOption13 0 (#5449)
This commit is contained in:
parent
48215cd4af
commit
46210bc9f0
|
@ -5,7 +5,8 @@
|
||||||
* Fix channel command for dual dimmers (#5940)
|
* Fix channel command for dual dimmers (#5940)
|
||||||
* Add define USE_COUNTER to my_user_config.h to save space in sonoff-basic.bin and sonoff-minimal.bin
|
* Add define USE_COUNTER to my_user_config.h to save space in sonoff-basic.bin and sonoff-minimal.bin
|
||||||
* Add define USE_DHT to my_user_config.h to save space in sonoff-basic.bin
|
* Add define USE_DHT to my_user_config.h to save space in sonoff-basic.bin
|
||||||
* TLS+AWS IoT optimization for speed, code and memory footprint
|
* Change TLS+AWS IoT optimization for speed, code and memory footprint
|
||||||
|
* Add command SetOption40 0..250 to disable button functionality if activated for over 0.1 second. Needs SetOption1 1 and SetOption13 0 (#5449)
|
||||||
*
|
*
|
||||||
* 6.5.0.15 20190606
|
* 6.5.0.15 20190606
|
||||||
* Change pubsubclient MQTT_KEEPALIVE from 10 to 30 seconds in preparation of AWS IoT support
|
* Change pubsubclient MQTT_KEEPALIVE from 10 to 30 seconds in preparation of AWS IoT support
|
||||||
|
|
|
@ -230,7 +230,7 @@ enum ButtonStates { PRESSED, NOT_PRESSED };
|
||||||
|
|
||||||
enum Shortcuts { SC_CLEAR, SC_DEFAULT, SC_USER };
|
enum Shortcuts { SC_CLEAR, SC_DEFAULT, SC_USER };
|
||||||
|
|
||||||
enum SettingsParmaIndex {P_HOLD_TIME, P_MAX_POWER_RETRY, P_TUYA_DIMMER_ID, P_MDNS_DELAYED_START, P_BOOT_LOOP_OFFSET, P_RGB_REMAP, P_IR_UNKNOW_THRESHOLD, P_CSE7766_INVALID_POWER, P_MAX_PARAM8}; // Max is PARAM8_SIZE (18) - SetOption32 until SetOption49
|
enum SettingsParmaIndex {P_HOLD_TIME, P_MAX_POWER_RETRY, P_TUYA_DIMMER_ID, P_MDNS_DELAYED_START, P_BOOT_LOOP_OFFSET, P_RGB_REMAP, P_IR_UNKNOW_THRESHOLD, P_CSE7766_INVALID_POWER, P_HOLD_IGNORE, P_MAX_PARAM8}; // Max is PARAM8_SIZE (18) - SetOption32 until SetOption49
|
||||||
|
|
||||||
enum DomoticzSensors {DZ_TEMP, DZ_TEMP_HUM, DZ_TEMP_HUM_BARO, DZ_POWER_ENERGY, DZ_ILLUMINANCE, DZ_COUNT, DZ_VOLTAGE, DZ_CURRENT, DZ_AIRQUALITY, DZ_MAX_SENSORS};
|
enum DomoticzSensors {DZ_TEMP, DZ_TEMP_HUM, DZ_TEMP_HUM_BARO, DZ_POWER_ENERGY, DZ_ILLUMINANCE, DZ_COUNT, DZ_VOLTAGE, DZ_CURRENT, DZ_AIRQUALITY, DZ_MAX_SENSORS};
|
||||||
|
|
||||||
|
|
|
@ -194,6 +194,12 @@ void ButtonHandler(void)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (Settings.flag.button_restrict) { // SetOption1 (0) - Button restriction
|
if (Settings.flag.button_restrict) { // SetOption1 (0) - Button restriction
|
||||||
|
if (Settings.param[P_HOLD_IGNORE] > 0) { // SetOption40 (0) - Do not ignore button hold
|
||||||
|
if (holdbutton[button_index] > loops_per_second * Settings.param[P_HOLD_IGNORE] / 10) {
|
||||||
|
holdbutton[button_index] = 0; // Reset button hold counter to stay below hold trigger
|
||||||
|
multipress[button_index] = 0; // Discard button press to disable functionality
|
||||||
|
}
|
||||||
|
}
|
||||||
if (holdbutton[button_index] == loops_per_second * Settings.param[P_HOLD_TIME] / 10) { // SetOption32 (40) - Button hold
|
if (holdbutton[button_index] == loops_per_second * Settings.param[P_HOLD_TIME] / 10) { // SetOption32 (40) - Button hold
|
||||||
multipress[button_index] = 0;
|
multipress[button_index] = 0;
|
||||||
SendKey(0, button_index +1, 3); // Execute Hold command via MQTT if ButtonTopic is set
|
SendKey(0, button_index +1, 3); // Execute Hold command via MQTT if ButtonTopic is set
|
||||||
|
|
Loading…
Reference in New Issue