From 09de17d385026d4869b0d4f11748e1b9f886fdf1 Mon Sep 17 00:00:00 2001 From: Joel Stein Date: Mon, 29 Oct 2018 01:10:57 +0100 Subject: [PATCH] tuya: reset wifi-led every second --- sonoff/xdrv_16_tuyadimmer.ino | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/sonoff/xdrv_16_tuyadimmer.ino b/sonoff/xdrv_16_tuyadimmer.ino index b2b4da481..9877682dc 100644 --- a/sonoff/xdrv_16_tuyadimmer.ino +++ b/sonoff/xdrv_16_tuyadimmer.ino @@ -221,6 +221,21 @@ boolean TuyaModuleSelected() return true; } +void TuyaResetWifiLed(){ + snprintf_P(log_data, sizeof(log_data), "TYA: Reset WiFi LED"); + AddLog(LOG_LEVEL_DEBUG); + + TuyaSerial->write((uint8_t)0x55); // header 55AA + TuyaSerial->write((uint8_t)0xAA); + TuyaSerial->write((uint8_t)0x00); // version 00 + TuyaSerial->write((uint8_t)0x03); // command 03 - set wifi state + TuyaSerial->write((uint8_t)0x00); + TuyaSerial->write((uint8_t)0x01); // following data length 0x01 + TuyaSerial->write((uint8_t)0x03); // wifi state 4 (configured and connected) + TuyaSerial->write((uint8_t)0x06); // checksum:sum of all bytes in packet mod 256 + TuyaSerial->flush(); +} + void TuyaInit() { if (!Settings.param[P_TUYA_DIMMER_ID]) { @@ -242,16 +257,6 @@ void TuyaInit() TuyaSerial->write((uint8_t)0x00); // following data length 0x00 TuyaSerial->write((uint8_t)0x07); // checksum:sum of all bytes in packet mod 256 TuyaSerial->flush(); - - TuyaSerial->write((uint8_t)0x55); // header 55AA - TuyaSerial->write((uint8_t)0xAA); - TuyaSerial->write((uint8_t)0x00); // version 00 - TuyaSerial->write((uint8_t)0x03); // command 03 - set wifi state - TuyaSerial->write((uint8_t)0x00); - TuyaSerial->write((uint8_t)0x01); // following data length 0x01 - TuyaSerial->write((uint8_t)0x03); // wifi state 4 (configured and connected) - TuyaSerial->write((uint8_t)0x06); // checksum:sum of all bytes in packet mod 256 - TuyaSerial->flush(); } } @@ -298,6 +303,8 @@ boolean Xdrv16(byte function) case FUNC_BUTTON_PRESSED: result = TuyaButtonPressed(); break; + case FUNC_EVERY_SECOND: + if(TuyaSerial) { TuyaResetWifiLed(); } } } return result;