TMM Websockets
WebSocket V1 Server 1.0.0 documentation
Section titled “WebSocket V1 Server 1.0.0 documentation”Table of Contents
Section titled “Table of Contents”Servers
Section titled “Servers”websocket Server
Section titled “websocket Server”- URL:
ws://tmm-api-local.fieldsystems.trimble.com/ - Protocol:
ws
Operations
Section titled “Operations”SEND / Operation
Section titled “SEND / Operation”- Operation ID:
sendroot
Message LocationV2DataMessage
Section titled “Message LocationV2DataMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| latitude | number | null | Latitude in decimal degrees (or null if unavailable) North positive, south negative | - | format (double) | - |
| longitude | number | null | Longitude in decimal degrees (or null if unavailable) East positive, west negative | - | format (double) | - |
| altitude | number | null | Altitude in meters (or null if unavailable) | - | format (double) | - |
| speed | number | null | Speed in meters per second (or null if unavailable) | - | format (double) | - |
| bearing | number | null | Bearing in decimal degrees (or null if unavailable) Measured clockwise from north for North Azimuth projections, or clockwise from south for South Azimuth projections. | - | format (double) | - |
| geoidModel | string | null | Geoid model used for height calculations (or null if unavailable) | - | - | - |
| hrms | number | null | Horizontal Root Mean Square in meters (or null if unavailable) | - | format (double) | - |
| vrms | number | null | Vertical Root Mean Square in meters (or null if unavailable) | - | format (double) | - |
| satellites | integer | Number of satellites observed | - | - | - |
| totalSatInUse | integer | Number of satellites that are used for the position solution | - | - | - |
| totalSatInView | integer | Number of satellites in view, identical to satellites | - | - | - |
| pdop | number | null | Position Dilution of Precision (or null if unavailable) | - | format (double) | - |
| hdop | number | null | Horizontal Dilution of Precision (or null if unavailable) | - | format (double) | - |
| vdop | number | null | Vertical Dilution of Precision (or null if unavailable) | - | format (double) | - |
| diffAge | number | null | Message age of any RTK message in seconds (or null if unavailable) | - | format (double) | - |
| diffStatus | integer | null | Position solution status: 1=Autonomous, 2=DGPS, 4=Fixed, 5=Float, null=unavailable | - | - | - |
| diffID | string | ID of the RTK base station -1 if unknown, otherwise 4-digit ID | - | - | - |
| receiverModel | string | Receiver model type | - | - | - |
| receiverSerialNumber | string | Receiver serial number | - | - | - |
| mockProvider | string | Mock provider name “Trimble Mobile Manager” | - | - | - |
| appVersion | string | TMM build version semantic versioning Major.Minor.Patch (0.0.0) | - | - | - |
| battery | integer | null | Battery percentage if the receiver has an internal battery (or null if unavailable) | - | - | - |
| mslHeight | number | null | Height above mean sea level in meters (or null if unavailable) Includes geoid undulation if geoid is available | - | format (float) | - |
| undulation | number | null | Height difference between ellipsoid and geoid (or null if unavailable) | - | format (float) | - |
| utcTimeStamp | string | null | UTC time formatted as ISO string (or null if unavailable) | - | - | - |
| gpsTimeStamp | string | null | GPS time formatted as ISO string (or null if unavailable) | - | - | - |
| satelliteView | array<object> | List of satellites in view (or null if unavailable) | - | - | - |
| satelliteView.Id | integer | ID of the satellite | - | - | - |
| satelliteView.Elv | integer | Elevation angles of the satellite above the horizon in degrees. | - | - | - |
| satelliteView.Azm | integer | Azimuth angle of the satellite in degrees. | - | - | - |
| satelliteView.Snr | integer | Signal-to-noise ratio (SNR) for the satellite. | - | - | - |
| satelliteView.Use | boolean | Satellite is is use true/false | - | - | - |
| satelliteView.Type | integer | Type of GNSS system of the satellite. | - | - | - |
| subscriptionType | integer | The type of the currently used subscription 0 == Catalyst Free; 1 == Catalyst 60; 2 == Catalyst 30; 3 == Catalayst 10; 4 == Catalyst 1; 5 == Catalyst On Demand; 100 == GNSS receiver | - | - | - |
| sourceReferenceFrameName | string | null | Name of the source reference frame used for the GNSS (or null if unavailable) | - | - | - |
| sourceReferenceFrameEpoch | number | null | Epoch of the realization of the source reference frame (or null if unavailable). It’s the date at which the coordinates of the reference frame are exactly as given. | - | format (double) | - |
| targetReferenceFrameEpoch | number | null | Specific point in time that is used as a reference for the geodetic datum (or null if unavailable). | - | format (double) | - |
| targetReferenceFrameName | string | null | Name of the target reference frame used for the GNSS (or null if unavailable). | - | - | - |
| imuAlignmentStatus | integer | Current IMU alignment status 0: NotAvailable, IMU is not available 1: Unaligned, IMU is not aligned, start moving the receiver to align 2: Coarse, IMU is partially aligned, keep moving the receiver to complete alignment 3: Fine, IMU is fully aligned and ready for TIP measurement | - | - | - |
| isTIP | boolean | True if this is a Trimble TIP position | - | - | - |
| pitch | number | null | Pitch of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| roll | number | null | Roll of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| yaw | number | null | Yaw of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| tiltAngle | number | null | Combined tilt angle of the pole (or null if unavailable) | - | format (double) | - |
| tiltPrecision | number | null | Precision of the combined tilt angle in degrees (or null if unavailable) | - | format (double) | - |
| pitchPrecision | number | null | Precision of the pitch in degrees (or null if unavailable) | - | format (double) | - |
| rollPrecision | number | null | Precision of the roll in degrees (or null if unavailable) | - | format (double) | - |
| yawPrecision | number | null | Precision of the yaw in degrees (or null if unavailable) | - | format (double) | - |
| igsAntenna | string | null | IGS antenna name (or null if unavailable) | - | - | - |
| antennaHeight | number | null | Antenna height in meters (or null if unavailable). Measured from the ground to the Antenna Reference Point (usually Bottom of antenna mount) | - | format (double) | - |
| gpsL1Offset | number | null | GPS L1 Offset (or null if unavailable). | - | format (double) | - |
| solutionType | string | null | Correction Source solutionType (or null if unavailable). [“Autonomous”, “RTKFloat”, “RTKFixed”, “HDRTK”, “Differential”, “RTX”, “XFill”, “SBAS”, “XFillRTX”, “RTXCode”] | - | - | - |
Examples of payload (generated)
{ "latitude": 0, "longitude": 0, "altitude": 0, "speed": 0, "bearing": 0, "geoidModel": "string", "hrms": 0, "vrms": 0, "satellites": 0, "totalSatInUse": 0, "totalSatInView": 0, "pdop": 0, "hdop": 0, "vdop": 0, "diffAge": 0, "diffStatus": 0, "diffID": "string", "receiverModel": "string", "receiverSerialNumber": "string", "mockProvider": "string", "appVersion": "string", "battery": 0, "mslHeight": 0, "undulation": 0, "utcTimeStamp": "string", "gpsTimeStamp": "string", "satelliteView": [ { "Id": 0, "Elv": 0, "Azm": 0, "Snr": 0, "Use": true, "Type": 0 } ], "subscriptionType": 0, "sourceReferenceFrameName": "string", "sourceReferenceFrameEpoch": 0, "targetReferenceFrameEpoch": 0, "targetReferenceFrameName": "string", "imuAlignmentStatus": 0, "isTIP": true, "pitch": 0, "roll": 0, "yaw": 0, "tiltAngle": 0, "tiltPrecision": 0, "pitchPrecision": 0, "rollPrecision": 0, "yawPrecision": 0, "igsAntenna": "string", "antennaHeight": 0, "gpsL1Offset": 0, "solutionType": "string"}SEND /locationV2 Operation
Section titled “SEND /locationV2 Operation”- Operation ID:
sendlocationV2
Message LocationV2DataMessage
Section titled “Message LocationV2DataMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| latitude | number | null | Latitude in decimal degrees (or null if unavailable) North positive, south negative | - | format (double) | - |
| longitude | number | null | Longitude in decimal degrees (or null if unavailable) East positive, west negative | - | format (double) | - |
| altitude | number | null | Altitude in meters (or null if unavailable) | - | format (double) | - |
| speed | number | null | Speed in meters per second (or null if unavailable) | - | format (double) | - |
| bearing | number | null | Bearing in decimal degrees (or null if unavailable) Measured clockwise from north for North Azimuth projections, or clockwise from south for South Azimuth projections. | - | format (double) | - |
| geoidModel | string | null | Geoid model used for height calculations (or null if unavailable) | - | - | - |
| hrms | number | null | Horizontal Root Mean Square in meters (or null if unavailable) | - | format (double) | - |
| vrms | number | null | Vertical Root Mean Square in meters (or null if unavailable) | - | format (double) | - |
| satellites | integer | Number of satellites observed | - | - | - |
| totalSatInUse | integer | Number of satellites that are used for the position solution | - | - | - |
| totalSatInView | integer | Number of satellites in view, identical to satellites | - | - | - |
| pdop | number | null | Position Dilution of Precision (or null if unavailable) | - | format (double) | - |
| hdop | number | null | Horizontal Dilution of Precision (or null if unavailable) | - | format (double) | - |
| vdop | number | null | Vertical Dilution of Precision (or null if unavailable) | - | format (double) | - |
| diffAge | number | null | Message age of any RTK message in seconds (or null if unavailable) | - | format (double) | - |
| diffStatus | integer | null | Position solution status: 1=Autonomous, 2=DGPS, 4=Fixed, 5=Float, null=unavailable | - | - | - |
| diffID | string | ID of the RTK base station -1 if unknown, otherwise 4-digit ID | - | - | - |
| receiverModel | string | Receiver model type | - | - | - |
| receiverSerialNumber | string | Receiver serial number | - | - | - |
| mockProvider | string | Mock provider name “Trimble Mobile Manager” | - | - | - |
| appVersion | string | TMM build version semantic versioning Major.Minor.Patch (0.0.0) | - | - | - |
| battery | integer | null | Battery percentage if the receiver has an internal battery (or null if unavailable) | - | - | - |
| mslHeight | number | null | Height above mean sea level in meters (or null if unavailable) Includes geoid undulation if geoid is available | - | format (float) | - |
| undulation | number | null | Height difference between ellipsoid and geoid (or null if unavailable) | - | format (float) | - |
| utcTimeStamp | string | null | UTC time formatted as ISO string (or null if unavailable) | - | - | - |
| gpsTimeStamp | string | null | GPS time formatted as ISO string (or null if unavailable) | - | - | - |
| satelliteView | array<object> | List of satellites in view (or null if unavailable) | - | - | - |
| satelliteView.Id | integer | ID of the satellite | - | - | - |
| satelliteView.Elv | integer | Elevation angles of the satellite above the horizon in degrees. | - | - | - |
| satelliteView.Azm | integer | Azimuth angle of the satellite in degrees. | - | - | - |
| satelliteView.Snr | integer | Signal-to-noise ratio (SNR) for the satellite. | - | - | - |
| satelliteView.Use | boolean | Satellite is is use true/false | - | - | - |
| satelliteView.Type | integer | Type of GNSS system of the satellite. | - | - | - |
| subscriptionType | integer | The type of the currently used subscription 0 == Catalyst Free; 1 == Catalyst 60; 2 == Catalyst 30; 3 == Catalayst 10; 4 == Catalyst 1; 5 == Catalyst On Demand; 100 == GNSS receiver | - | - | - |
| sourceReferenceFrameName | string | null | Name of the source reference frame used for the GNSS (or null if unavailable) | - | - | - |
| sourceReferenceFrameEpoch | number | null | Epoch of the realization of the source reference frame (or null if unavailable). It’s the date at which the coordinates of the reference frame are exactly as given. | - | format (double) | - |
| targetReferenceFrameEpoch | number | null | Specific point in time that is used as a reference for the geodetic datum (or null if unavailable). | - | format (double) | - |
| targetReferenceFrameName | string | null | Name of the target reference frame used for the GNSS (or null if unavailable). | - | - | - |
| imuAlignmentStatus | integer | Current IMU alignment status 0: NotAvailable, IMU is not available 1: Unaligned, IMU is not aligned, start moving the receiver to align 2: Coarse, IMU is partially aligned, keep moving the receiver to complete alignment 3: Fine, IMU is fully aligned and ready for TIP measurement | - | - | - |
| isTIP | boolean | True if this is a Trimble TIP position | - | - | - |
| pitch | number | null | Pitch of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| roll | number | null | Roll of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| yaw | number | null | Yaw of the receiver body in degrees (or null if unavailable) | - | format (double) | - |
| tiltAngle | number | null | Combined tilt angle of the pole (or null if unavailable) | - | format (double) | - |
| tiltPrecision | number | null | Precision of the combined tilt angle in degrees (or null if unavailable) | - | format (double) | - |
| pitchPrecision | number | null | Precision of the pitch in degrees (or null if unavailable) | - | format (double) | - |
| rollPrecision | number | null | Precision of the roll in degrees (or null if unavailable) | - | format (double) | - |
| yawPrecision | number | null | Precision of the yaw in degrees (or null if unavailable) | - | format (double) | - |
| igsAntenna | string | null | IGS antenna name (or null if unavailable) | - | - | - |
| antennaHeight | number | null | Antenna height in meters (or null if unavailable). Measured from the ground to the Antenna Reference Point (usually Bottom of antenna mount) | - | format (double) | - |
| gpsL1Offset | number | null | GPS L1 Offset (or null if unavailable). | - | format (double) | - |
| solutionType | string | null | Correction Source solutionType (or null if unavailable). [“Autonomous”, “RTKFloat”, “RTKFixed”, “HDRTK”, “Differential”, “RTX”, “XFill”, “SBAS”, “XFillRTX”, “RTXCode”] | - | - | - |
Examples of payload (generated)
{ "latitude": 0, "longitude": 0, "altitude": 0, "speed": 0, "bearing": 0, "geoidModel": "string", "hrms": 0, "vrms": 0, "satellites": 0, "totalSatInUse": 0, "totalSatInView": 0, "pdop": 0, "hdop": 0, "vdop": 0, "diffAge": 0, "diffStatus": 0, "diffID": "string", "receiverModel": "string", "receiverSerialNumber": "string", "mockProvider": "string", "appVersion": "string", "battery": 0, "mslHeight": 0, "undulation": 0, "utcTimeStamp": "string", "gpsTimeStamp": "string", "satelliteView": [ { "Id": 0, "Elv": 0, "Azm": 0, "Snr": 0, "Use": true, "Type": 0 } ], "subscriptionType": 0, "sourceReferenceFrameName": "string", "sourceReferenceFrameEpoch": 0, "targetReferenceFrameEpoch": 0, "targetReferenceFrameName": "string", "imuAlignmentStatus": 0, "isTIP": true, "pitch": 0, "roll": 0, "yaw": 0, "tiltAngle": 0, "tiltPrecision": 0, "pitchPrecision": 0, "rollPrecision": 0, "yawPrecision": 0, "igsAntenna": "string", "antennaHeight": 0, "gpsL1Offset": 0, "solutionType": "string"}SEND /events Operation
Section titled “SEND /events Operation”- Operation ID:
sendevents
Sending one of the following messages:
Message AntennaChangedMessage
Section titled “Message AntennaChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”AntennaChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| isAntennaHeightApplied | boolean | true: Apply a custom antenna height, false: Apply a zero antenna height | - | - | - |
| measuredHeight | number | Antenna height, measured from the ground to the selected measurement method (meters) | - | format (double) | - |
| antennaType | string | Antenna type | - | - | - |
| measurementMethod | string | Measurement method (i.e. Bottom of antenna mount) | - | - | - |
| gpsL1Offset | number | Vertical offset from selected measurement method to the GPS L1 phase center (meters) | - | format (double) | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "isAntennaHeightApplied": true, "measuredHeight": 0.1, "antennaType": "string", "measurementMethod": "string", "gpsL1Offset": 0.1}Message AppExitMessage
Section titled “Message AppExitMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”AppExit” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| status | string | App exit status [“normal”, “unhandled exception”] | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "status": "string"}Message ConnectionStateChangedMessage
Section titled “Message ConnectionStateChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”ConnectionStateChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| connectionState | string | Current connection state. [“Connected”, “Connecting”, “Disconnected”, “Disconnecting”] | - | - | - |
| receiverName | string | The receiver name | - | - | - |
| receiverBrand | string | null | The receiver brand, null if unavailable | - | - | - |
| receiverModel | string | null | The receiver model, null if unavailable | - | - | - |
| receiverSerialNumber | string | null | The receiver serial number, null if unavailable | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "connectionState": "string", "receiverName": "string", "receiverBrand": "string", "receiverModel": "string", "receiverSerialNumber": "string"}Message CorrectionSourceChangedMessage
Section titled “Message CorrectionSourceChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”CorrectionSourceChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| isValid | boolean | true: the current correction source is valid, false: it is not valid | - | - | - |
| correctionSource | string | The correction source type (Auto, NTRIP, Direct) | - | - | - |
| serverAddress | string | null | The IP address or domain name of the server, or null if not available | - | - | - |
| serverPort | integer | null | The Port number of the server, or null if not available | - | - | - |
| ntripMountPoint | string | null | The format of the correction messages and the reference frame that relates to a real-time data stream, or null if not available | - | - | - |
| ntripUserName | string | null | The user name for the NTRIP account, or null if not available. | - | - | - |
| ntripPassword | string | null | Password for the NTRIP account (obscured), or null if not available. | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "isValid": true, "correctionSource": "string", "serverAddress": "string", "serverPort": 0, "ntripMountPoint": "string", "ntripUserName": "string", "ntripPassword": "string"}Message HeartbeatMessage
Section titled “Message HeartbeatMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”Heartbeat” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string"}Message LocationsAvailableMessage
Section titled “Message LocationsAvailableMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”LocationsAvailable” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| isStreaming | boolean | true: locations have started streaming, false: locations are unavailable | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "isStreaming": true}Message OnDemandChangedMessage
Section titled “Message OnDemandChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”OnDemandChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| state | string | The current OnDemand session state. [“Started”, “Extended”, “Stopped”] | - | - | - |
| utcEndTime | string | UTC time the OnDemand session ends (ISO 8601 format) | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "state": "string", "utcEndTime": "string"}Message UserChangedMessage
Section titled “Message UserChangedMessage”Payload
Section titled “Payload”| Name | Type | Description | Value | Constraints | Notes |
|---|---|---|---|---|---|
| (root) | object | - | - | - | additional properties are allowed |
| type | string | ”event” | - | - | - |
| name | string | ”UserChanged” | - | - | - |
| utcTime | string | UTC time event was generated (ISO 8601 format) | - | - | - |
| isSignedIn | boolean | The sign-in status | - | - | - |
| userName | string | null | The user’s email address, null if unavailable | - | - | - |
| tid | string | null | The user’s TID UUID, null if unavailable | - | - | - |
Examples of payload (generated)
{ "type": "string", "name": "string", "utcTime": "string", "isSignedIn": true, "userName": "string", "tid": "string"}