Bump version to 6.6.0.10

Redesign Tuya support by Shantur Rathore (#6353)
This commit is contained in:
Theo Arends 2019-09-05 10:41:08 +02:00
parent 2aedfc6a86
commit 282591a0b2
6 changed files with 35 additions and 31 deletions

View File

@ -1,4 +1,7 @@
/*********************************************************************************************\ /*********************************************************************************************\
* 6.6.0.10 20190905
* Redesign Tuya support by Shantur Rathore (#6353)
*
* 6.6.0.9 20190828 * 6.6.0.9 20190828
* Change theoretical baudrate range to 300..19660500 bps in 300 increments (#6294) * Change theoretical baudrate range to 300..19660500 bps in 300 increments (#6294)
* Add Full support of all protocols in IRremoteESP8266, to be used on dedicated-IR Tasmota version. Warning: +81k Flash when compiling with USE_IR_REMOTE_FULL * Add Full support of all protocols in IRremoteESP8266, to be used on dedicated-IR Tasmota version. Warning: +81k Flash when compiling with USE_IR_REMOTE_FULL

View File

@ -371,12 +371,13 @@ struct SYSCFG {
unsigned long energy_frequency_calibration; // 7C8 also used by HX711 to save last weight unsigned long energy_frequency_calibration; // 7C8 also used by HX711 to save last weight
uint16_t web_refresh; // 7CC uint16_t web_refresh; // 7CC
char mems[MAX_RULE_MEMS][10]; // 7CE char mems[MAX_RULE_MEMS][10]; // 7CE
char rules[MAX_RULE_SETS][MAX_RULE_SIZE]; // 800 uses 512 bytes in v5.12.0m, 3 x 512 bytes in v5.14.0b char rules[MAX_RULE_SETS][MAX_RULE_SIZE]; // 800 uses 512 bytes in v5.12.0m, 3 x 512 bytes in v5.14.0b
TuyaFnidDpidMap tuya_fnid_map[MAX_TUYA_FUNCTIONS]; // E00 32 bytes TuyaFnidDpidMap tuya_fnid_map[MAX_TUYA_FUNCTIONS]; // E00 32 bytes
uint8_t free_e20[480]; // E20 uint8_t free_e20[472]; // E20
// FFF last location uint32_t cfg_timestamp; // FF8
uint32_t cfg_crc4; // FFC
} Settings; } Settings;
struct RTCRBT { struct RTCRBT {

View File

@ -1098,35 +1098,35 @@ void SettingsDelta(void)
if (Settings.version < 0x0606000A) { if (Settings.version < 0x0606000A) {
uint8_t tuyaindex = 0; uint8_t tuyaindex = 0;
if (Settings.param[P_TUYA_DIMMER_ID] > 0) { if (Settings.param[P_ex_TUYA_DIMMER_ID] > 0) { // ex SetOption34
Settings.tuya_fnid_map[tuyaindex].fnid = 21; //TUYA_MCU_FUNC_DIMMER; // Move Tuya Dimmer Id to Map Settings.tuya_fnid_map[tuyaindex].fnid = 21; // TUYA_MCU_FUNC_DIMMER - Move Tuya Dimmer Id to Map
Settings.tuya_fnid_map[tuyaindex].dpid = Settings.param[P_TUYA_DIMMER_ID]; Settings.tuya_fnid_map[tuyaindex].dpid = Settings.param[P_ex_TUYA_DIMMER_ID];
tuyaindex++; tuyaindex++;
} else if (Settings.flag3.tuya_disable_dimmer == 1) { } else if (Settings.flag3.tuya_disable_dimmer == 1) { // ex SetOption65
Settings.tuya_fnid_map[tuyaindex].fnid = 11; //TUYA_MCU_FUNC_REL1; // Create FnID for Switches Settings.tuya_fnid_map[tuyaindex].fnid = 11; // TUYA_MCU_FUNC_REL1 - Create FnID for Switches
Settings.tuya_fnid_map[tuyaindex].dpid = 1; Settings.tuya_fnid_map[tuyaindex].dpid = 1;
tuyaindex++; tuyaindex++;
} }
if (Settings.param[P_TUYA_RELAYS] > 0) { if (Settings.param[P_ex_TUYA_RELAYS] > 0) {
for (uint8_t i = 0 ; i < Settings.param[P_TUYA_RELAYS]; i++) { for (uint8_t i = 0 ; i < Settings.param[P_ex_TUYA_RELAYS]; i++) { // ex SetOption41
Settings.tuya_fnid_map[tuyaindex].fnid = 12 + i; //TUYA_MCU_FUNC_REL2+; // Create FnID for Switches Settings.tuya_fnid_map[tuyaindex].fnid = 12 + i; // TUYA_MCU_FUNC_REL2 - Create FnID for Switches
Settings.tuya_fnid_map[tuyaindex].dpid = i + 2; Settings.tuya_fnid_map[tuyaindex].dpid = i + 2;
tuyaindex++; tuyaindex++;
} }
} }
if (Settings.param[P_TUYA_POWER_ID] > 0) { if (Settings.param[P_ex_TUYA_POWER_ID] > 0) { // ex SetOption46
Settings.tuya_fnid_map[tuyaindex].fnid = 31; //TUYA_MCU_FUNC_POWER; // Move Tuya Power Id to Map Settings.tuya_fnid_map[tuyaindex].fnid = 31; // TUYA_MCU_FUNC_POWER - Move Tuya Power Id to Map
Settings.tuya_fnid_map[tuyaindex].dpid = Settings.param[P_TUYA_POWER_ID]; Settings.tuya_fnid_map[tuyaindex].dpid = Settings.param[P_ex_TUYA_POWER_ID];
tuyaindex++; tuyaindex++;
} }
if (Settings.param[P_TUYA_VOLTAGE_ID] > 0) { if (Settings.param[P_ex_TUYA_VOLTAGE_ID] > 0) { // ex SetOption44
Settings.tuya_fnid_map[tuyaindex].fnid = 33; //TUYA_MCU_FUNC_VOLTAGE; // Move Tuya Voltage Id to Map Settings.tuya_fnid_map[tuyaindex].fnid = 33; // TUYA_MCU_FUNC_VOLTAGE - Move Tuya Voltage Id to Map
Settings.tuya_fnid_map[tuyaindex].dpid = Settings.param[P_TUYA_VOLTAGE_ID]; Settings.tuya_fnid_map[tuyaindex].dpid = Settings.param[P_ex_TUYA_VOLTAGE_ID];
tuyaindex++; tuyaindex++;
} }
if (Settings.param[P_TUYA_CURRENT_ID] > 0) { if (Settings.param[P_ex_TUYA_CURRENT_ID] > 0) { // ex SetOption45
Settings.tuya_fnid_map[tuyaindex].fnid = 32; //TUYA_MCU_FUNC_CURRENT; // Move Tuya Current Id to Map Settings.tuya_fnid_map[tuyaindex].fnid = 32; // TUYA_MCU_FUNC_CURRENT - Move Tuya Current Id to Map
Settings.tuya_fnid_map[tuyaindex].dpid = Settings.param[P_TUYA_CURRENT_ID]; Settings.tuya_fnid_map[tuyaindex].dpid = Settings.param[P_ex_TUYA_CURRENT_ID];
tuyaindex++; tuyaindex++;
} }

View File

@ -243,9 +243,9 @@ enum ButtonStates { PRESSED, NOT_PRESSED };
enum Shortcuts { SC_CLEAR, SC_DEFAULT, SC_USER }; enum Shortcuts { SC_CLEAR, SC_DEFAULT, SC_USER };
enum SettingsParamIndex {P_HOLD_TIME, P_MAX_POWER_RETRY, P_TUYA_DIMMER_ID, P_MDNS_DELAYED_START, P_BOOT_LOOP_OFFSET, P_RGB_REMAP, P_IR_UNKNOW_THRESHOLD, // SetOption32 .. SetOption38 enum SettingsParamIndex {P_HOLD_TIME, P_MAX_POWER_RETRY, P_ex_TUYA_DIMMER_ID, P_MDNS_DELAYED_START, P_BOOT_LOOP_OFFSET, P_RGB_REMAP, P_IR_UNKNOW_THRESHOLD, // SetOption32 .. SetOption38
P_CSE7766_INVALID_POWER, P_HOLD_IGNORE, P_TUYA_RELAYS, P_OVER_TEMP, // SetOption39 .. SetOption42 P_CSE7766_INVALID_POWER, P_HOLD_IGNORE, P_ex_TUYA_RELAYS, P_OVER_TEMP, // SetOption39 .. SetOption42
P_TUYA_DIMMER_MAX, P_TUYA_VOLTAGE_ID, P_TUYA_CURRENT_ID, P_TUYA_POWER_ID, // SetOption43 .. SetOption46 P_TUYA_DIMMER_MAX, P_ex_TUYA_VOLTAGE_ID, P_ex_TUYA_CURRENT_ID, P_ex_TUYA_POWER_ID, // SetOption43 .. SetOption46
P_ENERGY_TARIFF1, P_ENERGY_TARIFF2, // SetOption47 .. SetOption48 P_ENERGY_TARIFF1, P_ENERGY_TARIFF2, // SetOption47 .. SetOption48
P_MAX_PARAM8}; // Max is PARAM8_SIZE (18) - SetOption32 until SetOption49 P_MAX_PARAM8}; // Max is PARAM8_SIZE (18) - SetOption32 until SetOption49

View File

@ -644,7 +644,7 @@ void CmndSetoption(void)
param_low = 1; param_low = 1;
param_high = 250; param_high = 250;
break; break;
case P_TUYA_RELAYS: case P_ex_TUYA_RELAYS:
param_high = 8; param_high = 8;
break; break;
} }
@ -662,10 +662,10 @@ void CmndSetoption(void)
break; break;
#endif #endif
#ifdef USE_TUYA_MCU #ifdef USE_TUYA_MCU
case P_TUYA_RELAYS: // case P_ex_TUYA_RELAYS:
case P_TUYA_POWER_ID: // case P_ex_TUYA_POWER_ID:
case P_TUYA_CURRENT_ID: // case P_ex_TUYA_CURRENT_ID:
case P_TUYA_VOLTAGE_ID: // case P_ex_TUYA_VOLTAGE_ID:
case P_TUYA_DIMMER_MAX: case P_TUYA_DIMMER_MAX:
restart_flag = 2; // Need a restart to update GUI restart_flag = 2; // Need a restart to update GUI
break; break;

View File

@ -377,11 +377,11 @@ void TuyaPacketProcess(void)
} }
else if (Tuya.buffer[5] == 8) { // Long value packet else if (Tuya.buffer[5] == 8) { // Long value packet
if (fnId == TUYA_MCU_FUNC_DIMMER) { if (fnId == TUYA_MCU_FUNC_DIMMER) {
// if (!Settings.param[P_TUYA_DIMMER_ID]) { // if (!Settings.param[P_ex_TUYA_DIMMER_ID]) {
// AddLog_P2(LOG_LEVEL_DEBUG, PSTR("TYA: Autoconfiguring Dimmer ID %d"), Tuya.buffer[6]); // AddLog_P2(LOG_LEVEL_DEBUG, PSTR("TYA: Autoconfiguring Dimmer ID %d"), Tuya.buffer[6]);
// Settings.param[P_TUYA_DIMMER_ID] = Tuya.buffer[6]; // Settings.param[P_ex_TUYA_DIMMER_ID] = Tuya.buffer[6];
// } // }
// if (Settings.param[P_TUYA_DIMMER_ID] == Tuya.buffer[6]) { // if (Settings.param[P_ex_TUYA_DIMMER_ID] == Tuya.buffer[6]) {
AddLog_P2(LOG_LEVEL_DEBUG, PSTR("TYA: RX Dim State=%d"), Tuya.buffer[13]); AddLog_P2(LOG_LEVEL_DEBUG, PSTR("TYA: RX Dim State=%d"), Tuya.buffer[13]);
Tuya.new_dim = changeUIntScale((uint8_t) Tuya.buffer[13], 0, Settings.param[P_TUYA_DIMMER_MAX], 0, 100); Tuya.new_dim = changeUIntScale((uint8_t) Tuya.buffer[13], 0, Settings.param[P_TUYA_DIMMER_MAX], 0, 100);
if ((power || Settings.flag3.tuya_apply_o20) && (Tuya.new_dim > 0) && (abs(Tuya.new_dim - Settings.light_dimmer) > 1)) { if ((power || Settings.flag3.tuya_apply_o20) && (Tuya.new_dim > 0) && (abs(Tuya.new_dim - Settings.light_dimmer) > 1)) {