diff --git a/sonoff/settings.h b/sonoff/settings.h index 81fcfaac8..0edf3c73b 100644 --- a/sonoff/settings.h +++ b/sonoff/settings.h @@ -348,7 +348,7 @@ struct SYSCFG { uint8_t rgbwwTable[5]; // 71A uint8_t user_template_base; // 71F mytmplt user_template; // 720 29 bytes - uint8_t novasds_period; // 73D + uint8_t novasds_startingoffset; // 73D uint8_t web_color[18][3]; // 73E uint16_t display_width; // 774 uint16_t display_height; // 776 diff --git a/sonoff/settings.ino b/sonoff/settings.ino index 4cb4e5b0d..8cd67a610 100644 --- a/sonoff/settings.ino +++ b/sonoff/settings.ino @@ -849,7 +849,7 @@ void SettingsDefaultSet2(void) Settings.rgbwwTable[j] = 255; } - Settings.novasds_period = WORKING_PERIOD; + Settings.novasds_startingoffset = STARTING_OFFSET; SettingsDefaultWebColor(); @@ -1102,7 +1102,7 @@ void SettingsDelta(void) Settings.param[P_RGB_REMAP] = RGB_REMAP_RGBW; } if (Settings.version < 0x06050003) { - Settings.novasds_period = WORKING_PERIOD; + Settings.novasds_startingoffset = STARTING_OFFSET; } if (Settings.version < 0x06050006) { SettingsDefaultWebColor(); diff --git a/sonoff/xsns_20_novasds.ino b/sonoff/xsns_20_novasds.ino index a434e56a3..8e6dbd88d 100644 --- a/sonoff/xsns_20_novasds.ino +++ b/sonoff/xsns_20_novasds.ino @@ -151,7 +151,7 @@ void NovaSdsSecond(void) // Every second NovaSdsSetWorkPeriod(); novasds_valid=1; } - if((Settings.tele_period - STARTING_OFFSET <= 0)) + if((Settings.tele_period - Settings.novasds_startingoffset <= 0)) { if(!cont_mode) { //switched to continuous mode @@ -162,7 +162,7 @@ void NovaSdsSecond(void) // Every second else cont_mode = 0; - if(tele_period == Settings.tele_period - STARTING_OFFSET && !cont_mode) + if(tele_period == Settings.tele_period - Settings.novasds_startingoffset && !cont_mode) { //lets start fan and laser NovaSdsCommand(NOVA_SDS_SLEEP_AND_WORK, NOVA_SDS_SET_MODE, NOVA_SDS_WORK, NOVA_SDS_DEVICE_ID, nullptr); } @@ -191,10 +191,10 @@ void NovaSdsSecond(void) // Every second bool NovaSdsCommandSensor(void) { if ((XdrvMailbox.payload > 0) && (XdrvMailbox.payload < 256)) { - Settings.novasds_period = XdrvMailbox.payload; - NovaSdsSetWorkPeriod(); + if( XdrvMailbox.payload < 10 ) Settings.novasds_startingoffset = 10; + else Settings.novasds_startingoffset = XdrvMailbox.payload; } - Response_P(S_JSON_SENSOR_INDEX_NVALUE, XSNS_20, Settings.novasds_period); + Response_P(S_JSON_SENSOR_INDEX_NVALUE, XSNS_20, Settings.novasds_startingoffset); return true; }