pub struct HomeAssistantActuatorAgent { /* private fields */ }Expand description
Reactive actuator that subscribes to MQTT topics and calls HA services.
Not protected — can be stopped by external commands, matching the Python implementation where each actuator is tied to one automation rule.
Implementations§
Source§impl HomeAssistantActuatorAgent
impl HomeAssistantActuatorAgent
Sourcepub fn new(config: ActorConfig) -> Self
pub fn new(config: ActorConfig) -> Self
Create a new HomeAssistantActuatorAgent.
config.protected is left as provided (defaults to false).
Sourcepub fn with_publisher(self, p: EventPublisher) -> Self
pub fn with_publisher(self, p: EventPublisher) -> Self
Attach an EventPublisher for MQTT output.
Sourcepub fn with_ha_config(self, url: String, token: String) -> Self
pub fn with_ha_config(self, url: String, token: String) -> Self
Override the HA URL and token.
Trait Implementations§
Source§impl Actor for HomeAssistantActuatorAgent
impl Actor for HomeAssistantActuatorAgent
Source§fn state(&self) -> ActorState
fn state(&self) -> ActorState
Return the current lifecycle state.
Source§fn metrics(&self) -> Arc<ActorMetrics>
fn metrics(&self) -> Arc<ActorMetrics>
Return a reference to this actor’s metrics.
Source§fn is_protected(&self) -> bool
fn is_protected(&self) -> bool
Return whether this actor is protected from external kill commands.
Source§fn on_start<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn on_start<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Called once after the actor is created, before the message loop starts.
Source§fn handle_message<'life0, 'async_trait>(
&'life0 mut self,
message: Message,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle_message<'life0, 'async_trait>(
&'life0 mut self,
message: Message,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Called with each incoming message from the mailbox.
Source§fn run<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn run<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Drive the actor’s main loop. Read more
Auto Trait Implementations§
impl Freeze for HomeAssistantActuatorAgent
impl RefUnwindSafe for HomeAssistantActuatorAgent
impl Send for HomeAssistantActuatorAgent
impl Sync for HomeAssistantActuatorAgent
impl Unpin for HomeAssistantActuatorAgent
impl UnwindSafe for HomeAssistantActuatorAgent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more