Record received consumption from inverter
This commit is contained in:
@ -7,6 +7,7 @@ use crate::devices::devices_list::DevicesList;
|
||||
use crate::energy::consumption;
|
||||
use crate::energy::consumption::EnergyConsumption;
|
||||
use crate::energy::consumption_cache::ConsumptionCache;
|
||||
use crate::energy::consumption_history_file::ConsumptionHistoryFile;
|
||||
use crate::energy::engine::EnergyEngine;
|
||||
use crate::utils::time_utils::time_secs;
|
||||
use actix::prelude::*;
|
||||
@ -42,17 +43,19 @@ impl EnergyActor {
|
||||
|
||||
async fn refresh(&mut self) -> anyhow::Result<()> {
|
||||
// Refresh energy
|
||||
self.consumption_cache
|
||||
.add_value(
|
||||
consumption::get_curr_consumption()
|
||||
.await
|
||||
.unwrap_or_else(|e| {
|
||||
log::error!(
|
||||
let latest_consumption = consumption::get_curr_consumption()
|
||||
.await
|
||||
.unwrap_or_else(|e| {
|
||||
log::error!(
|
||||
"Failed to fetch latest consumption value, will use fallback value! {e}"
|
||||
);
|
||||
constants::FALLBACK_PRODUCTION_VALUE
|
||||
}),
|
||||
);
|
||||
constants::FALLBACK_PRODUCTION_VALUE
|
||||
});
|
||||
self.consumption_cache.add_value(latest_consumption);
|
||||
|
||||
let mut history = ConsumptionHistoryFile::open(time_secs())?;
|
||||
history.set_consumption(time_secs(), latest_consumption)?;
|
||||
history.save()?;
|
||||
|
||||
if self.last_engine_refresh + AppConfig::get().refresh_interval > time_secs() {
|
||||
return Ok(());
|
||||
|
Reference in New Issue
Block a user