mirror of
https://github.com/zyphlar/LanternPowerMonitor.git
synced 2024-03-08 14:07:47 +00:00
Implement 3-phase voltage logic.
This commit is contained in:
@@ -8,6 +8,7 @@ import com.lanternsoftware.datamodel.currentmonitor.EnergyViewMode;
|
||||
import com.lanternsoftware.datamodel.currentmonitor.HubCommand;
|
||||
import com.lanternsoftware.datamodel.currentmonitor.HubPowerMinute;
|
||||
import com.lanternsoftware.datamodel.currentmonitor.archive.ArchiveStatus;
|
||||
import com.lanternsoftware.datamodel.currentmonitor.hub.HubSample;
|
||||
import com.lanternsoftware.util.DateRange;
|
||||
import com.lanternsoftware.util.dao.auth.AuthCode;
|
||||
import com.lanternsoftware.util.dao.mongo.MongoProxy;
|
||||
@@ -44,7 +45,6 @@ public interface CurrentMonitorDao {
|
||||
void putConfig(BreakerConfig _config);
|
||||
|
||||
void rebuildSummaries(int _accountId);
|
||||
void rebuildSummariesAsync(int _accountId);
|
||||
void rebuildSummaries(int _accountId, Date _start, Date _end);
|
||||
|
||||
String addPasswordResetKey(String _email);
|
||||
@@ -66,5 +66,8 @@ public interface CurrentMonitorDao {
|
||||
List<HubCommand> getAllHubCommands();
|
||||
void deleteHubCommand(String _id);
|
||||
|
||||
void putHubSample(HubSample _sample);
|
||||
List<HubSample> getSamplesForAccount(int _accountId);
|
||||
|
||||
MongoProxy getProxy();
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.lanternsoftware.datamodel.currentmonitor.archive.ArchiveStatus;
|
||||
import com.lanternsoftware.datamodel.currentmonitor.archive.BreakerEnergyArchive;
|
||||
import com.lanternsoftware.datamodel.currentmonitor.archive.DailyEnergyArchive;
|
||||
import com.lanternsoftware.datamodel.currentmonitor.archive.MonthlyEnergyArchive;
|
||||
import com.lanternsoftware.datamodel.currentmonitor.hub.HubSample;
|
||||
import com.lanternsoftware.util.CollectionUtils;
|
||||
import com.lanternsoftware.util.DateRange;
|
||||
import com.lanternsoftware.util.DateUtils;
|
||||
@@ -487,17 +488,13 @@ public class MongoCurrentMonitorDao implements CurrentMonitorDao {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rebuildSummariesAsync(int _accountId) {
|
||||
executor.submit(() -> rebuildSummaries(_accountId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rebuildSummaries(int _accountId) {
|
||||
HubPowerMinute firstMinute = proxy.queryOne(HubPowerMinute.class, new DaoQuery("account_id", _accountId), DaoSort.sort("minute"));
|
||||
if (firstMinute == null)
|
||||
return;
|
||||
rebuildSummaries(_accountId, firstMinute.getMinuteAsDate(), new Date());
|
||||
HubPowerMinute lastMinute = proxy.queryOne(HubPowerMinute.class, new DaoQuery("account_id", _accountId), DaoSort.sortDesc("minute"));
|
||||
rebuildSummaries(_accountId, firstMinute.getMinuteAsDate(), lastMinute.getMinuteAsDate());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -812,6 +809,16 @@ public class MongoCurrentMonitorDao implements CurrentMonitorDao {
|
||||
proxy.delete(HubCommand.class, new DaoQuery("_id", _id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putHubSample(HubSample _sample) {
|
||||
proxy.save(_sample);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HubSample> getSamplesForAccount(int _accountId) {
|
||||
return proxy.query(HubSample.class, new DaoQuery("account_id", _accountId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public MongoProxy getProxy() {
|
||||
return proxy;
|
||||
|
||||
Reference in New Issue
Block a user