model

package
v0.4.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Code generated by "model-garage" DO NOT EDIT.

Code generated by "model-garage" DO NOT EDIT.

Index

Constants

View Source
const (
	// LastSeenField is the field name for the last seen timestamp.
	LastSeenField = "lastSeen"
	// ApproximateCoordinatesField is the field name for the approximate current location.
	// This is treated specially because there is no underlying ClickHouse table row carrying
	// this name.
	ApproximateCoordinatesField = "currentLocationApproximateCoordinates"
)

Variables

View Source
var SignalPrivileges = map[string][]string{}/* 116 elements not displayed */

SignalPrivileges maps signal JSON names to their required privilege names. These are the GraphQL enum values from the schema (e.g., "VEHICLE_NON_LOCATION_DATA").

Functions

func MarshalAddress added in v0.0.23

func MarshalAddress(addr common.Address) graphql.Marshaler

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

func UnmarshalAddress(v interface{}) (common.Address, error)

Types

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
	// LocationArgs represents arguments for each location signal.
	LocationArgs []LocationSignalArgs
}

AggregatedSignalArgs is the arguments for querying aggregated signals.

type Attestation added in v0.1.9

type Attestation struct {
	ID             string    `json:"id"`
	VehicleTokenID int       `json:"vehicleTokenId"`
	Time           time.Time `json:"time"`
	// JSON-encoded attestation data.
	Attestation string `json:"attestation"`
	Type        string `json:"type"`
	// Address that signed the attestation.
	Source      common.Address `json:"source"`
	DataVersion string         `json:"dataVersion"`
	Producer    *string        `json:"producer,omitempty"`
	Signature   string         `json:"signature"`
	Tags        []string       `json:"tags,omitempty"`
}

type AttestationFilter added in v0.1.10

type AttestationFilter struct {
	ID *string `json:"id,omitempty"`
	// The attesting party.
	Source      *common.Address `json:"source,omitempty"`
	DataVersion *string         `json:"dataVersion,omitempty"`
	Producer    *string         `json:"producer,omitempty"`
	// Before this timestamp.
	Before *time.Time `json:"before,omitempty"`
	// After this timestamp.
	After *time.Time `json:"after,omitempty"`
	// Max results. Default 10.
	Limit *int `json:"limit,omitempty"`
	// Pagination cursor (exclusive).
	Cursor *time.Time         `json:"cursor,omitempty"`
	Tags   *StringArrayFilter `json:"tags,omitempty"`
}

type DailyActivity added in v0.2.0

type DailyActivity struct {
	// Day start location. Null if unavailable.
	Start *SignalLocation `json:"start,omitempty"`
	// Day end location. Null if unavailable.
	End *SignalLocation `json:"end,omitempty"`
	// Activity segments that started or fell within this day.
	SegmentCount int `json:"segmentCount"`
	// Total active time in seconds.
	Duration    int                       `json:"duration"`
	Signals     []*SignalAggregationValue `json:"signals"`
	EventCounts []*EventCount             `json:"eventCounts"`
}

type DataSummary added in v0.1.22

type DataSummary struct {
	NumberOfSignals   uint64               `json:"numberOfSignals"`
	AvailableSignals  []string             `json:"availableSignals"`
	FirstSeen         time.Time            `json:"firstSeen"`
	LastSeen          time.Time            `json:"lastSeen"`
	SignalDataSummary []*SignalDataSummary `json:"signalDataSummary"`
	EventDataSummary  []*EventDataSummary  `json:"eventDataSummary"`
}

type DetectionMechanism added in v0.1.28

