@@ -133,10 +133,14 @@ String esp_hostname_default = "openevse-"+ESPAL.getShortId();
133133
134134void config_changed (String name);
135135
136+ #ifndef CONFIG_DEFAULT_STATE_DEFAULT
137+ #define CONFIG_DEFAULT_STATE_DEFAULT CONFIG_DEFAULT_STATE
138+ #endif
139+
136140#define CONFIG_DEFAULT_FLAGS (CONFIG_SERVICE_SNTP | \
137141 CONFIG_OCPP_AUTO_AUTH | \
138142 CONFIG_OCPP_OFFLINE_AUTH | \
139- CONFIG_DEFAULT_STATE )
143+ CONFIG_DEFAULT_STATE_DEFAULT )
140144
141145ConfigOptDefinition<uint32_t > flagsOpt = ConfigOptDefinition<uint32_t >(flags, CONFIG_DEFAULT_FLAGS, " flags" , " f" );
142146ConfigOptDefinition<uint32_t > flagsChanged = ConfigOptDefinition<uint32_t >(flags_changed, 0 , " flags_changed" , " c" );
@@ -165,8 +169,8 @@ ConfigOpt *opts[] =
165169 new ConfigOptDefinition<String>(time_zone, DEFAULT_TIME_ZONE, " time_zone" , " tz" ),
166170
167171// Limit
168- new ConfigOptDefinition<String>(limit_default_type, {} , " limit_default_type" , " ldt" ),
169- new ConfigOptDefinition<uint32_t >(limit_default_value, {} , " limit_default_value" , " ldv" ),
172+ new ConfigOptDefinition<String>(limit_default_type, LIMIT_DEFAULT_TYPE_DEFAULT , " limit_default_type" , " ldt" ),
173+ new ConfigOptDefinition<uint32_t >(limit_default_value, LIMIT_DEFAULT_VALUE_DEFAULT , " limit_default_value" , " ldv" ),
170174
171175// EMONCMS SERVER strings
172176 new ConfigOptDefinition<String>(emoncms_server, " https://data.openevse.com/emoncms" , " emoncms_server" , " es" ),
@@ -324,16 +328,19 @@ config_load_settings()
324328 if (0 == flags_changed)
325329 {
326330 // Assume all flags that do not match the default value have changed
327- uint32_t new_changed = (flags ^ CONFIG_DEFAULT_FLAGS) & ~CONFIG_DEFAULT_STATE ;
331+ uint32_t new_changed = (flags ^ CONFIG_DEFAULT_FLAGS);
328332
333+ #if CONFIG_DEFAULT_STATE_DEFAULT != 0
329334 // Handle the default charge state differently as that was set as a default to 0 previously, but is now 1
330335 // We will assume that if set to 1 it was intentional, but if 0 we will assume it was the just the default
331336 // and not an intentinal change
337+ new_changed &= ~CONFIG_DEFAULT_STATE;
332338 if (flags != CONFIG_DEFAULT_FLAGS &&
333339 CONFIG_DEFAULT_STATE == (flags & CONFIG_DEFAULT_STATE))
334340 {
335341 new_changed |= CONFIG_DEFAULT_STATE;
336342 }
343+ #endif
337344
338345 // Save any changes
339346 if (flagsChanged.set (new_changed)) {
@@ -386,23 +393,7 @@ void config_changed(String name)
386393 ledManager.setBrightness (led_brightness);
387394#endif
388395 } else if (name.startsWith (" limit_default_" )) {
389- LimitProperties limitprops;
390- LimitType limitType;
391- DBUGVAR (limit_default_type);
392- DBUGVAR ((int )limit_default_value);
393- limitType.fromString (limit_default_type.c_str ());
394- limitprops.setType (limitType);
395- limitprops.setValue (limit_default_value);
396- limitprops.setAutoRelease (false );
397- if (limitType == LimitType::None) {
398- limit.clear ();
399- DBUGLN (" No limit to set" );
400- }
401- else if (limitprops.getValue ())
402- limit.set (limitprops);
403- DBUGLN (" Limit set" );
404- DBUGVAR (limitprops.getType ().toString ());
405- DBUGVAR (limitprops.getValue ());
396+ limit.setDefaultLimit (limit_default_type.c_str (), limit_default_value);
406397 } else if (name == " sntp_enabled" ) {
407398 timeManager.setSntpEnabled (config_sntp_enabled ());
408399 }
0 commit comments