This commit is contained in:
Mateusz Gruszczyński
2026-09-21 22:58:30 +02:00
parent 3b969c8754
commit d80005de33
33 changed files with 722 additions and 94 deletions
+14 -3
View File
@@ -1,6 +1,8 @@
#[derive(Debug, serde::Serialize)]
struct HouseSnapshot {
mode: String,
emergency_stop_enabled: bool,
emergency_stop_since: Option<chrono::DateTime<Utc>>,
}
#[derive(Debug, serde::Serialize)]
@@ -140,9 +142,14 @@ async fn bootstrap(State(state): State<AppState>) -> Result<Json<BootstrapRespon
}
async fn build_bootstrap(state: &AppState) -> Result<BootstrapResponse, AppError> {
let (settings, house_mode) = {
let (settings, house_mode, emergency_stop_enabled, emergency_stop_since) = {
let settings = state.settings.read().await;
(settings_snapshot(&settings), settings.house_mode.clone())
(
settings_snapshot(&settings),
settings.house_mode.clone(),
settings.emergency_stop_enabled,
settings.emergency_stop_since.clone(),
)
};
let devices = state.db.list_devices()?;
let device_groups = state.db.list_device_groups()?;
@@ -166,7 +173,11 @@ async fn build_bootstrap(state: &AppState) -> Result<BootstrapResponse, AppError
flows: state.db.list_flows()?,
access_tokens: state.db.list_api_tokens()?,
settings,
house: HouseSnapshot { mode: house_mode },
house: HouseSnapshot {
mode: house_mode,
emergency_stop_enabled,
emergency_stop_since,
},
outdoor_temperature: *state.outdoor_temperature.read().await,
control_plan: control_plan.plan.as_ref().clone(),
control_plan_revision: control_plan.revision,