type DetectionMechanism string
const (
	// Ignition-based detection: Segments are identified by isIgnitionOn state transitions.
	// Most reliable for vehicles with proper ignition signal support.
	DetectionMechanismIgnitionDetection DetectionMechanism = "ignitionDetection"
	// Frequency analysis: Segments are detected by analyzing signal update patterns.
	// Uses pre-computed materialized view for optimal performance.
	// Ideal for real-time APIs and bulk queries.
	DetectionMechanismFrequencyAnalysis DetectionMechanism = "frequencyAnalysis"
	// Change point detection: Uses CUSUM algorithm to detect statistical regime changes.
	// Monitors cumulative deviation in signal frequency via materialized view.
	// Excellent noise resistance with 100% accuracy match to ignition baseline.
	// Best alternative when ignition signal is unavailable - same accuracy, same speed as frequency analysis.
	DetectionMechanismChangePointDetection DetectionMechanism = "changePointDetection"
	// Idling: Segments are contiguous periods where engine RPM remains in idle range.
	DetectionMechanismIdling DetectionMechanism = "idling"
	// Refuel: Detects where fuel level rises significantly.
	DetectionMechanismRefuel DetectionMechanism = "refuel"
	// Recharge: Hybrid detection. Uses charging signals and state of charge for detection.
	DetectionMechanismRecharge DetectionMechanism = "recharge"
)

func (DetectionMechanism) IsValid added in v0.1.28

func (e DetectionMechanism) IsValid() bool

func (DetectionMechanism) MarshalGQL added in v0.1.28

func (e DetectionMechanism) MarshalGQL(w io.Writer)

func (DetectionMechanism) MarshalJSON added in v0.1.28

func (e DetectionMechanism) MarshalJSON() ([]byte, error)

func (DetectionMechanism) String added in v0.1.28

func (e DetectionMechanism) String() string

func (*DetectionMechanism) UnmarshalGQL added in v0.1.28

func (e *DetectionMechanism) UnmarshalGQL(v any) error

func (*DetectionMechanism) UnmarshalJSON added in v0.1.28

func (e *DetectionMechanism) UnmarshalJSON(b []byte) error

type Event added in v0.1.19

type Event struct {
	Timestamp time.Time `json:"timestamp"`
	Name      string    `json:"name"`
	// Source connection that created the event.
	Source string `json:"source"`
	// Duration in nanoseconds.
	DurationNs int     `json:"durationNs"`
	Metadata   *string `json:"metadata,omitempty"`
}

type EventCount added in v0.2.0

type EventCount struct {
	Name  string `json:"name"`
	Count int    `json:"count"`
}

Event name and count. Used by segments, daily activity, and event summaries.

type EventDataSummary added in v0.2.0

type EventDataSummary struct {
	Name           string    `json:"name"`
	NumberOfEvents uint64    `json:"numberOfEvents"`
	FirstSeen      time.Time `json:"firstSeen"`
	LastSeen       time.Time `json:"lastSeen"`
}

type EventFilter added in v0.1.19

type EventFilter struct {
	Name *StringValueFilter `json:"name,omitempty"`
	// Source connection that created the event.
	Source *StringValueFilter `json:"source,omitempty"`
	// tags is the tags of the event.
	Tags *StringArrayFilter `json:"tags,omitempty"`
}

type FilterLocation added in v0.1.22

type FilterLocation struct {
	// Latitude in the range [-90, 90].
	Latitude float64 `json:"latitude"`
	// Longitude in the range [-180, 180].
	Longitude float64 `json:"longitude"`
}

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 InCircleFilter added in v0.1.22

type InCircleFilter struct {
	Center *FilterLocation `json:"center"`
	// Radius in kilometers.
	Radius float64 `json:"radius"`
}

type LatestSignal added in v0.4.7

type LatestSignal struct {
	Name      string    `json:"name"`
	Timestamp time.Time `json:"timestamp"`
	// Present for float-type signals.
	ValueNumber *float64 `json:"valueNumber,omitempty"`
	// Present for string-type signals.
	ValueString *string `json:"valueString,omitempty"`
	// Present for location-type signals.
	ValueLocation *Location `json:"valueLocation,omitempty"`
}

func SignalToLatestSignal added in v0.4.7

func SignalToLatestSignal(signal *vss.Signal) *LatestSignal

SignalToLatestSignal converts a vss.Signal to a LatestSignal based on the signal name. Returns nil if the signal name is not recognized.

