Table of Contents

Class GoDevice

Namespace
Geotab.Checkmate.ObjectModel
Assembly
Geotab.Checkmate.ObjectModel.dll

The base device for all Geotab GO products. Additional properties can be seen in Device.

public class GoDevice : XDevice, IEntity, IComparable, IIdentifiable, IVersion, IGroupLinked, ITimeZoneIdProvider, IDefaultable, ICustomizable<Device>, IMediaFiles, IInstanceSizeEstimate, IVehicleIdentificationNumber, ILicensable, IAutoGroupsProvider, IFuelProvider, IOdometerProvider, IEngineHoursProvider, IHOSDevice
Inheritance
GoDevice
Implements
Derived
Inherited Members

Constructors

GoDevice()

Initializes a new instance of the GoDevice class.

protected GoDevice()

GoDevice(GoDevice)

Initializes a new instance of the GoDevice class.

protected GoDevice(GoDevice goDevice)

Parameters

goDevice GoDevice

The go device.

GoDevice(Id?, long?, string?, string?, string?, string?, bool?, string?, string?, int?, TimeSpan?, DateTime?, int?, string?, bool?, short?, short?, WorkTime?, float?, IList<Group>?, string?, DeviceFlags?, IList<Group>?, EngineType?, double?, bool?, double?, double?, int?, bool?, uint?, bool?, bool?, bool?, int?, IReadOnlyCollection<CustomParameter>?, DateTime?, DateTime?, IReadOnlyList<DevicePlanBillingInfo>?, GoTalkLanguage?, double?, bool?, uint?, HosOption?, List<PropertyValue<Device>>?)

Initializes a new instance of the GoDevice class.Initializes a new instance of the GoDevice class.

protected GoDevice(Id? id, long? version, string? name, string? comment, string? vehicleIdentificationNumber, string? engineVehicleIdentificationNumber, bool? pinDevice, string? licensePlate, string? licenseState, int? productId, TimeSpan? timeToDownload, DateTime? ignoreDownloadsUntil, int? hardwareId, string? serialNumber, bool? enableMustReprogram, short? minor, short? major, WorkTime? workTime, float? maxSecondsBetweenLogs, IList<Group>? groups, string? timeZoneId, DeviceFlags? deviceFlags, IList<Group>? autoGroups, EngineType? engineType, double? minAccidentSpeed, bool? isSpeedIndicator, double? speedingOn, double? speedingOff, int? gpsOffDelay, bool? disableBuzzer, uint? parameterVersion, bool? ensureHotStart, bool? enableSpeedWarning, bool? enableBeepOnIdle, int? idleMinutes, IReadOnlyCollection<CustomParameter>? customParameters, DateTime? activeTo, DateTime? activeFrom, IReadOnlyList<DevicePlanBillingInfo>? devicePlanBillingInfo, GoTalkLanguage? goTalkLanguage, double? fuelTankCapacity, bool? disableSleeperBerth, uint? parameterVersionOnDevice, HosOption? autoHos, List<PropertyValue<Device>>? customProperties)

Parameters

id Id

The Id.

version long?

The version.

name string

The name.

comment string

The comment.

vehicleIdentificationNumber string

The device identification number.

engineVehicleIdentificationNumber string

The device identification number reported by the engine.

pinDevice bool?

Disable automatic device moving.

licensePlate string

The license plate.

licenseState string

State of the license.

productId int?

The product id.

timeToDownload TimeSpan?

The time to download.

ignoreDownloadsUntil DateTime?

The ignore downloads until.

hardwareId int?

The hardware id.

serialNumber string

The serial number of the device.

enableMustReprogram bool?

If set to true, force the parameters to be updated on a device, the store will be updated with the parameter version of the go device +1.

minor short?

The minor.

major short?

The major.

workTime WorkTime

A WorkTime object.

maxSecondsBetweenLogs float?

