Compare commits

..

3 Commits

Author SHA1 Message Date
Gunnar Skjold
de19de2129 Fixed incorrect change in previous commit 2023-02-01 19:00:50 +01:00
Gunnar Skjold
1719263de0 Fixed config migration issue from v2.1 2023-02-01 18:46:22 +01:00
Gunnar Skjold
e70b872c98 Removed v2.0 config loading 2023-02-01 18:46:06 +01:00
3 changed files with 7 additions and 123 deletions

View File

@@ -22,10 +22,6 @@
#define CONFIG_NTP_START 872 #define CONFIG_NTP_START 872
#define CONFIG_MQTT_START 1004 #define CONFIG_MQTT_START 1004
#define CONFIG_MQTT_START_86 224
#define CONFIG_METER_START_87 784
#define CONFIG_ENTSOE_START_90 286
#define CONFIG_WIFI_START_91 16
#define CONFIG_METER_START_93 224 #define CONFIG_METER_START_93 224
@@ -37,18 +33,6 @@ struct SystemConfig {
char country[3]; char country[3];
}; // 7 }; // 7
struct WiFiConfig91 {
char ssid[32];
char psk[64];
char ip[15];
char gateway[15];
char subnet[15];
char dns1[15];
char dns2[15];
char hostname[32];
bool mdns;
}; // 204
struct WiFiConfig { struct WiFiConfig {
char ssid[32]; char ssid[32];
char psk[64]; char psk[64];
@@ -65,18 +49,6 @@ struct WiFiConfig {
bool autoreboot; bool autoreboot;
}; // 213 }; // 213
struct MqttConfig86 {
char host[128];
uint16_t port;
char clientId[32];
char publishTopic[64];
char subscribeTopic[64];
char username[64];
char password[64];
uint8_t payloadFormat;
bool ssl;
}; // 420
struct MqttConfig { struct MqttConfig {
char host[128]; char host[128];
uint16_t port; uint16_t port;
@@ -110,7 +82,7 @@ struct MeterConfig {
uint32_t accumulatedMultiplier; uint32_t accumulatedMultiplier;
uint8_t source; uint8_t source;
uint8_t parser; uint8_t parser;
}; // 52 }; // 61
struct MeterConfig100 { struct MeterConfig100 {
uint32_t baud; uint32_t baud;
@@ -127,7 +99,7 @@ struct MeterConfig100 {
uint32_t accumulatedMultiplier; uint32_t accumulatedMultiplier;
uint8_t source; uint8_t source;
uint8_t parser; uint8_t parser;
}; // 50 }; // 59
struct MeterConfig95 { struct MeterConfig95 {
uint32_t baud; uint32_t baud;
@@ -146,16 +118,6 @@ struct MeterConfig95 {
uint8_t parser; uint8_t parser;
}; // 50 }; // 50
struct MeterConfig87 {
uint8_t type;
uint8_t distributionSystem;
uint8_t mainFuse;
uint8_t productionCapacity;
uint8_t encryptionKey[16];
uint8_t authenticationKey[16];
bool substituteMissing;
}; // 37
struct DebugConfig { struct DebugConfig {
bool telnet; bool telnet;
bool serial; bool serial;
@@ -331,9 +293,6 @@ private:
uint8_t tempSensorCount = 0; uint8_t tempSensorCount = 0;
TempSensorConfig** tempSensors = NULL; TempSensorConfig** tempSensors = NULL;
bool relocateConfig90(); // 2.0.0
bool relocateConfig91(); // 2.0.2
bool relocateConfig92(); // 2.0.3
bool relocateConfig93(); // 2.1.0 bool relocateConfig93(); // 2.1.0
bool relocateConfig94(); // 2.1.0 bool relocateConfig94(); // 2.1.0
bool relocateConfig95(); // 2.1.4 bool relocateConfig95(); // 2.1.4

View File

@@ -716,30 +716,6 @@ bool AmsConfiguration::hasConfig() {
} }
} else { } else {
switch(configVersion) { switch(configVersion) {
case 90:
configVersion = -1; // Prevent loop
if(relocateConfig90()) {
configVersion = 91;
} else {
configVersion = 0;
return false;
}
case 91:
configVersion = -1; // Prevent loop
if(relocateConfig91()) {
configVersion = 92;
} else {
configVersion = 0;
return false;
}
case 92:
configVersion = -1; // Prevent loop
if(relocateConfig92()) {
configVersion = 93;
} else {
configVersion = 0;
return false;
}
case 93: case 93:
configVersion = -1; // Prevent loop configVersion = -1; // Prevent loop
if(relocateConfig93()) { if(relocateConfig93()) {
@@ -832,61 +808,8 @@ void AmsConfiguration::saveTempSensors() {
} }
} }
bool AmsConfiguration::relocateConfig90() {
EntsoeConfig entsoe;
EEPROM.begin(EEPROM_SIZE);
EEPROM.get(CONFIG_ENTSOE_START_90, entsoe);
EEPROM.put(CONFIG_ENTSOE_START, entsoe);
EEPROM.put(EEPROM_CONFIG_ADDRESS, 91);
bool ret = EEPROM.commit();
EEPROM.end();
return ret;
}
bool AmsConfiguration::relocateConfig91() {
WiFiConfig91 wifi91;
WiFiConfig wifi;
EEPROM.begin(EEPROM_SIZE);
EEPROM.get(CONFIG_WIFI_START_91, wifi91);
strcpy(wifi.ssid, wifi91.ssid);
strcpy(wifi.psk, wifi91.psk);
strcpy(wifi.ip, wifi91.ip);
strcpy(wifi.gateway, wifi91.gateway);
strcpy(wifi.subnet, wifi91.subnet);
strcpy(wifi.dns1, wifi91.dns1);
strcpy(wifi.dns2, wifi91.dns2);
strcpy(wifi.hostname, wifi91.hostname);
wifi.mdns = wifi91.mdns;
EEPROM.put(CONFIG_WIFI_START, wifi);
EEPROM.put(EEPROM_CONFIG_ADDRESS, 92);
bool ret = EEPROM.commit();
EEPROM.end();
return ret;
}
bool AmsConfiguration::relocateConfig92() {
WiFiConfig wifi;
EEPROM.begin(EEPROM_SIZE);
EEPROM.get(CONFIG_WIFI_START, wifi);
#if defined(ESP32)
wifi.power = 195;
#elif defined(ESP8266)
wifi.power = 205;
#endif
EEPROM.put(CONFIG_WIFI_START, wifi);
EnergyAccountingConfig eac;
clearEnergyAccountingConfig(eac);
EEPROM.put(CONFIG_ENERGYACCOUNTING_START, eac);
EEPROM.put(EEPROM_CONFIG_ADDRESS, 93);
bool ret = EEPROM.commit();
EEPROM.end();
return ret;
}
bool AmsConfiguration::relocateConfig93() { bool AmsConfiguration::relocateConfig93() {
MeterConfig meter; MeterConfig95 meter;
EEPROM.begin(EEPROM_SIZE); EEPROM.begin(EEPROM_SIZE);
EEPROM.get(CONFIG_METER_START_93, meter); EEPROM.get(CONFIG_METER_START_93, meter);
meter.wattageMultiplier = 0; meter.wattageMultiplier = 0;
@@ -913,7 +836,7 @@ bool AmsConfiguration::relocateConfig94() {
} }
bool AmsConfiguration::relocateConfig95() { bool AmsConfiguration::relocateConfig95() {
MeterConfig meter; MeterConfig95 meter;
MeterConfig95 meter95; MeterConfig95 meter95;
EEPROM.begin(EEPROM_SIZE); EEPROM.begin(EEPROM_SIZE);
EEPROM.get(CONFIG_METER_START, meter); EEPROM.get(CONFIG_METER_START, meter);
@@ -934,7 +857,7 @@ bool AmsConfiguration::relocateConfig96() {
SystemConfig sys; SystemConfig sys;
EEPROM.get(CONFIG_SYSTEM_START, sys); EEPROM.get(CONFIG_SYSTEM_START, sys);
MeterConfig meter; MeterConfig100 meter;
EEPROM.get(CONFIG_METER_START, meter); EEPROM.get(CONFIG_METER_START, meter);
meter.source = 1; // Serial meter.source = 1; // Serial
meter.parser = 0; // Auto meter.parser = 0; // Auto

View File

@@ -122,6 +122,8 @@ DSMRParser *dsmrParser = NULL;
void setup() { void setup() {
Serial.begin(115200); Serial.begin(115200);
config.hasConfig(); // Need to run this to make sure all configuration have been migrated before we load GPIO config
if(!config.getGpioConfig(gpioConfig)) { if(!config.getGpioConfig(gpioConfig)) {
config.clearGpio(gpioConfig); config.clearGpio(gpioConfig);
} }