v0.9.0
This commit is contained in:
1 parent
e496f911da
commit
7e0160834d
32 files changed
+486
-67
No files matched your search
@@ -9,6 +9,7 @@ fn default_external_sensor_weight() -> f64 { 0.4 }
|
||||
fn default_max_sensor_difference() -> f64 { 3.0 }
|
||||
fn default_control_temperature_source() -> String { "device".into() }
|
||||
fn default_min_cycle() -> u64 { 180 }
|
||||
fn default_compressor_protection_seconds() -> u64 { 180 }
|
||||
fn default_sensor_stale_after() -> u64 { 300 }
|
||||
fn default_cooldown() -> u64 { 300 }
|
||||
fn default_house_mode() -> String { "cool".into() }
|
||||
|
||||
@@ -28,6 +28,13 @@ pub struct RuntimeSettings {
|
||||
/// Add protocol-specific buzzer suppression fields to command frames.
|
||||
#[serde(default)]
|
||||
pub suppress_device_beep: bool,
|
||||
/// Global thermostat compressor protection. When enabled, automatic starts and
|
||||
/// Heat/Cool reversals are delayed instead of being sent during the protection window.
|
||||
#[serde(default = "default_true")]
|
||||
pub compressor_protection_enabled: bool,
|
||||
/// Global compressor protection window in seconds. The UI exposes this as minutes.
|
||||
#[serde(default = "default_compressor_protection_seconds")]
|
||||
pub compressor_protection_seconds: u64,
|
||||
#[serde(default)]
|
||||
pub influxdb: InfluxDbSettings,
|
||||
#[serde(default)]
|
||||
|
||||
@@ -142,6 +142,18 @@ pub struct Zone {
|
||||
pub lockout_until: Option<DateTime<Utc>>,
|
||||
#[serde(default)]
|
||||
pub lockout_reason: Option<String>,
|
||||
/// Human/API-visible compressor-protection task waiting for its safe execution window.
|
||||
/// Values are stable identifiers such as `power_on:cool:23.0` or `mode_change:heat:21.0`.
|
||||
#[serde(default)]
|
||||
pub compressor_pending_action: Option<String>,
|
||||
#[serde(default)]
|
||||
pub compressor_pending_since: Option<DateTime<Utc>>,
|
||||
#[serde(default)]
|
||||
pub compressor_pending_until: Option<DateTime<Utc>>,
|
||||
/// The last explicitly cancelled pending action. The same thermostat intent is suppressed
|
||||
/// until a new control request changes/re-arms it; this prevents an immediate re-queue.
|
||||
#[serde(default)]
|
||||
pub compressor_cancelled_action: Option<String>,
|
||||
#[serde(default)]
|
||||
pub effective_mode: String,
|
||||
#[serde(default)]
|
||||
|
||||
Reference in new issue
Block a user