mirror of https://github.com/arendst/Tasmota.git
Bump version to 6.6.0.10
Redesign Tuya support by Shantur Rathore (#6353)
This commit is contained in:
parent
2aedfc6a86
commit
282591a0b2
|
@ -1,4 +1,7 @@
|
|||
/*********************************************************************************************\
|
||||
* 6.6.0.10 20190905
|
||||
* Redesign Tuya support by Shantur Rathore (#6353)
|
||||
*
|
||||
* 6.6.0.9 20190828
|
||||
* 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
|
||||
|
|
|
@ -371,12 +371,13 @@ struct SYSCFG {
|
|||
unsigned long energy_frequency_calibration; // 7C8 also used by HX711 to save last weight
|
||||
uint16_t web_refresh; // 7CC
|
||||
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
|
||||
|
||||
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;
|
||||
|
||||
struct RTCRBT {
|
||||
|
|
|
@ -1098,35 +1098,35 @@ void SettingsDelta(void)
|
|||
|
||||
if (Settings.version < 0x0606000A) {
|
||||
uint8_t tuyaindex = 0;
|
||||
if (Settings.param[P_TUYA_DIMMER_ID] > 0) {
|
||||
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];
|
||||
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].dpid = Settings.param[P_ex_TUYA_DIMMER_ID];
|
||||
tuyaindex++;
|
||||
} else if (Settings.flag3.tuya_disable_dimmer == 1) {
|
||||
Settings.tuya_fnid_map[tuyaindex].fnid = 11; //TUYA_MCU_FUNC_REL1; // Create FnID for Switches
|
||||
} 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].dpid = 1;
|
||||
tuyaindex++;
|
||||
}
|
||||
if (Settings.param[P_TUYA_RELAYS] > 0) {
|
||||
for (uint8_t i = 0 ; i < Settings.param[P_TUYA_RELAYS]; i++) {
|
||||
Settings.tuya_fnid_map[tuyaindex].fnid = 12 + i; //TUYA_MCU_FUNC_REL2+; // Create FnID for Switches
|
||||
if (Settings.param[P_ex_TUYA_RELAYS] > 0) {
|
||||
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].dpid = i + 2;
|
||||
tuyaindex++;
|
||||
}
|
||||
}
|
||||
if (Settings.param[P_TUYA_POWER_ID] > 0) {
|
||||
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];
|
||||
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].dpid = Settings.param[P_ex_TUYA_POWER_ID];
|
||||
tuyaindex++;
|
||||
}
|
||||
if (Settings.param[P_TUYA_VOLTAGE_ID] > 0) {
|
||||
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];
|
||||
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].dpid = Settings.param[P_ex_TUYA_VOLTAGE_ID];
|
||||
tuyaindex++;
|
||||
}
|
||||
if (Settings.param[P_TUYA_CURRENT_ID] > 0) {
|
||||
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];
|
||||
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].dpid = Settings.param[P_ex_TUYA_CURRENT_ID];
|
||||
tuyaindex++;
|
||||
}
|
||||
|
||||
|
|
|
@ -243,9 +243,9 @@ enum ButtonStates { PRESSED, NOT_PRESSED };
|
|||
|
||||
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
|
||||
P_CSE7766_INVALID_POWER, P_HOLD_IGNORE, P_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
|
||||
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_ex_TUYA_RELAYS, P_OVER_TEMP, // SetOption39 .. SetOption42
|
||||
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_MAX_PARAM8}; // Max is PARAM8_SIZE (18) - SetOption32 until SetOption49
|
||||
|
||||
|
|
|
@ -644,7 +644,7 @@ void CmndSetoption(void)
|
|||
param_low = 1;
|
||||
param_high = 250;
|
||||
break;
|
||||
case P_TUYA_RELAYS:
|
||||
case P_ex_TUYA_RELAYS:
|
||||
param_high = 8;
|
||||
break;
|
||||
}
|
||||
|
@ -662,10 +662,10 @@ void CmndSetoption(void)
|
|||
break;
|
||||
#endif
|
||||
#ifdef USE_TUYA_MCU
|
||||
case P_TUYA_RELAYS:
|
||||
case P_TUYA_POWER_ID:
|
||||
case P_TUYA_CURRENT_ID:
|
||||
case P_TUYA_VOLTAGE_ID:
|
||||
// case P_ex_TUYA_RELAYS:
|
||||
// case P_ex_TUYA_POWER_ID:
|
||||
// case P_ex_TUYA_CURRENT_ID:
|
||||
// case P_ex_TUYA_VOLTAGE_ID:
|
||||
case P_TUYA_DIMMER_MAX:
|
||||
restart_flag = 2; // Need a restart to update GUI
|
||||
break;
|
||||
|
|
|
@ -377,11 +377,11 @@ void TuyaPacketProcess(void)
|
|||
}
|
||||
else if (Tuya.buffer[5] == 8) { // Long value packet
|
||||
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]);
|
||||
// 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]);
|
||||
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)) {
|
||||
|
|
Loading…
Reference in New Issue