diff --git a/rust/src/config.rs b/rust/src/config.rs index f8768b4..5c4468f 100644 --- a/rust/src/config.rs +++ b/rust/src/config.rs @@ -11,6 +11,8 @@ pub struct NetworkConfig { pub password: Option>, pub mqtt_url: Option>, pub base_topic: Option>, + pub mqtt_user: Option>, + pub mqtt_password: Option>, pub max_wait: u32, } impl Default for NetworkConfig { @@ -21,6 +23,8 @@ impl Default for NetworkConfig { password: None, mqtt_url: None, base_topic: None, + mqtt_user: None, + mqtt_password: None, max_wait: 10000, } } diff --git a/rust/src/hal/esp.rs b/rust/src/hal/esp.rs index d1fc437..c22b7c4 100644 --- a/rust/src/hal/esp.rs +++ b/rust/src/hal/esp.rs @@ -430,6 +430,8 @@ impl Esp<'_> { }), client_id: Some("plantctrl"), keep_alive_interval: Some(Duration::from_secs(60 * 60 * 2)), + username: network_config.mqtt_user.as_ref().map(|v| &**v), + password: network_config.mqtt_password.as_ref().map(|v| &**v), //room for improvement ..Default::default() };