Skip to content

Til90DataStrMsg

Til 90 Data Str Msg

AM Type: 76

Source Code


Field Bits Type Unit Condition Mutator Error Description
ls_header Struct Always
├── uplink_version 4 UInt Always
├── node_id_high 4 Fragment Always
├── product_code 8 UInt Always
├── node_id 16 UInt Always
├── sequence_number 8 UInt Always
└── am_type 8 UInt Always
readTimestamp 32 TimestampField Always TimestampMutator
version 2 UInt Always
channels 3 Bitmap Always
errorCode 4 Enum Always OK (0), NOT_RESPONDING (1), SELF_TEST_ERROR (2), INVALID_TEMP (3)
isHighPrecision 1 Bool Always
temperature 12 Int Cel Always ScalingMutator(×10) ReferenceEntryError(GENERAL_ERROR, Tilt90Error.INVALID_TEMP), ReferenceEntryError(NOT_RESPONDING, Tilt90Error.NOT_RESPONDING)
→ channels (bitmap) Ref Always
Readings [bitmap] Seq Always
├── tilt 21 Int deg ScalingMutator(×10000) ReferenceEntryError(SELF_TEST_ERROR, Tilt90Error.SELF_TEST_ERROR), ReferenceEntryError(NOT_RESPONDING, Tilt90Error.NOT_RESPONDING)
├── std 20 UInt deg isHighPrecision == 1 MultiplierMutator(×256000) ReferenceEntryError(SELF_TEST_ERROR, Tilt90Error.SELF_TEST_ERROR), ReferenceEntryError(NOT_RESPONDING, Tilt90Error.NOT_RESPONDING)
└── std 20 UInt deg isHighPrecision == 0 MultiplierMutator(×51200) ReferenceEntryError(SELF_TEST_ERROR, Tilt90Error.SELF_TEST_ERROR), ReferenceEntryError(NOT_RESPONDING, Tilt90Error.NOT_RESPONDING)
azimuth 9 UInt version > 0
Field Bits Type Unit Condition Mutator Error Description WF Address WF Name WF Unit Cloud DP Name
ls_header Struct Always
├── uplink_version 4 UInt Always
├── node_id_high 4 Fragment Always
├── product_code 8 UInt Always
├── node_id 16 UInt Always
├── sequence_number 8 UInt Always
└── am_type 8 UInt Always
readTimestamp 32 TimestampField Always TimestampMutator
version 2 UInt Always
channels 3 Bitmap Always
errorCode 4 Enum Always OK (0), NOT_RESPONDING (1), SELF_TEST_ERROR (2), INVALID_TEMP (3)
isHighPrecision 1 Bool Always
temperature 12 Int Cel Always ScalingMutator(×10) ReferenceEntryError(GENERAL_ERROR, Tilt90Error.INVALID_TEMP), ReferenceEntryError(NOT_RESPONDING, Tilt90Error.NOT_RESPONDING) a:10:01:00 temperature Cel
→ channels (bitmap) Ref Always
Readings [bitmap] Seq Always
├── tilt 21 Int deg ScalingMutator(×10000) ReferenceEntryError(SELF_TEST_ERROR, Tilt90Error.SELF_TEST_ERROR), ReferenceEntryError(NOT_RESPONDING, Tilt90Error.NOT_RESPONDING) a:10:00:00 xAxis deg axis_x
├── std 20 UInt deg isHighPrecision == 1 MultiplierMutator(×256000) ReferenceEntryError(SELF_TEST_ERROR, Tilt90Error.SELF_TEST_ERROR), ReferenceEntryError(NOT_RESPONDING, Tilt90Error.NOT_RESPONDING) a:10:00:00 xAxisStd deg axis_x_std
└── std 20 UInt deg isHighPrecision == 0 MultiplierMutator(×51200) ReferenceEntryError(SELF_TEST_ERROR, Tilt90Error.SELF_TEST_ERROR), ReferenceEntryError(NOT_RESPONDING, Tilt90Error.NOT_RESPONDING) a:10:00:00 xAxisStd deg axis_x_std
azimuth 9 UInt version > 0

Worldsensing Format Sources

Address Manufacturer Type Model Status
a:10:00:00 Worldsensing Tiltmeter 0
a:10:01:00 Worldsensing Thermometer 0

Example

decode_ok_no_azimuth_and_no_ishighprecision

Source: Til90DataStrMessages.py

JSON Message

{
  "ls_header": {
    "am_type": {
      "raw": 76,
      "value": "76"
    },
    "node_id": {
      "raw": 87,
      "value": "87"
    },
    "product_code": {
      "raw": 94,
      "value": "94"
    },
    "sequence_number": {
      "raw": 1,
      "value": "1"
    },
    "uplink_version": {
      "raw": 4,
      "value": "4"
    }
  },
  "readTimestamp": {
    "raw": 0,
    "value": "1970-01-01T00:00:00Z"
  },
  "version": {
    "raw": 0,
    "value": "0"
  },
  "channels": {
    "raw": [
      false,
      false,
      true
    ],
    "value": [
      false,
      false,
      true
    ]
  },
  "errorCode": {
    "raw": 2,
    "value": "SELF_TEST_ERROR"
  },
  "isHighPrecision": {
    "raw": false,
    "value": false
  },
  "temperature": {
    "raw": 25,
    "unit": "Cel",
    "value": "2.5"
  },
  "readings": [
    {},
    {},
    {
      "std": {
        "error": {
          "code": 99,
          "subCode": 1
        },
        "raw": 2,
        "unit": "deg"
      },
      "tilt": {
        "error": {
          "code": 99,
          "subCode": 1
        },
        "raw": 1,
        "unit": "deg"
      }
    }
  ],
  "padding": {
    "raw": 0,
    "value": "0"
  }
}

Encoded Bytes

40 5E 00 57 01 4C 00 00 00 00 21 00 64 00 00 20 00 04