mirror of
https://github.com/tbnobody/OpenDTU.git
synced 2026-01-04 11:53:39 +01:00
Split config struct into different sub structs
This commit is contained in:
@@ -21,87 +21,87 @@ bool ConfigurationClass::write()
|
||||
if (!f) {
|
||||
return false;
|
||||
}
|
||||
config.Cfg_SaveCount++;
|
||||
config.Cfg.SaveCount++;
|
||||
|
||||
DynamicJsonDocument doc(JSON_BUFFER_SIZE);
|
||||
|
||||
JsonObject cfg = doc.createNestedObject("cfg");
|
||||
cfg["version"] = config.Cfg_Version;
|
||||
cfg["save_count"] = config.Cfg_SaveCount;
|
||||
cfg["version"] = config.Cfg.Version;
|
||||
cfg["save_count"] = config.Cfg.SaveCount;
|
||||
|
||||
JsonObject wifi = doc.createNestedObject("wifi");
|
||||
wifi["ssid"] = config.WiFi_Ssid;
|
||||
wifi["password"] = config.WiFi_Password;
|
||||
wifi["ip"] = IPAddress(config.WiFi_Ip).toString();
|
||||
wifi["netmask"] = IPAddress(config.WiFi_Netmask).toString();
|
||||
wifi["gateway"] = IPAddress(config.WiFi_Gateway).toString();
|
||||
wifi["dns1"] = IPAddress(config.WiFi_Dns1).toString();
|
||||
wifi["dns2"] = IPAddress(config.WiFi_Dns2).toString();
|
||||
wifi["dhcp"] = config.WiFi_Dhcp;
|
||||
wifi["hostname"] = config.WiFi_Hostname;
|
||||
wifi["aptimeout"] = config.WiFi_ApTimeout;
|
||||
wifi["ssid"] = config.WiFi.Ssid;
|
||||
wifi["password"] = config.WiFi.Password;
|
||||
wifi["ip"] = IPAddress(config.WiFi.Ip).toString();
|
||||
wifi["netmask"] = IPAddress(config.WiFi.Netmask).toString();
|
||||
wifi["gateway"] = IPAddress(config.WiFi.Gateway).toString();
|
||||
wifi["dns1"] = IPAddress(config.WiFi.Dns1).toString();
|
||||
wifi["dns2"] = IPAddress(config.WiFi.Dns2).toString();
|
||||
wifi["dhcp"] = config.WiFi.Dhcp;
|
||||
wifi["hostname"] = config.WiFi.Hostname;
|
||||
wifi["aptimeout"] = config.WiFi.ApTimeout;
|
||||
|
||||
JsonObject mdns = doc.createNestedObject("mdns");
|
||||
mdns["enabled"] = config.Mdns_Enabled;
|
||||
mdns["enabled"] = config.Mdns.Enabled;
|
||||
|
||||
JsonObject ntp = doc.createNestedObject("ntp");
|
||||
ntp["server"] = config.Ntp_Server;
|
||||
ntp["timezone"] = config.Ntp_Timezone;
|
||||
ntp["timezone_descr"] = config.Ntp_TimezoneDescr;
|
||||
ntp["latitude"] = config.Ntp_Latitude;
|
||||
ntp["longitude"] = config.Ntp_Longitude;
|
||||
ntp["sunsettype"] = config.Ntp_SunsetType;
|
||||
ntp["server"] = config.Ntp.Server;
|
||||
ntp["timezone"] = config.Ntp.Timezone;
|
||||
ntp["timezone_descr"] = config.Ntp.TimezoneDescr;
|
||||
ntp["latitude"] = config.Ntp.Latitude;
|
||||
ntp["longitude"] = config.Ntp.Longitude;
|
||||
ntp["sunsettype"] = config.Ntp.SunsetType;
|
||||
|
||||
JsonObject mqtt = doc.createNestedObject("mqtt");
|
||||
mqtt["enabled"] = config.Mqtt_Enabled;
|
||||
mqtt["hostname"] = config.Mqtt_Hostname;
|
||||
mqtt["port"] = config.Mqtt_Port;
|
||||
mqtt["username"] = config.Mqtt_Username;
|
||||
mqtt["password"] = config.Mqtt_Password;
|
||||
mqtt["topic"] = config.Mqtt_Topic;
|
||||
mqtt["retain"] = config.Mqtt_Retain;
|
||||
mqtt["publish_interval"] = config.Mqtt_PublishInterval;
|
||||
mqtt["clean_session"] = config.Mqtt_CleanSession;
|
||||
mqtt["enabled"] = config.Mqtt.Enabled;
|
||||
mqtt["hostname"] = config.Mqtt.Hostname;
|
||||
mqtt["port"] = config.Mqtt.Port;
|
||||
mqtt["username"] = config.Mqtt.Username;
|
||||
mqtt["password"] = config.Mqtt.Password;
|
||||
mqtt["topic"] = config.Mqtt.Topic;
|
||||
mqtt["retain"] = config.Mqtt.Retain;
|
||||
mqtt["publish_interval"] = config.Mqtt.PublishInterval;
|
||||
mqtt["clean_session"] = config.Mqtt.CleanSession;
|
||||
|
||||
JsonObject mqtt_lwt = mqtt.createNestedObject("lwt");
|
||||
mqtt_lwt["topic"] = config.Mqtt_LwtTopic;
|
||||
mqtt_lwt["value_online"] = config.Mqtt_LwtValue_Online;
|
||||
mqtt_lwt["value_offline"] = config.Mqtt_LwtValue_Offline;
|
||||
mqtt_lwt["topic"] = config.Mqtt.Lwt.Topic;
|
||||
mqtt_lwt["value_online"] = config.Mqtt.Lwt.Value_Online;
|
||||
mqtt_lwt["value_offline"] = config.Mqtt.Lwt.Value_Offline;
|
||||
|
||||
JsonObject mqtt_tls = mqtt.createNestedObject("tls");
|
||||
mqtt_tls["enabled"] = config.Mqtt_Tls;
|
||||
mqtt_tls["root_ca_cert"] = config.Mqtt_RootCaCert;
|
||||
mqtt_tls["certlogin"] = config.Mqtt_TlsCertLogin;
|
||||
mqtt_tls["client_cert"] = config.Mqtt_ClientCert;
|
||||
mqtt_tls["client_key"] = config.Mqtt_ClientKey;
|
||||
mqtt_tls["enabled"] = config.Mqtt.Tls.Enabled;
|
||||
mqtt_tls["root_ca_cert"] = config.Mqtt.Tls.RootCaCert;
|
||||
mqtt_tls["certlogin"] = config.Mqtt.Tls.CertLogin;
|
||||
mqtt_tls["client_cert"] = config.Mqtt.Tls.ClientCert;
|
||||
mqtt_tls["client_key"] = config.Mqtt.Tls.ClientKey;
|
||||
|
||||
JsonObject mqtt_hass = mqtt.createNestedObject("hass");
|
||||
mqtt_hass["enabled"] = config.Mqtt_Hass_Enabled;
|
||||
mqtt_hass["retain"] = config.Mqtt_Hass_Retain;
|
||||
mqtt_hass["topic"] = config.Mqtt_Hass_Topic;
|
||||
mqtt_hass["individual_panels"] = config.Mqtt_Hass_IndividualPanels;
|
||||
mqtt_hass["expire"] = config.Mqtt_Hass_Expire;
|
||||
mqtt_hass["enabled"] = config.Mqtt.Hass.Enabled;
|
||||
mqtt_hass["retain"] = config.Mqtt.Hass.Retain;
|
||||
mqtt_hass["topic"] = config.Mqtt.Hass.Topic;
|
||||
mqtt_hass["individual_panels"] = config.Mqtt.Hass.IndividualPanels;
|
||||
mqtt_hass["expire"] = config.Mqtt.Hass.Expire;
|
||||
|
||||
JsonObject dtu = doc.createNestedObject("dtu");
|
||||
dtu["serial"] = config.Dtu_Serial;
|
||||
dtu["poll_interval"] = config.Dtu_PollInterval;
|
||||
dtu["nrf_pa_level"] = config.Dtu_NrfPaLevel;
|
||||
dtu["cmt_pa_level"] = config.Dtu_CmtPaLevel;
|
||||
dtu["cmt_frequency"] = config.Dtu_CmtFrequency;
|
||||
dtu["serial"] = config.Dtu.Serial;
|
||||
dtu["poll_interval"] = config.Dtu.PollInterval;
|
||||
dtu["nrf_pa_level"] = config.Dtu.Nrf.PaLevel;
|
||||
dtu["cmt_pa_level"] = config.Dtu.Cmt.PaLevel;
|
||||
dtu["cmt_frequency"] = config.Dtu.Cmt.Frequency;
|
||||
|
||||
JsonObject security = doc.createNestedObject("security");
|
||||
security["password"] = config.Security_Password;
|
||||
security["allow_readonly"] = config.Security_AllowReadonly;
|
||||
security["password"] = config.Security.Password;
|
||||
security["allow_readonly"] = config.Security.AllowReadonly;
|
||||
|
||||
JsonObject device = doc.createNestedObject("device");
|
||||
device["pinmapping"] = config.Dev_PinMapping;
|
||||
|
||||
JsonObject display = device.createNestedObject("display");
|
||||
display["powersafe"] = config.Display_PowerSafe;
|
||||
display["screensaver"] = config.Display_ScreenSaver;
|
||||
display["rotation"] = config.Display_Rotation;
|
||||
display["contrast"] = config.Display_Contrast;
|
||||
display["language"] = config.Display_Language;
|
||||
display["powersafe"] = config.Display.PowerSafe;
|
||||
display["screensaver"] = config.Display.ScreenSaver;
|
||||
display["rotation"] = config.Display.Rotation;
|
||||
display["contrast"] = config.Display.Contrast;
|
||||
display["language"] = config.Display.Language;
|
||||
|
||||
JsonArray inverters = doc.createNestedArray("inverters");
|
||||
for (uint8_t i = 0; i < INV_MAX_COUNT; i++) {
|
||||
@@ -148,113 +148,113 @@ bool ConfigurationClass::read()
|
||||
}
|
||||
|
||||
JsonObject cfg = doc["cfg"];
|
||||
config.Cfg_Version = cfg["version"] | CONFIG_VERSION;
|
||||
config.Cfg_SaveCount = cfg["save_count"] | 0;
|
||||
config.Cfg.Version = cfg["version"] | CONFIG_VERSION;
|
||||
config.Cfg.SaveCount = cfg["save_count"] | 0;
|
||||
|
||||
JsonObject wifi = doc["wifi"];
|
||||
strlcpy(config.WiFi_Ssid, wifi["ssid"] | WIFI_SSID, sizeof(config.WiFi_Ssid));
|
||||
strlcpy(config.WiFi_Password, wifi["password"] | WIFI_PASSWORD, sizeof(config.WiFi_Password));
|
||||
strlcpy(config.WiFi_Hostname, wifi["hostname"] | APP_HOSTNAME, sizeof(config.WiFi_Hostname));
|
||||
strlcpy(config.WiFi.Ssid, wifi["ssid"] | WIFI_SSID, sizeof(config.WiFi.Ssid));
|
||||
strlcpy(config.WiFi.Password, wifi["password"] | WIFI_PASSWORD, sizeof(config.WiFi.Password));
|
||||
strlcpy(config.WiFi.Hostname, wifi["hostname"] | APP_HOSTNAME, sizeof(config.WiFi.Hostname));
|
||||
|
||||
IPAddress wifi_ip;
|
||||
wifi_ip.fromString(wifi["ip"] | "");
|
||||
config.WiFi_Ip[0] = wifi_ip[0];
|
||||
config.WiFi_Ip[1] = wifi_ip[1];
|
||||
config.WiFi_Ip[2] = wifi_ip[2];
|
||||
config.WiFi_Ip[3] = wifi_ip[3];
|
||||
config.WiFi.Ip[0] = wifi_ip[0];
|
||||
config.WiFi.Ip[1] = wifi_ip[1];
|
||||
config.WiFi.Ip[2] = wifi_ip[2];
|
||||
config.WiFi.Ip[3] = wifi_ip[3];
|
||||
|
||||
IPAddress wifi_netmask;
|
||||
wifi_netmask.fromString(wifi["netmask"] | "");
|
||||
config.WiFi_Netmask[0] = wifi_netmask[0];
|
||||
config.WiFi_Netmask[1] = wifi_netmask[1];
|
||||
config.WiFi_Netmask[2] = wifi_netmask[2];
|
||||
config.WiFi_Netmask[3] = wifi_netmask[3];
|
||||
config.WiFi.Netmask[0] = wifi_netmask[0];
|
||||
config.WiFi.Netmask[1] = wifi_netmask[1];
|
||||
config.WiFi.Netmask[2] = wifi_netmask[2];
|
||||
config.WiFi.Netmask[3] = wifi_netmask[3];
|
||||
|
||||
IPAddress wifi_gateway;
|
||||
wifi_gateway.fromString(wifi["gateway"] | "");
|
||||
config.WiFi_Gateway[0] = wifi_gateway[0];
|
||||
config.WiFi_Gateway[1] = wifi_gateway[1];
|
||||
config.WiFi_Gateway[2] = wifi_gateway[2];
|
||||
config.WiFi_Gateway[3] = wifi_gateway[3];
|
||||
config.WiFi.Gateway[0] = wifi_gateway[0];
|
||||
config.WiFi.Gateway[1] = wifi_gateway[1];
|
||||
config.WiFi.Gateway[2] = wifi_gateway[2];
|
||||
config.WiFi.Gateway[3] = wifi_gateway[3];
|
||||
|
||||
IPAddress wifi_dns1;
|
||||
wifi_dns1.fromString(wifi["dns1"] | "");
|
||||
config.WiFi_Dns1[0] = wifi_dns1[0];
|
||||
config.WiFi_Dns1[1] = wifi_dns1[1];
|
||||
config.WiFi_Dns1[2] = wifi_dns1[2];
|
||||
config.WiFi_Dns1[3] = wifi_dns1[3];
|
||||
config.WiFi.Dns1[0] = wifi_dns1[0];
|
||||
config.WiFi.Dns1[1] = wifi_dns1[1];
|
||||
config.WiFi.Dns1[2] = wifi_dns1[2];
|
||||
config.WiFi.Dns1[3] = wifi_dns1[3];
|
||||
|
||||
IPAddress wifi_dns2;
|
||||
wifi_dns2.fromString(wifi["dns2"] | "");
|
||||
config.WiFi_Dns2[0] = wifi_dns2[0];
|
||||
config.WiFi_Dns2[1] = wifi_dns2[1];
|
||||
config.WiFi_Dns2[2] = wifi_dns2[2];
|
||||
config.WiFi_Dns2[3] = wifi_dns2[3];
|
||||
config.WiFi.Dns2[0] = wifi_dns2[0];
|
||||
config.WiFi.Dns2[1] = wifi_dns2[1];
|
||||
config.WiFi.Dns2[2] = wifi_dns2[2];
|
||||
config.WiFi.Dns2[3] = wifi_dns2[3];
|
||||
|
||||
config.WiFi_Dhcp = wifi["dhcp"] | WIFI_DHCP;
|
||||
config.WiFi_ApTimeout = wifi["aptimeout"] | ACCESS_POINT_TIMEOUT;
|
||||
config.WiFi.Dhcp = wifi["dhcp"] | WIFI_DHCP;
|
||||
config.WiFi.ApTimeout = wifi["aptimeout"] | ACCESS_POINT_TIMEOUT;
|
||||
|
||||
JsonObject mdns = doc["mdns"];
|
||||
config.Mdns_Enabled = mdns["enabled"] | MDNS_ENABLED;
|
||||
config.Mdns.Enabled = mdns["enabled"] | MDNS_ENABLED;
|
||||
|
||||
JsonObject ntp = doc["ntp"];
|
||||
strlcpy(config.Ntp_Server, ntp["server"] | NTP_SERVER, sizeof(config.Ntp_Server));
|
||||
strlcpy(config.Ntp_Timezone, ntp["timezone"] | NTP_TIMEZONE, sizeof(config.Ntp_Timezone));
|
||||
strlcpy(config.Ntp_TimezoneDescr, ntp["timezone_descr"] | NTP_TIMEZONEDESCR, sizeof(config.Ntp_TimezoneDescr));
|
||||
config.Ntp_Latitude = ntp["latitude"] | NTP_LATITUDE;
|
||||
config.Ntp_Longitude = ntp["longitude"] | NTP_LONGITUDE;
|
||||
config.Ntp_SunsetType = ntp["sunsettype"] | NTP_SUNSETTYPE;
|
||||
strlcpy(config.Ntp.Server, ntp["server"] | NTP_SERVER, sizeof(config.Ntp.Server));
|
||||
strlcpy(config.Ntp.Timezone, ntp["timezone"] | NTP_TIMEZONE, sizeof(config.Ntp.Timezone));
|
||||
strlcpy(config.Ntp.TimezoneDescr, ntp["timezone_descr"] | NTP_TIMEZONEDESCR, sizeof(config.Ntp.TimezoneDescr));
|
||||
config.Ntp.Latitude = ntp["latitude"] | NTP_LATITUDE;
|
||||
config.Ntp.Longitude = ntp["longitude"] | NTP_LONGITUDE;
|
||||
config.Ntp.SunsetType = ntp["sunsettype"] | NTP_SUNSETTYPE;
|
||||
|
||||
JsonObject mqtt = doc["mqtt"];
|
||||
config.Mqtt_Enabled = mqtt["enabled"] | MQTT_ENABLED;
|
||||
strlcpy(config.Mqtt_Hostname, mqtt["hostname"] | MQTT_HOST, sizeof(config.Mqtt_Hostname));
|
||||
config.Mqtt_Port = mqtt["port"] | MQTT_PORT;
|
||||
strlcpy(config.Mqtt_Username, mqtt["username"] | MQTT_USER, sizeof(config.Mqtt_Username));
|
||||
strlcpy(config.Mqtt_Password, mqtt["password"] | MQTT_PASSWORD, sizeof(config.Mqtt_Password));
|
||||
strlcpy(config.Mqtt_Topic, mqtt["topic"] | MQTT_TOPIC, sizeof(config.Mqtt_Topic));
|
||||
config.Mqtt_Retain = mqtt["retain"] | MQTT_RETAIN;
|
||||
config.Mqtt_PublishInterval = mqtt["publish_interval"] | MQTT_PUBLISH_INTERVAL;
|
||||
config.Mqtt_CleanSession = mqtt["clean_session"] | MQTT_CLEAN_SESSION;
|
||||
config.Mqtt.Enabled = mqtt["enabled"] | MQTT_ENABLED;
|
||||
strlcpy(config.Mqtt.Hostname, mqtt["hostname"] | MQTT_HOST, sizeof(config.Mqtt.Hostname));
|
||||
config.Mqtt.Port = mqtt["port"] | MQTT_PORT;
|
||||
strlcpy(config.Mqtt.Username, mqtt["username"] | MQTT_USER, sizeof(config.Mqtt.Username));
|
||||
strlcpy(config.Mqtt.Password, mqtt["password"] | MQTT_PASSWORD, sizeof(config.Mqtt.Password));
|
||||
strlcpy(config.Mqtt.Topic, mqtt["topic"] | MQTT_TOPIC, sizeof(config.Mqtt.Topic));
|
||||
config.Mqtt.Retain = mqtt["retain"] | MQTT_RETAIN;
|
||||
config.Mqtt.PublishInterval = mqtt["publish_interval"] | MQTT_PUBLISH_INTERVAL;
|
||||
config.Mqtt.CleanSession = mqtt["clean_session"] | MQTT_CLEAN_SESSION;
|
||||
|
||||
JsonObject mqtt_lwt = mqtt["lwt"];
|
||||
strlcpy(config.Mqtt_LwtTopic, mqtt_lwt["topic"] | MQTT_LWT_TOPIC, sizeof(config.Mqtt_LwtTopic));
|
||||
strlcpy(config.Mqtt_LwtValue_Online, mqtt_lwt["value_online"] | MQTT_LWT_ONLINE, sizeof(config.Mqtt_LwtValue_Online));
|
||||
strlcpy(config.Mqtt_LwtValue_Offline, mqtt_lwt["value_offline"] | MQTT_LWT_OFFLINE, sizeof(config.Mqtt_LwtValue_Offline));
|
||||
strlcpy(config.Mqtt.Lwt.Topic, mqtt_lwt["topic"] | MQTT_LWT_TOPIC, sizeof(config.Mqtt.Lwt.Topic));
|
||||
strlcpy(config.Mqtt.Lwt.Value_Online, mqtt_lwt["value_online"] | MQTT_LWT_ONLINE, sizeof(config.Mqtt.Lwt.Value_Online));
|
||||
strlcpy(config.Mqtt.Lwt.Value_Offline, mqtt_lwt["value_offline"] | MQTT_LWT_OFFLINE, sizeof(config.Mqtt.Lwt.Value_Offline));
|
||||
|
||||
JsonObject mqtt_tls = mqtt["tls"];
|
||||
config.Mqtt_Tls = mqtt_tls["enabled"] | MQTT_TLS;
|
||||
strlcpy(config.Mqtt_RootCaCert, mqtt_tls["root_ca_cert"] | MQTT_ROOT_CA_CERT, sizeof(config.Mqtt_RootCaCert));
|
||||
config.Mqtt_TlsCertLogin = mqtt_tls["certlogin"] | MQTT_TLSCERTLOGIN;
|
||||
strlcpy(config.Mqtt_ClientCert, mqtt_tls["client_cert"] | MQTT_TLSCLIENTCERT, sizeof(config.Mqtt_ClientCert));
|
||||
strlcpy(config.Mqtt_ClientKey, mqtt_tls["client_key"] | MQTT_TLSCLIENTKEY, sizeof(config.Mqtt_ClientKey));
|
||||
config.Mqtt.Tls.Enabled = mqtt_tls["enabled"] | MQTT_TLS;
|
||||
strlcpy(config.Mqtt.Tls.RootCaCert, mqtt_tls["root_ca_cert"] | MQTT_ROOT_CA_CERT, sizeof(config.Mqtt.Tls.RootCaCert));
|
||||
config.Mqtt.Tls.CertLogin = mqtt_tls["certlogin"] | MQTT_TLSCERTLOGIN;
|
||||
strlcpy(config.Mqtt.Tls.ClientCert, mqtt_tls["client_cert"] | MQTT_TLSCLIENTCERT, sizeof(config.Mqtt.Tls.ClientCert));
|
||||
strlcpy(config.Mqtt.Tls.ClientKey, mqtt_tls["client_key"] | MQTT_TLSCLIENTKEY, sizeof(config.Mqtt.Tls.ClientKey));
|
||||
|
||||
JsonObject mqtt_hass = mqtt["hass"];
|
||||
config.Mqtt_Hass_Enabled = mqtt_hass["enabled"] | MQTT_HASS_ENABLED;
|
||||
config.Mqtt_Hass_Retain = mqtt_hass["retain"] | MQTT_HASS_RETAIN;
|
||||
config.Mqtt_Hass_Expire = mqtt_hass["expire"] | MQTT_HASS_EXPIRE;
|
||||
config.Mqtt_Hass_IndividualPanels = mqtt_hass["individual_panels"] | MQTT_HASS_INDIVIDUALPANELS;
|
||||
strlcpy(config.Mqtt_Hass_Topic, mqtt_hass["topic"] | MQTT_HASS_TOPIC, sizeof(config.Mqtt_Hass_Topic));
|
||||
config.Mqtt.Hass.Enabled = mqtt_hass["enabled"] | MQTT_HASS_ENABLED;
|
||||
config.Mqtt.Hass.Retain = mqtt_hass["retain"] | MQTT_HASS_RETAIN;
|
||||
config.Mqtt.Hass.Expire = mqtt_hass["expire"] | MQTT_HASS_EXPIRE;
|
||||
config.Mqtt.Hass.IndividualPanels = mqtt_hass["individual_panels"] | MQTT_HASS_INDIVIDUALPANELS;
|
||||
strlcpy(config.Mqtt.Hass.Topic, mqtt_hass["topic"] | MQTT_HASS_TOPIC, sizeof(config.Mqtt.Hass.Topic));
|
||||
|
||||
JsonObject dtu = doc["dtu"];
|
||||
config.Dtu_Serial = dtu["serial"] | DTU_SERIAL;
|
||||
config.Dtu_PollInterval = dtu["poll_interval"] | DTU_POLL_INTERVAL;
|
||||
config.Dtu_NrfPaLevel = dtu["nrf_pa_level"] | DTU_NRF_PA_LEVEL;
|
||||
config.Dtu_CmtPaLevel = dtu["cmt_pa_level"] | DTU_CMT_PA_LEVEL;
|
||||
config.Dtu_CmtFrequency = dtu["cmt_frequency"] | DTU_CMT_FREQUENCY;
|
||||
config.Dtu.Serial = dtu["serial"] | DTU_SERIAL;
|
||||
config.Dtu.PollInterval = dtu["poll_interval"] | DTU_POLL_INTERVAL;
|
||||
config.Dtu.Nrf.PaLevel = dtu["nrf_pa_level"] | DTU_NRF_PA_LEVEL;
|
||||
config.Dtu.Cmt.PaLevel = dtu["cmt_pa_level"] | DTU_CMT_PA_LEVEL;
|
||||
config.Dtu.Cmt.Frequency = dtu["cmt_frequency"] | DTU_CMT_FREQUENCY;
|
||||
|
||||
JsonObject security = doc["security"];
|
||||
strlcpy(config.Security_Password, security["password"] | ACCESS_POINT_PASSWORD, sizeof(config.Security_Password));
|
||||
config.Security_AllowReadonly = security["allow_readonly"] | SECURITY_ALLOW_READONLY;
|
||||
strlcpy(config.Security.Password, security["password"] | ACCESS_POINT_PASSWORD, sizeof(config.Security.Password));
|
||||
config.Security.AllowReadonly = security["allow_readonly"] | SECURITY_ALLOW_READONLY;
|
||||
|
||||
JsonObject device = doc["device"];
|
||||
strlcpy(config.Dev_PinMapping, device["pinmapping"] | DEV_PINMAPPING, sizeof(config.Dev_PinMapping));
|
||||
|
||||
JsonObject display = device["display"];
|
||||
config.Display_PowerSafe = display["powersafe"] | DISPLAY_POWERSAFE;
|
||||
config.Display_ScreenSaver = display["screensaver"] | DISPLAY_SCREENSAVER;
|
||||
config.Display_Rotation = display["rotation"] | DISPLAY_ROTATION;
|
||||
config.Display_Contrast = display["contrast"] | DISPLAY_CONTRAST;
|
||||
config.Display_Language = display["language"] | DISPLAY_LANGUAGE;
|
||||
config.Display.PowerSafe = display["powersafe"] | DISPLAY_POWERSAFE;
|
||||
config.Display.ScreenSaver = display["screensaver"] | DISPLAY_SCREENSAVER;
|
||||
config.Display.Rotation = display["rotation"] | DISPLAY_ROTATION;
|
||||
config.Display.Contrast = display["contrast"] | DISPLAY_CONTRAST;
|
||||
config.Display.Language = display["language"] | DISPLAY_LANGUAGE;
|
||||
|
||||
JsonArray inverters = doc["inverters"];
|
||||
for (uint8_t i = 0; i < INV_MAX_COUNT; i++) {
|
||||
@@ -299,7 +299,7 @@ void ConfigurationClass::migrate()
|
||||
return;
|
||||
}
|
||||
|
||||
if (config.Cfg_Version < 0x00011700) {
|
||||
if (config.Cfg.Version < 0x00011700) {
|
||||
JsonArray inverters = doc["inverters"];
|
||||
for (uint8_t i = 0; i < INV_MAX_COUNT; i++) {
|
||||
JsonObject inv = inverters[i].as<JsonObject>();
|
||||
@@ -311,19 +311,19 @@ void ConfigurationClass::migrate()
|
||||
}
|
||||
}
|
||||
|
||||
if (config.Cfg_Version < 0x00011800) {
|
||||
if (config.Cfg.Version < 0x00011800) {
|
||||
JsonObject mqtt = doc["mqtt"];
|
||||
config.Mqtt_PublishInterval = mqtt["publish_invterval"];
|
||||
config.Mqtt.PublishInterval = mqtt["publish_invterval"];
|
||||
}
|
||||
|
||||
if (config.Cfg_Version < 0x00011900) {
|
||||
if (config.Cfg.Version < 0x00011900) {
|
||||
JsonObject dtu = doc["dtu"];
|
||||
config.Dtu_NrfPaLevel = dtu["pa_level"];
|
||||
config.Dtu.Nrf.PaLevel = dtu["pa_level"];
|
||||
}
|
||||
|
||||
f.close();
|
||||
|
||||
config.Cfg_Version = CONFIG_VERSION;
|
||||
config.Cfg.Version = CONFIG_VERSION;
|
||||
write();
|
||||
read();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user