type LatestSignalsArgs added in v0.0.8

type LatestSignalsArgs struct {
	SignalArgs
	// SignalNames is the list of signal names to query.
	SignalNames map[string]struct{}
	// LocationSignalNames is the list of location signal names to query.
	//
	// This is split out separately because we typically want to filter out rows
	// like (0, 0, hdop). Users typically do not want to see those when they
	// ask for location.
	LocationSignalNames 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.

We don't need to store as much information as we do for aggregations, since the lack of aggregation and filtering means that each signal will appear at most once in the resulting database query.

type Location added in v0.1.22

type Location struct {
	Latitude  float64 `json:"latitude"`
	Longitude float64 `json:"longitude"`
	Hdop      float64 `json:"hdop"`
}

type LocationAggregation added in v0.1.22

type LocationAggregation string
const (
	LocationAggregationAvg   LocationAggregation = "AVG"
	LocationAggregationRand  LocationAggregation = "RAND"
	LocationAggregationFirst LocationAggregation = "FIRST"
	LocationAggregationLast  LocationAggregation = "LAST"
)

func (LocationAggregation) IsValid added in v0.1.22

func (e LocationAggregation) IsValid() bool

func (LocationAggregation) MarshalGQL added in v0.1.22

func (e LocationAggregation) MarshalGQL(w io.Writer)

func (LocationAggregation) MarshalJSON added in v0.1.22

func (e LocationAggregation) MarshalJSON() ([]byte, error)

func (LocationAggregation) String added in v0.1.22

func (e LocationAggregation) String() string

func (*LocationAggregation) UnmarshalGQL added in v0.1.22

func (e *LocationAggregation) UnmarshalGQL(v any) error

func (*LocationAggregation) UnmarshalJSON added in v0.1.22

func (e *LocationAggregation) UnmarshalJSON(b []byte) error

type LocationSignalArgs added in v0.1.22

type LocationSignalArgs struct {
	// Name is the VSS name for the location field. This is the signal name in the database.
	//
	// This will match the GraphQL field name except in the case of approximate location.
	Name string
	Agg  LocationAggregation
	// Alias is the name used in the GraphQL query.
	//
	// Often this will be the same as Name, but these will necessarily differ for
	// queries in which the same signal is requested with different aggregations
	// and filters.
	Alias string
	// Filter optionally constrains the values fed into the aggregation. This will always
	// be null for approximate location queries.
	Filter *SignalLocationFilter
}

type Query

type Query struct {
}

The root query type for the GraphQL schema.

type Segment added in v0.1.28

type Segment struct {
	Start *SignalLocation `json:"start"`
	// Omitted when isOngoing is true.
	End *SignalLocation `json:"end,omitempty"`
	// In seconds. If ongoing: computed from start to query 'to'.
	Duration int `json:"duration"`
	// When true, end is omitted.
	IsOngoing          bool                      `json:"isOngoing"`
	StartedBeforeRange bool                      `json:"startedBeforeRange"`
	Signals            []*SignalAggregationValue `json:"signals,omitempty"`
	EventCounts        []*EventCount             `json:"eventCounts,omitempty"`
}

type SegmentConfig added in v0.1.28

type SegmentConfig struct {
	// Maximum gap (seconds) between data points before a segment is split.
	// For ignitionDetection: filters noise from brief ignition OFF events.
	// For frequencyAnalysis: maximum gap between active windows to merge.
	// Default: 300 (5 minutes), Min: 60, Max: 3600
	MaxGapSeconds *int `json:"maxGapSeconds,omitempty"`
	// Minimum segment duration (seconds) to include in results.
	// Filters very short segments (testing, engine cycling).
	// Default: 240 (4 minutes), Min: 60, Max: 3600
	MinSegmentDurationSeconds *int `json:"minSegmentDurationSeconds,omitempty"`
	// [frequencyAnalysis] Minimum signal count per window for activity detection.
	// [idling] Minimum samples per window to consider it idle (same semantics).
	// Higher values = more conservative. Lower values = more sensitive.
	// Default: 10, Min: 1, Max: 3600
	SignalCountThreshold *int `json:"signalCountThreshold,omitempty"`
	// [idling only] Upper bound for idle RPM. Windows with max(RPM) <= this are considered idle.
	// Default: 1000, Min: 300, Max: 3000
	MaxIdleRpm *int `json:"maxIdleRpm,omitempty"`
	// [refuel and recharge only] Minimum percent increase within a window to consider it a level-increase window.
	MinIncreasePercent *int `json:"minIncreasePercent,omitempty"`
}

type SegmentEventRequest added in v0.2.0

type SegmentEventRequest struct {
	Name string `json:"name"`
}

type SegmentSignalRequest added in v0.2.0

type SegmentSignalRequest struct {
	Name string           `json:"name"`
	Agg  FloatAggregation `json:"agg"`
}

type SignalAggregationValue added in v0.2.0

type SignalAggregationValue struct {
	Name  string  `json:"name"`
	Agg   string  `json:"agg"`
	Value float64 `json:"value"`
}

Result of aggregating a float signal over an interval. Used by segments and daily activity summaries. Same shape as one row of aggregated signal data (name, aggregation type, computed value).

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:"-"`
	// ValueLocations maps location field alias to location value.
	//
	// For approximate location, the value stored here is not yet obfuscated. It is
	// the responsibility of the resolver to obfuscate the location.
	ValueLocations map[string]vss.Location `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 is an optional filter for the signals.
	Filter *SignalFilter
	// TokenID is the vehicle's NFT token ID.
	TokenID uint32
}

