This commit is contained in:
Mateusz Gruszczyński
2026-08-27 16:38:51 +02:00
parent 7102d05cb3
commit ba61cb77b1
19 changed files with 406 additions and 109 deletions
+11
View File
@@ -345,6 +345,10 @@ pub struct Zone {
pub manual_setpoint: Option<f64>,
#[serde(default)]
pub manual_override_until: Option<DateTime<Utc>>,
/// Local quick-thermostat power override. None follows group/global power gates;
/// Some(true) runs this zone locally through the full thermostat; Some(false) keeps it locally off.
#[serde(default)]
pub local_thermostat_power: Option<bool>,
/// True when the physical unit was changed outside the thermostat engine (for example by IR remote).
/// While active, normal zone/group/schedule automation observes the unit but does not overwrite it.
#[serde(default)]
@@ -409,6 +413,9 @@ pub struct GroupControlPatch {
pub struct ZoneControlPatch {
#[serde(default)]
pub setpoint: Option<f64>,
/// Local quick-thermostat power. This is thermostat ownership, not direct device/pilot control.
#[serde(default)]
pub power: Option<bool>,
#[serde(default)]
pub mode: Option<String>,
#[serde(default)]
@@ -421,6 +428,9 @@ pub struct ZoneControlPatch {
/// Explicitly hand control of a manually overridden physical unit back to the thermostat engine.
#[serde(default)]
pub clear_device_manual_override: Option<bool>,
/// Return a locally forced quick thermostat to normal group/schedule ownership.
#[serde(default)]
pub clear_local_thermostat_override: Option<bool>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
@@ -727,6 +737,7 @@ pub struct ZoneControlPlan {
pub demand: bool,
pub control_source: String,
pub manual_override_until: Option<DateTime<Utc>>,
pub local_thermostat_power: Option<bool>,
pub device_manual_override: bool,
pub device_manual_override_until: Option<DateTime<Utc>>,
pub current_schedule_id: Option<String>,