Prevent shutter MQTT broadcast with activated ShutterLock (#20827)

This commit is contained in:
Norbert Richter 2024-02-29 13:16:33 +01:00 committed by GitHub
parent 3bbc33f554
commit 9026b95f45
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 4 deletions

View File

@ -25,6 +25,7 @@ All notable changes to this project will be documented in this file.
- HASPmota fix and improve demo with pixel-perfect fonts (#20734)
- NeoPool webUI pH alarms (4 & 5) completed (#20743)
- Matter reduce memory usage when reading with wildcards (#20809)
- Prevent shutter MQTT broadcast with activated ShutterLock
### Fixed
- ESP32 PWM activity on unconfigured PWM GPIOs (#20732)

View File

@ -294,7 +294,7 @@ bool ShutterButtonHandlerMulti(void)
// reset button to default
Button.press_counter[button_index] = 0;
CmndShutterPosition();
}
@ -303,7 +303,7 @@ bool ShutterButtonHandlerMulti(void)
char scommand[CMDSZ];
char stopic[TOPSZ];
for (uint32_t i = 0; i < MAX_SHUTTERS_ESP32; i++) {
if ((i==shutter_index) || (ShutterSettings.shutter_button[button_index].mqtt_all)) {
if (((i==shutter_index) || (ShutterSettings.shutter_button[button_index].mqtt_all)) && 0 == (ShutterSettings.shutter_options[i] & 2) ) {
snprintf_P(scommand, sizeof(scommand),PSTR("ShutterPosition%d"), i+1);
GetGroupTopic_P(stopic, scommand, SET_MQTT_GRP_TOPIC);
Response_P("%d", position);
@ -318,7 +318,7 @@ bool ShutterButtonHandlerMulti(void)
ResponseAppend_P(JSON_SHUTTER_BUTTON, shutter_index+1, Shutter[shutter_index].button_simu_pressed ? 0 : button_index+1, button_press_counter);
ResponseJsonEnd();
MqttPublishPrefixTopicRulesProcess_P(RESULT_OR_STAT, PSTR(D_PRFX_SHUTTER));
// reset simu pressed record
Shutter[shutter_index].button_simu_pressed = 0;

View File

@ -1092,7 +1092,7 @@ bool ShutterButtonHandler(void)
char scommand[CMDSZ];
char stopic[TOPSZ];
for (uint32_t i = 0; i < MAX_SHUTTERS; i++) {
if ((i==shutter_index) || (Settings->shutter_button[button_index] & (0x01<<30))) {
if ( ((i==shutter_index) || (Settings->shutter_button[button_index] & (0x01<<30))) && 0 == (Settings->shutter_options[i] & 2) ) {
snprintf_P(scommand, sizeof(scommand),PSTR("ShutterPosition%d"), i+1);
GetGroupTopic_P(stopic, scommand, SET_MQTT_GRP_TOPIC);
Response_P("%d", position);