SignalArgs is the base arguments for querying signals.

type SignalCollection added in v0.0.8

type SignalCollection struct {
	LastSeen *time.Time `json:"lastSeen,omitempty"`
	// Approximate location of the vehicle in WGS 84 coordinates. The raw value is replaced with
	// the center of the containing H3 cell of resolution 6. HDOP is not obscured at all.
	// Required Privileges: [VEHICLE_APPROXIMATE_LOCATION VEHICLE_ALL_TIME_LOCATION]
	CurrentLocationApproximateCoordinates *SignalLocation `json:"currentLocationApproximateCoordinates,omitempty"`
	// Vehicle rotation rate along Z (vertical).
	// Unit: 'degrees/s'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	AngularVelocityYaw *SignalFloat `json:"angularVelocityYaw,omitempty"`
	// Indicates whether the airbag/SRS warning telltale is active.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	BodyLightsIsAirbagWarningOn *SignalFloat `json:"bodyLightsIsAirbagWarningOn,omitempty"`
	// Indicates whether the vehicle is locked via the central locking system. True = vehicle locked. False = vehicle unlocked.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	BodyLockIsLocked *SignalFloat `json:"bodyLockIsLocked,omitempty"`
	// Is item open or closed? True = Fully or partially open. False = Fully closed.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	BodyTrunkFrontIsOpen *SignalFloat `json:"bodyTrunkFrontIsOpen,omitempty"`
	// Is item open or closed? True = Fully or partially open. False = Fully closed.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	BodyTrunkRearIsOpen *SignalFloat `json:"bodyTrunkRearIsOpen,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"`
	// Is the belt engaged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	CabinSeatRow1DriverSideIsBelted *SignalFloat `json:"cabinSeatRow1DriverSideIsBelted,omitempty"`
	// Is the belt engaged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	CabinSeatRow1PassengerSideIsBelted *SignalFloat `json:"cabinSeatRow1PassengerSideIsBelted,omitempty"`
	// Is the belt engaged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	CabinSeatRow2DriverSideIsBelted *SignalFloat `json:"cabinSeatRow2DriverSideIsBelted,omitempty"`
	// Is the belt engaged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	CabinSeatRow2MiddleIsBelted *SignalFloat `json:"cabinSeatRow2MiddleIsBelted,omitempty"`
	// Is the belt engaged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	CabinSeatRow2PassengerSideIsBelted *SignalFloat `json:"cabinSeatRow2PassengerSideIsBelted,omitempty"`
	// Is the belt engaged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	CabinSeatRow3DriverSideIsBelted *SignalFloat `json:"cabinSeatRow3DriverSideIsBelted,omitempty"`
	// Is the belt engaged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	CabinSeatRow3PassengerSideIsBelted *SignalFloat `json:"cabinSeatRow3PassengerSideIsBelted,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"`
	// Measured Load on axle row 3.
	// Unit: 'kg'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisAxleRow3Weight *SignalFloat `json:"chassisAxleRow3Weight,omitempty"`
	// Measured Load on axle row 3.
	// Unit: 'kg'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisAxleRow4Weight *SignalFloat `json:"chassisAxleRow4Weight,omitempty"`
	// Measured Load on axle row 3.
	// Unit: 'kg'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisAxleRow5Weight *SignalFloat `json:"chassisAxleRow5Weight,omitempty"`
	// Indicates whether the ABS warning telltale is active (any non-off state).
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisBrakeABSIsWarningOn *SignalFloat `json:"chassisBrakeABSIsWarningOn,omitempty"`
	// Pneumatic pressure in the service brake circuit or reservoir
	// Unit: 'kPa'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisBrakeCircuit1PressurePrimary *SignalFloat `json:"chassisBrakeCircuit1PressurePrimary,omitempty"`
	// Pneumatic pressure in the service brake circuit or reservoir
	// Unit: 'kPa'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisBrakeCircuit2PressurePrimary *SignalFloat `json:"chassisBrakeCircuit2PressurePrimary,omitempty"`
	// Indicates whether the brake pedal is pressed.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisBrakeIsPedalPressed *SignalFloat `json:"chassisBrakeIsPedalPressed,omitempty"`
	// Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.
	// Unit: 'percent' Min: '0' Max: '100'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisBrakePedalPosition *SignalFloat `json:"chassisBrakePedalPosition,omitempty"`
	// Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisParkingBrakeIsEngaged *SignalFloat `json:"chassisParkingBrakeIsEngaged,omitempty"`
	// Indicates whether the tire system warning telltale is active
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ChassisTireSystemIsWarningOn *SignalFloat `json:"chassisTireSystemIsWarningOn,omitempty"`
	// Indicates whether cellular radio signal jamming or interference is detected that prevents normal communication.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ConnectivityCellularIsJammingDetected *SignalFloat `json:"connectivityCellularIsJammingDetected,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 location of the vehicle in WGS 84 coordinates.
	// Required Privileges: [VEHICLE_ALL_TIME_LOCATION]
	CurrentLocationCoordinates *SignalLocation `json:"currentLocationCoordinates,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"`
	// 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 52 - Percentage of ethanol in the fuel
	// Unit: 'percent'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDEthanolPercent *SignalFloat `json:"obdEthanolPercent,omitempty"`
	// PID 0A - Fuel pressure
	// Unit: 'kPa'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDFuelPressure *SignalFloat `json:"obdFuelPressure,omitempty"`
	// Fuel rail pressure from OBD. Uses PID 0x22 (fuel rail pressure relative to manifold vacuum) when available, otherwise falls back to PID 0x23 (fuel rail pressure direct injection).
	// Unit: 'kPa'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDFuelRailPressure *SignalFloat `json:"obdFuelRailPressure,omitempty"`
	// PID 5E - Engine fuel rate
	// Unit: 'l/h'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDFuelRate *SignalFloat `json:"obdFuelRate,omitempty"`
	// Fuel type names decoded from PID 51.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDFuelTypeName *SignalString `json:"obdFuelTypeName,omitempty"`
	// PID 0F - Intake temperature
	// Unit: 'celsius'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDIntakeTemp *SignalFloat `json:"obdIntakeTemp,omitempty"`
	// Engine block status, 0 = engine unblocked, 1 = engine blocked
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDIsEngineBlocked *SignalFloat `json:"obdIsEngineBlocked,omitempty"`
	// PID 1E - Auxiliary input status (power take off)
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDIsPTOActive *SignalFloat `json:"obdIsPTOActive,omitempty"`
	// Aftermarket device plugged in status. 1 = device plugged in, 0 = device unplugged.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDIsPluggedIn *SignalFloat `json:"obdIsPluggedIn,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 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer
	// Unit: 'percent'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDLongTermFuelTrim2 *SignalFloat `json:"obdLongTermFuelTrim2,omitempty"`
	// PID 0B - Intake manifold pressure
	// Unit: 'kPa'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDMAP *SignalFloat `json:"obdMAP,omitempty"`
	// PID 50 - Maximum flow for mass air flow sensor
	// Unit: 'g/s'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDMaxMAF *SignalFloat `json:"obdMaxMAF,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 5C - Engine oil temperature
	// Unit: 'celsius'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDOilTemperature *SignalFloat `json:"obdOilTemperature,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 11 - Throttle position - 0 = closed throttle, 100 = open throttle
	// Unit: 'percent'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	OBDThrottlePosition *SignalFloat `json:"obdThrottlePosition,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"`
	// Actual engine output torque as a percentage of reference engine torque (FMS / J1939 parameter SPN 513).
	// Unit: 'percent'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainCombustionEngineTorquePercent *SignalFloat `json:"powertrainCombustionEngineTorquePercent,omitempty"`
	// Current available fuel in the fuel tank expressed in liters.
	// Unit: 'l'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainFuelSystemAbsoluteLevel *SignalFloat `json:"powertrainFuelSystemAbsoluteLevel,omitempty"`
	// Accumulated fuel consumption (totalized) reported by the vehicle (FMS SPN 250).
	// Unit: 'l'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainFuelSystemAccumulatedConsumption *SignalFloat `json:"powertrainFuelSystemAccumulatedConsumption,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"`
	// Indicates if a charging cable is physically connected to the vehicle or not.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTractionBatteryChargingIsChargingCableConnected *SignalFloat `json:"powertrainTractionBatteryChargingIsChargingCableConnected,omitempty"`
	// Instantaneous charging power recorded during a charging event.
	// Unit: 'kW'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTractionBatteryChargingPower *SignalFloat `json:"powertrainTractionBatteryChargingPower,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"`
	// Calculated battery state of health at standard conditions.
	// Unit: 'percent' Min: '0' Max: '100'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTractionBatteryStateOfHealth *SignalFloat `json:"powertrainTractionBatteryStateOfHealth,omitempty"`
	// Current average temperature of the battery cells.
	// Unit: 'celsius'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTractionBatteryTemperatureAverage *SignalFloat `json:"powertrainTractionBatteryTemperatureAverage,omitempty"`
	// Actual transmission gear currently engaged. 0 = neutral, 1-15 = gear number.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTransmissionActualGear *SignalFloat `json:"powertrainTransmissionActualGear,omitempty"`
	// Actual transmission gear ratio.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTransmissionActualGearRatio *SignalFloat `json:"powertrainTransmissionActualGearRatio,omitempty"`
	// The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTransmissionCurrentGear *SignalFloat `json:"powertrainTransmissionCurrentGear,omitempty"`
	// Indicates if the Clutch switch is operated, so engine and transmission are partially or fully decoupled. False = Clutch switch not operated. True = Clutch switch operated.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTransmissionIsClutchSwitchOperated *SignalFloat `json:"powertrainTransmissionIsClutchSwitchOperated,omitempty"`
	// Actual retarder torque as a percentage (FMS / J1939 SPN 520).
	// Unit: 'percent'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTransmissionRetarderActualTorque *SignalFloat `json:"powertrainTransmissionRetarderActualTorque,omitempty"`
	// Active engine torque mode.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTransmissionRetarderTorqueMode *SignalString `json:"powertrainTransmissionRetarderTorqueMode,omitempty"`
	// The selected gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse, 126=Park.
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	PowertrainTransmissionSelectedGear *SignalFloat `json:"powertrainTransmissionSelectedGear,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"`
	// Remaining time to service (of any kind). Negative values indicate service overdue.
	// Unit: 's'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	ServiceTimeToService *SignalFloat `json:"serviceTimeToService,omitempty"`
	// Vehicle speed.
	// Unit: 'km/h'
	// Required Privileges: [VEHICLE_NON_LOCATION_DATA]
	Speed *SignalFloat `json:"speed,omitempty"`
}

