32 lines
1.2 KiB
Rust
32 lines
1.2 KiB
Rust
//! homecore-automation — ADR-129 HOMECORE-AUTO
|
|
//!
|
|
//! Automation engine, trigger evaluator, MiniJinja template evaluator, and
|
|
//! script action executor for the HOMECORE Home Assistant port.
|
|
//!
|
|
//! ## Layout
|
|
//!
|
|
//! - [`automation`] — `Automation` struct: id, alias, mode, triggers, conditions, actions
|
|
//! - [`trigger`] — `Trigger` enum + `EvaluateTrigger` trait
|
|
//! - [`condition`] — `Condition` enum + async `evaluate` method + `EvalContext`
|
|
//! - [`action`] — `Action` enum + async `execute` method + `ExecutionContext`
|
|
//! - [`template`] — MiniJinja environment with HA-compat globals (states, state_attr, is_state, now)
|
|
//! - [`engine`] — `AutomationEngine`: subscribes to event bus, drives trigger→condition→action pipeline
|
|
//! - [`error`] — crate-wide `AutomationError`
|
|
|
|
pub mod automation;
|
|
pub mod trigger;
|
|
pub mod condition;
|
|
pub mod action;
|
|
pub mod template;
|
|
pub mod engine;
|
|
pub mod runmode;
|
|
pub mod error;
|
|
|
|
pub use automation::{Automation, RunMode};
|
|
pub use trigger::{EvaluateTrigger, Trigger, TriggerContext};
|
|
pub use condition::{Condition, EvalContext};
|
|
pub use action::{Action, ExecutionContext};
|
|
pub use template::TemplateEnvironment;
|
|
pub use engine::AutomationEngine;
|
|
pub use error::AutomationError;
|