mirror of
https://github.com/zyphlar/LanternPowerMonitor.git
synced 2024-03-08 14:07:47 +00:00
Allow pulling part of the log file from a hub via bluetooth.
This commit is contained in:
@@ -15,7 +15,9 @@ public enum HubConfigCharacteristic {
|
||||
AccountId(7, CharacteristicFlag.READ),
|
||||
NetworkState(8, CharacteristicFlag.READ),
|
||||
Flash(9, CharacteristicFlag.WRITE),
|
||||
Host(10, CharacteristicFlag.WRITE);
|
||||
Host(10, CharacteristicFlag.WRITE),
|
||||
Log(11, CharacteristicFlag.READ),
|
||||
NetworkDetails(12, CharacteristicFlag.READ);
|
||||
|
||||
public final int idx;
|
||||
public final UUID uuid;
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
package com.lanternsoftware.datamodel.currentmonitor;
|
||||
|
||||
import com.lanternsoftware.util.CollectionUtils;
|
||||
import com.lanternsoftware.util.dao.annotations.DBSerializable;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
|
||||
@DBSerializable
|
||||
public class NetworkStatus {
|
||||
private List<String> wifiIPs;
|
||||
private List<String> ethernetIPs;
|
||||
private boolean pingSuccessful = true;
|
||||
|
||||
public List<String> getWifiIPs() {
|
||||
return wifiIPs;
|
||||
@@ -25,6 +28,14 @@ public class NetworkStatus {
|
||||
ethernetIPs = _ethernetIPs;
|
||||
}
|
||||
|
||||
public boolean isPingSuccessful() {
|
||||
return pingSuccessful;
|
||||
}
|
||||
|
||||
public void setPingSuccessful(boolean _pingSuccessful) {
|
||||
pingSuccessful = _pingSuccessful;
|
||||
}
|
||||
|
||||
public boolean isWifiConnected() {
|
||||
return CollectionUtils.isNotEmpty(wifiIPs);
|
||||
}
|
||||
@@ -35,9 +46,9 @@ public class NetworkStatus {
|
||||
|
||||
public byte toMask() {
|
||||
EnumSet<NetworkAdapter> adapters = EnumSet.noneOf(NetworkAdapter.class);
|
||||
if (isWifiConnected())
|
||||
if (isWifiConnected() && isPingSuccessful())
|
||||
adapters.add(NetworkAdapter.WIFI);
|
||||
if (isEthernetConnected())
|
||||
if (isEthernetConnected() && isPingSuccessful())
|
||||
adapters.add(NetworkAdapter.ETHERNET);
|
||||
return NetworkAdapter.toMask(adapters);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
package com.lanternsoftware.datamodel.currentmonitor.dao;
|
||||
|
||||
import com.lanternsoftware.datamodel.currentmonitor.NetworkStatus;
|
||||
import com.lanternsoftware.util.dao.AbstractDaoSerializer;
|
||||
import com.lanternsoftware.util.dao.DaoEntity;
|
||||
import com.lanternsoftware.util.dao.DaoProxyType;
|
||||
import com.lanternsoftware.util.dao.DaoSerializer;
|
||||
import java.lang.String;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class NetworkStatusSerializer extends AbstractDaoSerializer<NetworkStatus>
|
||||
{
|
||||
@Override
|
||||
public Class<NetworkStatus> getSupportedClass()
|
||||
{
|
||||
return NetworkStatus.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DaoProxyType> getSupportedProxies() {
|
||||
return Collections.singletonList(DaoProxyType.MONGO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DaoEntity toDaoEntity(NetworkStatus _o)
|
||||
{
|
||||
DaoEntity d = new DaoEntity();
|
||||
d.put("wifi_ips", _o.getWifiIPs());
|
||||
d.put("ethernet_ips", _o.getEthernetIPs());
|
||||
d.put("ping_successful", _o.isPingSuccessful());
|
||||
return d;
|
||||
}
|
||||
|
||||
@Override
|
||||
public NetworkStatus fromDaoEntity(DaoEntity _d)
|
||||
{
|
||||
NetworkStatus o = new NetworkStatus();
|
||||
o.setWifiIPs(DaoSerializer.getList(_d, "wifi_ips", String.class));
|
||||
o.setEthernetIPs(DaoSerializer.getList(_d, "ethernet_ips", String.class));
|
||||
o.setPingSuccessful(DaoSerializer.getBoolean(_d, "ping_successful"));
|
||||
return o;
|
||||
}
|
||||
}
|
||||
@@ -12,5 +12,6 @@ com.lanternsoftware.datamodel.currentmonitor.dao.BreakerSerializer
|
||||
com.lanternsoftware.datamodel.currentmonitor.dao.EnergyBlockSerializer
|
||||
com.lanternsoftware.datamodel.currentmonitor.dao.HubPowerMinuteSerializer
|
||||
com.lanternsoftware.datamodel.currentmonitor.dao.MeterSerializer
|
||||
com.lanternsoftware.datamodel.currentmonitor.dao.NetworkStatusSerializer
|
||||
com.lanternsoftware.datamodel.currentmonitor.dao.SequenceSerializer
|
||||
com.lanternsoftware.datamodel.currentmonitor.dao.SignupResponseSerializer
|
||||
|
||||
Reference in New Issue
Block a user