Delete relay energy information
This commit is contained in:
@ -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(())
|
||||
}
|
||||
}
|
||||
|
@ -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(())
|
||||
|
Reference in New Issue
Block a user