Delete relay energy information

This commit is contained in:
2024-09-17 22:42:24 +02:00
parent 565db05fb0
commit 92878e6548
4 changed files with 27 additions and 6 deletions

View File

@ -157,8 +157,19 @@ impl Handler<DeleteDevice> for EnergyActor {
fn handle(&mut self, msg: DeleteDevice, _ctx: &mut Context<Self>) -> Self::Result {
log::info!("Requested to delete device {:?}...", &msg.0);
let Some(device) = self.devices.get_single(&msg.0) else {
log::warn!("Requested to delete non-existent device!");
return Ok(());
};
// Delete device relays
for relay in device.relays {
self.devices.relay_delete(relay.id)?;
}
self.devices.delete(&msg.0)?;
// TODO : delete energy related information
Ok(())
}
}

View File

@ -26,7 +26,7 @@ impl RelayStateHistory {
/// Open relay state history file, if it exists, or create an empty one
pub fn open(id: DeviceRelayID, time: u64) -> anyhow::Result<Self> {
let day = day_number(time);
let path = AppConfig::get().relay_runtime_file_path(id, day);
let path = AppConfig::get().relay_runtime_day_file_path(id, day);
if path.exists() {
Ok(Self {
@ -86,7 +86,7 @@ impl RelayStateHistory {
/// Persist device relay state history
pub fn save(&self) -> anyhow::Result<()> {
let path = AppConfig::get().relay_runtime_file_path(self.id, self.day);
let path = AppConfig::get().relay_runtime_day_file_path(self.id, self.day);
files_utils::create_directory_if_missing(path.parent().unwrap())?;
std::fs::write(path, &self.buff)?;
Ok(())