From 3c92cf0c26f053a1935f2175f359c8b146dd5cca Mon Sep 17 00:00:00 2001 From: ju6ge Date: Sun, 10 May 2026 17:25:32 +0200 Subject: [PATCH] feat: publish current config to MQTT --- rust/src/main.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/rust/src/main.rs b/rust/src/main.rs index 92b21c2..0c1af40 100644 --- a/rust/src/main.rs +++ b/rust/src/main.rs @@ -268,6 +268,7 @@ async fn safe_main(spawner: Spawner) -> FatResult<()> { publish_firmware_info(&mut board, version, ip_address, &timezone_time.to_rfc3339()).await; publish_battery_state(&mut board).await; let _ = publish_mppt_state(&mut board).await; + publish_config(&mut board).await; } log( @@ -804,6 +805,21 @@ async fn publish_battery_state( } } +async fn publish_config( + board: &mut MutexGuard<'_, CriticalSectionRawMutex, HAL<'_>>, +) { + let config = board.board_hal.get_config(); + match serde_json::to_string(&config) { + Ok(serialized) => { + let _ = mqtt::publish("/config", &serialized).await; + } + Err(err) => { + info!("Error serializing config: {}", err); + } + } +} + + async fn wait_infinity( board: MutexGuard<'_, CriticalSectionRawMutex, HAL<'static>>, wait_type: WaitType,