From a95e52b3753867c7c2f2101ece18c2bfa1c20c50 Mon Sep 17 00:00:00 2001 From: Tarvi Pillessaar Date: Sat, 27 Jul 2024 12:39:43 +0300 Subject: [PATCH] Neopool relay state detection and reporting fixes (#21841) * Neopool: remove space in MQTT relay state response * Neopool: fix detecting some relay states --- tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino b/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino index 75dd67e26..13e53f560 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_83_neopool.ino @@ -2137,16 +2137,16 @@ void NeoPoolShow(bool json) ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_CL "\":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> (NeoPoolGetData(MBF_PAR_CL_RELAY_GPIO)-1)) & 1); } if (0 != NeoPoolGetData(MBF_PAR_CD_RELAY_GPIO)) { - ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_CD " \":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> NeoPoolGetData(MBF_PAR_CD_RELAY_GPIO)) & 1); + ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_CD "\":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> (NeoPoolGetData(MBF_PAR_CD_RELAY_GPIO)-1)) & 1); } if (0 != NeoPoolGetData(MBF_PAR_HEATING_GPIO)) { - ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_HEATING " \":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> NeoPoolGetData(MBF_PAR_HEATING_GPIO)) & 1); + ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_HEATING "\":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> (NeoPoolGetData(MBF_PAR_HEATING_GPIO)-1)) & 1); } if (0 != NeoPoolGetData(MBF_PAR_UV_RELAY_GPIO)) { - ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_UV " \":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> NeoPoolGetData(MBF_PAR_UV_RELAY_GPIO)) & 1); + ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_UV "\":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> (NeoPoolGetData(MBF_PAR_UV_RELAY_GPIO)-1)) & 1); } if (0 != NeoPoolGetData(MBF_PAR_FILTVALVE_GPIO)) { - ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_FILTVALVE " \":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> NeoPoolGetData(MBF_PAR_FILTVALVE_GPIO)) & 1); + ResponseAppend_P(PSTR(",\"" D_NEOPOOL_JSON_RELAY_FILTVALVE "\":%d"), (NeoPoolGetData(MBF_RELAY_STATE) >> (NeoPoolGetData(MBF_PAR_FILTVALVE_GPIO)-1)) & 1); } ResponseJsonEnd();