type SignalDataSummary added in v0.1.22

type SignalDataSummary struct {
	Name            string    `json:"name"`
	NumberOfSignals uint64    `json:"numberOfSignals"`
	FirstSeen       time.Time `json:"firstSeen"`
	LastSeen        time.Time `json:"lastSeen"`
}

type SignalFilter added in v0.0.4

type SignalFilter struct {
	// Filter by source ethr DID.
	// Example: "did:ethr:137:0xcd445F4c6bDAD32b68a2939b912150Fe3C88803E"
	Source *string `json:"source,omitempty"`
}

type SignalFloat

type SignalFloat struct {
	Timestamp time.Time `json:"timestamp"`
	Value     float64   `json:"value"`
}

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"`
	Or    []*SignalFloatFilter `json:"or,omitempty"`
}

type SignalLocation added in v0.1.22

type SignalLocation struct {
	Timestamp time.Time `json:"timestamp"`
	Value     *Location `json:"value"`
}

type SignalLocationFilter added in v0.1.22

type SignalLocationFilter struct {
	// Filter for locations within a polygon. The vertices should be ordered
	// clockwise or counterclockwise, and there must be at least 3.
	//
	// May produce inaccurate results around the poles and the antimeridian.
	InPolygon []*FilterLocation `json:"inPolygon,omitempty"`
	// Filter for locations within a given distance of a given point. Distances
	// are computed using WGS 84, and points that are exactly a distance `radius`
	// from the `center` will be included.
	InCircle *InCircleFilter `json:"inCircle,omitempty"`
}

