Moved darkness debug mqtt message to lua
This commit is contained in:
@@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -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,
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user