Moved presence debug mqtt message to lua

This commit is contained in:
2025-08-31 21:58:33 +02:00
parent 1530875045
commit b56a16d0d7
2 changed files with 7 additions and 27 deletions

View File

@@ -3,11 +3,9 @@ use std::convert::Infallible;
use async_trait::async_trait;
use automation_lib::config::MqttDeviceConfig;
use automation_lib::device::{Device, LuaDeviceCreate};
use automation_lib::event::OnPresence;
use automation_lib::messages::PresenceMessage;
use automation_lib::mqtt::WrappedAsyncClient;
use automation_macro::{LuaDevice, LuaDeviceConfig};
use tracing::{trace, warn};
use tracing::trace;
#[derive(Debug, LuaDeviceConfig, Clone)]
pub struct Config {
@@ -39,27 +37,3 @@ impl Device for DebugBridge {
self.config.identifier.clone()
}
}
#[async_trait]
impl OnPresence for DebugBridge {
async fn on_presence(&self, presence: bool) {
let message = PresenceMessage::new(presence);
let topic = format!("{}/presence", self.config.mqtt.topic);
self.config
.client
.publish(
topic,
rumqttc::QoS::AtLeastOnce,
true,
serde_json::to_string(&message).expect("Serialization should not fail"),
)
.await
.map_err(|err| {
warn!(
"Failed to update presence on {}/presence: {err}",
self.config.mqtt.topic
)
})
.ok();
}
}