com.geotab.model.entity.device.GoAnywhere Maven / Gradle / Ivy
package com.geotab.model.entity.device;
import static java.lang.Boolean.FALSE;
import static java.lang.Boolean.TRUE;
import java.util.List;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
/**
* The GO Anywhere device. Additional properties can be seen in {@link XDevice}.
*/
@Getter @Setter
@NoArgsConstructor
@SuperBuilder(builderMethodName = "goAnywhereBuilder")
public class GoAnywhere extends XDevice {
/**
* Gets or sets value of the Go Anywhere device type.
*
* @deprecated AssetMovementType is obsolete and will be removed. Do not use.
*/
@Deprecated
public EosAssetMovementType assetMovementType;
/**
* Value for the Built In Self Test startup delay in seconds. Default [60].
*/
public Integer bistStartupDelay;
/**
* Value for the Shipping minimum battery voltage in milli-volts. Default [4000].
*/
public Integer minBatteryVoltage;
/**
* Value for the Shipping maximum temperature in degree Celsius. Default [80].
*/
public Integer maxTemperature;
/**
* Value for the Shipping network registration timeout value in seconds. Default [120].
*/
public Integer shippingNetworkTimeout;
/**
* Value for the Shipping gateway connection timeout in seconds. Default [60].
*/
public Integer shippingGwTimeout;
/**
* Value for the Shipping Health check interval in seconds (-1 is never). Default [-1].
*/
public Integer shippingHealthCheckInterval;
/**
* Value for the Shipping Communication interval in seconds (-1 is never). Default [-1].
*/
public Integer shippingCommunicationInterval;
/**
* Value for the Sleep communication interval in seconds. Default [259200].
*/
public Integer sleepCommunicationInterval;
/**
* Value for the Sleep health check interval in seconds. Default [259200].
*/
public Integer sleepHealthCheckInterval;
/**
* Value for the Sleep health check interval in seconds if alarm is active. Default [86400].
*/
public Integer sleepHealthCheckIntervalReduced;
/**
* Value for the Sleep Network registration timeout value in seconds. Default [120].
*/
public Integer sleepNetworkTimeout;
/**
* Value for the Sleep gateway connection timeout in seconds. Default [60].
*/
public Integer sleepGwTimeout;
/**
* Value for the Go Anywhere device communication rate in minutes. Default [1440].
*/
public Integer communicationFrequency;
/**
* Value for indicating if the Go Anywhere device asset recovery mode is enabled. Default [false].
*/
public Boolean assetRecoveryModeEnabled;
/**
* Value for the Movement health check interval in seconds. Default [86400].
*/
public Integer movementHealthCheckInterval;
/**
* Value for indicating if the Go Anywhere device movement alert or trip start alert is enabled. Default [false].
*/
public Boolean checkInOnTripEnabled;
/**
* Value for indicating if the Go Anywhere device trip end alert is enabled. Default [false].
*/
public Boolean checkInOnTripEndEnabled;
/**
* Value for indicating if the Go Anywhere device scheduled sync is enabled. Default [false].
*/
public Boolean scheduledSyncEnabled;
/**
* Value for the Go Anywhere device scheduled sync time, it's the number of seconds since midnight 00:00 UTC. Default [0].
*/
public Integer scheduledSyncTime;
/**
* Value for indicating if the Go Anywhere device timed check-in is enabled. Default [false].
*/
public Boolean timedCheckInEnabled;
/**
* Value for the number of the Go Anywhere device timed check-ins. Default [0].
*/
public Integer timedCheckInEntries;
/**
* Value for the array of the Go Anywhere device check-in times in seconds.
*/
public List timedCheckInSeconds;
/**
* Value for the Movement GNSS fix interval in seconds. Default [900].
*/
public Integer gnssFixInterval;
/**
* Value for the Number of GNSS fixes to confirm movement. Default [2].
*/
public Integer gnssFixCount;
/**
* Value for the Minimum distance traveled to confirm movement, in meters. Default [200].
*/
public Integer gnssMinDistance;
/**
* GNSS reported speed in m/s used to confirm movement, start of trip. Default [4].
*/
public Integer speedThreshold;
/**
* Value for the Number of speed samples to determine speed average, in seconds. Default [5].
*/
public Integer speedDuration;
/**
* Value for the Accelerometer threshold, in mg. Default [2000].
*/
public Integer accelerationThreshold;
/**
* Accelerometer sustained speed minimum for impact detection, in m/s. Default [0].
*/
public Integer speedDetectionMin;
/********************** Other *****************************/
/**
* Maximum number of communication retries. Default [5].
*/
public Integer communicationRetryMax;
/**
* Maximum modem connection time in seconds. Default [300].
*/
public Integer modemMaxConnectionTime;
/**
* Modem GSM Received Signal Strength Indicator (127 = disabled). Default [-90].
*/
public Integer gsmRssiMin;
/**
* Modem GSM Signal to Interference & Noise Ratio (127 = disabled). Default [127].
*/
public Integer gsmSinrMin;
/**
* Modem LTE Received Signal Strength Indicator (127 = disabled). Default [-95].
*/
public Integer lteRssiMin;
/**
* Modem LTE Signal to Interference & Noise Ratio (127 = disabled). Default [127].
*/
public Integer lteSinrMin;
/**
* Minimum battery voltage required to allow modem communication, in milli-volts. Default [4000].
*/
public Integer modemMinVoltage;
/**
* Movement detection distance, in cm. Default [70].
*/
public Integer movementDetectionDistanceThreshold;
/*********************** Master Switches ******************************/
/**
* Value for Disable accelerometer. Default [false].
*/
public Boolean accelerometerDisabled;
/**
* Value for Disable battery voltage logging. Default [false].
*/
public Boolean voltageLoggingDisabled;
/**
* Value for Disable GNSS logging. Default [false].
*/
public Boolean gnssLoggingDisabled;
/**
* Value for Disable GNSS aiding data. Default [false].
*/
public Boolean gnssAidingDataDisabled;
/**
* Value for Disable FOTA updates. Default [false].
*/
public Boolean deviceFotaDisabled;
/**
* Value for Enable modem FOTA updates. Default [true].
*/
public Boolean enableModemFota;
{
setDeviceType(DeviceType.GoAnywhere);
}
@Override
public void populateDefaults() {
super.populateDefaults();
this.productId = GO_ANYWHERE_PRODUCT_ID;
this.bistStartupDelay = 60;
this.minBatteryVoltage = 4000;
this.maxTemperature = 80;
this.shippingNetworkTimeout = 120;
this.shippingGwTimeout = 60;
this.shippingHealthCheckInterval = -1;
this.shippingCommunicationInterval = -1;
this.sleepCommunicationInterval = 259200;
this.sleepHealthCheckInterval = 259200;
this.sleepHealthCheckIntervalReduced = 86400;
this.sleepNetworkTimeout = 120;
this.sleepGwTimeout = 60;
this.communicationFrequency = 1440;
this.assetRecoveryModeEnabled = FALSE;
this.movementHealthCheckInterval = 86400;
this.checkInOnTripEnabled = FALSE;
this.checkInOnTripEndEnabled = FALSE;
this.scheduledSyncEnabled = FALSE;
this.scheduledSyncTime = 0;
this.timedCheckInEnabled = FALSE;
this.timedCheckInEntries = 0;
this.gnssFixInterval = 900;
this.gnssFixCount = 2;
this.gnssMinDistance = 200;
this.speedThreshold = 4;
this.speedDuration = 5;
this.accelerationThreshold = 2000;
this.speedDetectionMin = 0;
this.communicationRetryMax = 5;
this.modemMaxConnectionTime = 300;
this.gsmRssiMin = -90;
this.gsmSinrMin = 127;
this.lteRssiMin = -95;
this.lteSinrMin = 127;
this.modemMinVoltage = 4000;
this.movementDetectionDistanceThreshold = 70;
this.accelerometerDisabled = FALSE;
this.voltageLoggingDisabled = FALSE;
this.gnssLoggingDisabled = FALSE;
this.gnssAidingDataDisabled = FALSE;
this.deviceFotaDisabled = FALSE;
this.enableModemFota = TRUE;
}
}