Documentation
¶
Overview ¶
Code generated by "model-garage" DO NOT EDIT.
Index ¶
- Constants
- Variables
- func MarshalAddress(addr common.Address) graphql.Marshaler
- func SetCollectionField(collection *SignalCollection, signal *vss.Signal)
- func UnmarshalAddress(v interface{}) (common.Address, error)
- type AftermarketDeviceBy
- type AggregatedSignalArgs
- type AliasKey
- type AppLocKey
- type Attestation
- type AttestationFilter
- type DeviceActivity
- type Event
- type EventFilter
- type FloatAggregation
- type FloatSignalArgs
- type LatestSignalsArgs
- type Pomvc
- type Privilege
- type Query
- type SignalAggregations
- type SignalArgs
- type SignalCollection
- type SignalFilter
- type SignalFloat
- type SignalFloatFilter
- type SignalString
- type StringAggregation
- func (e StringAggregation) IsValid() bool
- func (e StringAggregation) MarshalGQL(w io.Writer)
- func (e StringAggregation) MarshalJSON() ([]byte, error)
- func (e StringAggregation) String() string
- func (e *StringAggregation) UnmarshalGQL(v any) error
- func (e *StringAggregation) UnmarshalJSON(b []byte) error
- type StringSignalArgs
- type StringValueFilter
- type Vinvc
Constants ¶
const ( // LastSeenField is the field name for the last seen timestamp. LastSeenField = "lastSeen" // ApproximateLongField is the field name for the approximate longitude. ApproximateLongField = "currentLocationApproximateLongitude" // ApproximateLatField is the field name for the approximate latitude. ApproximateLatField = "currentLocationApproximateLatitude" )
Variables ¶
var AllFloatAggregation = []FloatAggregation{ FloatAggregationAvg, FloatAggregationMed, FloatAggregationMax, FloatAggregationMin, FloatAggregationRand, FloatAggregationFirst, FloatAggregationLast, }
var AllPrivilege = []Privilege{ PrivilegeVehicleNonLocationData, PrivilegeVehicleCommands, PrivilegeVehicleCurrentLocation, PrivilegeVehicleAllTimeLocation, PrivilegeVehicleVinCredential, PrivilegeVehicleApproximateLocation, PrivilegeManufacturerDeviceLastSeen, PrivilegeVehicleRawData, }
var AllStringAggregation = []StringAggregation{ StringAggregationRand, StringAggregationTop, StringAggregationUnique, StringAggregationFirst, StringAggregationLast, }
Functions ¶
func SetCollectionField ¶ added in v0.0.8
func SetCollectionField(collection *SignalCollection, signal *vss.Signal)
SetCollectionField find the matching field based on the signal name and set the value based on the signal value.
func UnmarshalAddress ¶ added in v0.0.23
Types ¶
type AftermarketDeviceBy ¶ added in v0.0.23
type AftermarketDeviceBy struct { TokenID *int `json:"tokenId,omitempty"` Address *common.Address `json:"address,omitempty"` Serial *string `json:"serial,omitempty"` }
The AftermarketDeviceBy input is used to specify a unique aftermarket device to query for last active status.
type AggregatedSignalArgs ¶ added in v0.0.8
type AggregatedSignalArgs struct { SignalArgs // FromTS is the start timestamp for the data range. FromTS time.Time // ToTS is the end timestamp for the data range. ToTS time.Time // Interval in which the data is aggregated in microseconds. Interval int64 // FloatArgs represents arguments for each float signal. FloatArgs []FloatSignalArgs // StringArgs represents arguments for each string signal. StringArgs []StringSignalArgs // ApproxLocArgs ApproxLocArgs map[FloatAggregation]struct{} }
AggregatedSignalArgs is the arguments for querying aggregated signals.
type AliasKey ¶ added in v0.0.15
AliasKey identifies the combination of signal name and aggregation for a certain time bucket.
type AppLocKey ¶ added in v0.1.19
type AppLocKey struct { Aggregation FloatAggregation Name string }
type Attestation ¶ added in v0.1.9
type Attestation struct { // ID is the ID of the attestation. ID string `json:"ID"` // vehicleTokenId is the token ID of the vehicle. VehicleTokenID int `json:"vehicleTokenId"` // time represents the time the attestation was made at. Time time.Time `json:"time"` // attestation is the data being attested to. Attestation string `json:"attestation"` // type Type string `json:"type"` // source Source common.Address `json:"source"` // dataversion DataVersion string `json:"dataVersion"` // producer Producer *string `json:"producer,omitempty"` // signature Signature string `json:"signature"` }
type AttestationFilter ¶ added in v0.1.10
type AttestationFilter struct { // id is the id of the attestation. ID *string `json:"id,omitempty"` // The attesting party. Source *common.Address `json:"source,omitempty"` // Filter attestations by data version. DataVersion *string `json:"dataVersion,omitempty"` // Filter attestations by source type. Producer *string `json:"producer,omitempty"` // Filter attestations made prior to this timestamp. Before *time.Time `json:"before,omitempty"` // Filter attestations made after this timestamp. After *time.Time `json:"after,omitempty"` // Limit attestations returned to this value. Defaults to 10. Limit *int `json:"limit,omitempty"` }
AttestationFilter holds the filter parameters for the attestation querys.
type DeviceActivity ¶ added in v0.0.23
type Event ¶ added in v0.1.19
type Event struct { // timestamp is the time the event occurred. Timestamp time.Time `json:"timestamp"` // name is the name of the event. Name string `json:"name"` // source is the name of the source connection that created the event. Source string `json:"source"` // durationNs is the duration of the event in nanoseconds. DurationNs int `json:"durationNs"` // metadata is the metadata of the event. Metadata *string `json:"metadata,omitempty"` }
type EventFilter ¶ added in v0.1.19
type EventFilter struct { // name is the name of the event. Name *StringValueFilter `json:"name,omitempty"` // source is the name of the source connection that created the event. Source *StringValueFilter `json:"source,omitempty"` }
type FloatAggregation ¶
type FloatAggregation string
const ( FloatAggregationAvg FloatAggregation = "AVG" FloatAggregationMed FloatAggregation = "MED" FloatAggregationMax FloatAggregation = "MAX" FloatAggregationMin FloatAggregation = "MIN" FloatAggregationRand FloatAggregation = "RAND" FloatAggregationFirst FloatAggregation = "FIRST" FloatAggregationLast FloatAggregation = "LAST" )
func (FloatAggregation) IsValid ¶ added in v0.0.8
func (e FloatAggregation) IsValid() bool
func (FloatAggregation) MarshalGQL ¶ added in v0.0.8
func (e FloatAggregation) MarshalGQL(w io.Writer)
func (FloatAggregation) MarshalJSON ¶ added in v0.1.11
func (e FloatAggregation) MarshalJSON() ([]byte, error)
func (FloatAggregation) String ¶ added in v0.0.8
func (e FloatAggregation) String() string
func (*FloatAggregation) UnmarshalGQL ¶ added in v0.0.8
func (e *FloatAggregation) UnmarshalGQL(v any) error
func (*FloatAggregation) UnmarshalJSON ¶ added in v0.1.11
func (e *FloatAggregation) UnmarshalJSON(b []byte) error
type FloatSignalArgs ¶ added in v0.0.4
type FloatSignalArgs struct { // Name is the signal name. This is the field name in the API. Name string // Agg is the aggregation type. Agg FloatAggregation // Alias is the GraphQL field alias. If the client doesn't specify // an alias then this will be the same as Name. Alias string // Filter is an optional set of float value filters. Filter *SignalFloatFilter }
FloatSignalArgs is the arguments for querying a float signals.
type LatestSignalsArgs ¶ added in v0.0.8
type LatestSignalsArgs struct { SignalArgs // SignalNames is the list of signal names to query. SignalNames map[string]struct{} // IncludeLastSeen is a flag to include a new signal for the last seen signal. IncludeLastSeen bool }
LatestSignalsArgs is the arguments for querying the latest signals.
type Pomvc ¶ added in v0.0.22
type Pomvc struct { // vehicleTokenId is the token ID of the vehicle. VehicleTokenID *int `json:"vehicleTokenId,omitempty"` // recordedBy is the entity that recorded the VIN. RecordedBy *string `json:"recordedBy,omitempty"` // vehicleContractAddress is the address of the vehicle contract. VehicleContractAddress *string `json:"vehicleContractAddress,omitempty"` // validFrom is the time the VC is valid from. ValidFrom *time.Time `json:"validFrom,omitempty"` // rawVC is the raw VC JSON. RawVc string `json:"rawVC"` }
type Privilege ¶
type Privilege string
const ( PrivilegeVehicleNonLocationData Privilege = "VEHICLE_NON_LOCATION_DATA" PrivilegeVehicleCommands Privilege = "VEHICLE_COMMANDS" PrivilegeVehicleCurrentLocation Privilege = "VEHICLE_CURRENT_LOCATION" PrivilegeVehicleAllTimeLocation Privilege = "VEHICLE_ALL_TIME_LOCATION" PrivilegeVehicleVinCredential Privilege = "VEHICLE_VIN_CREDENTIAL" PrivilegeVehicleApproximateLocation Privilege = "VEHICLE_APPROXIMATE_LOCATION" PrivilegeManufacturerDeviceLastSeen Privilege = "MANUFACTURER_DEVICE_LAST_SEEN" PrivilegeVehicleRawData Privilege = "VEHICLE_RAW_DATA" )
func (Privilege) MarshalGQL ¶
func (Privilege) MarshalJSON ¶ added in v0.1.11
func (*Privilege) UnmarshalGQL ¶
func (*Privilege) UnmarshalJSON ¶ added in v0.1.11
type SignalAggregations ¶ added in v0.0.8
type SignalAggregations struct { Timestamp time.Time `json:"timestamp"` // Alias to value ValueNumbers map[string]float64 `json:"-"` // Alias to value ValueStrings map[string]string `json:"-"` // Aggregation cross non-approximate field name to value AppLocNumbers map[AppLocKey]float64 `json:"-"` }
SignalAggregations is the Go struct corresponding to the GraphQL type SignalAggregations. Most of its subfields are signal aggregation results that are returned by resolvers, so they do not appear on the model.
type SignalArgs ¶ added in v0.0.4
type SignalArgs struct { // Filter optional filter for the signals. Filter *SignalFilter // TokenID is the vehicles's NFT token ID. TokenID uint32 }
SignalArgs is the base arguments for querying signals.
type SignalCollection ¶ added in v0.0.8
type SignalCollection struct { // The last time any signal was seen matching the filter. LastSeen *time.Time `json:"lastSeen,omitempty"` // Approximate Latitude of vehicle in WGS 84 geodetic coordinates. // This returned location is the center of the h3 cell with resolution 6 that the location is in. // More Info on H3: https://h3geo.org/ // Unit: 'degrees' Min: '-90' Max: '90' // Required Privileges: [VEHICLE_APPROXIMATE_LOCATION OR VEHICLE_ALL_TIME_LOCATION] CurrentLocationApproximateLatitude *SignalFloat `json:"currentLocationApproximateLatitude,omitempty"` // Approximate Longitude of vehicle in WGS 84 geodetic coordinates. // This returned location is the center of the h3 cell with resolution 6 that the location is in. // More Info on H3: https://h3geo.org/ // Unit: 'degrees' Min: '-180' Max: '180' // Required Privileges: [VEHICLE_APPROXIMATE_LOCATION OR VEHICLE_ALL_TIME_LOCATION] CurrentLocationApproximateLongitude *SignalFloat `json:"currentLocationApproximateLongitude,omitempty"` // Vehicle rotation rate along Z (vertical). // Unit: 'degrees/s' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] AngularVelocityYaw *SignalFloat `json:"angularVelocityYaw,omitempty"` // Is item open or closed? True = Fully or partially open. False = Fully closed. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] CabinDoorRow1DriverSideIsOpen *SignalFloat `json:"cabinDoorRow1DriverSideIsOpen,omitempty"` // Is item open or closed? True = Fully or partially open. False = Fully closed. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] CabinDoorRow1DriverSideWindowIsOpen *SignalFloat `json:"cabinDoorRow1DriverSideWindowIsOpen,omitempty"` // Is item open or closed? True = Fully or partially open. False = Fully closed. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] CabinDoorRow1PassengerSideIsOpen *SignalFloat `json:"cabinDoorRow1PassengerSideIsOpen,omitempty"` // Is item open or closed? True = Fully or partially open. False = Fully closed. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] CabinDoorRow1PassengerSideWindowIsOpen *SignalFloat `json:"cabinDoorRow1PassengerSideWindowIsOpen,omitempty"` // Is item open or closed? True = Fully or partially open. False = Fully closed. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] CabinDoorRow2DriverSideIsOpen *SignalFloat `json:"cabinDoorRow2DriverSideIsOpen,omitempty"` // Is item open or closed? True = Fully or partially open. False = Fully closed. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] CabinDoorRow2DriverSideWindowIsOpen *SignalFloat `json:"cabinDoorRow2DriverSideWindowIsOpen,omitempty"` // Is item open or closed? True = Fully or partially open. False = Fully closed. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] CabinDoorRow2PassengerSideIsOpen *SignalFloat `json:"cabinDoorRow2PassengerSideIsOpen,omitempty"` // Is item open or closed? True = Fully or partially open. False = Fully closed. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] CabinDoorRow2PassengerSideWindowIsOpen *SignalFloat `json:"cabinDoorRow2PassengerSideWindowIsOpen,omitempty"` // Rotational speed of a vehicle's wheel. // Unit: 'km/h' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] ChassisAxleRow1WheelLeftSpeed *SignalFloat `json:"chassisAxleRow1WheelLeftSpeed,omitempty"` // Tire pressure in kilo-Pascal. // Unit: 'kPa' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] ChassisAxleRow1WheelLeftTirePressure *SignalFloat `json:"chassisAxleRow1WheelLeftTirePressure,omitempty"` // Rotational speed of a vehicle's wheel. // Unit: 'km/h' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] ChassisAxleRow1WheelRightSpeed *SignalFloat `json:"chassisAxleRow1WheelRightSpeed,omitempty"` // Tire pressure in kilo-Pascal. // Unit: 'kPa' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] ChassisAxleRow1WheelRightTirePressure *SignalFloat `json:"chassisAxleRow1WheelRightTirePressure,omitempty"` // Tire pressure in kilo-Pascal. // Unit: 'kPa' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] ChassisAxleRow2WheelLeftTirePressure *SignalFloat `json:"chassisAxleRow2WheelLeftTirePressure,omitempty"` // Tire pressure in kilo-Pascal. // Unit: 'kPa' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] ChassisAxleRow2WheelRightTirePressure *SignalFloat `json:"chassisAxleRow2WheelRightTirePressure,omitempty"` // Current altitude relative to WGS 84 reference ellipsoid, as measured at the position of GNSS receiver antenna. // Unit: 'm' // Required Privileges: [VEHICLE_ALL_TIME_LOCATION] CurrentLocationAltitude *SignalFloat `json:"currentLocationAltitude,omitempty"` // Current heading relative to geographic north. 0 = North, 90 = East, 180 = South, 270 = West. // Unit: 'degrees' Min: '0' Max: '360' // Required Privileges: [VEHICLE_ALL_TIME_LOCATION] CurrentLocationHeading *SignalFloat `json:"currentLocationHeading,omitempty"` // Indicates if the latitude and longitude signals at the current timestamp have been redacted using a privacy zone. // Required Privileges: [VEHICLE_ALL_TIME_LOCATION] CurrentLocationIsRedacted *SignalFloat `json:"currentLocationIsRedacted,omitempty"` // Current latitude of vehicle in WGS 84 geodetic coordinates, as measured at the position of GNSS receiver antenna. // Unit: 'degrees' Min: '-90' Max: '90' // Required Privileges: [VEHICLE_ALL_TIME_LOCATION] CurrentLocationLatitude *SignalFloat `json:"currentLocationLatitude,omitempty"` // Current longitude of vehicle in WGS 84 geodetic coordinates, as measured at the position of GNSS receiver antenna. // Unit: 'degrees' Min: '-180' Max: '180' // Required Privileges: [VEHICLE_ALL_TIME_LOCATION] CurrentLocationLongitude *SignalFloat `json:"currentLocationLongitude,omitempty"` // Horizontal dilution of precision of GPS // Required Privileges: [VEHICLE_NON_LOCATION_DATA] DIMOAftermarketHDOP *SignalFloat `json:"dimoAftermarketHDOP,omitempty"` // Number of sync satellites for GPS // Required Privileges: [VEHICLE_NON_LOCATION_DATA] DIMOAftermarketNSAT *SignalFloat `json:"dimoAftermarketNSAT,omitempty"` // Service Set Identifier for the wifi. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] DIMOAftermarketSSID *SignalString `json:"dimoAftermarketSSID,omitempty"` // Indicate the current WPA state for the device's wifi, e.g. "CONNECTED", "SCANNING", "DISCONNECTED" // Required Privileges: [VEHICLE_NON_LOCATION_DATA] DIMOAftermarketWPAState *SignalString `json:"dimoAftermarketWPAState,omitempty"` // Air temperature outside the vehicle. // Unit: 'celsius' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] ExteriorAirTemperature *SignalFloat `json:"exteriorAirTemperature,omitempty"` // Vehicle ignition status. False - off, True - on. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] IsIgnitionOn *SignalFloat `json:"isIgnitionOn,omitempty"` // Current Voltage of the low voltage battery. // Unit: 'V' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] LowVoltageBatteryCurrentVoltage *SignalFloat `json:"lowVoltageBatteryCurrentVoltage,omitempty"` // PID 33 - Barometric pressure // Unit: 'kPa' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDBarometricPressure *SignalFloat `json:"obdBarometricPressure,omitempty"` // PID 2C - Commanded exhaust gas recirculation (EGR) // Unit: 'percent' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDCommandedEGR *SignalFloat `json:"obdCommandedEGR,omitempty"` // PID 2E - Commanded evaporative purge (EVAP) valve // Unit: 'percent' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDCommandedEVAP *SignalFloat `json:"obdCommandedEVAP,omitempty"` // List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX ) // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDDTCList *SignalString `json:"obdDTCList,omitempty"` // PID 31 - Distance traveled since codes cleared // Unit: 'km' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDDistanceSinceDTCClear *SignalFloat `json:"obdDistanceSinceDTCClear,omitempty"` // PID 21 - Distance traveled with MIL on // Unit: 'km' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDDistanceWithMIL *SignalFloat `json:"obdDistanceWithMIL,omitempty"` // PID 04 - Engine load in percent - 0 = no load, 100 = full load // Unit: 'percent' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDEngineLoad *SignalFloat `json:"obdEngineLoad,omitempty"` // PID 0A - Fuel pressure // Unit: 'kPa' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDFuelPressure *SignalFloat `json:"obdFuelPressure,omitempty"` // PID 0F - Intake temperature // Unit: 'celsius' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDIntakeTemp *SignalFloat `json:"obdIntakeTemp,omitempty"` // PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer // Unit: 'percent' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDLongTermFuelTrim1 *SignalFloat `json:"obdLongTermFuelTrim1,omitempty"` // PID 0B - Intake manifold pressure // Unit: 'kPa' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDMAP *SignalFloat `json:"obdMAP,omitempty"` // PID 2x (byte CD) - Voltage for wide range/band oxygen sensor // Unit: 'V' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDO2WRSensor1Voltage *SignalFloat `json:"obdO2WRSensor1Voltage,omitempty"` // PID 2x (byte CD) - Voltage for wide range/band oxygen sensor // Unit: 'V' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDO2WRSensor2Voltage *SignalFloat `json:"obdO2WRSensor2Voltage,omitempty"` // PID 1F - Engine run time // Unit: 's' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDRunTime *SignalFloat `json:"obdRunTime,omitempty"` // PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer // Unit: 'percent' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDShortTermFuelTrim1 *SignalFloat `json:"obdShortTermFuelTrim1,omitempty"` // Number of Diagnostic Trouble Codes (DTC) // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDStatusDTCCount *SignalFloat `json:"obdStatusDTCCount,omitempty"` // PID 30 - Number of warm-ups since codes cleared // Required Privileges: [VEHICLE_NON_LOCATION_DATA] OBDWarmupsSinceDTCClear *SignalFloat `json:"obdWarmupsSinceDTCClear,omitempty"` // Capacity in liters of the Diesel Exhaust Fluid Tank. // Unit: 'l' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineDieselExhaustFluidCapacity *SignalFloat `json:"powertrainCombustionEngineDieselExhaustFluidCapacity,omitempty"` // Level of the Diesel Exhaust Fluid tank as percent of capacity. 0 = empty. 100 = full. // Unit: 'percent' Min: '0' Max: '100' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineDieselExhaustFluidLevel *SignalFloat `json:"powertrainCombustionEngineDieselExhaustFluidLevel,omitempty"` // Engine coolant temperature. // Unit: 'celsius' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineECT *SignalFloat `json:"powertrainCombustionEngineECT,omitempty"` // Engine oil pressure. // Unit: 'kPa' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineEOP *SignalFloat `json:"powertrainCombustionEngineEOP,omitempty"` // Engine oil temperature. // Unit: 'celsius' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineEOT *SignalFloat `json:"powertrainCombustionEngineEOT,omitempty"` // Engine oil level. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineEngineOilLevel *SignalString `json:"powertrainCombustionEngineEngineOilLevel,omitempty"` // Engine oil level as a percentage. // Unit: 'percent' Min: '0' Max: '100' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineEngineOilRelativeLevel *SignalFloat `json:"powertrainCombustionEngineEngineOilRelativeLevel,omitempty"` // Grams of air drawn into engine per second. // Unit: 'g/s' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineMAF *SignalFloat `json:"powertrainCombustionEngineMAF,omitempty"` // Engine speed measured as rotations per minute. // Unit: 'rpm' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineSpeed *SignalFloat `json:"powertrainCombustionEngineSpeed,omitempty"` // Current throttle position. // Unit: 'percent' Max: '100' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineTPS *SignalFloat `json:"powertrainCombustionEngineTPS,omitempty"` // Current engine torque. Shall be reported as 0 during engine breaking. // Unit: 'Nm' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainCombustionEngineTorque *SignalFloat `json:"powertrainCombustionEngineTorque,omitempty"` // Current available fuel in the fuel tank expressed in liters. // Unit: 'l' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainFuelSystemAbsoluteLevel *SignalFloat `json:"powertrainFuelSystemAbsoluteLevel,omitempty"` // Level in fuel tank as percent of capacity. 0 = empty. 100 = full. // Unit: 'percent' Min: '0' Max: '100' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainFuelSystemRelativeLevel *SignalFloat `json:"powertrainFuelSystemRelativeLevel,omitempty"` // High level information of fuel types supported // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainFuelSystemSupportedFuelTypes *SignalString `json:"powertrainFuelSystemSupportedFuelTypes,omitempty"` // Remaining range in kilometers using all energy sources available in the vehicle. // Unit: 'km' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainRange *SignalFloat `json:"powertrainRange,omitempty"` // Amount of charge added to the high voltage battery during the current charging session, expressed in kilowatt-hours. // Unit: 'kWh' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryChargingAddedEnergy *SignalFloat `json:"powertrainTractionBatteryChargingAddedEnergy,omitempty"` // Current AC charging current (rms) at inlet. Negative if returning energy to grid. Used when per-phase numbers are unavailable. // Unit: 'A' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryChargingChargeCurrentAC *SignalFloat `json:"powertrainTractionBatteryChargingChargeCurrentAC,omitempty"` // Target charge limit (state of charge) for battery. // Unit: 'percent' Min: '0' Max: '100' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryChargingChargeLimit *SignalFloat `json:"powertrainTractionBatteryChargingChargeLimit,omitempty"` // Current charging voltage at inlet. Used when the data source does not indicate the current type (AC or DC) in use. // Unit: 'V' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryChargingChargeVoltageUnknownType *SignalFloat `json:"powertrainTractionBatteryChargingChargeVoltageUnknownType,omitempty"` // True if charging is ongoing. Charging is considered to be ongoing if energy is flowing from charger to vehicle. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryChargingIsCharging *SignalFloat `json:"powertrainTractionBatteryChargingIsCharging,omitempty"` // Current electrical energy flowing in/out of battery. Positive = Energy flowing in to battery, e.g. during charging. Negative = Energy flowing out of battery, e.g. during driving. // Unit: 'W' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryCurrentPower *SignalFloat `json:"powertrainTractionBatteryCurrentPower,omitempty"` // Current Voltage of the battery. // Unit: 'V' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryCurrentVoltage *SignalFloat `json:"powertrainTractionBatteryCurrentVoltage,omitempty"` // Gross capacity of the battery. // Unit: 'kWh' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryGrossCapacity *SignalFloat `json:"powertrainTractionBatteryGrossCapacity,omitempty"` // Remaining range in kilometers using only battery. // Unit: 'km' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryRange *SignalFloat `json:"powertrainTractionBatteryRange,omitempty"` // Physical state of charge of the high voltage battery, relative to net capacity. This is not necessarily the state of charge being displayed to the customer. // Unit: 'percent' Min: '0' Max: '100.0' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryStateOfChargeCurrent *SignalFloat `json:"powertrainTractionBatteryStateOfChargeCurrent,omitempty"` // Physical state of charge of high voltage battery expressed in kWh. // Unit: 'kWh' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryStateOfChargeCurrentEnergy *SignalFloat `json:"powertrainTractionBatteryStateOfChargeCurrentEnergy,omitempty"` // Current average temperature of the battery cells. // Unit: 'celsius' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTractionBatteryTemperatureAverage *SignalFloat `json:"powertrainTractionBatteryTemperatureAverage,omitempty"` // The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTransmissionCurrentGear *SignalFloat `json:"powertrainTransmissionCurrentGear,omitempty"` // The current gearbox temperature. // Unit: 'celsius' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTransmissionTemperature *SignalFloat `json:"powertrainTransmissionTemperature,omitempty"` // Odometer reading, total distance travelled during the lifetime of the transmission. // Unit: 'km' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainTransmissionTravelledDistance *SignalFloat `json:"powertrainTransmissionTravelledDistance,omitempty"` // Defines the powertrain type of the vehicle. // Required Privileges: [VEHICLE_NON_LOCATION_DATA] PowertrainType *SignalString `json:"powertrainType,omitempty"` // Remaining distance to service (of any kind). Negative values indicate service overdue. // Unit: 'km' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] ServiceDistanceToService *SignalFloat `json:"serviceDistanceToService,omitempty"` // Vehicle speed. // Unit: 'km/h' // Required Privileges: [VEHICLE_NON_LOCATION_DATA] Speed *SignalFloat `json:"speed,omitempty"` }
type SignalFilter ¶ added in v0.0.4
type SignalFilter struct { // Filter signals by source type. // available sources are: "autopi", "macaron", "ruptela", "smartcar", "tesla","compass" Source *string `json:"source,omitempty"` }
SignalFilter holds the filter parameters for the signal querys.
type SignalFloat ¶
type SignalFloatFilter ¶ added in v0.1.19
type SignalFloatFilter struct { Eq *float64 `json:"eq,omitempty"` Neq *float64 `json:"neq,omitempty"` Gt *float64 `json:"gt,omitempty"` Lt *float64 `json:"lt,omitempty"` Gte *float64 `json:"gte,omitempty"` Lte *float64 `json:"lte,omitempty"` NotIn []float64 `json:"notIn,omitempty"` In []float64 `json:"in,omitempty"` }
type SignalString ¶
type StringAggregation ¶
type StringAggregation string
const ( // Randomly select a value from the group. StringAggregationRand StringAggregation = "RAND" // Select the most frequently occurring value in the group. StringAggregationTop StringAggregation = "TOP" // Return a list of unique values in the group. StringAggregationUnique StringAggregation = "UNIQUE" // Return value in group associated with the minimum time value. StringAggregationFirst StringAggregation = "FIRST" // Return value in group associated with the maximum time value. StringAggregationLast StringAggregation = "LAST" )
func (StringAggregation) IsValid ¶ added in v0.0.8
func (e StringAggregation) IsValid() bool
func (StringAggregation) MarshalGQL ¶ added in v0.0.8
func (e StringAggregation) MarshalGQL(w io.Writer)
func (StringAggregation) MarshalJSON ¶ added in v0.1.11
func (e StringAggregation) MarshalJSON() ([]byte, error)
func (StringAggregation) String ¶ added in v0.0.8
func (e StringAggregation) String() string
func (*StringAggregation) UnmarshalGQL ¶ added in v0.0.8
func (e *StringAggregation) UnmarshalGQL(v any) error
func (*StringAggregation) UnmarshalJSON ¶ added in v0.1.11
func (e *StringAggregation) UnmarshalJSON(b []byte) error
type StringSignalArgs ¶ added in v0.0.4
type StringSignalArgs struct { // Name is the signal name. Name string // Agg is the aggregation type. Agg StringAggregation // Alias is the GraphQL field alias. If the client doesn't specify // an alias then this will be the same as Name. Alias string }
StringSignalArgs is the arguments for querying a string signals.
type StringValueFilter ¶ added in v0.1.19
type Vinvc ¶ added in v0.0.16
type Vinvc struct { // vehicleTokenId is the token ID of the vehicle. VehicleTokenID *int `json:"vehicleTokenId,omitempty"` // vin is the vehicle identification number. Vin *string `json:"vin,omitempty"` // recordedBy is the entity that recorded the VIN. RecordedBy *string `json:"recordedBy,omitempty"` // The time the VIN was recorded. RecordedAt *time.Time `json:"recordedAt,omitempty"` // countryCode is the country code that the VIN belongs to. CountryCode *string `json:"countryCode,omitempty"` // vehicleContractAddress is the address of the vehicle contract. VehicleContractAddress *string `json:"vehicleContractAddress,omitempty"` // validFrom is the time the VC is valid from. ValidFrom *time.Time `json:"validFrom,omitempty"` // validTo is the time the VC is valid to. ValidTo *time.Time `json:"validTo,omitempty"` // rawVC is the raw VC JSON. RawVc string `json:"rawVC"` }