From c0c325ee3bbccc3dba9acd2b75581778cf64a91a Mon Sep 17 00:00:00 2001 From: sehraf Date: Mon, 16 Dec 2019 12:35:41 +0100 Subject: [PATCH] Add support for the LSC LED LIGHT STRIP from ACTION using a tuya chip. (#2065) This LED strip is sold by ACTION in Germany and comes with a Tuya (TYWE3L) chip. It can be "freed" by using tuya-convert. It has (yet another) IR remote control that uses another set of codes. Which is added, too. The color codes are copies from SET 1 and 2. I kind of think that they don't match my remote control but since i'm using my smart home system for controlling, i don't care enough to figure out the correct color codes. The circuit board supports also a CW channel on PIN 5 (which is not used on by version), nevertheless I've added a comment in case anybody has a similar device with CW --- code/espurna/config/general.h | 57 ++++++++++++++++++++++++++++++++++ code/espurna/config/hardware.h | 33 ++++++++++++++++++++ code/platformio.ini | 8 +++++ 3 files changed, 98 insertions(+) diff --git a/code/espurna/config/general.h b/code/espurna/config/general.h index e1850a7a..cf72d2dd 100644 --- a/code/espurna/config/general.h +++ b/code/espurna/config/general.h @@ -1730,6 +1730,63 @@ #endif +//Remote Buttons SET 5 (another identical IR Remote shipped with another controller as SET 1 and 2) +#if IR_BUTTON_SET == 5 + +/* + +------+------+------+------+ + | UP | Down | OFF | ON | + +------+------+------+------+ + | R | G | B | W | + +------+------+------+------+ + | 1 | 2 | 3 |FLASH | + +------+------+------+------+ + | 4 | 5 | 6 |STROBE| + +------+------+------+------+ + | 7 | 8 | 9 | FADE | + +------+------+------+------+ + | 10 | 11 | 12 |SMOOTH| + +------+------+------+------+ +*/ + + #define IR_BUTTON_COUNT 24 + + const unsigned long IR_BUTTON[IR_BUTTON_COUNT][3] PROGMEM = { + + { 0xF700FF, IR_BUTTON_MODE_BRIGHTER, 1 }, + { 0xF7807F, IR_BUTTON_MODE_BRIGHTER, 0 }, + { 0xF740BF, IR_BUTTON_MODE_STATE, 0 }, + { 0xF7C03F, IR_BUTTON_MODE_STATE, 1 }, + + { 0xF720DF, IR_BUTTON_MODE_RGB, 0xFF0000 }, + { 0xF7A05F, IR_BUTTON_MODE_RGB, 0x00FF00 }, + { 0xF7609F, IR_BUTTON_MODE_RGB, 0x0000FF }, + { 0xF7E01F, IR_BUTTON_MODE_RGB, 0xFFFFFF }, + + { 0xF710EF, IR_BUTTON_MODE_RGB, 0xD13A01 }, + { 0xF7906F, IR_BUTTON_MODE_RGB, 0x00E644 }, + { 0xF750AF, IR_BUTTON_MODE_RGB, 0x0040A7 }, + { 0xF7D02F, IR_BUTTON_MODE_EFFECT, LIGHT_EFFECT_FLASH }, + + { 0xF730CF, IR_BUTTON_MODE_RGB, 0xE96F2A }, + { 0xF7B04F, IR_BUTTON_MODE_RGB, 0x00BEBF }, + { 0xF7708F, IR_BUTTON_MODE_RGB, 0x56406F }, + { 0xF7F00F, IR_BUTTON_MODE_EFFECT, LIGHT_EFFECT_STROBE }, + + { 0xF708F7, IR_BUTTON_MODE_RGB, 0xEE9819 }, + { 0xF78877, IR_BUTTON_MODE_RGB, 0x00799A }, + { 0xF748B7, IR_BUTTON_MODE_RGB, 0x944E80 }, + { 0xF7C837, IR_BUTTON_MODE_EFFECT, LIGHT_EFFECT_FADE }, + + { 0xF728D7, IR_BUTTON_MODE_RGB, 0xFFFF00 }, + { 0xF7A857, IR_BUTTON_MODE_RGB, 0x0060A1 }, + { 0xF76897, IR_BUTTON_MODE_RGB, 0xEF45AD }, + { 0xF7E817, IR_BUTTON_MODE_EFFECT, LIGHT_EFFECT_SMOOTH } + + }; + +#endif + #ifndef IR_BUTTON_COUNT #define IR_BUTTON_COUNT 0 #endif diff --git a/code/espurna/config/hardware.h b/code/espurna/config/hardware.h index 7e8e2f07..eb4f6034 100644 --- a/code/espurna/config/hardware.h +++ b/code/espurna/config/hardware.h @@ -4189,6 +4189,39 @@ #define SENSOR_ENERGY_UNITS ENERGY_KWH #define SENSOR_POWER_UNITS POWER_WATTS +// ----------------------------------------------------------------------------- +// LSC Smart LED Light Strip (Smart CXonnect Series) available ACTION (Germany) +// https://www.action.com/de-de/p/lsc-smart-connect-intelligenter-multicolor-led-strip-/ +// Reflashing from original Tuya firmware +// to thirdparty firmware like espurna by: +// https://github.com/ct-Open-Source/tuya-convert +// ----------------------------------------------------------------------------- + +#elif defined(LSC_SMART_LED_LIGHT_STRIP) + // Info + #define MANUFACTURER "LSC" + #define DEVICE "SMART_LED_LIGHT_STRIP" + #define RELAY_PROVIDER RELAY_PROVIDER_LIGHT + #define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER + #define DUMMY_RELAY_COUNT 1 + + // Light RGBW + #define LIGHT_CHANNELS 4 + #define LIGHT_CH1_PIN 4 // RED + #define LIGHT_CH2_PIN 12 // GREEN + #define LIGHT_CH3_PIN 14 // BLUE + #define LIGHT_CH4_PIN 13 // WHITE + // #define LIGHT_CH5_PIN 5 // CW (not connected, but circuit supports it) + #define LIGHT_CH1_INVERSE 0 + #define LIGHT_CH2_INVERSE 0 + #define LIGHT_CH3_INVERSE 0 + #define LIGHT_CH4_INVERSE 0 + + // IR + #define IR_SUPPORT 1 + #define IR_RX_PIN 0 + #define IR_BUTTON_SET 5 + // ----------------------------------------------------------------------------- // eHomeDIY WT02 // https://github.com/eHomeDIY/WT02-hardware diff --git a/code/platformio.ini b/code/platformio.ini index a6cd4e23..7fee9915 100644 --- a/code/platformio.ini +++ b/code/platformio.ini @@ -1703,6 +1703,14 @@ build_flags = ${common.build_flags_1m0m} -DHYKKER_SMART_HOME_POWER_PLUG upload_port = ${common.ota_upload_port} upload_flags = ${common.ota_upload_flags} +[env:lsc-smart-led-light-strip] +board = ${common.board_1m} +build_flags = ${common.build_flags_1m0m} -DLSC_SMART_LED_LIGHT_STRIP + +[env:lsc-smart-led-light-strip-ota] +board = ${common.board_1m} +build_flags = ${common.build_flags_1m0m} -DLSC_SMART_LED_LIGHT_STRIP + [env:linksprite-linknode-r4] board = ${common.board_4m} build_flags = ${common.build_flags_4m1m} -DLINKSPRITE_LINKNODE_R4