feat: publish current config to MQTT
This commit is contained in:
@@ -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_firmware_info(&mut board, version, ip_address, &timezone_time.to_rfc3339()).await;
|
||||||
publish_battery_state(&mut board).await;
|
publish_battery_state(&mut board).await;
|
||||||
let _ = publish_mppt_state(&mut board).await;
|
let _ = publish_mppt_state(&mut board).await;
|
||||||
|
publish_config(&mut board).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
log(
|
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(
|
async fn wait_infinity(
|
||||||
board: MutexGuard<'_, CriticalSectionRawMutex, HAL<'static>>,
|
board: MutexGuard<'_, CriticalSectionRawMutex, HAL<'static>>,
|
||||||
wait_type: WaitType,
|
wait_type: WaitType,
|
||||||
|
|||||||
Reference in New Issue
Block a user