The max number of seconds between receiving logs from the device. If exceeded, data is considered missing. Must be at least 200s.

groups IList<Group>

The collection of Group(s) this GoDevice belongs to.

timeZoneId string

timeZoneId.

deviceFlags DeviceFlags

The DevicePlan this device is on.

autoGroups IList<Group>

The collection of auto Group(s) this Device belongs to.

engineType EngineType

Type of the engine. Default is. EngineTypeNone

minAccidentSpeed double?

The min accident speed.

isSpeedIndicator bool?

Is the speed indicator on.

speedingOn double?

Is speeding on.

speedingOff double?

Is speeding off.

gpsOffDelay int?

The gps off delay.

disableBuzzer bool?

Is the buzzer disabled.

parameterVersion uint?

The parameter version.

ensureHotStart bool?

Enable hot start.

enableSpeedWarning bool?

Enable speed warning.

enableBeepOnIdle bool?

Enable beeping on idle.

idleMinutes int?

Number of minutes the vehicle is stationary with ignition on to constitute idling.

customParameters IReadOnlyCollection<CustomParameter>

The custom parameters.

activeTo DateTime?

Date after which device becomes archived.

activeFrom DateTime?

Date after which device becomes active.

devicePlanBillingInfo IReadOnlyList<DevicePlanBillingInfo>

The device plan billing information.

goTalkLanguage GoTalkLanguage?

The language to be used by any attached GoTalk.

fuelTankCapacity double?

The capacity of all usable fuel tanks in litres.

disableSleeperBerth bool?

Hide the Sleeper Berth option

parameterVersionOnDevice uint?

The parameter version that is currently stored on the Device.

autoHos HosOption?

Represents automatic generation of DutyStatusLogs for a Device

customProperties List<PropertyValue<Device>>

The custom properties and its associated PropertyValue<T>s for this device.

Properties

ActiveFrom

Gets or sets the date that the device is active from. Default [MinDate].

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.DeviceActiveFrom })]
public override DateTime? ActiveFrom { get; set; }

Property Value

DateTime?

DateTime

Remarks

Old vehicles are designated as archived so their data is still available. A retired vehicle cannot be "un-retired".

ActiveTo

Gets or sets the date that the device is active to. Default [MaxDate].

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.DeviceActiveTo })]
public override DateTime? ActiveTo { get; set; }

Property Value

DateTime?

DateTime

AutoHos

Gets or sets a toggle that represents automatic generation of DutyStatusLogs for a Device. Default [null].

public HosOption? AutoHos { get; set; }

Property Value

HosOption?

HosOption

DisableBuzzer

Gets or sets master toggle to disable the device buzzer. When set to [true], the device will not provide driver feedback of any kind. Default [false].

[DeviceParameter]
public bool? DisableBuzzer { get; set; }

Property Value

bool?

bool

DisableSleeperBerth

Gets or sets a value indicating whether the SB option will be available when adding logs or changing driver's status

[ExcelColumnHeader(new ReportHeading[] { ReportHeading.DeviceSleeperBerth })]
public bool? DisableSleeperBerth { get; set; }

Property Value

bool?

A bool value.

EnableBeepOnIdle

Gets or sets toggle to enable beeping when the vehicle idles for more than IdleMinutes. Default [false].

[DeviceParameter]
public bool? EnableBeepOnIdle { get; set; }

Property Value

bool?

bool

EnableSpeedWarning

Gets or sets toggle to enable speed warning value for the vehicle. When enabled [true], only beep briefly (instead of continuously), when 'SpeedingOn' value is exceeded. 'IsSpeedIndicator' must also be enabled. Default [false].

[DeviceParameter]
public bool? EnableSpeedWarning { get; set; }

Property Value

bool?

bool

EngineHours

Gets or sets the Engine Hours for the device. Default [0].

public double? EngineHours { get; set; }

Property Value

double?

Nullable<T> where T is. double

EngineType

