Fix JSON and functionality

Fix JSON and functionality
This commit is contained in:
Theo Arends 2019-10-11 11:23:53 +02:00
parent 3cd6abe0bf
commit 86ffa2d5fe
5 changed files with 27 additions and 26 deletions

View File

@ -126,14 +126,12 @@
#define ENERGY_OVERTEMP 90 // Overtemp in Celsius
#endif
#ifndef DEFAULT_DIMMER_MAX
#define DEFAULT_DIMMER_MAX 100
#define DEFAULT_DIMMER_MAX 100
#endif
#ifndef DEFAULT_DIMMER_MIN
#define DEFAULT_DIMMER_MIN 10
#define DEFAULT_DIMMER_MIN 0
#endif
enum WebColors {
COL_TEXT, COL_BACKGROUND, COL_FORM,
COL_INPUT_TEXT, COL_INPUT, COL_CONSOLE_TEXT, COL_CONSOLE,
@ -1146,16 +1144,20 @@ void SettingsDelta(void)
if (Settings.version < 0x06060011) {
Settings.param[P_BACKLOG_DELAY] = MIN_BACKLOG_DELAY;
}
if (Settings.version < 0x06060012) {
Settings.dimmer_hw_max = Settings.param[P_ex_DIMMER_MAX];
Settings.dimmer_hw_min = DEFAULT_DIMMER_MIN;
Settings.dimmer_hw_max = DEFAULT_DIMMER_MAX;
if (TUYA_DIMMER == Settings.module) {
if (Settings.flag3.ex_tuya_dimmer_min_limit) {
Settings.dimmer_hw_min = 25;
} else {
Settings.dimmer_hw_min = 1;
}
Settings.dimmer_hw_max = Settings.param[P_ex_DIMMER_MAX];
}
else if (PS_16_DZ == Settings.module) {
Settings.dimmer_hw_min = 10;
Settings.dimmer_hw_max = Settings.param[P_ex_DIMMER_MAX];
}
}

View File

@ -247,8 +247,7 @@ enum Shortcuts { SC_CLEAR, SC_DEFAULT, SC_USER };
enum SettingsParamIndex { P_HOLD_TIME, P_MAX_POWER_RETRY, P_BACKLOG_DELAY, 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_ex_DIMMER_MAX,
P_ex_TUYA_VOLTAGE_ID, P_ex_TUYA_CURRENT_ID, P_ex_TUYA_POWER_ID, // SetOption43 .. SetOption46
P_ex_DIMMER_MAX, P_ex_TUYA_VOLTAGE_ID, P_ex_TUYA_CURRENT_ID, P_ex_TUYA_POWER_ID, // SetOption43 .. SetOption46
P_ex_ENERGY_TARIFF1, P_ex_ENERGY_TARIFF2, // SetOption47 .. SetOption48
P_MAX_PARAM8 }; // Max is PARAM8_SIZE (18) - SetOption32 until SetOption49

View File

@ -700,21 +700,16 @@ void CmndSetoption(void)
}
if ((XdrvMailbox.payload >= param_low) && (XdrvMailbox.payload <= param_high)) {
Settings.param[pindex] = XdrvMailbox.payload;
switch (pindex) {
#ifdef USE_LIGHT
case P_RGB_REMAP:
LightUpdateColorMapping();
break;
if (P_RGB_REMAP == pindex) {
LightUpdateColorMapping();
}
#endif
#if (defined(USE_IR_REMOTE) && defined(USE_IR_RECEIVE)) || defined(USE_IR_REMOTE_FULL)
case P_IR_UNKNOW_THRESHOLD:
IrReceiveUpdateThreshold();
break;
#endif
case P_ex_DIMMER_MAX:
restart_flag = 2; // Need a restart to update GUI
break;
if (P_IR_UNKNOW_THRESHOLD == pindex) {
IrReceiveUpdateThreshold();
}
#endif
}
}
}

View File

@ -2063,7 +2063,9 @@ void CmndDimmerRange(void)
if (XdrvMailbox.data_len > 0) {
char *p;
uint8_t i = 0;
uint16_t parm[2] = { 0 };
uint16_t parm[2];
parm[0] = Settings.dimmer_hw_min;
parm[1] = Settings.dimmer_hw_max;
for (char *str = strtok_r(XdrvMailbox.data, ", ", &p); str && i < 2; str = strtok_r(nullptr, ", ", &p)) {
parm[i] = strtoul(str, nullptr, 0);
i++;
@ -2072,13 +2074,13 @@ void CmndDimmerRange(void)
if (parm[0] < parm[1]) {
Settings.dimmer_hw_min = parm[0];
Settings.dimmer_hw_max = parm[1];
restart_flag = 2;
} else {
AddLog_P2(LOG_LEVEL_ERROR, PSTR("Light: Dimmer minimum %d should be less than maximum %d"), parm[0], parm[1]);
Settings.dimmer_hw_min = parm[1];
Settings.dimmer_hw_max = parm[0];
}
restart_flag = 2;
}
Response_P(PSTR("{" D_CMND_DIMMER_RANGE ":{\"min\":%d, \"max\":%d}}"), Settings.dimmer_hw_min, Settings.dimmer_hw_max);
Response_P(PSTR("{\"" D_CMND_DIMMER_RANGE "\":{\"Min\":%d,\"Max\":%d}}"), Settings.dimmer_hw_min, Settings.dimmer_hw_max);
}
void CmndLedTable(void)
@ -2187,6 +2189,9 @@ bool Xdrv04(uint8_t function)
}
else if (light_type) {
switch (function) {
case FUNC_SERIAL:
result = XlgtCall(FUNC_SERIAL);
break;
case FUNC_EVERY_50_MSECOND:
LightAnimate();
break;

View File

@ -124,14 +124,14 @@ void CmndTuyaMcu(void) {
}
Response_P(PSTR("{" D_CMND_TUYA_MCU ":["));
Response_P(PSTR("{\"" D_CMND_TUYA_MCU "\":["));
bool added = false;
for (uint8_t i = 0; i < MAX_TUYA_FUNCTIONS; i++) {
if (Settings.tuya_fnid_map[i].fnid != 0) {
if (added) {
ResponseAppend_P(PSTR(","));
}
ResponseAppend_P(PSTR("{\"fnId\":%d, \"dpId\":%d}" ), Settings.tuya_fnid_map[i].fnid, Settings.tuya_fnid_map[i].dpid);
ResponseAppend_P(PSTR("{\"fnId\":%d,\"dpId\":%d}" ), Settings.tuya_fnid_map[i].fnid, Settings.tuya_fnid_map[i].dpid);
added = true;
}
}