Refactor Tuya webbutton

This commit is contained in:
Theo Arends 2021-12-15 12:30:48 +01:00
parent 4f20e4f698
commit a92f2cb941
3 changed files with 24 additions and 16 deletions

View File

@ -1240,18 +1240,7 @@ void HandleRoot(void)
#endif // USE_SONOFF_IFAN #endif // USE_SONOFF_IFAN
WSContentSend_P(PSTR("</tr></table>")); WSContentSend_P(PSTR("</tr></table>"));
} }
#ifdef USE_TUYA_MCU
if (IsModuleTuya()) {
if (AsModuleTuyaMS()) {
WSContentSend_P(HTTP_TABLE100);
WSContentSend_P(PSTR("<tr><div></div>"));
snprintf_P(stemp, sizeof(stemp), PSTR("" D_JSON_IRHVAC_MODE ""));
WSContentSend_P(HTTP_DEVICE_CONTROL, 26, TasmotaGlobal.devices_present + 1,
(strlen(SettingsText(SET_BUTTON1 + TasmotaGlobal.devices_present))) ? SettingsText(SET_BUTTON1 + TasmotaGlobal.devices_present) : stemp, "");
WSContentSend_P(PSTR("</tr></table>"));
}
}
#endif // USE_TUYA_MCU
#ifndef FIRMWARE_MINIMAL #ifndef FIRMWARE_MINIMAL
XdrvCall(FUNC_WEB_ADD_MAIN_BUTTON); XdrvCall(FUNC_WEB_ADD_MAIN_BUTTON);
XsnsCall(FUNC_WEB_ADD_MAIN_BUTTON); XsnsCall(FUNC_WEB_ADD_MAIN_BUTTON);

View File

@ -503,7 +503,7 @@ void CmndRfRaw(void)
#ifdef USE_WEBSERVER #ifdef USE_WEBSERVER
void SonoffBridgeAddFuctionButtons(void) { void SonoffBridgeAddButton(void) {
WSContentSend_P(HTTP_TABLE100); WSContentSend_P(HTTP_TABLE100);
WSContentSend_P(PSTR("<tr>")); WSContentSend_P(PSTR("<tr>"));
char number[4]; char number[4];
@ -550,7 +550,7 @@ bool Xdrv06(uint8_t function)
break; break;
#ifdef USE_WEBSERVER #ifdef USE_WEBSERVER
case FUNC_WEB_ADD_MAIN_BUTTON: case FUNC_WEB_ADD_MAIN_BUTTON:
SonoffBridgeAddFuctionButtons(); SonoffBridgeAddButton();
break; break;
case FUNC_WEB_GET_ARG: case FUNC_WEB_GET_ARG:
SonoffBridgeWebGetArg(); SonoffBridgeWebGetArg();

View File

@ -1442,15 +1442,31 @@ void TuyaSensorsShow(bool json)
#endif // USE_WEBSERVER #endif // USE_WEBSERVER
} }
} }
#ifdef USE_WEBSERVER #ifdef USE_WEBSERVER
if (AsModuleTuyaMS()) { if (AsModuleTuyaMS()) {
WSContentSend_P(PSTR("{s}" D_JSON_IRHVAC_MODE "{m}%d{e}"), Tuya.ModeSet); WSContentSend_P(PSTR("{s}" D_JSON_IRHVAC_MODE "{m}%d{e}"), Tuya.ModeSet);
} }
#endif // USE_WEBSERVER #endif // USE_WEBSERVER
if (RootName) { ResponseJsonEnd();} if (RootName) { ResponseJsonEnd();}
} }
#ifdef USE_WEBSERVER
void TuyaAddButton(void) {
if (AsModuleTuyaMS()) {
WSContentSend_P(HTTP_TABLE100);
WSContentSend_P(PSTR("<tr><div></div>"));
char stemp[33];
snprintf_P(stemp, sizeof(stemp), PSTR("" D_JSON_IRHVAC_MODE ""));
WSContentSend_P(HTTP_DEVICE_CONTROL, 26, TasmotaGlobal.devices_present + 1,
(strlen(SettingsText(SET_BUTTON1 + TasmotaGlobal.devices_present))) ? SettingsText(SET_BUTTON1 + TasmotaGlobal.devices_present) : stemp, "");
WSContentSend_P(PSTR("</tr></table>"));
}
}
#endif // USE_WEBSERVER
/*********************************************************************************************\ /*********************************************************************************************\
* Interface * Interface
\*********************************************************************************************/ \*********************************************************************************************/
@ -1507,6 +1523,9 @@ bool Xdrv16(uint8_t function)
TuyaSensorsShow(1); TuyaSensorsShow(1);
break; break;
#ifdef USE_WEBSERVER #ifdef USE_WEBSERVER
case FUNC_WEB_ADD_MAIN_BUTTON:
TuyaAddButton();
break;
case FUNC_WEB_SENSOR: case FUNC_WEB_SENSOR:
TuyaSensorsShow(0); TuyaSensorsShow(0);
break; break;