Moved darkness debug mqtt message to lua

This commit is contained in:
2025-08-31 05:38:31 +02:00
parent c362952f7c
commit aa730c9738
2 changed files with 6 additions and 26 deletions

View File

@@ -3,8 +3,8 @@ use std::convert::Infallible;
use async_trait::async_trait; use async_trait::async_trait;
use automation_lib::config::MqttDeviceConfig; use automation_lib::config::MqttDeviceConfig;
use automation_lib::device::{Device, LuaDeviceCreate}; use automation_lib::device::{Device, LuaDeviceCreate};
use automation_lib::event::{OnDarkness, OnPresence}; use automation_lib::event::OnPresence;
use automation_lib::messages::{DarknessMessage, PresenceMessage}; use automation_lib::messages::PresenceMessage;
use automation_lib::mqtt::WrappedAsyncClient; use automation_lib::mqtt::WrappedAsyncClient;
use automation_macro::{LuaDevice, LuaDeviceConfig}; use automation_macro::{LuaDevice, LuaDeviceConfig};
use tracing::{trace, warn}; use tracing::{trace, warn};
@@ -63,27 +63,3 @@ impl OnPresence for DebugBridge {
.ok(); .ok();
} }
} }
#[async_trait]
impl OnDarkness for DebugBridge {
async fn on_darkness(&self, dark: bool) {
let message = DarknessMessage::new(dark);
let topic = format!("{}/darkness", self.config.mqtt.topic);
self.config
.client
.publish(
topic,
rumqttc::QoS::AtLeastOnce,
true,
serde_json::to_string(&message).unwrap(),
)
.await
.map_err(|err| {
warn!(
"Failed to update presence on {}/presence: {err}",
self.config.mqtt.topic
)
})
.ok();
}
}

View File

@@ -129,6 +129,10 @@ automation.device_manager:add(LightSensor.new({
event_channel = automation.device_manager:event_channel(), event_channel = automation.device_manager:event_channel(),
callback = function(_, light) callback = function(_, light)
hue_bridge:set_flag("darkness", not light) hue_bridge:set_flag("darkness", not light)
mqtt_client:send_message(mqtt_automation("debug") .. "/darkness", {
state = not light,
updated = automation.util.get_epoch(),
})
end, end,
})) }))