Gets or sets the EngineType. Default [EngineTypeGeneric].

public EngineType? EngineType { get; set; }

Property Value

EngineType

EngineType

FuelTankCapacity

Gets or sets the capacity of all usable fuel tanks in litres. Default [0]. false

public double? FuelTankCapacity { get; set; }

Property Value

double?

The double capacity.

GoTalkLanguage

Gets or sets the GoTalkLanguage of an attached GoTalk. Default [English].

[DeviceParameter]
public GoTalkLanguage? GoTalkLanguage { get; set; }

Property Value

GoTalkLanguage?

GoTalkLanguage

IdleMinutes

Gets or sets the number of minutes of allowed idling before device beeping starts. EnableBeepOnIdle must be enabled. Default [3].

[DeviceParameter]
public int? IdleMinutes { get; set; }

Property Value

int?

int

IsExternalDevicePowerControlSupported

Gets returns true if this device supports external device power control. Originally only GO4v3 was to support this - but there are a significant number of customers that had GO3V2s with this feature. As per DB: We had to support Iridium on Go4v2 for Oz and Garmin on GO4v2 for Toronto Hydro 78.x.x and 79.x.x supports Iridium, 66.x.x (J1708 Live) and 80.x.x supports Garmin.

public bool? IsExternalDevicePowerControlSupported { get; }

Property Value

bool?

Nullable<T> where T is bool.

IsSpeedIndicator

Gets or sets a toggle to beep constantly when the vehicle reaches the speed set in 'SpeedingOn', and do not stop until the vehicle slows below the 'SpeedingOff' speed. To only beep briefly (instead of continuously), enable 'EnableSpeedWarning'. Default [false].

[DeviceParameter]
public bool? IsSpeedIndicator { get; set; }

Property Value

bool?

bool

MinAccidentSpeed

Gets or sets the minimum accident speed in km/h. Default [4].

[DeviceParameter]
public double? MinAccidentSpeed { get; set; }

Property Value

double?

double

MinSecondsBetweenLogs

Gets the minimum allowable value for MaxSecondsBetweenLogs. For GoDevices, this is the same as the default value of 200.0f.

[DeviceParameter]
protected override float MinSecondsBetweenLogs { get; }

Property Value

float

The minimum allowable value for MaxSecondsBetweenLogs. For GoDevices, this is the same as the default value of 200.0f.

Odometer

Gets or sets the Odometer for the device.

public double? Odometer { get; set; }

Property Value

double?

double

SpeedingOff

Gets or sets the speeding off value in km/h. When 'IsSpeedIndicator' is enabled, once beeping starts, the vehicle must slow down to this speed for the beeping to stop. Default [90].

[DeviceParameter]
public double? SpeedingOff { get; set; }

Property Value

double?

double

SpeedingOn

Gets or sets the speeding on value in km/h. When 'IsSpeedIndicator' is enabled, the device will start beeping when the vehicle exceeds this speed. Default [100].

[DeviceParameter]
public double? SpeedingOn { get; set; }

Property Value

double?

double

WifiHotspotLimits

Gets or sets the list of Wifi Usage Tiers for Wifi Hotspot rate plans. Will only be populated if this device has a RatePlan which has Wifi Hotspot functionality.

public IReadOnlyList<WifiUsageTier>? WifiHotspotLimits { get; set; }

Property Value

IReadOnlyList<WifiUsageTier>

Ordered WifiUsageTiers, in order of smallest to highest data usage limit.

Methods

IsGarminSupported()

Determines whether garmin is supported on this device.

public bool? IsGarminSupported()

Returns

bool?

bool

IsRFDevice()

Returns true if this device is definitely an rf device. Device will need to connect once before the product id is available to check. @return. bool

public bool? IsRFDevice()

Returns

bool?

bool

PopulateDefaults()

Populate non-required empty (null) properties with default values.

public override void PopulateDefaults()