diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b0f33915..ecd1c4495 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ All notable changes to this project will be documented in this file. - Matter fix local Occupancy sensor - Zigbee fixed regression with SetOption101 - Berry fixed parser error with upvals in closures +- NeoPool fix NPFiltration switch result (#18871) ### Removed diff --git a/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino b/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino index 6e40008fd..5bd285729 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino @@ -2118,6 +2118,19 @@ void CmndNeopoolBit(void) } +void CmndNeopoolFiltrationRes(uint16_t data) +{ + uint16_t speed = NeoPoolGetFiltrationSpeed(); + if (speed) { + Response_P(PSTR("{\"%s\":\"%s\",\"" D_NEOPOOL_JSON_FILTRATION_SPEED "\":\"%d\"}"), + XdrvMailbox.command, + GetStateText(data), + (speed < 3) ? speed : 3); + } else { + ResponseCmndStateText(data); + } +} + void CmndNeopoolFiltration(void) { uint16_t addr = MBF_PAR_FILT_MANUAL_STATE; @@ -2165,6 +2178,8 @@ void CmndNeopoolFiltration(void) NeopoolResponseError(); return; } + CmndNeopoolFiltrationRes(value[0]); + return; } else { NeopoolCmndError(); return; @@ -2174,15 +2189,7 @@ void CmndNeopoolFiltration(void) NeopoolResponseError(); return; } - uint16_t speed = NeoPoolGetFiltrationSpeed(); - if (speed) { - Response_P(PSTR("{\"%s\":\"%s\",\"" D_NEOPOOL_JSON_FILTRATION_SPEED "\":\"%d\"}"), - XdrvMailbox.command, - GetStateText(data), - (speed < 3) ? speed : 3); - } else { - ResponseCmndStateText(data); - } + CmndNeopoolFiltrationRes(data); }