type SignalString

type SignalString struct {
	Timestamp time.Time `json:"timestamp"`
	Value     string    `json:"value"`
}

type SignalsSnapshotResponse added in v0.4.7

type SignalsSnapshotResponse struct {
	LastSeen *time.Time      `json:"lastSeen,omitempty"`
	Signals  []*LatestSignal `json:"signals"`
}

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 StringArrayFilter added in v0.1.22

type StringArrayFilter struct {
	ContainsAny    []string             `json:"containsAny,omitempty"`
	ContainsAll    []string             `json:"containsAll,omitempty"`
	NotContainsAny []string             `json:"notContainsAny,omitempty"`
	NotContainsAll []string             `json:"notContainsAll,omitempty"`
	Or             []*StringArrayFilter `json:"or,omitempty"`
}

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 StringValueFilter struct {
	Eq    *string  `json:"eq,omitempty"`
	Neq   *string  `json:"neq,omitempty"`
	NotIn []string `json:"notIn,omitempty"`
	In    []string `json:"in,omitempty"`
	// Matches strings that begin with the given prefix.
	StartsWith *string              `json:"startsWith,omitempty"`
	Or         []*StringValueFilter `json:"or,omitempty"`
}

type Vinvc added in v0.0.16

type Vinvc struct {
	VehicleTokenID *int    `json:"vehicleTokenId,omitempty"`
	Vin            *string `json:"vin,omitempty"`
	// Entity that recorded the VIN.
	RecordedBy             *string    `json:"recordedBy,omitempty"`
	RecordedAt             *time.Time `json:"recordedAt,omitempty"`
	CountryCode            *string    `json:"countryCode,omitempty"`
	VehicleContractAddress *string    `json:"vehicleContractAddress,omitempty"`
	// VC validity start.
	ValidFrom *time.Time `json:"validFrom,omitempty"`
	// VC validity end.
	ValidTo *time.Time `json:"validTo,omitempty"`
	// Raw VC JSON.
	RawVc string `json:"rawVC"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL