Update all fields of ini configuration

This commit is contained in:
Ollo 2025-04-23 20:46:15 +02:00
parent cef76ad9aa
commit 2fcf37bfdc
2 changed files with 13 additions and 12 deletions

View File

@ -47,11 +47,7 @@ impl Config {
// Function to read the INI file // Function to read the INI file
pub fn read_ini_file(filename: String) -> Config { pub fn read_ini_file(filename: String) -> Config {
let mut config = Config { mqttPrefix: "room/ledboard".to_string(), let mut config = Config::newDefault();
mqttIPAddress: String::new(),
panelIPAddress: String::new(),
refreshInterval: DEFAULT_REFRESH_INTERVAL
};
let i = Ini::load_from_file(filename).unwrap(); let i = Ini::load_from_file(filename).unwrap();
for (sec, prop) in i.iter() { for (sec, prop) in i.iter() {

View File

@ -453,22 +453,27 @@ fn main_function(parameter1: String, parameter2: Option<String>) -> ExitCode {
let configOrMqttAddress: String = parameter2.unwrap(); let configOrMqttAddress: String = parameter2.unwrap();
if Path::new(&configOrMqttAddress).exists() if Path::new(&configOrMqttAddress).exists()
{ {
let c:Config = read_ini_file(configOrMqttAddress);
//FIMXE update configuration
let mut gc = GlobalConfiguration.lock().unwrap(); let mut gc = GlobalConfiguration.lock().unwrap();
println!("Global: {:?} ", &c.panelIPAddress); let c = read_ini_file(configOrMqttAddress);
//update configuration
gc.mqttIPAddress = c.mqttIPAddress;
gc.panelIPAddress = c.panelIPAddress; gc.panelIPAddress = c.panelIPAddress;
gc.mqttPrefix = c.mqttPrefix;
println!("Read INI {:} @ {:}", gc.mqttPrefix, gc.mqttIPAddress);
} }
else else
{ {
/* Panel and MQTT Configured*/ /* Panel and MQTT Configured*/
println!("INI file not found");
return ExitCode::FAILURE;
} }
} }
else else
{ {
let mut gc = GlobalConfiguration.lock().unwrap();
gc.panelIPAddress = parameter1;
gc.mqttIPAddress = parameter2.unwrap();
} }
let mut device_online = false; let mut device_online = false;